Virtual LAN (VLANs):
فرض کنید در شبکه ما یک سوییچ لایه 2 وجود دارد که ، تعداد 2 شبکه را به یکدیگر متصل کرده است . به نظر شما شخصی که 2 کامپیوتر را یه یک سوییچ وصل کرده و رنج IP آنها را متفاوت گذاشته ، هدف آن چه بوده است . چرا 2 شبکه را از هم جدا کرده است ؟
غالباً اگر رنج IP شبکه ها با هم نخواند ، کامپیوتر ها در یک شبکه نیستند و برای اتصال آنها به Router نیاز دارید . Router ها ترافیک Broadcast را از خود عبور نمی دهند ، اما به کمک Router شما می توانید ترافیک Unicast و Multicast را عبور دهید . اما داستان Switch ها 180 درجه برعکس است . Switch ها ترافیک Unicast و Multicast را از خود عبور نمی دهد و ترافیک مزاحم Broadcast را از خود عبور می دهد .
در حقیقت مشکلی که باعث می شود ، بین سیستم های 2 شبکه ترافیک Broadcast انتشار پیدا کند ، سوییچ لایه 2 است . سوییچ دستگاهی که بر پایه MAC کار می کند و IP نمی فهمد . سیستم Packet را براساس آدرس آخر رنج (Broadcast IP) می فرستد و به دلیل اینکه سوییچ IP نمی فهمد ، مقصد را نمی تواند پیدا کند ، بنابراین برای اینکه از زیر بار مسئولیت شانه خالی کند ، Data را از همه Port های بیرون می فرستد . ( مشکل ، عدم فهم سوییچ از IP است )
👈 بنابراین جدا کردن شبکه ها از یکدیگر 2 مکانیزم دارد :
1
مکانیزم لایه 2 ملغب به VLAN ، که برای Switch ها طراحی شده است . ( Switch از روی VLAN می فهمد که ، این 2 کامپیوتر در یک شبکه نیستند )
2
مکانیزم لایه 3 ملغب به IP ( رنج IP ) ، که برای Router ها تعبیه شده است . ( Router از روی رنج IP می فهمد که ، این 2 کامپیوتر در یک شبکه نیستند )
عملکرد (VLANs) :
Vlan ها با عدد مشخص می شوند و اعداد آنها به صورت کلی بین 1 تا 4094 است ، که البته از 1 تا 1005 به صورت استاندارد قابل استفاده است .
روند کار بدین شرح است :
برای اینکه سوییچ متوجه شود که کامپیوتر و لپ تاپ در یک شبکه نیستند ، ( Interface 0/1 , 0/20 ) سوییچ را انتخاب کنید و به آنها یک شماره Vlan اختصاص دهید .
با انتساب اعدادی که به عنوان شماره Vlan بر روی سوییچ ها فعال کردید ، Switch متوجه می شود کامپیوتری که به Port 0/1 متصل و لپ تاپ که به پورت Port 0/20 متصل شده است ، در یک شبکه نیستند . زیرا شماره Vlan های آنها به هم نمی خورد . حال Switch می فهمد که ، ترافیک Broadcast نباید از Port 0/1 به Port 0/20 انتقال پیدا کند . ( اینکه شما Interface ها را صدا می زنید و آنها را زیرمجموعه Vlan قرار می دهید ، هیچ ارتباطی به کامپیوتر و لپ تاپ ندارد )
🖥️ کامپیوتر می خواهد Data را به Port 0/20 سوییچ ارسال کند . بنابراین Packet را تولید کرده و در آن آدرس مبدأ و مقصد را می نویسد و تحویل Port 0/1 سوییچ می دهد .
🔀 Switch زمانی که Data را تحویل می گیرد بر روی آن Tag می زند . ( Data را از Port 0/1 که مربوط به Vlan 5 دریافت کرده است ، بنابراین بر روی آن Tag 5 می زند )
🔀 Switch برای رساندن Data به مقصد MAC را می خواند . ( براساس MAC Address Table این Data برای Port 0/20 است )
🔀 Port 0/20 این Data را قبول نمی کند ، زیرا شماره Vlan ها یکی نیست و هم شبکه ای نیستند . ( Int ها به شماره Vlan ها حساس هستند و جزء Data از Vlan خود قبول نمی کنند )
سوال :
در چنین مواقعی تکلیف چیست ؟
ما نیازمند Router
هستیم . همان طور که در لایه 3 برای جدا کردن شبکه ها به Router نیاز داشتید ، در این سناریو هم به Router نیاز دارید . ( بنابراین اگر می خواهید Data از Vlan 5 به سمت Vlan 7 ارسال شود ، باید Router وجود داشته باشد )
👈 Packet وقتی به Router رسید ، Tag 5 آن برداشته شده و به جای آن Tag 7 می خورد . Tag 7 باعث می شود که ، وقتی به Port 0/20 رسید Reject نشود .
البته Router ها شبکه ها را بر اساس رنج IP از هم جدا می کنند ، یعنی Vlan بندی کردید که Switch بفهمد ، اما یک فاکتور دوم دیگر دارد ، هر Vlan یک شبکه است و باید یک رنج IP منحصر به فرد داشته باشد تا Router بفهمد . ( بنابراین Vlan بندی و رنج IP که دو مکانیزم جدا کردن شبکه ها از هم بودند ، با هم اعمال می شوند )
Native VLAN :
Switch ها ذاتاً Vlan دارند . اگر وارد تنظیمات Switch شوید و از دستور Show Vlan استفاده کنید ، مشاهده خواهید کرد که ، بر روی Switch ها به صورت پیش فرض Vlan با شماره 1 وجود دارد که جلوی آن عبارت Default نوشته شده است . این Vlan پاک شدنی نیست و به Native VLAN معروف است . Native VLAN بر روی Data شما Tag نمی زند . شرط آنکه Switch بر روی Data شما Tag بزنید این است که ، Vlan مورد نظر Native VLAN نباشد .
سوال :
اگر 2 سیستم را قبل از Vlan بندی با یک رنج IP به Switch وصل کنید ، Ping دارید ، علت آن چیست ؟
زیرا تمام Interface های Switch در Vlan 1 قرار دارند و Native VLAN بر روی Data شما Tag نمی زند .
Vlan بندی کردن Switch :
به یاد داشته باشید که ، Vlan بندی بر روی Switch هایی امکان پذیر است که ، Manageable باشند . (HP ، Cisco , … ) . حال قبل از اینکه Interface های Switch را Vlan بندی کنیم ، نکاتی را با هم بررسی می کنیم :
✔️ Interface های سوییچ به Switch Port معروف هستند که در 3 مد کار می کنند :
به صورت پیش فرض مد Interface های سوییچ Dynamic Mode
است . قبل از توضیح Dynamic Mode یک جمله را اضافه کنیم ، Switch برای اینکه بتواند کار کند و به شما سرویس دهد ، باید Interface آن Access Mode یا Trunk Mode باشد . در واقع دو مد اصلی Access و Trunk است .
وقتی می گوییم یک سوییچ Dynamic Mode است ، یعنی Switch تا آن جایی که ممکن است و می فهمد ، Access کار می کند و تا آن جایی که می فهمد ، Trunck کار می کند . توصیه اکید بر آن است که شما Interface های سوییچ را بر روی حالت Dynamic Mode رها نکنید ، زیرا این رها کردن از مصادیق نفوذ پذیری Switch ها در مباحث امنیتی است . بنابراین باید مشخص کنید که ، کدام یک از Interface های سوییچ Access یا Trunk کار کنند و اگر قرار است Interface عضو Vlan باشد ، باید حتماً Access Mode باشد .
روش کار بدین صورت است :
✔️ شماره Port 0/1 سوییچ را برای Vlan 3 انتخاب کنید . ( Interface های سوییچ نیاز به no shutdown ندارند و به صورت پیش فرض فعال هستند )
✔️ اگر قرار است Port 0/1 عضو Vlan 3 باشد ، باید حتماً Access Mode باشد .
✔️ بعد از مشخص کردن Mode ، آن را در Vlan 3 قرار دهید .
Switch#conf t
Switch(config)#int fa 0/1
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 3
% Access VLAN does not exist. Creating vlan 3
اگر وارد تنظیمات Switch شوید و از دستور Show Vlan استفاده کنید ، مشاهده خواهید کرد که 👈 Vlan 1 از Port 0/2 شروع شده است و این نشان دهنده همان داستانی است که هر Interface در آن واحد فقط می تواند عضو یک Vlan باشد .
سوال :
Router Cisco 2811 خریداری کردیم ، اما تعداد 2 عدد Interface بیشتر ندارد و در این
سناریو قرار است 3 عدد Vlan را یه یکدیگر وصل کنیم ، مشکل کمبود Interface را چه کار
کنیم ؟
به دلیل اینکه شبکه های ما تنها با رنج IP از هم جدا نشدند ، بلکه از خاصیت Vlan بندی استفاده کردید ، نگران کمبود Interface در Router ها نباشید . هر کدام از Interface های Router ، به 4 میلیارد Interface مجازی شکسته می شود . ( اگر Vlan بندی نداشتید ، این قابلیت را از دست می دادید )
👈 البته برای استفاده از این خواص ، نکاتی حائز اهمیت است :
سوال :
چه موقع Interface های Switch باید Trunk Mode باشند ؟
Interface ها به شماره Vlan ها حساس هستند و جزء Data از Vlan خود قبول نمی کنند . البته بعضی از اوقات لازم است که ، Interface ما چشم خود را بر روی شماره Vlan ببندد . در سناریو قرار است Router تعداد 3 عدد Vlan را به یکدیگر متصل کند . Port 0/24 سوییچ به شماره Vlan گیر داده و فقط Data مربوط به مثلا Vlan 3 را از خود عبور می دهد ، بنابراین Vlan 5 ، 7 برای رسیدن به Router ، پشت درب خواهند ماند .
با توجه به اینکه Port 0/24 سوییچ عضو Vlan 1 است و این زیرمجموعه Vlan 1 بودن برای Port 0/24 باعث شده است که ، Data جزء Vlan 1 را قبول نکند . لذا اگر قرارا است Port 0/24 سوییچ به شماره Vlan گیر ندهد ، باید عضو هیچ Vlan نباشد و تنها راهی که باعث می شود Interface سوییچ عضو هیچ Vlan نباشد این است که ، Trunk Mode باشد .
Switch(config)#int fa 0/24
Switch(config-if)#switchport mode trunk
با استفاده از دستور زیر ، آماری از Interface های Trunk قابل روئیت می باشد . ( شرط استفاده کردن از این دستور ، فعال بودن Interface است )
Switch#show interfaces trunk
Port Mode Encapsulation Status Native vlan
Fa0/24 on 802.1q trunking 1
سوال :
Encapsulation به چه معنا است ؟
به زبان ساده به نحوه بسته بندی کردن اطلاعات Encapsulation گویند . در لایه 2 عملیات Encapsulation به 2 صورت برای Interface Trunk انجام می شود :
1
InterSwitch Link (ISL) : مختص برند Cisco است و با وجود اینکه مختص برند Cisco است ، خود Cisco بیشتر علاقه به IEEE 802.1Q دارد . 2
IEEE 802.1Q : استانداردی از مجموعه IEEE با شماره استاندارد 802.1Q است ، که وابسته به برند خاصی نیست و همه Switch ها آن راپشتیبانی می کنند .
Switch های لایه 2 Cisco ، تنها با یک نوع Encapsulation کار می کنند و آن هم IEEE 802.1Q است که قابل تغییر هم نیست . البته زمانی که Interface سوییچ را Trunk Mode می کنید ، به صورت اتوماتیک با IEEE 802.1Q کار خواهد کرد . ( این موضوع با استفاده از دستور show interfaces trunk در بخش Encapsulation قابل روئیت می باشد )
Router(config-subif)#encapsulation dot1Q 3
Router On Stick ( Sub-Interface ):
در سناریو یک Router وجود دارد که Interface آن به Switch متصل است و قرار است برای 3 شبکه Gateway شود . بنابراین باید Int Fa 0/0 را به 3 عدد Interface مجازی تقسیم کنید . به این عملیات که شما Interface فیزیکی Router را به چند عدد Interface مجازی تقسیم کنید که بتوانید برای Vlan ها تأمین Gateway کنید ، Router On Stick یا ( Sub-Interface ) گویند .
عملیات ( Sub-Interface ) بدین شرح است :
✔️ Interface روتر حتماً باید فعال باشد . ( اصل Interface حتماً باید no shutdown باشد )
✔️ حق ندارید به اصل Interface که قرار است شکسته شود ، IP دهید .
✔️ برای هر Interface شکسته شده ، یک شماره شناسه انتخاب می کنیم .
دستورات لازم جهت شکستن Interface برای تأمین Gateway بدین شرح است :
✔️ Interface را صدا می زنیم و بعد پشت شماره Interface یک Dot قرار دهید . قرار دادن Dot پشت شماره Interface ، نشان دهنده شکستن Interface می باشد .
✔️بعد از Dot ، شماره شناسه را وارد کنید . ( یک عدد اختیاری ، اما بهتر است جهت نظم شماره شناسه آن با شماره Vlan یکی باشد )
✔️ Interface مجازی no shutdown ندارد ، اگر اصل Interface فعال باشد ، این هم فعال خواهد شد .
✔️ در سناریو Port 0/24 سوییچ Trunk و با Encapsulation IEEE 802.1Q کار می کند ، بنابراین باید به Router بگوید که Data را با IEEE 802.1Q می فرستد .
✔️ بعد از Encapsulation ، شماره Vlan را مشخص کنید تا Router بفهمد از کدام Vlan هستید . (فقط عدد Vlan)
✔️ رنج IP که قرار است برای Vlan ها تأمین Gateway کند را مشخص کنید .
Router(config)#int fa 0/0.3
Router(config-subif)#encapsulation dot1Q 3
Router(config-subif)#ip address 10.3.3.1 255.255.255.0
نکاتی در بحث (VLANs) :
فرض کنید که ، مجموعه ای با 20 عدد Switch 24 Port است و قرار است ما آن را Vlan بندی کنیم . ( 480 عدد Interface )
ساده ترین راه ممکن برای اینکه تک تک Interface ها را انتخاب نکنید ، از کلمه Range استفاده کنید . یعنی Interface هایی که عضو یک Vlan هستند را با هم انتخاب کنید ، با هم Access کنید و در Vlan مربوطه قرار دهید .
Switch(config)#interface range fa 0/18-22 , fa0/7 , fa0/9
Switch(config-if-range)#switchport mode access
Switch(config-if-range)#switchport access vlan 10
اگر دستور مثلا ، switchport access vlan 6 را در سوییچ وارد می کنید ، به صورت اتوماتیک حتی اگر Vlan 6 وجود نداشته باشد آن را خواهد ساخت .
Switch(config-if)#switchport access vlan 6
% Access VLAN does not exist. Creating vlan 6
اسامی برای Vlan ها بی ارزش است ، اما جهت تغییر اسم Vlan از دستور زیر استفاده کنید .
Switch(config)#vlan 3
Switch(config-vlan)#name MALI
اگر Interface را به اشتباه در Vlan قرار دادید ، جهت تغییر آن از دستور زیر استفاده کنید .
Switch(config)#int fa 0/2
Switch(config-if)#switchport access vlan 12
وقتی که شماره Vlan های Interface سوییچ را تغییر دهید ، به مدت تقریبا 30 ثانیه از حالت نارنجی به حالت سبز در می آید و بعد درست می شود . البته این دستور مخصوص Interface های است که ، Access Mode کار می کنند و اگر بر روی Interface هایی که Trunk Mode کار می کنند وارد کنید ، باعث Loopback خواهد شد .
Switch(config)#int fa 0/1
Switch(config-if)#spanning-tree portfast
به یاد داشته باشید که Cisco در Show Run عبارات پیش فرض را نمایش نمی دهد و اگر شما این عبارات را از حالت Default خارج کنید ، در Show Run قابل نمایش است .