آموزش CCNAآموزش شبکهسیسکو

آموزش CCNA : معرفی پروتکل STP – Spanning Tree Protocol

در آغاز این بحث باید به مسئله افزونگی بپردازیم. در بسیاری از شرایط نیاز است تا بین برخی شرایط اقداماتی انجام شود تا در دسترس بودن سرویس ها را افزایش دهیم.

اما مشکل این مسئله این است که بدون در نظر گرفتن ویژگی های خاص مشکلاتی درون شبکه ایجاد می شوند که به مجموع آنها Switching Loop گفته می شوند. در زیر موارد مشخص شده به عنوان Switching Loop آورده شده اند:

  • Broadcast Storms
  • MAC Table Instability
  • Multiple Frame Transmission

راهکار حل مشکلات ذکر شده در بالا پروتکل Spanning Tree می باشد

مشخصات این پروتکل:

  • استاندارد IEEE 802.1D می باشد
  • یک پروتکل لایه 2 می باشد
  • با غیرفعال ساختن لینک ها از Switching Loop جلوگیری می کند

نحوه فعالیت Spanning Protocol :

این پروتکل به این صورت کار می کند که ابتدا از بین تمام سوییچ ها اقدام به انتخاب یک Root Bridge می نماید. قدم بعدی اقدام به ایجاد Designated Port می باشد که با تبدیل تمام پورت های Root Bridged به این نوع پورت ها آغاز می شود. در مرحله سوم بر روی سوییچ هایی غیر از Root Bridge اقدام به انتخاب تنها یک Root Port می نماید، این پورت در واقع نزدیکترین پورت به Root Bridge بر روی آن سوییچ می باشد. در مرحله چهارم اقدام به Segment بندی می نماید. در این مرحله Collision Domain ها را به عنوان Segment درنظر می گیرد و در هر Segment دو عدد سوییچ وجود دارد. از بین این دو سوییچ در یک Segment یک سوییچ به Root Bridge نزدیکتر می باشد، این سوییچ را Designated Bridge می نامند و پورتی از این سوییچ که به سوییچ دیگر متصل شده است را Designated Port می نامند. در مرحله آخر تمام پورتهایی که به عنوان DP و RP انتخاب نشوند به حالت Block تبدیل می شوند.

معیارهای STP برای انتخاب Root Bridge :

پروتکل STP با ایجاد شرایط آگاهی سوییچ ها از یکدیگر اقدام به جلوگیری از Loop می نماید. این آگاهی با ارسال بسته های BPDU یا Bridge Protocol Data Units بین سوییچ ها انجام می شود. این بسته ها 2 مدل می باشند:

  • Hello BPDU  Configuration BPDU 
  • TCN

در Hello BPDU یک ویژگی به نام Bridge ID وجود دارد. در STP هر سوییچ برای خود دارای یک Identifier می باشد. این مقدار تشکیل شده از 2 ویژگی STP Priority و Switch MAC Address می باشد.

STP Priority یک مقدار عددی بین 0 تا 65535 می باشد و مقدار پیش فرض آن 32768 می باشد و در صورت عدم تغییر این مقدار، برای تمام سوییچ ها این مقدار در نظر گرفته می شود.

BPDU که مقدار Bridge ID کمتری داشته باشد، به عنوان BPDU بهتر شناخته می شود لذا در صورتیکه برای تمام سوییچ ها مقدار پیش فرض STP Priority درنظر گرفته شود، تساوی شکن بین سوییچ ها MAC Address سوئیچ ها خواهد بود و کمترین مقدار آدرس MAC یک سوئیچ باعث تعریف آن به عنوان Root Bridge می شود.

در هر بسته BPDU اطلاعات زیر ارسال می شود:

  • Root Bridge
  • Sender Bridge
  • Cost

نکته: این بسته ها هر 2 ثانیه یکبار ارسال می شوند و همچنین باید بدانید که انتخاب یک Root Bridge یک انتخاب رقابتی است و هر لحظه امکان تغییر آن وجود دارد.

نحوه تعیین Cost در BPDU :

نحوه فعالیت Spanning Protocol - نحوه تعیین Cost در BPDU

نکته: در نحوه انتخاب DP و RP ها ارسال بسته های BPDU در بین سوییچ ها بعد از گذر از هر سوییچ در بخش Cost با مقدار Cost قبلی خود جمع شده و به سوییچ بعدی ارسال می شود. این کار برای این است که به طور مثال یک سوییچ بداند که برای رسیدن به Root Bridge از چه نوع اینترفیس هایی و با چه مقدار Cost باید عبور کند تا در نهایت بتواند بهترین مسیر را براساس کمترین مقدار Cost برای خود انتخاب نماید.

نکته: ممکن است در زمان هایی مقدار Cost ها باهم برابر باشند، تساوی شکن ها در این حالت دو مورد زیر می باشند:

  • 1st: Sender Bridge ID
  • 2nd: Port ID

در مورد اول مقدار کمتر در Bridge ID برنده می باشد و در مورد دوم شماره پورت کوچکتر برنده می باشد.

آشنایی با Topology Change Notification یا TCN :

این بسته زمانی ارسال می شود که یک تغییر Direct در شبکه رخ می دهد. این بسته یک BPDU از نوع TCN می باشد که از طریق Root Port به Root Bridge ارسال می شود. هر سوییچی که یک TCN بر روی Designated Port خود دریافت کند موظف به ارسال آن از طریق Root Port خود می باشد تا در نهایت به Root Bridge برسد.

زمانیکه TCN به دست Root Bridge برسد، یک TCN Flag به بسته بعدی BPDU ارسالی از Root Bridge الصاق می شود تا به کل شبکه ارسال شود و همه از این تغییر آگاه شوند.

هر سوییچ دارای یک MAC Table Age Time به مدت 300 ثانیه می باشد که در صورت فعال نبودن یک MAC address ، سوییچ آنرا به مدت 300 ثانیه درون جدول خود نگهداری می کند. زمانیکه یک سوییچ بسته BPDU با TCN Flag دریافت می کند، این مدت زمان 300 ثانیه را به 15 ثانیه تغییر می دهد تا بتواند Idle Mac Address ها را شناسایی و حذف نماید.

انواع مختلف STP ها:

IEEE 802.1D CST (Common Spanning Tree)
Cisco PVST (Per VLAN STP)
Cisco PVST+
IEEE 802.1W (RSTP)
Cisco RPVST+
IEEE 802.1S (MST)

نکته: در CST بالاترین مقدار زمان همگرایی در پروتکل وجود دارد (30 ثانیه) و همچنین استفاده همزمان از لینک ها در این مدل امکان پذیر نمی باشد.

نکته: در مدل PVST امکان استفاده همزمان لینک ها براساس ترافیک VLAN ها وجود دارد اما با CST سازگار نمی باشد و همچنین با Encapsulation dot1q کار نمی کند.

نکته: PVST+ با Encapsulation dot1q سازگاری دارد اما زمان همگرایی همچنان بالاست.

نکته: در RSTP زمان همگرایی تا حد امکان پایین آمده است.

نکته: بهترین حالت در STP می تواند RPVST Plus باشد اما در این حالت به تعداد VLAN ها Instance ایجاد می شود و در صورتیکه تعداد VLAN ها زیاد باشند، کارآیی شبکه پایین می آید.

نکته: در MST تعداد Instance ها براساس تعداد توپولوژی ها ایجاد می شوند، در نتیجه در این مورد کارآیی بهتری وجود دارد و به دلیل استاندارد بودن این حالت، با تمام حالت های دیگر سازگاری دارد.

دستورات Show در STP:

دستور
توضیحات
SW#show spanning-tree
این دستور اطلاعات کلی رو برای ما نمایش می دهد
SW#show spanning-tree active
فقط اطلاعات STP های فعال را نمایش می دهد
SW#show spanning-tree bridge
این دستور اطلاعات bridge ID ، تایمر ها و پروتکل های محلی را تمایش می دهد
SW#show spanning-tree brief
با این دستور می توانیم خلاصه ای ازتنظیمات Spanning Tree Protocol STP را مشاهده کنیم
SW#show spanning-tree detail
این دستور اطلاعات جزئی تری درباره Spanning Tree Protocol STP به نمایش می دهد
SW#show spanning-tree interface
اطلاعات Spanning Tree Protocol STP بر روی یک اینترفیس را نمایش می دهد
SW#show spanning-tree mst
این دستور اطلاعات Multiple Spanning Tree  MST  را به ما نمایش می دهد
SW#show spanning-tree root
با این دستور میتواینم اطلاعات و دستورات root bridge را مشاهده کنیم
SW#show spanning-tree summary
این دستور اطلاعات کلی درباره Spanning Tree Protocol STP به نمایش می دهد
SW#show spanning-tree vlan
این دستور اطلاعات یک  Vlan خاص رو برای ما نمایش می دهد
SW#show spanning-tree blockedports
با این دستور میتوانیم اطلاعاتی درباره پورت های بلاک شده بدست آوریم

 

دستوراتی عملیاتی که میتوان در STP استفاده کرد:

دستور
توضیحات
با این دستور میتوان مشخص کرد یک Vlan با priority بالاتر یا کمتری در یک سوئیچ مورد استفاده قرار بگیرد. عدد priority از 0 تا 61440 می باشد و با پرش های 4096 بالا می رود.

Switch(config)#spanning-tree vlan 200 root primary

با این دستور سوئیچ را به عنوان روت اصلی برای vlan مورد نظر انتخاب میکند

Switch(config)#spanning-tree vlan 200 root secondary

با این دستور سوئیچ را به عنوان روت دوم (جای گزین) برای vlan مورد نظر انتخاب میکند

Switch(config-if)#spanning-tree vlan 200 port-priority

با دستور port-priority را تغییر می دهیم

Switch(config-if)#spanning-tree vlan 200 root priority

با دستور root priority را تغییر می دهیم
Switch(config-if)#spanning-tree vlan 200 cost 250 با دستور cost را تغییر می دهیم

Switch(config)#spanning-tree mode rapid-pvst

با این دستور Rapid PVST+ را فعال میکنیم

Switch(config-if)#spanning-tree bpduguard enable

یک قابلیت امنیتی است که به ما این امکان را می دهد که روی پورت هایی که انتخاب کرده ایم دیگر اجازه ارسال بسته های BPDU وجود نداشته باشد. با فعال کردن این دستور در صورتی که از آن پورت بسته BPDU  ارسال شود آن پورت درحالت error-disabled قرار گرده و پورت مورد نظر غیرفعال می شود.

 

دستور PortFast

این حالت فقط روی سوئیچ های لایه access شبکه کاربرد دارد که به PC ها و Workstation ها متصل هستند. انتخاب این دستور جهت بالابردن Convergence شبکه بسیار حائز اهمیت میباشد زیرا دیگر با وصل شدن یک pc به سوئیچ کل توپولوژی شبکه دستخوش تغییر نمیشود. به صورت پیش فرض PortFast روی تمامی پورتها غیر فعال میباشد. برای تبدیل کردن تمامی پورت ها به حالت portfast از دستور زیر استفاده میکنیم :

Switch(config)# spanning-tree portfast default

برای غیر فعال کردن portfast برای یک پورت خاص از دستور زیر استفاده میکنیم :

Switch(config-if)# [ no ] spanning-tree portfast

اگر پورت متصل به PC بر روی سوئیچ portfast نباشد زمان 50 ثانیه طول میکشد تا pc به شبکه متصل شود ( 30 ثانیه برای listening و learning ، همچنین 20 ثانیه برای etherchannel ).

حتما دقت کنید که portfast روی پورت هایی که به سوئیچ و یا هاب متصل هستند غیر فعال گردد.

نمایش وضعیت روی پورت portfast :

Switch# show spanning-tree interface type member/module/number portfast

 

منبع
digitrain.irzh1.ir
برچسب ها

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا
بستن
بستن