در دو مبحث قبل در خصوص مفاهیم STP و مثالی از آن توضیحاتی را ارائه کردیم. در این قسمت قصد داریم در خصوص مدیریت Spanning Tree Protocol و دستوراتش و Modeهای مختلف آن صحبت کنیم.
با توجه به اینکه STP به صورت پیش فرض پس از بارگذاری تنظیمات سوئیچ اجرا میشود و امکان انجام تمام فرآیند خود را به صورت اتوماتیک دارد اما بهتر است برای مدیریت آن براساس طراحی شبکه دو سوئیچ را به عنوان root primary switch و root secondary switch انتخاب کنیم. بنا بر ساختار شبکه داخلی بهتر است این دو سوئیچ از لایه distribution و یا core انتخاب شوند.
انتخاب root primary switch در VLAN10
با توجه به اینکه سیسکو در PVST Mode کار میکند، در حال حاضر تنظیماتمان براساس VLAN خواهد بود. برای انتخاب یک سوئیچ به عنون root primary switch دو روش وجود دارد. روش اول استفاده از دستور زیر در سوئیچی است که می خواهیم root primary باشد.
switch (config) #spanning-tree vlan 10 root primary
در این روش ارزش priority از 32768 به 24576 (2*4096 – 32768) تغییر میکند. در اصل هم کم شدن priority است که باعث root primary شدن سوئیچ میشود.
پس از اعمال دستور با استفاده از دستور show spanning-tree vlan 10 به بررسی تغییرات ایجاد شده در وضعیت سوئیچ میپردازیم.
متوجه میشویم که این سوئیچ برای vlan 10 حکم root را پیدا کرده و تمام پورت ها نقش Desg اند.
در سوئیچ دومی که به عنوان سوئیچ بک آپ سوئیچ اصلی میخواهیم انتخاب کنیم، می توانیم از دستور زیر استفاده کنیم
switch (config) #spanning-tree vlan 10 root secondary
در این روش ارزش priority از 32768 به 28672 (4096 – 32768) تغییر میکند.
روش دوم تعیین root primary و secondary تغییر دستی ارزش هاست. برای این کار از دستور زیر استفاده میکنیم
switch (config) #spanning-tree vlan 10 priority 4096
در این دستور نیز همانند دستورات قبلی مشخص است سیسکو به صورت پیش فرض براساس PVST کار میکند و این دستور فقط تعیین کننده priority بروی سوئیج در VLAN 10 است.
نکته: اعداد priority بایستی مضاربی از عدد 4096 باشند و در صورتیکه عددی غیر از ضرب شده این اعداد را استفاده کنیم، دستور ریجکت میشود.
وضعیت پورت ها
پیش تر توضیح دادیم دو وضعیت اصلی در پورت ها داریم: BLK , FWD. اما وضعیت ها بیشتر از مواردی هستند که قبلا نامبرده شد که همه آنها دیده نمیشوند:
حالت Disabled از وضعیت های پورت است و ارتباطی به STP ندارد. در این وضعیت یا پورت توسط ادمین غیرفعال شده است و یا به حالت error disable (مانند حالتی که در port-security توضیح دادیم) رفته است.
در حالت block، پورت به غیر از دریافت بسته های BPDU کاری انجام نمیدهد. (no BPDU send – no MAC-Address learn – no DATA send)
در حالت listen پورت دیتایی (منظور از دیتا، انتقال ترافیک end-user هاست) را ارسال نمیکند و MAC-Addressای را یاد نمیگیرد و فقط ارسال و دریافت BPDU دارد.
در حالت learn پورت همچنان دیتایی را ارسال نمیکند و شروع به یادگیری MAC-Addressها کرده است.
در حالت forward پورت شروع به ارسال دیتا میکند.
Spanning Tree Protocol Modes
این پروتکل Mode های مختلفی برای اجرا دارد که سیسکو به صورت پیش فرض به حالت PVST کار میکند. در لیست زیر مقایسه ی اجمالی از این Modeها را می بینیم
PVST
روش پیش فرض سیسکو برای مدیریت STP استفاده از PVST یا همان Per VLAN STP است. این قابلیت انحصاری در ساختار سیسکو این مجوز را میدهد که به ازای هر VLAN یک instance تشکیل شود. به این ترتیب برای مدیریت loop به ازای هر vlan پروتکل STP پردازش مستقلی را انجام میدهد. به همین ترتیب با تغییرات به ازای هر VLAN میتوان root bridge را تغییر داد.
در مواردی که تعداد VLANها زیاد میشود PVST (روش انحصاری سیسکو) بعلت load بالای محاسباتی که ایجاد میکند برای سوئیچ ها دردسر ساز میشود. برای حل این مشکل، مدل استانداردی به نام MST وجود دارد که حد واسطی بین دور روش بکار برده شده در سیسکو و در IEEE میباشد.
RSTP
پروتکل STP برای بدست آوردن درخت یکتا به دلیل داشتن یکسری زمان بندیها کند است. به ازای هر تغییر در درخت نیز این پروتکل یکبار انجام میشود. RSTP بوسیله یکسری ملاحظات این زمان ها را کاهش میدهد.
مثالی برای درک همگرایی (convergence): تصور کنید در یک کلاس مدرسه ابتدایی هستید. هر کدام از اعضای کلاس در حال صحبت کردن با همدیگرند که باعث بوجود آمدن همهمه ایی در کلاس شده است. در همین لحظه معلم وارد کلاس میشود و از همه میخواهد به او توجه کنند. ساکت شدن همه دانش آموزان و توجه به معلم را همگرایی میگویند.
در روش قبلی اگر بخواهد از حالت block به listen و learning برسد زمانی را به نام forward delay timer که 15 ثانیه است سپری میکند. در سیسکو آمده که STP timer کلا حذف شده و فقط یک ثانیه negotiation ها برای up شدن خط برقرار میکند. برای حذف این زمان ها، سوئیچ ها محاسبات درخت را پیش از بروز اتفاقی که باعث ایجاد تغییر در درخت STP شود را انجام میدهند.
MST
برای شبکه ها با VLAN های با تعداد زیاد استفاده میشود که مدیریت loop را برای سوئیچ ها راحت تر میسازد. این روش یک حد واسط است که نه PER SWITCH است و نه PER VLAN بلکه از محدوده های مشترک استفاده میشود. که هر instance به تعدادی VLAN سرویس میدهد. VLAN هایی که مدیریت ترافیکشان در یک سوئیچ اتفاق می افتد به یک instance سپرده شود.
محافظت از STP
به دلیل اینکه برخی از پورتها در تعیین درخت STP نقشی ندارند میتوانیم آنها را از محاسبات STP خارج کنیم تا بار و زمان محاسبات را بروی سوئیچ ها کمتر کنیم. پیشنهاد میشود که روی سوئیچ های لایه access پورتهایی که end user به آنها متصل شوند را از محاسبات مشخص سازی درخت خارج کنید. این پورت های بایستی حالت access برود.
دستور spanning-tree bpduguard enable: این دستور به پورت میگوید تو ترانک نیستی (و نخواهی بود)، بنابراین در بحث های STP شرکت نکن.
دستور spanning-tree portfast: این دستور زمانی تاثیر میگذارد که پورت در حالت non-trunking port یا همان access باشد. این دستور میگوید این پورت در بحث های STP دخالت ندارد و بدن انجام محاسبات، پورتش را در حالت forwarding قرار میدهد.