در آموزش قبلی با پروتکل Spanning Tree آشنا شدیم و دیدیم که در سوئیچ های سیسکو به چه صورت انتخاب Root Bridge و Root Port و Designated Port انجام می شود و چگونه این پروتکل لینک های Redundant را شناسایی و انها را مسدود می کند. در اینجا می خواهیم انواع مختلف این پروتکل را بررسی کنیم.

Commen Spanning Tree یا CST : استاندارد عمومی (IEEE 802.1D) می باشد و تمام CST BPDU ها را روی لینک Trunk و با استفاده از Native VLAN (ارسال بودن تگ( ارسال می کند.
برخی ویژگی های CST
- داشتن یک STP برای کل شبکه باعث کاهش مصرف منابع می شود.
- داشتن یک STP باعث ایجاد محدودیت هایی می شود.
- لینک های Redundant یا جایگزین بین سوئیچ ها مسدود می شوند و از توان آنها برای Load Balancing نمی توان استفاده کرد.
Per-VLAN Spanning Tree | PVST چیست؟
سیسکو یک نسخه اختصاصی را پیشنهاد می دهد که دارای انعطاف پذیری بیشتری نسبت به CTS است. در CST برای کل شبکه یک درخت داریم و برای کل شبکه بدون در نظر گرفتن VLANها انتخاب انجام می شود. اما در PVST ما برای هر VLAN یک STP اجرا می شود و برای هر VLAN یک درخت ایجاد می شود و انتخابات را برای هر VLAN به صورت جداگانه انجام می گیرد و به این شکل جریان ترافیک بهبود می یابد. یعنی یک سوئیچ در یک VLAN به عنوان Root Bridge نقش ایفا می کند و همان سوئیچ می تواند نقش یک سوئیچ معمولی را برای یک VLAN دیگر ایفا کند.
برخی ویژگی ها PVST
- ترافیک VLANها روی ترانک های ISL قابل انتقال است.
- با استفاده از PVST می توانیم بین لینک Load Balancing را داشته باشیم به طور مثال یک پورت در سوئیچ می تواند برای یک VLAN به عنوان Root Port و برای یک VLAN دیگر Block باشد.
- اختصاصی شرکت سیسکو می باشد.
- با توجه به استفاده از ترانک ISL امکان اجرای CST و PVST در کنار یکدیگر وجود ندارد.
Per-VLAN Spanning Tree Plus یا PVST+ چیست؟
دومین نسخه اختصاصی سیسکو می باشد که عملکرد ان دقیقا مشابه PVST است با این تفاوت که می تواند روی هر دو نوع لینک ترانک (ISL و 802.1Q) عمل کند و در نتیجه امکان اجرای CST و PVST در کنار یکدیگر فراهم می شود. و می توان گفت که PVST+ بین گروهی از سوئیچ ها که CST را اجرا کرده اند و گروهی از سوئیچ ها که PVST را اجرا کرده اند به عنوان مترجم نقش ایفا می کند.
نحوی تنظیم STP
جهت تغییر مقدار Priority از دستور زیر استفاده می کنیم:
Switch(config)#spanning-tree vlan 1 priority 4096
برای تعیین یک سوئیچ به عنوان Root Bridge بدون تغییر مقدار Priority از دستور زیر استفاده می کنیم:
Switch(config)#spanning-tree vlan 1 Root { primary | secondary}
برای تغییر Cost یک پورت از دستور زیر استفاده می کنیم:
Switch(config-if)#spanning-tree cost 4
برای تغییر Cost یک پورت برای یک VLAN از دستور زیر استفاده می کنیم:
Switch(config)#spanning-tree vlan 1 cost 4
برای دیدن اطلاعات STP از دستور زیر استفاده می کنیم:
Switch#show Spanning-tree
برای دیدن اطلاعات STP مربوط به یک VLAN از دستور زیر استفاده می کنیم:
Switch#show Spanning-tree vlan 1
برای دیدن اطلاعات STP مربوط به یک Interface از دستور زیر استفاده می کنیم:
Switch#show Spanning-tree interface fastethernet 0/1
برای دیدن اطلاعات STP مربوط Timer از دستور زیر استفاده می کنیم:
Switch#show Spanning-tree bridge brief
Portfast و Uplink
در بخش های قبلی پروتکل STP و نحوی عملکرد ان و برخی از انواع این پروتکل را توضیح دادیم در این بخش می خواهیم انواع دیگر این پروتکل را توضیح دهیم پس با ما همراه باشید.
PortFast چیست؟
ویژگی اختصاصی سیسکو برای بهبود سرعت تبادل اطلاعات در STP می باشد که باعث می شود پورت بودن گذشتن از وضعیت های مختلف به طور مستقیم در حالت Forwarding قرار گیرد و برای پورت هایی که مستقیم به End Device ها متصل هستند استفاده می شود.برای فعال کردن این ویژگی از دستور زیر استفاده می کنیم:
Switch(Config-if)#spanning-tree portfast
UplinkFast چیست؟
ویژگی که سرعت تبادل اطلاعات STP را در زمانی که ارتباط مستقیم یک سوئیچ با سوئیچ بالادست قطع می شود را افزایش می دهد. در این حالت سوئیچ پورت Backup را برای Root Port تشخیص می دهد و زمانی که Root Port قطع شود پورت Backup بدون قرار گرفتن در وضعیت Learning و Listening جایگزین Root Port می شود.برای فعال کردن این ویژگی از دستور زیر استفاده می کنیم:
Switch(config)#spanning-tree uplinkfast
BackboneFast چیست؟
ویژگی که سرعت تبادل اطلاعات STP را در زمانی که ارتباط سوئیچ به سمت Root Bridge در جایی که مستقیم به سوئیچ وصل نیست قطع شود را افزایش می دهد.برای فعال کردن این ویژگی از دستور زیر استفاده می کنیم:
Switch(config)#spanning-tree backbonefast
Rapid STP چیست؟
مدت زمان تعیین وضعیت پورت در CST بین 30 تا 50 ثانیه بود و در صورت تغییر در شبکه این مدت زمان مجدد صرف تشکیل درخت بدون Loop صرف می شود که این مدت زمان زیادی است و هیچ ترافیکی در این بازه انتقال داده نمی شود در نتیجه برای اینکه این مدت زمان کاهش یابد و عملکرد STP بهبود بخشیده شود پروتکل عمومی (Rapid STP (802.1W ارائه شد.

مهمترین تفاوت RSTP با CST در وضعیت پورت ها می باشد.
وضعیت های مختلف RSTP
- Discarding : فقط BPDU دریافت می کند.
- Learning : علاوه بر دریافت BPDU ، ارسال BPDU را انجام می دهد و جدول MAC را نیز بروز می کند.
- Forwarding : شروع به ارسال و دریافت ترافیک داده می کند و همچنین ارسال و دریافت BPDU و بروزرسانی جدول MAC خود ادامه می دهد.
در جدول زیر وضعیت RSTP با CST مقایسه شده است:

نقش های پورت در RSTP
- Root port : پورتی که از طریق آن با کمترین Cost به Root Bridge می رسیم.
- Designated port : پورتی که می تواند یک سوئیچ دیگر را با کمترین هزینه به Root Bridge برساند.
- Alternate port : پورت Backup برای Root port
- Backup port : پورت Backup برای Designated port
- Disabled port : پورت غیرفعال که در Spanning Tree استفاده نمی شود
- Edge port : پورتی که به End User متصل است
تفاوت RSTP با CST در BPDU
در CST تنها Root Bridge اقدام به ارسال BRDU می کرد ولی در RSTP تمام سوئیچ BPDU ارسال می کنند.
نحوی فعال کردن Rapid STP
با استفاده از دستور زیر می توان Rapid STP را روی سوئیچ فعال کرد:
Switch(config)# spanning-tree mode rapid-pvst
- نکته : این پروتکل باید روی تمام سوئیچ ها فعال شود در غیر این صورت پروتکل قبلی فعال خواهد بود
بررسی Rapid STP
برای بررسی Rapid STP از دستور زیر استفاده می کنیم:
Switch# show spanning-tree
Per-VLAN RSTP چیست؟
در Per-VLAN RSTP برای هر VLAN یک RSTP اجرا می شود و برای هر VLAN یک درخت ایجاد می شود و انتخابات را برای هر VLAN به صورت جداگانه انجام می گیرد و به این شکل جریان ترافیک بهبود می یابد.
MST- Multiple Spanning Tree چیست؟
زمانی تعداد VLAN خیلی زیاد باشند و ما از PVST یا Per-VLAN RSTP استفاده کرده باشیم برای هر VLAN نیاز به محاسبه جداگانه دارد که باعث مصرف زیاد CPU و RAM می شود.برای برطرف کردن این مشکل ما از MST استفاده می کنیم به این صورت که VLAN های که قرار است Root Bridge یکسانی داشته باشند را در یک instance قرار می دهیمبه طور مثال vlanهای 11 تا 20 را در instance 1 و 21 تا 30 را در instance 2 قرار می دهیم:
- نکته : امکان ساخت حداکثر 16 تا instance وجود دارد
- نکته : MST که فعل شود instance 0 ایجاد می شود و تمام vlan ها به صورت پیش فرض عضو این instance می شوند.
- نکته : به کلیه سوئیچ هایی که MST را اجرا کنند و در یک ناحیه قرار بگیرند به اصطلاح MST Region گفته می شود.
نحوی تنظیم MST
Switch(config)#spanning-tree mst configuration Switch(config-mst)#name itpro Switch(config-mst)#revision 1 Switch(config-mst)#instance 2 vlan 11-20 Switch(config-mst)#instance 3 vlan 21-30
بررسی تنظیمات MST
Switch#show spanning-tree mst configuration