Vlan یا Virtual Lan درواقع یک LAN مجازی هستش که شامل یک سری از پورت های یک سوییچ و یا تعدادی سوییچه که منطقا ( یا بخوام بهتر بگم از لحاظ منطقی ) در یک Broadcast Domain مستقل و مجزا قرار دارند ...پس هدف از ایجاد Vlan ها ، جدا کردن محدوده BroadCast Domain ها می باشد ; در واقع می تونم بگم اگر بخواهیم Broadcast گروهی از کلاینت ها نسبت به دیگر کلاینت ها رو در یک یا چند سوییچ محدود کنیم ، باید از Vlan ها استفاده کنیم .
در یک جمله : یک شبکه کاملا لایه 2 ... که به Flat یا Flat Network Topology معروف است .
در این شبکه کاملا لایه 2 از یک رنج آدرس استفاده می شود که باطبع این شبکه فاقد Subnet های مختلف بوده و در نتیجه بین قسمت های اون Routing انجام نمی پذیرد .پیام Broadcast یک دستگاه به همه نود ها در شبکه می رسه ...
Vlan تقسیم کننده Broadcast Domain ها در شبکه هستش و در داخل یک Vlan گروهی از دستگاه ها قرار دارند که به یکدیگر وصلند و میتوانند در لایه 2 MAC و فریم های یک دیگر رو ببینند .هر Vlan کاملا مجزا هست و توسط روتر یا سوییچ های لایه 3 در نقاطی مثل Vlan Core ها به یکدیگر Route می شوند تا بتوانند یا یکدیگر ارتباط برقرار کنند ولی Broadcast هاشون به یکدیگر نمیرسه ...خلاصه اینکه با Vlan ترافیک به گونه تفکیک میشه که گویی شبکه ای مجزا با کابل و سوییچ ساختیم که یک LAN جداگانه رو تشکیل دادیم ...
بر اساس شکل فوق هر Vlan مشخص کننده یک شبکه IP است و باید رنج آدرسی مجزا برایش در نظر گرفت .اما سوالی که پیش میاد اینه که چرا لایه 2 اهمیت داره و چرا آدرس های لایه 2 و لایه 3 با هم متفاوتند ، چرا باید از هر دو لایه در ارتباط استفاده کنیم و هر دو را در طراحی در نظر بگیریم ؟؟؟؟؟
مثلا : Ethernet برای شبکه های Lan ایجاد شده ، در X.25 بخاطر یک سری اشتباهات از پروتکل لایه 2 ای بنام LABP استفاده میشد ، در ATM با توجه به نرخ بالای سرعت از Cell هایی با سایز ثابت استفاده میشد یا اینکه روی خطوط Dial-Up از ppp استفاده میشه ...
همه اینهایی که مثال زدم پروتکل های لایه 2 ای هستن که روی لینک ها کار میکنن ...اما لایه 3 بدون در نظر قرار دادن انواع رسانه ها و تکنولوژی های مختلف و شبکه هایی مثل PPP یا Frame Relay ، Ethernet و ATM میاد به صورت منطقی آدرس هر دستگاه رو در دو بخش Host و مشخص کننده اون شبکه در نظر میگیره ; مثال : توی اینترنت وقتی یک بسته به سمت سرور ، مثلا یاهو میره مهم نیستش که از ماهواره عبور کرده یا از فیبر زیر اقیانوس ، چیزی که مهمه اینه که شبکه فرستنده کیه و کجاس و اینکه ما زیر مجموعه چه شبکه لایه 3 ای هستیم تا یاهو بتواند پیام مد نظر رو برگردونه به ما ... ادامه دارد ...
آدرس دهی منطقی و لایه 3 قبول ، اما چرا در لایه 2 نیز آدرس دهی داریم ؟ پاسخ :فرض کنین که بخواهید یک عکس از لب تاپ خودتون به سیستم فرد دیگری انتقال بدهید یکی از راه ها اینه که از FTP همراه با IP آدرس سیستم مقصد استفاده کنیم .تا اینجا ارتباط لایه Application رو تا لایه 3 مشخصا درک میکنیم ولی اینکه این دیتا ( عکس ) بخواهد بر روی رسانه ( کابل ) مسی قرار بگیره و منتقل بشه ، Ethernet بایستی فریم رو بسازه و مک آدرس سیستم مقصد رو بر روی Header فریم قرار بده ، تا سوییچ بتونه ارتباط بین دو پورت رو فراهم کند ، حالا اگر از آدرس لایه 2 استفاده نمیشد اون وقت کل شبکه ما مجبور بود اون فریم رو دریافت کنه در حالیکه با استفاده از سوییچ بر عکس Hub دقیقا دیتا بر اساس آدرس فیریکی مقصد فقط به پورت خاص ارسال میشه و پهنای باند پورت های دیگر حفظ می شود .
حالا دوباره سوال پیش میاد که چرا Ethernet به جای استفاده از Mac Address از IP Address استفاده نکرده ؟
در لایه 3 ، IP ، شبکه رو به دو بخش Network ID و Host ID تقسیم میکنه که بر همین اساس میتوان یک سیستم منطقی و سلسله مراتبی مثل اینترنت داشت ولی در بقیه پروتکل ها نظیر IPX امکان سابنتینگ ، انعطاف پذیری و آدرس دهی منطقی مثل IP رو ندارند ولی از حق نگذریم یک خصوصیت خوب در IPX این بود که از مک آدرس برای Host ID ( کاری که IPV6 ) از اون استفاده کرده و مزیت این کار اینه که مثل امروز دیگه نیازی به DHCP نیست و با توجه به اینکه آدرس فیزیکی ( MAC Address )یکتا و Unique هستش از اون به منزله Host ID استفاده میشه و در انتها آدرس شبکه به اون اضافه میشود .پروتکل IP برای کارکرد نیاز به پروتکل ARP داره تا بر اساس IP مقصد بتونه Mac Address مقصد رو پیدا کنه و پیام رو داخل فریم قرار بده و به مک آدرس خاص بفرستد .
از پروتکل ARP زمانی استفاده میشه که گیرنده فریم خودش در شبکه داخلی ما باشد به این صورت که ما و گیرنده دارای Network ID یکسان باشیم و در یک شبکه باشیم و نیاز داریم که بدونیم آدرس فیزیکی مقصد کجاست در غیر اینصورت اگر مقصد در شبکه دیگری باشد باید بسته رو به Default Gateway شبکه خودمون بفرستیم و در انیصورت بسته IP رو درون فریمی با آدرس MAC مربوط به روتر ارسال میکنیم ، در این مرحله برای دریافت MAC روتر از ARP استفاده می شود .
بهتر است بدانید ...
پروتکل ARP برای بدست آوردن MAC Address از پیغام Broadcast استفاده میکنه به اینصورت که سوییچ پیام Broadcast رو به تمام پورت هایش ارسال میکند و کامپیوتری که IP خود را در بدنه ARP ببیندبه آن درخواست ، پاسخ می دهد و بدین ترتیب پروتکل ARP براساس IP Address ، آدرس فیزیکی ( Mac Address ) را بدست می آورد اما عملکرد آن وابسته به پیغام Broadcast است .Broadcast Domain ناحیه عملکرد و مرز پیام های Broadcast است ، روتر ها اجازه عبور Broadcast رو از لینکی به لینک دیگر نمی دهند در نتیجه در اطراف روتر ها Broadcast Domain های مجزا که شبکه های لایه 2 مستقل اند ایجاد میگردد .
بوسیله ایجاد Vlan میتوان شبکه ای کاملا مستقل ایجاد کرد که BroadCast Domain های خود را داشته که فریم های Vlan تنها داخل خود Vlan رد و بدل می شوند ; ترافیک به گونه ای رد و بدل خواهد شد که گویی شبکه ای مجزا با کابل و سوییچ مستقل یک شبکه LAN مجزا را تشکیل داده است . ادامه دارد ...
Vlan ID چیست؟ هر Vlan یک شماره مخصوص به خود داره که بهش میگن Vlan ID و بوسیله همین Vlan , Vlan ID صدا زده می شود .در کل میشه 2 به توان 12 که برابرست با 4096 عدد Vlan بر روی یک سوییچ تعریف کرد ( این عدد 12 نشون دهنده همون 12 بیت هدر Vlan هست ) در کل از 4094 تا Vlan میتونیم استفاده کنیم و Vlan های 0 و 4095 فقط برای سیستم استفاده میشوندو رزرو شدن و ما نمیتونیم این Vlan هارو ببینیم یا ازش استفاده کنیم . Vlan ها در کل به سه دسته تقسیم می شوند ...
Vlan هایی که مختص به چند سوییچ محلی است مثلا هر طبقه Vlan مخصوص به خودش رو داره و به این صورت Vlan ها رو هر سوییچ محدود و کنترل بهتری را برایمان فراهم میکند .
اگر در یادگیری سیسکو مشکل دارید ، به شما پیشنهاد می کنیم از طریق دوره های آموزش سیسکو حرفه ای سایت توسینسو و با دوره آموزش CCNA روتینگ و سویچینگ شروع کنید ، فراموش نکنید که پیشنیاز همه این دوره های آموزش شبکه ، دوره آموزش نتورک پلاس است ، فراموش نکنید توسینسو اولین و بهترین انتخاب شما در حوزه آموزش فناوری اطلاعات فارسی است.
تمام Vlan های شبکه روی اغلب سوییچ ها وجود دارند و از پورت های یک Vlan در نواحی مختلف شبکه و طبقات به کار میره مثلا Vlan مخصوص شعبه بازرگانی در طبقات متعدد یا ساختمان های مختلف کارمندان بازرگانی رو به یکدیگر وصل میکند ( این کار در شبکه های بزرگ پیشنهاد نمیگردد ) .
از چه دستوری برای ساخت VLan استفاده کنیم ؟؟
Moein_vafaei(config)#vlan 10 Moein_vafaei(config-vlan)#name VLAN_MALI Moein_vafaei(config-vlan)#exit Moein_vafaei#show vlan brief VLAN Name Status Ports ---- -------------------------------- --------- ------------------------------- 1 default active Gi0/0, Gi0/1, Gi0/2, Gi0/3 Gi1/0, Gi1/1, Gi1/2, Gi1/3 10 VLAN_MALI active 1002 fddi-default act/unsup 1003 token-ring-default act/unsup 1004 fddinet-default act/unsup 1005 trnet-default act/unsup
همونطور که دیدید با دستور Vlan10 یک Vlan جدید با نام VLAN_MALI ایجاد کردیم .
Moein_vafaei#show vlan brief VLAN Name Status Ports ---- -------------------------------- --------- ------------------------------- 1 default active Gi0/0, Gi0/1, Gi0/2, Gi0/3 Gi1/0, Gi1/1, Gi1/2, Gi1/3 10 VLAN_MALI active 20 VLAN0020 active 30 VLAN0030 active 1002 fddi-default act/unsup 1003 token-ring-default act/unsup 1004 fddinet-default act/unsup 1005 trnet-default act/unsup
اگر نامی برای Vlan ای که میسازیم در نظر نگیریم به صورت اتوماتیک به Vlan0020 , Vlan0030 و ... تغییر نام خواهد کرد .در این جا هنوز هیچ پورتی رو عضو Vlan نکردیم . در ضمن با دستور زیر میتوانید اطلاعات مربوط به Vlan های ساخته شده رو مشاهده کنید .
Moein_vafaei#show vlan Moein_vafaei#show vlan brief
عضویت اینترفیس های سوییچ در Vlan : عضویت اینترفیس های سوییچ در Vlan ها به 2 صورت انجام میگیره :
در روش Static هر پورت رو باید معادل یک Vlan قرار بدیم ( نه کلاینت ) به همین علت هست که به این روش Port Base Vlan نیز گفته می شود و خوبیه این روش اینه که کلاینت ها نمیتوانند در شبکه جا به جا بشوند و به قولی Portable رفتار کنند .در روش Static بعد از تعریف کردن Vlan ها بایستی پورت های مورد نظرمون رو به داخل Vlan هدایت کنیم ، نکته این روش اینه که وقتی پورت های یک سوییچ رو به صورت Static عضو Vlan می کنیم در صورت تغییر در شبکه خود می بایست دوباره تغییرات رو به صورت دستی اعمال کنیم که این روش بسیار ساده و در عین حال دارای امنیت بالایی می باشد .
Moein_vafaei(config)#interface gigabitEthernet 0/0 Moein_vafaei(config-if)#switchport mode access Moein_vafaei(config-if)#switchport access vlan 10 Moein_vafaei(config)#interface gigabitEthernet 0/1 Moein_vafaei(config-if)#switchport mode access Moein_vafaei(config-if)#switchport access vlan 20 Moein_vafaei(config-if)#int gig 0/3 Moein_vafaei(config-if)#switchport mode access Moein_vafaei(config-if)#switchport access vlan 20 Moein_vafaei(config-if)#do show vlan VLAN Name Status Ports ---- -------------------------------- --------- ------------------------------- 1 default active Gi0/2, Gi1/0, Gi1/1, Gi1/2 Gi1/3 10 Vlan_mali active Gi0/0 20 Vlan_Sale active Gi0/1, Gi0/3 1002 fddi-default act/unsup 1003 token-ring-default act/unsup 1004 fddinet-default act/unsup 1005 trnet-default act/unsup VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2 ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------ 1 enet 100001 1500 - - - - - 0 0 10 enet 100010 1500 - - - - - 0 0 20 enet 100020 1500 - - - - - 0 0 1002 fddi 101002 1500 - - - - - 0 0 1003 tr 101003 1500 - - - - - 0 0 1004 fdnet 101004 1500 - - - ieee - 0 0 1005 trnet 101005 1500 - - - ibm - 0 0 Primary Secondary Type Ports ------- --------- ----------------- ------------------------------------------
همانطور که دستورات بالا رو مشاهده میکنید پورت Gig00 درون Vlan 10 قرار گرفته است و پورت های Gig01 , Gig 0/3 به عضویت Vlan 20 در آمده است و دیگر عضو Vlan 1 یا Native Vlan نیستند .
همانطور که میدانید در تمامی سوییچ ها Vlan1 به صورت پیشفرض تعریف شده و تمامی پورت های سوییچ نیز در داخل آن قرار دارند و ما قادر به حذف Vlan1 یا Native Vlan از روی سوییچ نخواهیم بود که این قضیه برای Vlan های دیگر صدق نمیکند و قابلیت حذف کردن رو دارا هستند .
جهت خارج کردن یک پورت از یک Vlan طبق دستور ذیل رفتار میکنیم :
Moein_vafaei(config)#interface gigabitEthernet 0/0 Moein_vafaei(config-if)#no switchport access vlan 10 Moein_vafaei(config-if)#no switchport mode access Moein_vafaei(config)#do show vlan VLAN Name Status Ports ---- -------------------------------- --------- ------------------------------- 1 default active Gi0/0, Gi0/2, Gi1/0, Gi1/1 Gi1/2, Gi1/3 10 Vlan_mali active 20 Vlan_Sale active Gi0/1, Gi0/3 1002 fddi-default act/unsup 1003 token-ring-default act/unsup 1004 fddinet-default act/unsup 1005 trnet-default act/unsup VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2 ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------ 1 enet 100001 1500 - - - - - 0 0 10 enet 100010 1500 - - - - - 0 0 20 enet 100020 1500 - - - - - 0 0 1002 fddi 101002 1500 - - - - - 0 0 1003 tr 101003 1500 - - - - - 0 0 1004 fdnet 101004 1500 - - - ieee - 0 0 1005 trnet 101005 1500 - - - ibm - 0 0 Primary Secondary Type Ports ------- --------- ----------------- ------------------------------------------
روشی پویا و بر اساس Mac Address دستگاهها رو در Vlan مربوط به خود قرار میده که برای Dynamic کردن این کار از VPMS که در سیسکو بنام Cisco Work 2000 موجود است میشه استفاده کرد .با VMPS میشه پورت های یک Switch رو براساس MAC آدرس کلاینت ها به صورت Dynamic به Vlan اختصاص داد که مزیت این روش اینه که وقتی Host که ازیک پورت سوییچ به پورت دیگر سوییچ انتقال پیدا میکنند در همان Vlan سابق باقی میمانند یعنی بسته به Mac کلاینت برای پورت Set می شود .
در این روش میتوانیم مثلا یک PC رو از Vlan A بر روی سرور به Vlan B با استفاده از Mac انتقال بدهیم ، یعنی PC به پورت سوییچ وصل می شود سوییچ از سرور سوال میکند و سرور بر اساس Mac آدرس PC ، اون سیستم رو به Vlan مربوطه انتقال می دهد ; پس اگر حتی یک PC رو از سوییچی به سوییچ دیگر یا بر روی یک سوییچ منتقل کنیم کماکان درون همون Vlan مربوط به خودش قرار میگیرد و دیگر نیاز به تنظیم پورت ندارد .VMPS سروری هستش که اطلاعات رو به سوییچ های که درخواست اطلاعات میکنن میفرستد .
سوییچ های سری Cisco 40004500500060006500 می توانند به صورت VMPS عمل کنند و برای سوییچ های دیگر نقش سرور رو ایفا کنند .فقط سوییچ ها با نرم افزار CATOS توانایی این کار رو دارند ( سیستم عامل قبلی سوییچ های Catalyst ) و سوییچ های سیسکو IOS Base این پروتکل رو پشتیبانی نمیکنند و حتی در Chassis Switches نیز حتما باید Super Engineای که VMPS رو ساپورت کند نیز باید خریداری و نصب شود . VQP یا پروتکل Vlan Query Protocol پروتکلی است که سوییچ برای درخواست اطلاعات از سرور از آن استفاده میکند .
این روش نسبت به روش Static دارای انعطاف پذیری و البته Overhead بالاتری نیز می باشد و با این روش هر کدام از Node ها به هر کدام از سوییچ ها که متصل می شوند با مدیریتی که از سوی سوییچ VMPS صورت میگیرد ، هر کدام Policy های مربوط به خود را خواهند داشت ، در حالیکه در روش Static هر کدام از پورت ها مختص و متعلق به Vlan خاصی خواهند بود .برای درک بهتر این موضوع با همدیگر به مثالی می پردازیم :
در این جا سوییچ های VMPS SERVER , VMPS Client رو داریم .در ابتدا شرایط Vlan هارو در VMPS تعریف میکنیم مقلا Host1 , Host2 , Host3 عضو Vlan 10 و Host4 , Host5 عضو Vlan 20 و همچنین Host 6 , Host 7 , Host8 عضو Vlan 30 نیز باشند . حال اگر Host 1 از سوییچ سمت چپ جدا شود و به سوییچ سمت راست متصل گردد ، VMPS Client یک سری اطلاعات مانند : Mac Address و ... رو از Host1 دریافت میکند و به و یک Packet ایجاد میکند و برای سوییچ VMPS ارسال میکند در عین حال سوییچ VMPS Server که شرایط تمام Vlan هارو در دیتابیس خود دارد ، متوجه خواهد شد که Host1 عضو Vlan 10 می باشد و در سوییچ سمت چپ Host1 را به Vlan 10 الحاق میکند .
در این حالت Switch ها به دو صورت هستند :
VMPS Server یک لیست از MAC آدرس کلاینت ها به همراه Vlan مربوطه را در خود دارد .
ادامه دارد ...
Trunk و نقش آن در انتقال ترافیک Vlan ها : Vlan ها به 2 صورت بر روی سوییچ تعریف می شوند .
1- Local Vlan که Vlan ها همه روی یک سوییچ تعریف می شوند .
2- End to End Vlan که بر روی سوییچ های مختلف تعریف می شوند .
هنگامی که تمامی Vlan را روی یک سوییچ تعریف میکنیم ارتباطی بین Vlan ها وجود ندارد ، در صورتی که بخواهیم ارتباطی بین Vlan ها بر قرار کنیم نیاز به یک Device لایه 3 ( همانند روتر یا سوییچ های لایه 3 )خواهیم داشت تا ارتباط بین Broadcast Domain های متفاوت رو برقرار کنیم .به اینترفیسی که قرار است با روتر ( یا سوییچ های لایه 3 ) ارتباط داشته باشد را پورت Trunk و به این ارتباط ، Trunk گفته می شود .در صورتیکه VLan ها بر روی سوییچ های مختلف و متفاوت قرار داشته باشد چگونه می توان ترافیک مربوط به هر کدام از Vlan ها رو بین سوییچ ها انتقال داد ؟؟
فرض کنیم که 2 تا سوییچ داریم که از 3 Vlan تشکیل شده اند .
ما بوسیله یک کابل تنها ترافیک یک Vlan رو میتوانیم منتقل کنیم ، مگر اینکه از Trunk استفاده کنیم .در صورتیکه بخواهید بین Vlan ها ارتباط بر قرار کنیم ، 2 راه پیش رو داریم :
1- Vlan های همنام رو دو به دو با کابل به یکدیگر وصل کنیم ( که در اینصورت تعدادی از پورت های اشغال خواهد شد )
2- ترافیک تمامی Vlan هارو از یک کانال مشترک به نام Trunk هدایت کنیم . ( بوسیله Trunk ترافیک همه Vlan هارو میتوان بین دو سوییچ روی یک لینک انتقال داد که منجر به صرفه جویی در پورت ، کابل و باعث مرکزیت و سهولت در تنظیمات می گردد .)
چگونه ترافیکی که از این کانال مشترک هدایت میشود و شامل فریم هایی از Vlan های متفاوت و مختلف می باشد ، توسط سوییچ های مختلف قابل تشخیص است ؟؟ برای مشخص کردن Vlan هر فریم بر روی Trunk از یک روش تگ زدن یا علامت زنی استفاده می شود یعنی هر کدام از فریم های ارسالی از سمت سوییچ ها دارای برچسب می باشد که این باعث می شود براحتی بفهمیم که فریم از چه Vlan ای آمده است و سوییچ دریافت کننده ، فریم رو تحویل Vlan مربوطه خواهد داد . برای اینکه این ارتباط Trunk به نحوه احسن انجام پذیرد باید پروتکل یکسانی در دو سمت بر روی سوییچ ها تنظیم گردد تا ترافیک Vlan ها با علامت مشخص کننده Vlan منتقل گردد . پس Trunk وظیفه انتقال فریم هایی را که دارای Tag هستند را بر عهده دارد .برای اعمال تگ یا علامت زنی بر روی فریم ها از 2 روش Encapsulation برای فریم هایی که از یک سوییچ به سوییچ دیگر می روند وجود دارد :
این پروتکل انحصاری شرکت سیسکو برای Trunking است و علاوه بر Ethernet ، Token Ring ، FDDI و ATM رو نیز بر روی ISL منتقل میکند . این روش دیگر از سمت شرکت سیسکو پشتیبانی نمیشود .
نقطه ضعف پروتکل ISL استفاده از Header بزرگ 26 بایتی و محاسبه مجدد CRC 4 بایتی بود .
نکته : بصورت پیش فرض پروتکل ISL به منظور تگ زدن بر روی فریم ها روی سوییچ های سیسکو فعال می باشد ، هر چند که امروزه استفاده از این پروتکل منسوخ شده و جایش رو به 802.1q داده است .
استاندارد IEEE هست و به آن dot.1q میگویند و به عنوان یک استاندارد open در لایه 2 جهت بر چسب زدن فریم هایی که می بایست در داخل Trunk منتقل شوند ، به کار میرود و در شبکه ای که تمام سوییچ ها سیسکو نیستند بایستی از این پروتکل جهت Tag زدن به فریم ها استفاده کنیم ( سوییچ های شرکت سیسکو نیز از این پروتکل پشتیبانی میکنند )
فریم های عضو Native vlan رو trunk تگ زده نمی شوند ، به عبارتی بوسیله 802.1q ، Encapsulate نمی شوند و بدون Tag ارسال می شوند .برای تنظیم Trunk از دستور زیر استفاده میکنیم .
Moein_vafaei(config)#interface gigabitEthernet 0/0 Moein_vafaei(config-if)#switchport mode trunk Moein_vafaei(config-if)#switchport trunk encapsulation dot1q
ISL
802.1q
ادامه دارد ...
Q-in-Q Tunneling : تصور کنین که یک ISP قصد داره تا ارتباط دو شعبه از دو تا از مشتری هایش رو که دارای ساختار Vlan هستند را در لایه 2 به هم ارتباط بده . فرض کنید این دو شعبه ساختار Vlan بندی کاملا مشابه و یکسان داشته باشند .
همانطور که در شکل میبینید Customer 1 , Customer 2 هر دو دارای دو شعبه هستند که شامل VLan های مشابه نیز می باشند .حال Service Provider ( سرویس دهنده اینترنتی ) قصد داره که شعبات Customer1 و Customer 2 را با یکدیگر ارتباط دهد ، بصورتیکه Vlan های هم نام با یکدیگر Overlapping نداشته باشند . اگر قرارمون بر این باشه که به هر مشتری رنج یکتایی از Vlan ID ها رو بدهیم ، با توجه به محدودیت تعداد VLan ها که در 802.1q برابر با 4096 تا هستند ، ممکن است با کمبود Vlan ها مواجه شویم ; که برای حل این شکل و جلوگیری از بوجود آمدن Overlapping بین رنج Vlan ها بایستی از دو بار عمل تگ زدن در 802.1Q استفاده کنیم که به این روش Q-In-Q Tunnelling گفته می شود.
Q-in-Q Tunnel در واقع نوعی Double Tagging است ، بدین مفهوم که Vlan , ISP های مشترک را در یک Vlan دیگر (که با آن اختصاص میدهد ) ، Encapsulate میکند ، یا تگ میزند ، در واقع یک بار Tag برای Vlan که Service Provider به مشترک اختصاص میدهد و Tag دیگر مربوط به VLAN های خود مشتری است ، Tag داخلی مشخص کننده Vlan های مشتری و Tag بیرونی مربوط به Vlan هایی است که Service Provider به آن مشتری اختصاص میدهد ، به این روش double Tagging و یا Tag Stacking نیز میگویند .
در واقع بسته هایی که توسط سوییچ مشتری Tag میخورند وقتی به شبکه Service Provider میرسند ( اولین سوییچ که اصطلاحا Ingress Switch نامیده می شود ) دوباره Tag میخورند و اصطلاحا Double Tag می شوند سپس بسته های Double Tag شده در شبکه Service Provider توسط سوییچ دیگری ( سوییچ انتهایی Service Provider که اصطلاحا Egress Switch نامیده می شود) قبل از خارج شدن از شبکه ، ابتدا Tag آن برداشته می شود ( Untagged میشود ) و سپس Egress Switch ، Tag بسته رو بررسی میکنه و از پورت مربوطه خارج می کند و به سوییچ دیگر مشتری در شعبه دیگر ارسال می شود .
در این روش سوییچ های مشتریان و همچنین سوییچ های میانی در شبکه Service Provider ها به هیچ وجه متوجه double Tagging صورت گرفته توسط سوییچ های Service Provider نخواهند شد .در واقع تکنیک Q-in-Q Tunneling اجازه میدهد تا شبکه لایه 2 مشتریان توسط شبکه Service Provider توسعه داده شده و زیر ساخت Vlan آن ها روی چنیدن سایت گسترش پیدا کند .
هماهنطور که در شکل بالا مشاهده می کنید در متد Double Tagged فضای VlanIDمربوط به Tag بیرونی از فضای مربوط به VlanID مربوط به Tag درونی کاملا مستقل می باشد .در واقع Trunk Port از مشتری به Trunk Port در Service provider متصل شده و علاوه بر 4 بایت افزوده شده در ترانک مشتری برای 802.1q یک Tag دیگر در Provider به میزان 4 بایت روی آن اضافه می شود و VlanID درونی در دل یک VlanID دیگر که به سمت مشتری اشاره میکند قرار دارد . به این Double Tagging یا Nested 802.1q Trunk یا Q-in-Q tunneling گفته می شود .
در این حالت که 2 بار Tagging روی بسته صورت میگیرد ، اطلاعات لایه 3 ای در Q-in-Q مخفی می شودو این نکته زمان بررسی پارامتر های لایه 3 در بین راه مانند ACL و QOS و ... باید حتما مد نظر قرار بگیرد .
Default Ethernet MTU = 1500 Bytes Fast-Ethernet Max MTU = 1546 Bytes Gigabytes-Ethernet Max MTU = 2000 Bytes
یکی از مشکلات Q-in-Q ، Untagged فرستادن فریم هاو بسته های Native Vlan از سمت مشتری می باشد .PDU ها ، STP ، CDP ، VTP روی Vlan1 یا بهتر بگم Native Vlan به صورت Untagged روی ترانک رد و بدل می شوند که در صورت استفاده از این سرویس ، از سوی Provider ها قابل قبول نیست و Drop خواهد شد . هرگاه بخواهیم PDU ها رو توسط Service Provider برای مشتری عبور بدهیم باید از Layer 2 Protocol Tunnel استفاده کنیم که کار GBPT1( Generic Bridge Tunneling BPDU ) را انجام دهد ، که این کار روی پورت متصل به مشتری در Service Provider صورت میگیرد تا اطلاعات Native Vlan مشتری به درستی Encapsulate ششده و ارسال شود . جهت کانفیگ و پیکر بندی Q-in-Q Tunneling تنها کافی است بر روی سوییچ های Ingress و Egress در Service Privider دستورات زیر را وارد کنیم :
Moein_vafaei_ISP(config)#interface gigabitEthernet 0/0 Moein_vafaei_ISP(config-if)#switchport mode dot1q-tunnel Moein_vafaei_ISP(config-if)#switchport access vlan 10
همچنین بر روی هر یک از پورت های سوییچ های مشترکین که به سوییچ های Ingress و Egress متصل هستند نیز دستور زیر را وارد نماییم :
Moein_vafaei_custome(config-if)#switchport mode trunk
همچنین دستورات زیر روی Edge Interface در Service Provider ، 8021.q را برای مشترک برقرار میکند .
Moein_vafaei_ISP(config)#vlan dot1q tag native Moein_vafaei_ISP(config)#interface gigabitEthernet 0/3 Moein_vafaei_ISP(config-if)#switchport access vlan 10 Moein_vafaei_ISP(config-if)#switchport mode dot1q-tunnel Moein_vafaei_ISP(config-if)#l2protocol-tunnel cdp Moein_vafaei_ISP(config-if)#l2protocol-tunnel stp Moein_vafaei_ISP(config-if)#l2protocol-tunnel vtp Moein_vafaei_ISP(config-if)#l2protocol-tunnel drop-threshold pps cdp Moein_vafaei_ISP(config-if)#l2protocol-tunnel drop-threshold pps stp Moein_vafaei_ISP(config-if)#l2protocol-tunnel drop-threshold pps vtp Moein_vafaei_ISP(config-if)#l2protocol-tunnel shutdown-threshold pps cdp Moein_vafaei_ISP(config-if)#l2protocol-tunnel shutdown-threshold pps stp Moein_vafaei_ISP(config-if)#l2protocol-tunnel shutdown-threshold pps vtp
از دستور زیر به منظور پاک کردن تمام Counter های روی پورت های Tunneling پورتکل لایه 2 استفاده می شود .
Switch#clear l2protocol-tunnel counters
از دستور زیر به منظور نمایش پورت های تانل 802.1q روی سوییچ استفاده می شود .
Switch#show dot1q-tunnel
از دستور زیر به منظور نمایش اینترقیس ئر یک Tunnel Port استفاده می شود .
Switch#show dot1q-tunnel interface interface-id
از دستور زیر به منظور نمایش اطلاعات مربوطه به پورت های Tunnel پروتکل لایه2 استفاده می شود .
Switch#show l2protocol-tunnel
از دستور زیر به منظور
Verify if the recovery timer from a layer 2 protocol-tunnel error disable state is enable
Switch#show errdisable recovery
از دستور زیر به منظور نمایش اطلاعات یک مشخصه از پورت Tunnleing پروتکل لایه 2 استفاده می شود .
Switch#show l2protocol-tunnel interface interface-id
از دستور زیر تنها به منظور نمایش اطلاعات خلاصه شده ای از پروتکل لایه 2 استفاده می شود .
Switch#show l2protocol-tunnel summary
از دستور زیر به منظور نمایش وضعیت Native Vlan Tagging روی سوییچ استفاده می شود .
Switch#show vlan dot1q native
ادامه دارد ...
Native Vlan چیست؟ مفهوم Native Vlan : به Vlan ای گفته می شود که ترافیک آن در Trunk فاقد Tag باشد.در 802.1q به صورت پیش فرض Vlan 1 به صورت Native می باشد یعنی ترافیک Vlan 1 به صورت Untagged در Trunk ارسال می گردد . نکته : چرا ترافیک در Tag ، Native Vlan نمیخورد ؟ چون اگر Tag زده شود ، منجر به افزایش Overhead بر روی پورت های Trunk خواهد شد .
پروتکل dot.1q از Native Vlan پشتیبانی میکند و با کمک دستور زیر پورت Trunk فعال می شود :
Moein_vafaei(config)#interface gigabitEthernet 0/0 Moein_vafaei(config-if)#switchport trunk native vlan 10
در سیسکو توسط دستور زیر نیز میتوانیم برای همه Vlan ها ( حتی Native Vlan ) نیز Tag بزنیم :
Moein_vafaei(config)# vlan dot1q tag native Moein_vafaei#show vlan dot1q tag native
به default Vlan ، Native Vlan یا Management Vlan نیز میگویند ، در واقع VLan ای است که به صورت پیش فرض بر روی تمامی سوییچ های سیسکو فعال است و به صورت پیش فرض نیز تمامی پورت های سوییچ عضو این Vlan می باشند .
از دستور زیر بر روی Trunk میتوانیم جهت اجازه عبور و یا جلوگیری از عبور ترافیک یک یا چند Vlanخاص استفاده کرد :
Moein_vafaei(config-if)#switchport trunk allowed vlan 10-12
با دستور فوق ما اجازه دادیم فقط Vlan های 10 تا 12 از روی Trunk اجازه عبور ترافیک داشته باشد.
1. 2,4,5 2. 2-5 3. 2-5,10-12
دستور حذف یک Vlan از بقیه Vlan های یک پورت Trunk :
Moein_vafaei(config-if)#switchport trunk allowed vlan remove 10-12
دستور اضافه کردن یک Vlan به بقیه Vlan های یک پورت Trunk :
Moein_vafaei(config-if)#switchport trunk allowed vlan 10-12
دستوری که همه Vlan ها را مجاز میکند :
Moein_vafaei(config-if)#switchport trunk allowed vlan all
دستوری که همه Vlan ها را مجاز میکند به غیر از یک یا چند VLan :
Moein_vafaei(config-if)#switchport trunk allowed vlan expect 10,12
دستوری که هیچکدام از Vlan ها را مجاز نمیکند :
Moein_vafaei(config-if)#switchport trunk allowed vlan none
جهت مشاهده وضعیت Trunk Port
Moein_vafaei#show interfaces trunk Moein_vafaei#show interfaces gigabitEthernet 0/0 trunk Port Mode Encapsulation Status Native vlan Gi0/0 auto negotiate not-trunking 10 Port Vlans allowed on trunk Gi0/0 1 Port Vlans allowed and active in management domain Gi0/0 1 Port Vlans in spanning tree forwarding state and not pruned Gi0/0 1
Moein_vafaei(config)#interface gigabitEthernet 0/0 Moein_vafaei(config-if)#sw Moein_vafaei(config-if)#switchport mo Moein_vafaei(config-if)#switchport mode ? access Set trunking mode to ACCESS unconditionally dot1q-tunnel set trunking mode to TUNNEL unconditionally dynamic Set trunking mode to dynamically negotiate access or trunk mode private-vlan Set private-vlan mode trunk Set trunking mode to TRUNK unconditionally
به صورت پیش فرض ترافیک مربوط به تمام Vlan ها از اتصالات Trunk عبور میکنند ( مگر خودمان تغییری ایجاد کنیم ) . تمام پورت های سوییچ به صورت پیش فرض در Dynamic Mode قرار دارند ( هنگامی که دو پورت Dynamic رو به روی یکدیگر قرار بگیرند ، به صورت اتوماتیک Trunk می شوند ) و تمام End User ها باید در مد Access قرار بگیرند . تنظیم کردن پروتکل ISL بر روی اینترفیس های یک سوییچ
Moein_vafaei(config)#interface gigabitEthernet 0/1 Moein_vafaei(config-if)#switchport mode trunk Moein_vafaei(config-if)#switchport trunk encapsulation isl
تنظیم کردن پروتکل dot.1q بر روی اینترفیس های یک سوییچ
Moein_vafaei(config)#interface gigabitEthernet 2/0 Moein_vafaei(config-if)#switchport mode trunk Moein_vafaei(config-if)#switchport trunk encapsulation dot1q
آشنایی با پروتکل DTP : بر طبق این پروتکل ، سوییچ های سیسکو بدون نیاز به فرمان Switchport mode trunk و فقط با یک Paly & Plug میتوانند با یکدیگر Trunk شوند .در واقع لازم نیست که حتما Trunk رو به صورت دستی در دو سمت لینک روی دوسوییچ تنظیم کنیم ; سیسکو می تواند به صورت خودکار بین دو سوییچ Trunk بر قرار کند . DTP برای مذاکره بین Trunk شدن یا عدم Trunk شدن لینک بین دو سوییچ توسط شرکت سیسکو ارایه شده است . DTP تنها بین سوییچ ها بکار می رود و در صورتی که در سمتی روتر وجود داشته باشد باید Trunk رو به صورت Manule تنظیم کنیم .هر اینترفیس در سوییچ های Ciscoمیتواند در یکی از 4 مُد زیر واقع شود :
Access Trunk Dynamic Auto Dynamic Desirable
وقتی پروتکل DTP بر روی یک اینترفیس فعال باشد ، با اینترفیس متصل به خود Negotiation ( اصطلاحا در این جا مذاکره یا صحبت کردن دو اینترفیس با یکدیگر ) انجام می دهد و از روی این مذاکره کردن با اینترفیس مقابل به Access بودن یا Trunk بودن اینترفیس پی میبرد .
نکته : بدترین حالت زمانی است که یک طرف پورت Access باشد و طرف دیگر در حالت Trnuk باشد چرا که هیچکدام از طرفین پورت حالت خود را تغییر نمی دهند تا هر دو طرف در یک حالت Access یا Trunk قرار گیرند .
نکته : بسته های پروتکل DTP مرتبا در شبکه در حال رفت و آمد هستند به طوری که هر 30 ثانیه یک بسته فرستاده می شود و این کار باعث ارسال بسته های اضافی DTP در مدار و کاهش سرعت شبکه می شود .
Moein_vafaei_Sw#show dtp Global DTP information Sending DTP Hello packets every 30 seconds Dynamic Trunk timeout is 300 seconds 8 interfaces using DTP
جهت غیر فعال کردن پروتکل DTP از دستور زیر استفاده می کنیم .
Moein_vafaei_Sw(config)#interface gigabitEthernet 0/0 Moein_vafaei_Sw(config-if)#no negotiation
نکته : در صورتیکه هر دو اینترفیس از دو سوییچ در حالت Dynamic Auto باشند اتصال Trunk ایجاد نمی گردد و لینک بین دو سوییچ Access خواهد شد .
Moein_vafaei_Sw#show interfaces gigabitEthernet 0/0 switchport Name: Gi0/0 Switchport: Enabled Administrative Mode: dynamic auto Operational Mode: static access Administrative Trunking Encapsulation: negotiate Operational Trunking Encapsulation: native Negotiation of Trunking: On Access Mode VLAN: 1 (default) Trunking Native Mode VLAN: 1 (default) Administrative Native VLAN tagging: enabled Voice VLAN: none Administrative private-vlan host-association: none Administrative private-vlan mapping: none Administrative private-vlan trunk native VLAN: none Administrative private-vlan trunk Native VLAN tagging: enabled Administrative private-vlan trunk encapsulation: dot1q Administrative private-vlan trunk normal VLANs: none Administrative private-vlan trunk associations: none Administrative private-vlan trunk mappings: none Operational private-vlan: none Trunking VLANs Enabled: ALL Pruning VLANs Enabled: 2-1001 Capture Mode Disabled Capture VLANs Allowed: ALL Protected: false Appliance trust: none
اگر هر دو طرف Auto باشند ، پورت به حالت Trunk نمی رود بلکه به حالت Access می رود .در حالت پیش فرض DTP روی سوییچ فعال است و دراغلب سوییچ های قدیمی در حالت Desirable کار میکند .در صورتیکه هر دو طرف در حالت Desirable قرار داشته باشند پورت به حالت Trunk می رود .در صورتیکه یکی از طرف ها Desirable باشد و طرف دیگر Auto باشد ، پیشنهاد Trunk شدن از سمت Desirable مطرح میگردد و از طرف Auto مورد قبول واقع می شود و در انتها پورت به حالت Trunk می رود .برای تنظیم DTP روی سوییچ از دستورات زیر استفاده میکنیم .
Moein_vafaei_Sw(config-if)#switchport trunk encapsulation ? dot1q Interface uses only 802.1q trunking encapsulation when trunking isl Interface uses only ISL trunking encapsulation when trunking negotiate Device will negotiate trunking encapsulation with peer on interface
Moein_vafaei_Sw(config-if)#switchport mode ? access Set trunking mode to ACCESS unconditionally dot1q-tunnel set trunking mode to TUNNEL unconditionally dynamic Set trunking mode to dynamically negotiate access or trunk mode private-vlan Set private-vlan mode trunk Set trunking mode to TRUNK unconditionally Moein_vafaei_Sw(config-if)#switchport mode dy Moein_vafaei_Sw(config-if)#switchport mode dynamic ? auto Set trunking mode dynamic negotiation parameter to AUTO desirable Set trunking mode dynamic negotiation parameter to DESIRABLE
یکی از تفاوت های سوییچ های سری 3550 با 3560 در این است که در سری 3560 interface ها به صورت پیش فرض در حالت Dynamic Auto قرار دارند در حالیکه در سوییچ های 3550 به صورت Dynamic Desirable می باشد .Dynamic نشان دهنده وجود پروتکل DTP بر روی پورت است و فرق بین Desirable و Auto در این است که Desirable خواهان برقراری Trunk و Auto منتظر درخواست طرف مقابل جهت Trunk شدن است .اگر بدون هیچ تنظیمی دو سوییچ 3560 رو به یکدیگر وصل نماییم ، Trunk برقرار نمی شود و اگر دو سوییچ 3550 رو به یکدیگر وصل نماییم Trunk به صورت خودکار برقرار می شود .
VTP چیست؟ پروتکل VTP جهت مدیریت همه Vlan ها بین سوییچ های سیسکو استفاده می شود .در شبکه های بزرگ مدیریت و ایجاد Vlan ها بر روی سوییچ های مجموعه شبکه کاری وقت گیر و دشوار هست .شرکت سیسکو VTP را به منظور مدیریت که شامل افزودن ، حذف و تغییر نام VLan ها می باشد ، ارایه کرده است .با استفاده از پروتکل VTP کار مدیریت VLan ها بسیار ساده تر شده است .پروتکل VTP متعلق به لایه Data Link یا بهتر بگم لایه 2 است و بر روی اینترفیس های Trunk بین سوییچ های سیسکو بصورت Untagged یا Native ارسال می شود . جهت استفاده از VTP باید مراحل زیر رو طی کنیم :
پروتکل VTP محدود به یک VTP Domain است یعنی تا جایی پیش می رود که VTP Domain تعریف شده باشد .
یک Lan ممکن است از چندین VTP Domain مدیریتی مختلف تشکیل شده باشد و جهت امنیت اطلاعات VTP می توان از VTP Password بین سوییچ های یک VTP Domain استفاده کرد که به صورت رمز نگاری شده با الگوریتم MD5 ذخیره می شود .
تمام سوییچ هایی که در یک VTP Domain قرار دارند بایستی در یکی از سه Mode زیر قرار داشته باشند .
هر Domain حداقل به یک VTP Server نیاز دارد تا بتواند مدیریت ، افزودن ، حذف و نام گذاری Vlan و تغییر نام آن Vlan ها را بر عهده بگیرد و همچنین تغییرات را در شبکه Advertisment کند ، سوییچی که به عنوان VTP Server عمل میکند دقیقا محلی است که مدیر شبکه پیکر بندی Vlan هارا انجام میدهد .
1- Vlan-ID 2- Vlan Name 3- VTP Version 4- VTP Domain 5- VTP Revision Number 6- VTP Password
با تنظیم VTP بر روی یک سوییچ و ایجاد یک Domain بر روی آن ، آن سوییچ به سوییچ هایی که عضو هیچ Domain نیستند و یا Domain Name آن ها خالی است ، نام Dmain خود را یاد داده و آن ها را به صورت اتوماتیک عضو Domain میکند .
سوییچ هایی که در مُد Client قرار دارند فقط اطلاعات مربوط به Vlan هارو از VTP Server دریافت میکنند ولی قادر به ایجاد ، نام گذاری و یا حذف Vlan ها نیستند در ضمن اطلاعات گرفته شده را به بقیه سوییچ ها اطلاع ( Relay ) میدهند . در سوییچ هایی هم که در مُد Client قرار دارند اطلاعات Vlan ها در حافظه Flash ذخیره میشود .
سوییچ های مستقلی که مانع عملکرد VTP نمی شوند . تنها پیام های VTP دریافتی رو به بقیه سوییچ ها ( در واقع بقیه پورت های Trunk ) ارسال ( Relay) میکند اما خودش به این اطلاعات عمل نمیکند . سوییچ های Transparent بسته های VTP دریافتی را بدون پردازش روی اینترفیس های Advertise , Trunk می کنند و مانع عملکرد پروتکل VTP نمی شوند .
نکته : در VTP Version1 پیام های زمانی Relay می شوند که مربوط به همان VTP Domain باشند که VTP Tranparent عضو آن است اما در VTP Version2 پیام های Domain های دیگر نیز Relay می شود .
سوییچ های VTP Transparent اطلاعات Vlan ها را از VTP Server یاد نمیگیرند . این سوییچ ها خودشان لیست جداگانه ای از Vlan را به صورت Local در NVRAM (نه در Flash ) ذخیره میکند . سوییچ های Transparent نه به دیگران آپدیت ارسال می کنند و نه آپدیت دیگران را روی خودشان اعمال میکنند و تنها کاری که میکنند این است که آپدیت ها را از یک گوش شنیده و از گوش دیگر خارج می کنند یعنی در توزیع آپدیت بین سایر سوییچ ها همکاری می کنند .
جهت مشاهده VTP Mode هر سوییچ میتوانیم از دستور ذیل استفاده کنیم .
MOEIN_VAFAEI_SW#show vtp status VTP Version capable : 1 to 3 VTP version running : 1 VTP Domain Name : VTP Pruning Mode : Disabled VTP Traps Generation : Disabled Device ID : 0000.ab22.2900 Configuration last modified by 0.0.0.0 at 0-0-00 00:00:00 Local updater ID is 0.0.0.0 (no valid interface found) Feature VLAN: -------------- VTP Operating Mode : Server Maximum VLANs supported locally : 1005 Number of existing VLANs : 5 Configuration Revision : 0 MD5 digest : 0x57 0xCD 0x40 0x65 0x63 0x59 0x47 0xBD 0x56 0x9D 0x4A 0x3E 0xA5 0x69 0x35 0xBC
تنظیمات یک سوییچ به صورت Default به شکل زیر است :
VTP Mode = Server VTP Version = 1 VTP Domain = Null VTP Password = NO VTP Pruning = Disable
ادامه مبحث VTP در مقاله بعدی ...
VTP Version چیست؟ پروتکل VTP در از طرف شرکت سیسکو ارایه شده که آخرین نسخه VTP v3 است . در شکل زیر تفاوت های نسخه 1و2 با نسخه 3 از جمله وجود Primary Server و Secondry Server و همچنین قابلیت های بهتر Authentication مشخص گردیده است .
عمده ترین تفاوت پروتکل VTP v1 و VTP v2 در نحوه عملکرد سوییچ های VTP Transparent می باشد ، بدین صورت که در VTP v1 سوییچ های VTP Transparent در صورتی بسته VTP دریافتی را Forward میکنند که VTP Domain name بسته دریافتی با VTP Domain name پیکر بندی شده بر روی سوییچ یکسان باشد ولی در VTP v2 سوییچ VTP Transparent بدون چک کردن محتوای بسته VTP آن را Forward میکند .
برای ایجاد امنیت در ارسال و دریافت بسته های VTP میتوان آن ها را با کلیدی همراه کرد ، سپس سوییچ دریافت کننده بسته VTP ، در صورتی بسته را پردازش میکند که کلید یکسانی با کلید بسته بر روی آن پیکر بندی شده باشد . VTP Password تمام سوییچ ها در صورت پیکر بندی باید یکسان باشد . VTP Password در Vlan.dat ذخیره می شود .
نکته : پیام های VTP تنها بر روی Trunk رد و بدل می شوند .
اطلاعاتی هستند که هر 300 ثانیه یا 5 دقیقه ، VTP Server ، پیام Summary را که شامل اطلاعات مربوط به Vlan Database می باشد را به بقیه سوییچ های VTP Domain ارسال میکند .دریافت کننده پیام ، Revision Number را چک میکند و اگر از عدد مطابق با Revision Number خود بزرگتر بود به این معنی است که تغییراتی در Vlan ها پدید آمده و دریافت کننده ، درخواست اطلاعات بیشتر که بهش Advertisment Request می گویند را میکند .
VTP Server ها بعد از هر تغییری در تنظیمات Vlan ها ، بقیه سوییچ ها را بوسیله این پیام از تغییرات آگاه می سازد .این تغییرات می تواند یکی از موارد زیر باشد :
این پیام در زمان درخواست اطلاعات ، ارسال می گردد. زمان درخواست اطلاعات ، میتواند وقتی باشد که Client تازه بالا آمده یا به عضویت Domain در آمده باشد یا زمانی که یک Summary Advertisment با Revision Number بالاتر دریافت شود .
از آن جایی که با VTP تمامی VLan ها درون تمام سوییچ ها ایجاد می گردند ، روی Trunk ها ترافیک Broadcast تمامی Vlan ها به سمت سوییچ عضو VTP سرازیر می شود . یعنی حتی سوییچی که پورتی در یک Vlan ندارد ، ترافیک آن vlan رو روی Trunk خود میگیرد که مسلما ترافیک زائد است . این ترافیک میتواند ار نوع Broadcast ، Unknown Unicast و یا Multicast باشد .برای جلوگیری از این ترافیک های زائد قابلیت VTP Pruning را در شبکه روی سوییچ ها فعال میکنیم .
VTP Pruning می گوید که فریم های Broadcast در یک Vlan به سوییچ هایی تحویل داده شوند که پورتی در آن Vlan داشته باشند . Vlan هایی که در یک سوییچ عضوی ندارند به سمت او ارسال نخواهند شد ، مگر آن که سوییچ پایین تری از آن سوییچ ، پورتی عضو آن vlan داشته باشد و تبادل اطلاعات بخاطر وجود شعبات دیگر اجتناب ناپذیر باشد .
Moein_vafaei_SW(config)#vtp pruning
در واقع Pruning ترافیک Vlan های اضافی بر روی Trunk را هرس میکند در نتیجه ترافیک بیهوده روی کانال ارتباطی Trunk تحمیل نخواهد شد .به صورت پیش فرض Vlan های 2 تا 1001 را روی Trunk قابلیت Prune شدن را دارا هستند . وضعیت VTP Pruning در فایل Vlan.dat ذخیره می شود.
تنظیمات یک سوییچ باید قبل از اتصال سوییچ به شبکه مد نظر قرار بگیرد . اگر Revision Number یک سوییچ بالاتر باشد منجر به تغییر تنظیمات سوییچ های دیگر می شود و Vlan ها را بهم خواهد ریخت که به این رخداد اصطلاحا VTP Synchornization Problem میگوییم .برای حل این مساله می توانیم یک سوییچ را به Transparent Mode ببریم و سپس به Server Mode برگردانیم تا Configuration Revision Number آن صفر شود یا Domain name رو تغییر دهیم سپس به حالت اولیه برگردانیم .
Moein_vafaei_SW(config)#vtp domain MOEIN Changing VTP domain name from NULL to MOEIN Moein_vafaei_SW(config)#vtp mode ? client Set the device to client mode. off Set the device to off mode. server Set the device to server mode. transparent Set the device to transparent mode.
منظور از مُد off این است که هیچ Advertisment رو انجام نمیدهد .
Moein_vafaei_SW(config)#vtp password ? WORD The ascii password for the VTP administrative domain. Moein_vafaei_SW(config)#vtp password Moein Setting device VTP password to Moein Moein_vafaei_SW(config)#vtp version ? <1-3> Set the administrative domain VTP version number
در صورت تنظیم Password باید رمز روی همه سوییچ های داخل آن VTP Domain تنظیم گردد . عملیات Pruning در صورت فعال بودن بصورت خودکار انجام می شود پیش نیاز به تنظیم خاصی نداریم ، اما اگر بخواهیم Vlan خاصی را از هرس شدن منع کنیم ، به کمک دستور زیر لیست Vlan هایی که مجاز به هرس شدن هستند را به سوییچ اعلام میکنیم و در واقع سوییچی که در لیست نباشد به صورت خودکار Prune نمی شود .
Moein_vafaei_SW(config-if)#switchport trunk pruning vlan ? WORD VLAN IDs of the allowed VLANs when this port is in trunking mode add add VLANs to the current list except all VLANs except the following none no VLANs remove remove VLANs from the current list
با خروجی دستور Show Vtp status بیشتر آشنا بشویم ...
Moein_vafaei_SW#show vtp status VTP Version capable : 1 to 3 VTP version running : 2 VTP Domain Name : MOEIN VTP Pruning Mode : Enabled VTP Traps Generation : Disabled Device ID : 0000.ab36.c000 Configuration last modified by 0.0.0.0 at 9-19-17 17:08:17 Local updater ID is 0.0.0.0 (no valid interface found) Feature VLAN: -------------- VTP Operating Mode : Server Maximum VLANs supported locally : 1005 Number of existing VLANs : 5 Configuration Revision : 2 MD5 digest : 0x5C 0xC7 0x6B 0x3A 0xFD 0xD7 0x1C 0x50 0xE2 0x48 0x78 0x28 0xE7 0x08 0xCC 0xD5
این گزینه نشان دهنده این است که سوییچ از کدام Version ها پشتیبانی میکند .
هر بار که یک Vlan ایجاد یا حذف می شود عدد مقابل Revision Number یک واحد اضافه می شود و زمانیکه که یک عدد به Revision یک سوییچ اضافه شود سایر سوییچ ها متوجه تفاوت بین Revision خود و Revision آن سوییچ می شوند و تغییرات جدید را روی سوییچ خود اعمال میکنند .
نشان دهنده این است که سوییچ حداکثر تا چند Vlan را میتواند به صورت همزمان توسط پروتکل PVST پشتیبانی کند .
این عدد تعداد Vlan های موجود بر روی سوییچ را نشان می دهد ، بصورت پیش فرض بر روی هر سوییچ 5 عدد Vlan ایجاد می شوند که شامل Vlan1 یا Vlan Native و Vlan های 1002 تا 1005 مربوط به FDDI و Token Ring می باشند .
نام Domian را که سوییچ به آن تعلق دارد را به ما نشان می دهد ; به صورت پیش فرض سوییچ ها عضو هیچ Domian نیستند .
وضعیت Pruning را روی یک سوییچ نشان می دهد که می تواند حالت Enabled و یا Disabled گزارش شود .
نشان دهنده این است که با فعال بودن آن سوییچ به ازای هر پیام VTP که ارسال می کند که پیام SNMP تولید میکند .بطور پیش فرض روی سوییچ Disable است .
Moein_vafaei_SW#show vtp status Moein_vafaei_SW#show vtp password Moein_vafaei_SW#show vtp counters
وقتی سوییچ VTP Server بسته VTP را می فرستد ، همراه این بسته یک بسته VTP دیگری را که با رمز خود Hash شده می فرستد و این کار را با متد MD5 انجام میدهد . سوییچ های کلاینت هر دو بسته را دریافت میکنند و بسته اصلی که حاوی اطلاعات VTP است را با رمز خود با استفاده از Hash , MD5 میکند و اگر نتیجه Hash خود را با hash فرستاده شده از سمت سوییچ Server برابر باشد ، بسته اصلی VTP رو روی خود اعمال میکند و اگر برابر نباشد بسته را دور می اندازد .
هر وقت در شبکه یک بسته VTP از طریق سرور ارسال شود و سوییچ های client آن را دریافت کنند و بر روی خود اعمال کنند ، یک واحد به مقدار Revision اضافه می شود .Revision Number ها به دو صورت اضافه می شوند :
اگر یک شبکه داشته باشیم و بعدا بخواهیم یک سوییچ دیگری به این شبکه اضافه کنیم باید حتما Revision Number آن سوییچ را صفر کنیم چون اگر Revision Number سوییچ بیشتر از مقدار Revision Number شبکه باش دستورات خود را به کل شبکه ارسال میکند و سوییچ های دیگر وقتی Revision Number بسته ارسالی را با Revision Number مقایسه میکنند و میبینند که بیشتر است دستورات را روی خود اعمال میکنند و شبکه بهم ریخته و خراب می شود .
در سوییچ ها ، حافظه Flash همه تنظیمات و اطلاعات مربوط به Vlan های شبکه را در خود ذخیره میکند . اطلاعات مربوط به Vlan ها در سوییچ های Server و Client در حافظه Flash ولی در سوییچ های Transparent در حافظه Running-Config ذخیره می شوند .
به زبان ساده به تقسیم بندی پورت های یک سویچ شبکه بصورت مجازی به سویچ های بیشتر با استفاده از دستورات و ایزوله کردن ترافیک بین پورت های سویچ برای مدیریت ترافیک و جلوگیری از به وجود آمدن تداخل های ترافیکی ساخت VLAN یا شبکه LAN مجازی گفته می شود
متخصص شبکه های سیسکو و امنیت زیرساخت
متخصص شبکه های سیسکو و امنیت در شبکه های سیسکو ** متخصص ASA & Fortigate ** دارای مدارک رسمی MTCNA*MTCRE*MCTWE*MTCTCW*MTCUME علاقه مند به Virtualization & Linux توانمند در ایجاد سیستم های IDS و IPS مبتنی بر بستر Open Source
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود