پروتکل درخت پوشا یا به اختصار Spanning Tree Protocol) STP) از شکلگیری Loopها در شبکهی سوئیچشده جلوگیری مینماید، اما این کار را در مقایسه با قابلیتهای پردازشی تجهیزات جدید، با کارایی کمتری انجام میدهد. این مقاله نگاهی است به پروتکل درخت پوشای سریع یا (Protocol Rapid Spanning Tree (RSTP که برای انجام وظایف STP طراحی شده است. RSTP در IEEE 802.1w استاندارد شد و در حال حاضر در IEEE 802.1D نیز ادغام شده است. RSTP در واقع با انجام تغییراتی کوچک در روش کار STP، باعث میگردد دفعات همگرایی (Converge) روی سوئیچها، هم در شروع و هم در خرابی لینک به حداقل برسد. در ادامه به بررسی نحوه ی تکمیل RSTP نسبت به STP و همچنین نحوهی پیکربندی آن روی تجهیزات سوئیچ سیسکو (IOS) میپردازیم.
عملکرد (RSTP (Rapid Spanning Tree Protocol
جهت بررسی مسائل فنی شیوهی کار RSTP به ارائه یک مقایسه ملموس میپردازیم. R)STP) را بهعنوان مکانیزم کنترل چراغ قرمزهای یک شهر در نظر بگیرید. گهگاه، پلیس راهنمایی و رانندگی شهر لازم است ترافیک را از یک خیابان به خیابان دیگری هدایت کند تا از ازدحام بکاهد. اما اگر یک کنترلر تقاطع به کنترلر تقاطعی دیگر وصل نباشد چه اتفاقی میافتد؟
نگاهی به الگوی ترافیک در شکل۱ بیاندازید. سریعاً مشخص میشود که ترافیک در این سناریو بهطور بالقوه میتواند وارد یک حلقه در یک بلوک شود. اگر تعداد کافی از ماشینها به این Loop هدایت شوند، بالاخره ترافیک متوقف میشود (در ترافیک شهری این اتفاق بهسرعت میافتد). STP سعی میکند از مشکل این حلقه ی بیپایان، با از بین بردن امکان ایجاد Loop در همان وهلهی اول جلوگیری کند. در این مثال، STP یکی از چراغ قرمزها را تغییر میدهد تا ماشینها نتوانند به راست بپیچند و Loop ایجاد کنند (شکل۲).
وظیفهی اولیهی R)STP) ایجاد رابطه با شبکهی سوئیچشدهای است که در آن پیادهسازی شده است. اگر یک سوئیچ، تنها سوئیچ موجود در شبکه باشد، بهصورت پیشفرض تبدیل به یک (switch یا) Root Bridge میشود. این Root Bridge ابتدا از داخل شبکهی STP انتخاب میشود و مابقی شبکه، روی همان سوئیچی که در مرکز سوئیچینگ واقع شده، ساخته میشود. این بدان معناست که شما نمیخواهید این سوئیچ، که چنین نامی به خود گرفته است؛ روی یک Edge Switch یا روی سوئیچی که روی یک سایت Remote باشد.
معمولاً این انتخاب، تا هنگامی که یکی از سوئیچهای مرکزی شبکه را تبدیل به Root Bridge نماید، ثابت میماند. وقتی انتخاب ثابت نباشد، Root Bridge براساس اولویت آن سوئیچ انتخاب میشود. با این وجود، بهصورت پیشفرض، اولویت یک سوئیچ، در تمام سوئیچها یکی است. بنابراین انتخاب دوم بر اساس ID آن Bridge انجام میشود. Bridge ID معمولاً یک آدرس MAC با کدگذاری سختافزاری است که توسط سازنده، به سوئیچ نسبت داده شده است.
این اولویتها و IDهای Bridge با تبادل Bridge Protocol Data Units) BPDU) بازپخش میشوند که توسط RSTP در هر وقفه، پیغام Hello (بهصورت پیشفرض هر دو ثانیه) ارسال میگردند. و در نهایت همان Bridgeی که اولویت یا ID Bridge بالاتری دارد بهعنوان Root Bridge انتخاب میگردد.
یکی از تفاوتهای مهم بین STP و RSTP شیوهی همگرایی یا Converge آنهاست. در STP، تمام سوئیچها باید هنگامی که Interfaceها به شنیدن و فهمیدن وضعیت پورت میپردازند (هر کدام ۱۵ ثانیه) صبر کنند و سپس تصمیم بگیرند کدام سوئیچ باید بهRoot Bridge و کدام Interface باید به Interface Root تبدیل شود. در RSTP، از فرایند Proposal and Agreement یا بهعبارتی پیشنهاد/موافقت (P/A) استفاده میشود؛ که به محض اینکه یک Interface شروع به کار میکند، مورد استفاده قرار میگیرد. فرآیند P/A تا حد زیادی، زمان لازم جهت انتقال یک Interface به وضعیت Forwarding را کاهش میدهد. با این وجود،RSTP این فرآیند را لینکهای (P2P (Point-to-Pointمینامد.
سوئیچهای سیسکو جهت تعیین نوع لینک، از تنظیمات Duplex در یک Interface استفاده مینماید و Interfaceهایی که تنظیمات Full-Duplex دارند، از فرایند P/A تبعیت میکنند؛ Interface که تنظیمات Half-Duplex دارند، قبل از همگرا شدن وارد فرآیند همگرایی کندتر STP (در مجموع ۳۰ ثانیه) میشوند. البته موارد استثنا هم وجود دارد که آن، پورتهای Root هستند که بهصورت خودکار وقتی سوئیچی وارد این فرآیند میشود به وضعیت Forwarding سوق داده میشوند. در RSTP، لینکهای Half-Duplex را لینکهای مشترک (Shr)Shared Links مینامند. RSTP علاوه بر موارد فوق، نوع سومی از لینکها را به نام Edge Link ارائه نموده است؛ این پورتها مثل پورتهای قدیمیتر Cisco PortFast عمل میکنند و بهصورت پیشفرض در وضعیت Forwarding قرار دارند.
در RSTP وضعیت Port بهشکلی متفاوت ارجاع داده میشوند. STP پنج وضعیت Port دارد: Disabled (غیرفعال)، Blocking (مسدود شده)، Listening (گوش بهزنگ)، Learning (در حال فراگیری) و Forwarding (در حال ارسال). RSTP این وضعها را مجموعاً در سه حالت تلفیق کرده است: Discarding (که شامل Disabled ،Blocking و Listening میباشد)، Learning و Forwarding.
موضوعی که اغلب برای متخصصان مبهم میباشد، تعیین وضعیت پورت STP است. دستور show spanning-tree در سیسکو همیشه وضعیت پورت را طوری فهرست میکند که انگار از RSTP استفاده مینماید. خود RSTP دو وضعیت پورت دیگر بنام های Alternative و Backup اضافه میکند که قبلاً بخشی از وضعیت معینشدهی STP بودند. در واقع این وضعیتها، اشاره به مسیر ثانویه برگزیده دارند. وضعیت پورت Alternative نشان میدهد که یک Interface در صورت از کار افتادن Root Port فعلی میتواند Root Port بعدی باشد یا خیر. وضعیت پورت Backup نشان میدهد که یک Interface پورت اختصاصی بعدی باشد یا خیر؛ این حالت تنها زمانی اتفاق میافتد که سوئیچی چندین لینک به یک بخش Ethernet داشته باشد.
پیادهسازی (RSTP (Rapid Spanning Tree Protocol سیسکو
لازم به ذکر است پیادهسازی پیشفرض STP سیسکو با پیادهسازی استاندارد آن فرق دارد. بهجای استفاده از یک مورد STP که در سراسر شبکه از جمله تمام VLANهای پیکربندیشده کار کند، سیسکو یک مورد STP روی هر VLAN مشخص اجرا مینماید که به این کار (+Per-VLAN Spanning Tree (PVST میگویند. پیادهسازی RSTP سیسکو با استفاده از نسخهی اختصاصی RSTP به نام +RPVST+) Rapid PVST) از مسیر مشابهی تبعیت میکند.
پیکربندی(RSTP (Rapid Spanning Tree Protocol
سادهترین نکته دربارهی RSTP و پیادهسازی +RPVST سیسکو نحوهی منحصربهفرد پیکربندی آن است. برای تبدیل +PVST به +RPVST از دستورهای زیر میتوانید استفاده نمایید.
- وارد Global Configuration mode شوید.
switch#configure terminal
- از Mode STP به +Rapid-PVST سوئیچ کنید.
switch(config)#spanning-tree mode rapid-pvst
این مراحل تمام چیزی است که شما باید برای تبدیل یک شبکهی موجود +PVST به یک شبکهی +Rapid-PVST انجام دهید. اگر میخواهید یک شبکهی جدید STP بسازید، چند دستور اضافه باید پیکربندی شود تا مطمئن شوید که محل Root Bridge در مرکز شبکه قرار دارد.
همانطور که مشاهده نمودید، RSTP با STP چند فرق عمده دارد که تاثیر زیادی بر روی زمان مورد نیاز یک شبکه، جهت همگرایی با تغییرات و خرابیهای ابتدا و حین لینک میگذارد؛ و این زمان برای سازمانهای مدرن بسیار ارزشمند خواهد بود.