VLANing یا به اصطلاح رایج آن، VLAN بندی، یعنی خرد کردن یک برادکست دامین (Broadcast Domain) بزرگ به چندین Broadcast Domain کوچک برای اهداف کم کردن Flooding فریمها در سوئیچ و اعمال Policy در لایههای بالاتر.
Broadcast Domain چیست؟
به ناحیهای گفته میشود که دستگاههای داخل آن ناحیه، لایه دو-ای همدیگر را میبینند. به تعریف دیگر به ناحیهای گفته میشود که اگر یک دستگاه از آن ناحیه بسته Broadcast تولید کند (Destination mac-address=FF:FF:FF:FF:FF:FF) این بسته به تمام دستگاههای آن ناحیه میرسد. در تمامی سوئیچها قبل از ساختن VLAN، تمام پورتها در یک Broadcast Domain میباشد. به همین دلیل است که وقتی کامپیوتری به یک پورت سوئیچ متصل باشد و کامپیوتر دیگری به پورت دیگر از سوئیچ، به شرط یکی بودن آدرسهای شبکه آنها (منظور از یک Network بودن میباشد) این دو کامپیوتر همدیگر را میبینند. ولی در روترها، هر پورت در Broadcast Domain جدا میباشد.
نکته: با ساختن VLAN، ارتباطها را لایه دو-ای از یکدیگر جدا میکنیم
چرا VLANing باعث جلوگیری از Flooding میشود؟
فرض کنید شبکهای Flat دارید. یعنی تمامی پورتهای سوئیچ عضو یک VLAN است. حال اگر یک کامپیوتر بسته ARP Request که از نوع Broadcast میباشد ارسال کند، سوئیچ این بسته را بر روی همه پورتهای خود Flood می کند. ولی در صورتی که VLANing داشته باشیم، آنگاه بستههای Broadcast یک VLAN به VLAN دیگر ارسال نمیشود. این کار باعث افزایش کارایی شبکه و کم کردن Flooding میگردد.
VLANing چه کمکی به اعمال Policy می کند؟
هر سازمان از بخشهای مختلفی تشکیل شده است، مانند بخش بازرگانی، مالی، فنی و… قاعدتا دسترسی به منابع و سرویسهای شبکه برای هر بخش مجزا و متفاوت میباشد. به همین دلیل مجبوریم روی بخشهای مختلف Policy اعمال کنیم. پس ابتدا باید بخشهای مختلف را لایه دو-ای از یکدیگر جدا کنیم (یعنی انجام VLANing) و در کنار این موضوع حتما لایه سه-ای هم این بخشها را جدا کنیم (یعنی برای هر بخش یک Network مختلف تعریف کنیم).
در یک کلام، VLANing یعنی جداسازی Broadcast Domainها از یکدیگر یا همان جدا کردن پورتها از یکدیگر از نگاه لایه دو-ای.
سوئیچهای Small Business سیسکو همانند سری Catalyst در خود به صورت پیشفرض VLAN 1ساخته شده است.
نکته: در سوئیچهای Small Business تمامی پورتها در حالت Trunk بوده و Untagged VLAN یا همان Native VLAN مانند سری کاتالیست VLAN 1 است.
VLAN در سوئیچ های Cisco Small Business
در سوئیچهای Cisco Small Business همان طور که گفته شد تمامی پورتها Trunk است. میدانیم پورتی که ترانک باشد ترافیک تمامی VLANها را از خود عبور می دهد. البته با اضافه کردن هدر (Tag) به فریم که به طرف مقابل اعلام کند که تولید کننده این ترافیک در کدام VLAN بوده است.
در Small Business ترافیک VLAN 1 بر روی اینترفیسهای Trunk بدون Tag ارسال میشود که این همان Untagged VLAN یا Native VLAN است.
دقت داشته باشید در اسمال بیزینس تمامی پورتها Trunk است و VLAN 1 به صورت Untagged میباشد. به همین دلیل است که شما میتوانید به سوئیچ متصل شوید و روی آن کانفیگ انجام دهید. چون اگر VLAN 1 به صورت Tagged بود، کامپیوتر شما هیچ درکی نسبت به Tag نداشت و بسته ها را دور میریخت.
Tag زدن فقط برای سوئیچها قابل فهم است که متوجه شوند بستهای که بر روی پورت Trunk خود دریافت کردهاند برای کدام VLAN است و کامپیوترها بستههای با Tag را دور میریزند.
به طور خلاصه، VLAN 1 در Small Business پیشفرض ساخته شده است و تمامی پورتها در حالت Trunk میباشند. برای پورتهای ترانک VLAN 1 به صورت Untagged و بقیه VLAN ها Tagged میباشد.
نکته: در Small Business سیسکو VLAN 1 معروف به Management VLAN میباشد که البته قابل تغییر است.
فرق پورت Access و Trunk
اینترفیسی که در حالت Access باشد، فقط مجوز به عبور یک VLAN ID را دارد. مثلا پورتی که Access VLAN 10 باشد فقط ترافیکهایی که از VLAN 10 وارد سوئیچ شود به این پورت ارسال میگردد.
نکته: در حالت Access هیچ گونه Tag ای به فریم اضافه نمیشود.
حال اگر پورتی Trunk باشد، این پورت مجوز به عبور ترافیک تمامی VLANها را دارد. معمولا از لینکهای ترانک بین سوئیچها استفاده میکنند.
فرض کنید در SW-1 پورت GE10 عضو VLAN 10 میباشد. یعنی Access VLAN 10 و پورت GE20 در حالت Trunk است. از این پورت به پورت GE20 از SW-2 که ترانک است متصل است. در SW-2 پورت GE10 نیز در حالت Access VLAN 10 میباشد.
حال فرض کنید PC-1 متصل به GE10 از SW-1 میخواهد PC-2 متصل به GE10 از SW-2 را ARP بزند. PC-1 فریم را به SW-1 ارسال میکند. SW-1 بعد از Learn کردن مک PC-1 و قرار دادن آن در MAC-Table، قسمت DST-MAC فریم را نگاه میکند. چون بسته از نوع ARP Request میباشد باید فریم را بر روی تمامی اینترفیسهایی که در VLAN 10 و ترانک میباشند Flood کند. چون GE20 ترانک است فریم را بر روی آن ارسال میکند. حال فریم به SW-2 رسیده است. بعد از Learn کردن آدرس مک PC-1 باید بسته را Forward کند. اما یک سوال:
SW-2 چگونه متوجه شود این بسته از VLAN 10 آمده؟؟!
SW-2 این فریم را بر روی پورت ترانک خود دریافت کرده، و پورت ترانک تمامی VLAN ها را از خود عبور میدهد. پس چگونه بفهمد این فریمی که دریافت کرده، Originator آن (سازنده) در چه VLAN ای از SW-1 قرار دارد؟
خب اینجاست که نیاز به مفهومی داریم به اسم Tagging. یعنی SW-1 با زدن یک هدر یا همان Tag به فریم قبل از ارسال فریم به SW-2، به فریم یک ID بدهد که به SW-2 بفهماند این فریم از VLAN 10 آمده است.
پس در لینک های ترانک به فریمهای ۱۵۱۸ بایتی یک هدر اضافه میشود که به سوئیچ مقابل بگوید این فریم در چه VLAN ای قرار دارد.
دو مدل Tagging داریم:
ISL: این روش انحصاری سیسکو میباشد و به آخر فریم هدر ISL که ۲۶ بایت است اضافه میشود. ۴ بایت نیز CRC آن است که در مجموع فریمهای ما بر روی پورتهای ترانک ممکن است تا ۱۵۴۸ بایت سایز داشته باشند.
DOT1Q: این روش استاندارد است و تمامی Vendor ها از آن پشتیبانی میکنند. در این روش به فریمها بر روی لینکهای ترانک فقط ۴ بایت اضافه میشود و مقدار FCS در لایه دو Recalculate میگردد. بابت هدر، Dot.1q به فریم CRC اضافه نمیکند.
نکته: محل قرار گیری هدر DOT1Q داخل هدر Ethernet میباشد و مانند ISL نیست.
نکته: وقتی SW-1 به فریم Tag میزند (ISL Or DOT1Q)، SW-2 بعد از خواندن Tag و فهمیدن آنکه این فریم برای چه VLAN ای میباشد، Tag را از بسته جدا کرذه و فریم را فقط به پورتهای ارسال میکند که Originator یا سازنده آن در SW-1 در همان VLAN باشد.
در سوئیچهای Cisco Small Business پورتهایی که Trunk میباشند، باید برای همه VLANها در حالت Tagged باشد. فقط یک VLAN در حالت Untagged یا همان Native است.
پورتهای Access برای تمامی VLAN ها در حالت Excluded و برای یک VLAN به صورت Untagged است که برای آن VLAN ای که Untagged است میشود Access VLAN آن VLAN.