فریم چیست؟
وقتی کامپیوتری قصد ارسال Data را دارد، باید به بسته هدرهایی اضافه کند. علت اضافه کردن این هدرها این است که بسته در طول مسیر توسط سوئیچ ها و روترها به سمت مقصد هدایت شود(وظیفه هدرهای لایه دو و سه). و در مقصد مشخص شود که با کدام سرویس از مقصد کار دارد(هدرهای لایه چهار و هفت).
نکته: معمولا هدر لایه ۷ را به عنوان data می شناسند.
به Data و هدر لایه ۴ (مثلTCP, UDP, ICMP) Segment گفته می شود. اگر به Segment هدر لایه ۳ (مانند IP, ARP ,…) اضافه شود، Packet می شود. Packet به همراه هدر لایه ۲ (Ethernet)، را فریم گویند.
نکته: ۹۹ درصد ترافیک های اینترنت در لایه سه هدر IP دارند و در لایه ۴ هدر TCP و اکثر ترافیک ها در لایه ۷، HTTP و HTTPS (SSL) هستند.
نکته: ۹۰ درصد تکنولوژی ها در لایه دو Ethernet هستند به همین دلیل هدر لایه دو اکثر ترافیک ها Ethernet است.
سوئیچ برای فوروارد کردن فریم ها از هدر لایه ۲ کمک می گیرد و فقط با MAC-Address سر و کار دارد. هدر لایه دو، ۱۴ بایت می باشد و شامل موارد زیر است:
- Source MAC Address 6 byte : کامپیوتری که تولید کننده Frame است آدرس مک کارت شبکه خود را در هدر Ethernet به عنوان Source MAC Address قرار می دهد.
- Destination MAC Address 6 byte: آدرس مک مقصد در آن قرار می گیرد.
- Type 2 byte: اشاره می کند پروتکل لایه ۳ ای که حمل می کند مثلا 0x0800 یعنی IP و یا 0x0806 یعنی ARP.
پس وقتی فریمی وارد سوئیچ می شود، سوئیچ به کمک هدر Ethernet و مقادیر Source-MAC و Destination-MAC فریم را فوروارد می کند. سوئیچ ها مانند Hub عمل نمی کنند و فریم ها را روی تمامی اینترفیس های خود Flood نمی کنند. یعنی سوئیچ به کمک جدول MAC-Table خود که در حافظه CAM قرار دارد و مجزا از RAM است، فریم ها را فوروارد می کند. حافظه CAM دارای سرعت بسیار بالایی در Searching است
جدول MAC چگونه کامل می شود؟!
وقتی MAC-Table خالی باشد، سوئیچ هیچ تفاوتی با Hub در فوروارد کردن فریم ها ندارد و روی تمامی اینترفیس های خود Flood می کند. جدول MAC یا همان MAC-Table به دو صورت کامل می شود: Static و یا Dynamic. جدول MAC، آدرس مک را با اینترفیس Bind می کند. نمونه ای از جدول مک را در شکل زیر مشاهده می کنید:
Dynamic MAC-address
یعنی خود سوئیچ MAC-Table را کامل کند. به چه صورت می باشد؟
وقتی فریمی وارد اینترفیس سوئیچ می شود، سوئیچ از هدر لایه دو Source MAC Address را خوانده و داخل MAC-Table قرار می دهد. به این عملیات Learning گویند.
این جدول به چه درد سوئیچ می خورد؟
بعد از این که فریمی وارد سوئیچ شد و سوئیچ عملیات Learning را انجام داد و آدرس مک Source را در جدول یادداشت کرد، قصد دارد فریم را فوروارد کند و از سوئیچ به سمت مقصد ارسال کند.
پس بعد از مرحله اول که Learning بود، مرحله دوم Forwarding می باشد.
Forwarding به کمک MAC-Table صورت می گیرد. یعنی سوئیچ به Destination MAC Address در هدر لایه نگاه می کند و در جدول MAC خود Lookup و Search می کند تا اینترفیس خروجی را به دست آورد و فریم را بر روی اینترفیس خروجی ارسال میکند.
سوال: یک رکورد آدرس مک در MAC-Table تا چه زمانی باقی می ماند؟
اگز خود سوئیچ آدرس مک را Learn کرده باشد (Dynamic)، ۳۰۰ ثانیه به طور پیش فرص در MAC-Table نگه داشته می شود که البته این مقدار پیش فرض می باشد و قابل تغییر است. به اصطلاح به این زمان Aging Time گویند.
این زمان دائم در حال Reset شدن می باشد. یعنی فرض کنید سوئیچ آدرس مک AA:AA:AA:AA:AA:AA را بر روی اینترفیس GE2 خود Learn کرده است و تا ۳۰۰ ثانیه در جدول نگه می دارد. حال فرض کنید بعد از گذشت ۵۰ ثانیه این زمان به ۲۵۰ ثانیه رسید و دوباره آن کامپیوتر فریم ارسال می کند روی پورت GE2. سوئیچ بعد از Learn کردن مک AA:AA:AA:AA:AA:AA زمان Aging Time را دوباره به ۳۰۰ ثانیه Reset می کند.
نکته: سوئیچ عمل Learning را انجام می دهد و آدرس های مک را به ازای هر پورت در MAC-Table یادداشت می کند که در زمان Forwarding، فریم را بر روی تمامی اینترفیس های خود Flood نکند .
نکته: سوئیچ بر روی هر اینترفیس خود می تواند بیش تر از یک آدرس مک Learn کند و محدودیتی وجود ندارد (در یک حالت محدودیت وجود دارد که حافظه CAM سوئیچ پر شود. مثلا توسط حملاتی مانند MAC Flooding)
Static MAC-Address
یعنی ادمین به صورت دستی MAC Table را تنظیم کند و به سوئیچ بگوید مثلا آدرس مک BB:BB:BB:BB:BB:BB را بر روی اینترفیس GE5 یاد بگیر و این رکورد تا همیشه در MAC Table باقی می ماند و هیچ Aging Time ای برای آن لحاظ نمیشود.
سوئیچ های Small Business مانند دیگر سوئیچ ها دارای MAC-Table می باشند که این جدول هم به صورت Dynamic و هم Static کامل می شود.
تب MAC Address Tables سوئیچ های Small Business دارای ۴ قسمت می باشد که هر قسمت را جداگانه شرح می دهیم.
Static Addresses
در این قسمت می توانید MAC-Table را به صورت Static پر کنید.
روی گزینه Add کلیک کنید.
در قسمت VLAN ID مشخص می کنید این آدرس مک در چه VLAN ای قرار دارد.
در قسمت MAC Address آدرس MAC ای که می خواهید به صورت Static در MAC Table قرار دهید را وارد می کنید.
در قسمت Interface مشخص می کنید این آدرس مک بر روی چه اینترفیسی قرار دارد.
در قسمت Status تعیین میکنید این رکورد تا چه زمانی در MAC Table باقی بماند.
Permanent یعنی برای همیشه باقی بماند.
Delete On Reset یعنی بعد از restart شدن سوئیچ پاک شود.
موارد Delete On Timeout و Secure کمتر استفاده می شود.
Dynamic Address Settings
در این قسمت مشخص می کنید که سوئیچ آدرس مک هایی که به صورت Dynamic یاد گرفته را تا چه زمانی در MAC Table نگه دارد(Aging Time). مقدار پیشفرض Aging Time برابر با ۳۰۰ ثانیه است.
نکته: به هیچ وجه Aging Time را مقدار خیلی پایین قرار ندهید، زیرا MAC Table سریعا خالی میشود و سوئیچ فریم ها را Flood می کند و مانند HUB رفتار می کند و ترافیک شبکه بی جهت افزایش پیدا می کند.
Dynamic Addresses
در این قسمت می توانید آدرس های مکی که سوئیچ به صورت Dynamic یاد گرفته را مشاهده کنید و حتی رکوردی را به صورت دستی از جدول MAC پاک کنید.
اگر MAC Table شلوغی دارید و دنبال آدرس مک خاصی می گردید می توانید از Filter کمک بگیرید و فقط مواردی که در قسمت Filter محدود کرده اید را نمایش بدهد.
Reserved MAC Addresses
در این قسمت می توانید آدرس مک هایی را رزرو کنید برای اهداف خاص. مثلا فیلتر کردن بسته های آن مک آدرس.
روی گزینه Add کلیک کنید.
- در قسمت MAC Address، آدرس مک را انتخاب می کنید.
- در قسمت Frame Type تعیین می کنید نوع فریم چگونه است. یعضی از پروتکل های لایه ۳ مانند CDP در لایه دو علاوه بر هدر Ethernet هدرهای LLC هم دارند. ولی ۹۹ درصد فریم ها در لایه دو فقط هدر Ethernet دارند.
- در قسمت Action مشخص می کنید که چه نوع عملیاتی انجام دهد.
- Bridge: یعنی به همه پورت ها ارسال کن.
- Discard: یعنی فریم را دور بریز.