پروتکل RSTP چیست؟ – Rapid Spanning Tree Protocol
پروتکل RSTP چیست؟
در شبکهای متشکل از سوییچها، همیشه یکی از چالشها، جلوگیری از ایجاد Loop در شبکه است. Loop یا همان حلقه لایه دوم، باعث ایجاد اختلال Broadcast Storm میشود که میتواند کل شبکه را از پای دربیاورد. برای حل این مشکل پروتکل STP (Spanning Tree Protocol) معرفی شد تا پورتهایی که باعث ایجاد حلقه میشوند را غیرفعال کند. اما این پروتکل بینقص نبود و باعث ایجاد تاخیر در شبکه میشد. برای حل مشکل کندی STP، پروتکل RSTP یا Rapid Spanning Tree Protocol معرفی شد.
هدف اصلی RSTP، همانند STP، جلوگیری از ایجاد حلقه در توپولوژی شبکه است؛ اما با سازوکاری سریعتر، هوشمندتر و با استفاده از روشهای نوین در تشخیص مسیر و وضعیت پورتها.
فهرست مطالب
تفاوت RSTP و STP؛ چه چیزی تغییر کرده است؟
پروتکل RSTP، نسخه بهبود یافته و سریعتر STP است که در استاندارد IEEE 802.1w تعریف شده است. این پروتکل منطق کلی STP را حفظ میکند و در عین حال زمان Convergence را بهشدت کاهش میدهد. مشکل STP تاخیر ۳۰ الی ۵۰ ثانیهای در همگرایی (Convergence) شبکه بود. امروزه بهدلیل انتقال اطلاعاتی مثل صوت و تصویر از طریق خطوط شبکه، ایجاد چنین تغییری در خلال کار باعث بهوجود آمدن مشکلات زیادی خواهد شد.
در واقع RSTP طراحی شده تا تغییرات در توپولوژی شبکه را در بازهای در حدود چند ثانیه شناسایی و مدیریت کند، در حالی که STP ممکن است برای این کار تا 50 ثانیه زمان نیاز داشته باشد.
در اینجا، برخی از تفاوتهای کلیدی میان این دو پروتکل را بررسی میکنیم:
زمان همگرایی (Convergence Time)
STP: پس از ایجاد تغییر در توپولوژی (مثلاً قطع یک لینک)، شبکه ممکن است تا 30 تا 50 ثانیه زمان نیاز داشته باشد تا مسیر جایگزین را فعال کند.
RSTP: با استفاده از مکانیسمهای سریعتر و تعامل مستقیم بین سوئیچها، زمان همگرایی را به کمتر از 10 ثانیه کاهش میدهد.
حالات پورت (Port States)
STP: شامل پنج حالت است: Blocking، Listening، Learning، Forwarding و Disabled.
RSTP: سه حالت Listening، Disabled و Blocking در یک حالت به اسم Discarding ادغام شده است. پس فقط سه حالت باقی میماند: Discarding، Learning و Forwarding.

نقشهای پورت (Port Roles)
STP: سه نقش اصلی دارد: Root Port، Designated Port و Non-Designated (Blocked).
RSTP: علاوه بر Root و Designated، دو نقش جدید معرفی شدهاند: Alternate Port (مسیر پشتیبان به Root Bridge) و Backup Port (پورت پشتیبان در همان سگمنت).
نوع BPDU
STP: تنها Root Bridge بهصورت دورهای BPDU ارسال میکند.
RSTP: هر سوئیچ قابلیت تولید و ارسال BPDU بهصورت مستقل را دارد. این تفاوت باعث میشود که تغییرات توپولوژی سریعتر تشخیص داده شوند.
در پروتکل STP، هر یک از سوئیچهای شبکه مدت 20 ثانیه منتظر دریافت پیامهای BPDU از طریق سوئیچ Root میماندند که این مدت در RSTP کاهش یافته و به 6 ثانیه رسیده است. بدین صورت که اگر سوئیچی سه بار متوالی نتواند پیامهای موسوم به Hello را از دستگاه Root دریافت نماید، اقدام به سرگیری انتخاب سوئیچ Root خواهد کرد و با این کار نیز زمان Convergence کاهش پیدا خواهد نمود.
جدول مقایسه STP و RSTP

حالات پورت در RSTP
حالات پورت در RSTP برخلاف STP کلاسیک که از پنج حالت برای پورتها استفاده میکرد، ساختار سادهتری دارد و تنها از سه حالت اصلی برای کنترل وضعیت پورتها استفاده میکند. این طراحی باعث افزایش سرعت همگرایی (Convergence) و سهولت در درک عملکرد پورتها شده است.
Discarding
در این حالت، پورت هیچ ترافیکی را فوروارد نمیکند و نه MAC آدرسی یاد میگیرد. هدف اصلی از حالت Discarding جلوگیری از ایجاد حلقه (Loop) در توپولوژی شبکه است.
این حالت جایگزین سه حالت Disabled، Blocking و Listening در STP سنتی شده است.
Learning
در این مرحله، پورت هنوز ترافیکی را فوروارد نمیکند، اما شروع به یادگیری آدرسهای MAC دستگاههای متصل به شبکه میکند. این کار باعث میشود که سوئیچ جدول آدرسهای MAC خود را تکمیل کند و مسیرهای مناسب برای ارسال بستهها را بشناسد.
Forwarding
این حالت فعالترین وضعیت یک پورت است. در حالت Forwarding، پورت اجازه ارسال و دریافت بستههای داده را دارد و کاملاً در توپولوژی فعال شبکه مشارکت میکند. همچنین همچنان به یادگیری آدرسهای MAC ادامه میدهد.
انواع پورت در RSTP
انواع نقش پورتها در RSTP
نقش پورتها از منظر عملکرد در توپولوژی و فورواردینگ بهصورت زیر است:
- Root Port: پورت روی هر سوئیچ غیر Root که کوتاهترین مسیر را به سمت Root Bridge فراهم میکند. فقط یک Root Port در هر سوئیچ انتخاب میشود و همیشه در حالت Forwarding قرار دارد.
- Designated Port: پورتی که مسئول انتقال ترافیک به سمت سگمنت شبکه است.
- Alternate Port: پورتی پشتیبان که در صورت از کار افتادن مسیر اصلی فعال میشود.
- Backup Port: پورتی که در همان سگمنت با Designated Port فعال قرار دارد و در حالت آمادهباش باقی میماند.
انواع اتصال پورتها در RSTP
نوع اتصال فیزیکی یا منطقی پورتها بهصورت زیر است:
- Edge Port: پورتهایی که به دستگاههای انتهایی (مثل کامپیوتر، پرینتر یا سرور) متصل هستند. این پورتها بدون انتظار برای طی مراحل STP مستقیماً وارد وضعیت Forwarding میشوند.
- Point-to-Point Port: در پروتکل RSTP، پورتهایی که دو سوئیچ را مستقیماً به یکدیگر متصل میکنند، بهعنوان Point-to-Point Links شناخته میشوند، مشروط بر اینکه این اتصال بهصورت Full-Duplex برقرار شده باشد. در صورتی که پورتها در وضعیت Half-Duplex قرار داشته باشند، این بدان معناست که در مسیر ارتباطی، تجهیزات دیگری نیز وجود دارند (مانند هابها یا تقسیمکنندهها) و در این حالت، لینک بهعنوان Point-to-Point در نظر گرفته نمیشود. تعیین دقیق نوع لینک (Point-to-Point یا Shared) نقش مهمی در رفتار پروتکل و انتخاب وضعیت پورتها دارد.
- Shared Port: به پورتی گفته میشود که اتصال آن بهصورت نیمهدوطرفه (Half Duplex) یا از طریق یک هاب یا دستگاه اشتراکی برقرار شده باشد. در این حالت، چند دستگاه ممکن است به یک Segment متصل باشند و امکان تصادم (Collision) وجود دارد. به همین دلیل، این نوع پورتها در RSTP مانند پورتهای Point-to-Point سریع رفتار نمیکنند و ممکن است زمان همگرایی بیشتری داشته باشند.
نقش BPDUها در RSTP
در پروتکل STP سنتی، BPDUها (Bridge Protocol Data Unit) تنها از سوی Root Bridge تولید میشدند و سایر سوئیچها صرفاً آنها را دریافت و بازنشر میکردند. این روش باعث تأخیر در تشخیص تغییرات توپولوژی میشد. اما در RSTP، این رفتار بهطور اساسی تغییر کرده است:
- تمام سوئیچها در RSTP خودشان BPDU تولید میکنند، نه فقط سوئیچ Root.
- این BPDUها بهصورت دورهای (هر ۲ ثانیه) از همه پورتهای RSTP فعال ارسال میشوند.
- BPDUهای RSTP بهصورت Point-to-Point بین سوئیچها رد و بدل میشوند، در حالیکه در STP کلاسیک بهصورت Flood در Broadcast Domain حرکت میکردند.
- اگر سوئیچی برای مدت مشخصی (معمولاً سه دوره) BPDU از سمت مقابل دریافت نکند، فرض میکند که آن لینک دچار اختلال شده و فرآیند بازسازی توپولوژی را آغاز میکند.
تفاوت RSTP و STP در BPDU
در STP، تشخیص اختلال در توپولوژی ممکن بود تا ۳۰ تا ۵۰ ثانیه طول بکشد، اما در RSTP به لطف همین ساختار توزیعشده و واکنش سریع به وضعیت BPDUها، همگرایی معمولاً در کمتر از یک ثانیه اتفاق میافتد.
نحوه عملکرد پروتکل RSTP
انتخاب Root Bridge
در ابتدا، همانند STP، سوئیچها از طریق تبادل پیامهای BPDU، دستگاهی را بهعنوان Root Bridge انتخاب میکنند. معیار این انتخاب کمترین Bridge ID است که ترکیبی از Priority و MAC Address میباشد. سوئیچی که کمترین Bridge ID را داشته باشد، بهعنوان مرکز منطقی شبکه شناخته میشود.
تشخیص مسیرها و نقش پورتها
پس از تعیین Root Bridge، هر سوئیچ دیگر باید کوتاهترین مسیر خود را به Root پیدا کند. در این فرآیند، پورتها یکی از نقشهای Root، Designated، Alternate یا Backup را میپذیرند.
تغییر وضعیت پورتها
برخلاف STP که از پنج وضعیت پورت استفاده میکرد، RSTP فقط سه وضعیت عملکردی دارد:
- Discarding: پورت هیچ ترافیکی را عبور نمیدهد (ترکیبی از Blocking و Listening در STP).
- Learning: آدرسهای MAC را یاد میگیرد اما فریمها را هنوز عبور نمیدهد.
- Forwarding: پورت بهطور کامل فعال است و دادهها را عبور میدهد.
مکانیزم تشخیص تغییرات توپولوژی نیز در RSTP پیشرفتهتر است. بهجای منتظر ماندن برای تایمرها، سوئیچها با تشخیص سریع تغییر در وضعیت لینک (Link Up/Down) و ارسال فوری BPDU، واکنش نشان میدهند. این رویکرد باعث میشود که RSTP تنها در چند ثانیه، مسیر جدید را تعیین و ترافیک را هدایت کند.
یک مثال شفاف از نحوه عملکرد پروتکل RSTP
برای درک بهتر موضوع به شکل زیر توجه کنید:

در این مثال دستگاه A بهعنوان سوئیچ Root بوده و پورتهای موجود در روی سوئیچهای B و C که این دستگاهها را به سوئیچ Root اتصال دادهاند، بهنام Root port نامیده میشوند. در مورد سگمنت بین سوئیچهای B و C، پورت موجود روی دستگاه B بهعنوان Designated Port و پورت موجود روی سوئیچ C بهعنوان Backup Port (که یک مسیر ثانویه غیرفعال برای دسترسی این سگمنت به دستگاه Root میباشد) عمل میکنند. Designated port روی سوئیچ B بهعنوان Alternate port (که یک مسیر ثانویه غیرفعال برای رسیدن به سوئیچ Root است) نیز میباشد.
فرض میکنیم در این شکل، اتصال موجود بین دستگاه Root و دستگاه B دچار ایراد میشود.
سوئیچ B این مسئله را هم از طریق فقدان سیگنالهای فیزیکی و هم از طریف دریافت نکردن پیامهای Hello مربوط به سوئیچ Root متوجه میشود. اگر از استاندارد 802.1d یا همان STP استفاده میکردیم، دستگاه B متوجه این مسئله میشد که سوئیچ C پیامهای BPDU نامرغوب ارسال میکند. بنابراین تمامی پورتهای روی دستگاه B بهحالت Blocked و سپس Listening و سرانجم Learning درآمده که باعث به هدر رفتن 50 ثانیه برای اعمال این تغییرات خواهند شد.
ولی در پروتکل RSTP، بهوسیله خصوصیت Accept inferior سوئیچ B این را که سوئیچ C دارای یک پورت Alternative میباشد متوجه شده و به سوئیچ C دستور میدهد که Alternative port خود را به Designated port تغییر دهد و در ضمن، خود سوئیچ B نیز Designated port خود را به Root port تغییر خواهد داد. تمامی این مراحل حداکثر چند ثانیه طول میکشد.
خاصیت Rapid Transition
Rapid Transition باعث میشود که Edge ports (پورتهای لبه شبکه؛ پورتهایی که به Hostها و PCها متصل هستند) همیشه در حالت Forwarding قرار داشته باشد. تغییراتی که در وضعیت این پورتها پیش میآید، باعث بروز تغییرات در RSTP و پورتهای دیگر نشده و همچنین وضعیت پورتهای دیگر نیز، این پورتها را تحت تاثیر نخواهد داد.
Rapid transition فقط در اتصالات Point-to-point و فقط روی Edge ports اعمال خواهد شد. در اتصالات Point-to-point Full-duplex بهطور پیشفرض از Rapid transition استفاده میگردد. یعنی اگر ارتباط بین دو سوئیچ بهصورت Full-duplex پیکربندی شده باشد، هرگونه تغییر وضعیتی بدون اتلاف زمان صورت خواهد گرفت و امکان اینکه پورتها سریعا از یک حالت به حالتی دیگر تغییر وضعیت دهند وجود خواهد داشت.
اما در اتصالات Half-duplex این عمل بهطور پیشفرض انجام نمیشود. ولی میتوان آن را در ارتباطات Point-to-Point برای نوع Half-duplex نیز فعال ساخت.
برای فهم بهتر مطلب، به شکل زیر توجه کنید. این شکل نیز شبیه شکل قبل بوده با این تفاوت که این بار اتصال بین سوئیچ Root و سوئیچ C دچار ایراد شده است.

بنابراین دستگاه C از طریق پورت Root خود نمیتواند با سوئیچ A ارتباط برقرا نمیاد. اما به کمک BPDU که از سوئیچ B دریافت میکند، متوجه این مسئله میشود که سوئیچ B دارای یک پورت Designated برای دسترسی به سوئیچ A میباشد و نیز آن پورت برای سگمنت بین دستگاه B و C در حالت Forwarding قرار دارد. در نتیجه سوئیچ C پورت Backup خود را به Root port تغغیر داده و بلافاصله آن را در حالت Forwarding قرار میدهد و همچنین این تغییرات را به دستگاه b اطلاع خواهد داد.
حتی اگر ایراد پیش آمده در اتصال دستگاههای A و C از نوع فیزیکی مانند قطعی سیم باشد، اعمال همه این تغییرات در حدود کمتر از یک ثانیه طول خواهد کشید.
مزایای RSTP در شبکههای مدرن
با گسترش زیرساختهای شبکه، پروتکل RSTP (Rapid Spanning Tree Protocol) جایگزینی مؤثر و بهینه برای STP سنتی محسوب میشود. این پروتکل نهتنها با فناوریهای روز سازگاری دارد، بلکه پاسخگوی نیازهای حیاتی شبکههای امروزی نیز هست. در ادامه، به مهمترین مزایای RSTP اشاره میکنیم:
کاهش قابلتوجه زمان همگرایی (Convergence)
RSTP در شرایط معمول میتواند در کمتر از ۱ ثانیه توپولوژی جدید را تشخیص داده و مسیرهای مناسب را فعال کند. این در حالی است که STP کلاسیک برای همین فرآیند ممکن بود ۳۰ تا ۵۰ ثانیه زمان صرف کند. این ویژگی برای شبکههایی با حساسیت بالا یا سرویسهای بلادرنگ (مانند VoIP) حیاتی است.
سادهسازی وضعیت پورتها
همانطور که گفتیم در RSTP، وضعیت پورتها به سه حالت اصلی (Discarding, Learning, Forwarding) کاهش یافته است که نسبت به حالتهای پنجگانه در STP، باعث سادهتر شدن مدیریت و پیادهسازی میشود.
افزایش پایداری و اطمینان
بهدلیل ارسال مداوم BPDU از همه سوئیچها، RSTP قادر است بهسرعت اختلال در مسیرها را تشخیص داده و واکنش نشان دهد. این ویژگی منجر به پایداری بیشتر و کاهش زمان قطعی در شبکه میشود.
پیکربندی RSTP در سوئیچهای سیسکو
بهصورت پیشفرض، برخی سوئیچهای جدید سیسکو از RSTP پشتیبانی میکنند، اما در صورت نیاز به فعالسازی یا بررسی دستی، میتوان از دستورات CLI زیر استفاده کرد.
فعالسازی RSTP در حالت Global Configuration
Switch(config)# spanning-tree mode rapid-pvst
این دستور پروتکل RSTP را در قالب Rapid PVST+ (Per VLAN Spanning Tree) فعال میکند که به ازای هر VLAN، یک نمونه مستقل از RSTP را اجرا مینماید. این حالت، در شبکههای سیسکو رایجتر از حالت MST است.
بررسی وضعیت فعال بودن RSTP
Switch# show spanning-tree
با اجرای این دستور، میتوانید مطمئن شوید که RSTP فعال شده، وضعیت Root Bridge و وضعیت پورتها در هر VLAN مشخص است.
غیرفعال کردن STP (در موارد خاص)
در سناریوهای آزمایشگاهی یا ویژه، ممکن است بخواهید پروتکل STP/RSTP را غیرفعال کنید:
Switch(config)# no spanning-tree vlan [vlan-id]
تنظیم اولویت برای انتخاب Root Bridge
Switch(config)# spanning-tree vlan 1 priority 4096
مقدار پیشفرض اولویت 32768 است. هر چه عدد کمتر باشد، احتمال Root شدن آن سوئیچ بیشتر است. این دستور معمولاً برای تعیین Root Bridge اصلی در طراحی توپولوژی استفاده میشود.
نکته: برای اطمینان از عملکرد صحیح RSTP، لازم است که تمام سوئیچهای موجود در توپولوژی از این پروتکل پشتیبانی کرده و در حالت Rapid قرار داشته باشند. در غیر این صورت، دستگاهها بهطور خودکار به حالت STP سنتی (802.1D) عقبگرد میکنند.
هیوا شبکه
سناریوی فرضی: نجات شبکه شعبه از حلقه مرگ!
فرض کنید یک سازمان دارای یک دفتر مرکزی و سه شعبه منطقهای است. این دفاتر از طریق شبکهی LAN به یکدیگر متصل هستند. برای افزایش پایداری و Redundancy، بین سوئیچهای شعب و دفتر مرکزی لینکهای اضافی برقرار شده است: بین Switch-Core (در دفتر مرکزی) و هر کدام از Switch-A، Switch-B و Switch-C دو لینک فیزیکی برقرار است.

یکی از کارکنان IT، بهاشتباه یک کابل اضافی بین Switch-B و Switch-C وصل کرده و باعث یک حلقه لایه دوم (Layer 2 Loop) شده است. حال ما باید با پیادهسازی صحیح RSTP، از ایجاد Broadcast Storm جلوگیری کرده، توپولوژی فعال را بهینه کنیم، و زمان همگرایی را به حداقل برسانیم. دستورات زیر را در CLI وارد میکنیم:
# فعالسازی RSTP در تمام سوئیچها
Switch(config)# spanning-tree mode rapid-pvst
# انتخاب Root Bridge (در سوئیچ مرکزی)
Switch-Core(config)# spanning-tree vlan 1 priority 4096
# تعیین پورتهای Edge برای پورتهایی که به کلاینتها وصلاند
Switch-A(config)# interface range fa0/1 - 24
Switch-A(config-if-range)# spanning-tree portfast
# بررسی وضعیت پورتها برای اطمینان از حذف حلقه
Switch-B# show spanning-tree
# در صورت نیاز به مانیتورینگ سریع تغییرات توپولوژی
Switch-B(config)# spanning-tree logging
پس از پیادهسازی RSTP، حلقه ایجادشده توسط کابل اضافی شناسایی و پورت مربوطه در حالت Discarding قرار میگیرد.
جمعبندی و نکات پایانی
پروتکل RSTP (Rapid Spanning Tree Protocol) بهعنوان نسخه بهبودیافته STP، گامی مهم در جهت افزایش پایداری و سرعت بازیابی توپولوژی در شبکههای سوئیچشده محسوب میشود. با معرفی مکانیزمهای جدید و کاهش قابلتوجه زمان همگرایی، RSTP امکان واکنش سریعتر در برابر تغییرات توپولوژی مانند قطع لینک یا روشن و خاموش شدن سوئیچها را فراهم میسازد.
در این مقاله، ابتدا با مفهوم کلی RSTP و تفاوتهای آن با STP آشنا شدیم. سپس عملکرد پروتکل، حالات مختلف پورتها (Discarding، Learning، Forwarding)، نقش BPDUها، مزایا و روش پیکربندی آن در محیط Cisco بررسی شد. همچنین دریافتیم که RSTP با بهرهگیری از طراحی سادهتر، فرآیند تصمیمگیری سریعتر، و هماهنگی بهتر بین سوئیچها، راهحلی مؤثر برای بسیاری از چالشهای شبکههای سنتی مبتنی بر STP به شمار میرود.
پیشنهاد کاربردی: برای شبکههای متوسط تا بزرگ که نیازمند دسترسی بالا و پاسخ سریع به اختلالات هستند، استفاده از RSTP یک انتخاب هوشمندانه است. توصیه میشود مدیران شبکه، سناریوهایی واقعی را با استفاده از سوئیچهای سیسکو یا نرمافزارهای شبیهسازی مانند Cisco Packet Tracer پیادهسازی کرده و نحوه عملکرد RSTP را در مواجهه با تغییرات توپولوژی از نزدیک بررسی کنند.
هیوا شبکه
خدمات ما در مجموعه هیواشبکه شامل :
شرکت فنی و مهندسی هیوانوآوران داده گستر : مجری طراحی ، پیاده سازی ، پشتیبانی پروژه های شبکه و امنیت در استان گیلان – رشت و شهرها و استانهای همجوار
آموزشگاه تخصصی هیواشبکه : برگزار کننده دوره های تخصصی شبکه و امنیت ، پیکربندی سرور HP ، مجازی سازی ، MCSA 2022 ، نتورک و … به صورت حضوری با مجوز از سازمان فنی و حرفه ای و آموزش کارکنان دولت در رشت ، استان گیلان و به صورت مجازی در سراسر کشور
هیچ دیدگاهی نوشته نشده است.