نقش اصلی STP جلوگیری از ایجاد لوپ در سوئیچینگ است. یکی از مهمترین چالشها در طراحی شبکههای سازمانی، ایجاد افزونگی (Redundancy) بدون ایجاد اختلال در عملکرد شبکه است. مدیران شبکه معمولاً برای افزایش پایداری، بین سوئیچها چندین مسیر ارتباطی ایجاد میکنند تا در صورت قطع شدن یک لینک، ارتباط شبکه همچنان برقرار بماند.
اما همین افزونگی میتواند مشکل بزرگی به نام Loop را به وجود آورد. لوپ نه تنها باعث کند شدن شبکه میشود، بلکه در بسیاری از موارد میتواند کل شبکه را از دسترس خارج کند.
برای حل این مشکل، پروتکل Spanning Tree Protocol طراحی شده است.
در این مقاله با نحوه عملکرد STP، مزایا، فرآیند انتخاب Root Bridge و نسخههای مختلف آن آشنا میشویم.
لوپ در شبکه چیست؟
Loop زمانی رخ میدهد که بین سوئیچها بیش از یک مسیر فعال وجود داشته باشد و فریمهای اترنت بتوانند به صورت بیپایان در شبکه گردش کنند.
از آنجا که در لایه دوم شبکه، فریمها فاقد مکانیزم TTL هستند، در صورت ایجاد Loop ممکن است:
- Broadcast Storm ایجاد شود.
- مصرف CPU سوئیچها به شدت افزایش یابد.
- جدول MAC Address به طور مداوم تغییر کند.
- شبکه به شدت کند یا کاملاً از دسترس خارج شود.
مثال ساده
فرض کنید سه سوئیچ به شکل مثلث به یکدیگر متصل شدهاند.
Switch A ←→ Switch B
Switch B ←→ Switch C
Switch C ←→ Switch A
در این ساختار اگر هیچ مکانیزمی برای کنترل مسیرها وجود نداشته باشد، یک Broadcast Frame میتواند بارها و بارها در شبکه گردش کند.
STP چیست؟
Spanning Tree Protocol یک پروتکل استاندارد لایه دوم است که در استاندارد IEEE 802.1D تعریف شده است و وظیفه اصلی آن جلوگیری از ایجاد Loop در شبکههای سوئیچینگ است.
STP با شناسایی مسیرهای اضافی، برخی از پورتها را در حالت Blocking قرار میدهد تا تنها یک مسیر فعال بین سوئیچها باقی بماند.
در صورت قطع شدن مسیر اصلی، STP به طور خودکار یکی از مسیرهای جایگزین را فعال میکند.
STP چگونه کار میکند؟
عملکرد آن را میتوان در سه مرحله خلاصه کرد:
1. انتخاب Root Bridge
در ابتدا تمامی سوئیچها اطلاعاتی به نام BPDU (Bridge Protocol Data Unit) را با یکدیگر تبادل میکنند.
سوئیچی که کمترین Bridge ID را داشته باشد به عنوان Root Bridge انتخاب میشود.
Bridge ID شامل:
- Priority
- MAC Address
است.
معمولاً مدیر شبکه Root Bridge را به صورت دستی تعیین میکند تا کنترل بهتری روی توپولوژی داشته باشد.
2. انتخاب بهترین مسیر
پس از انتخاب Root Bridge، هر سوئیچ کوتاهترین مسیر خود را تا Root Bridge محاسبه میکند.
معیار انتخاب مسیر، Cost است.
هرچه سرعت لینک بیشتر باشد، Cost کمتر خواهد بود.
به عنوان مثال:
| سرعت لینک | Cost |
| 10 Mbps | 100 |
| 100 Mbps | 19 |
| 1 Gbps | 4 |
| 10 Gbps | 2 |
3. مسدود کردن لینکهای اضافی
پس از محاسبه مسیرها، STP لینکهایی را که باعث ایجاد Loop میشوند در وضعیت Blocking قرار میدهد.
در نتیجه:
- مسیر اصلی فعال میماند.
- مسیرهای پشتیبان آماده استفاده هستند.
- Loop ایجاد نمیشود.
وضعیتهای مختلف پورت در STP
هر پورت در Spanning Tree Protocol میتواند در یکی از وضعیتهای زیر قرار داشته باشد:
Blocking
فریمهای دیتا را عبور نمیدهد و صرفاً BPDU دریافت میکند.
Listening
در حال بررسی توپولوژی شبکه است.
Learning
جدول MAC Address را یاد میگیرد اما هنوز دیتا را فوروارد نمیکند.
Forwarding
ترافیک شبکه را به صورت عادی عبور میدهد.
Disabled
پورت غیرفعال است.
BPDU چیست؟
BPDU مخفف Bridge Protocol Data Unit است.
سوئیچها از طریق BPDU اطلاعات مورد نیاز برای اجرای STP را با یکدیگر تبادل میکنند.
این پیامها شامل اطلاعاتی مانند:
- Root Bridge ID
- Path Cost
- Bridge ID
- Port ID
هستند.
در واقع STP بدون BPDU قادر به تصمیمگیری درباره توپولوژی شبکه نخواهد بود.
محدودیت STP
اگرچه این پروتکل مشکل Loop را حل میکند، اما یک ضعف مهم دارد:
زمان همگرایی (Convergence Time) نسبتاً طولانی است.
در نسخه کلاسیک ممکن است بازیابی شبکه پس از قطع لینک بین 30 تا 50 ثانیه زمان ببرد.
برای شبکههای مدرن این مدت زمان زیاد است.
RSTP چیست؟
برای رفع این محدودیت، استاندارد IEEE 802.1w با نام Rapid Spanning Tree Protocol (RSTP) معرفی شد.
مزایای RSTP:
- همگرایی بسیار سریعتر
- بازیابی لینک در چند ثانیه
- کاهش قطعی سرویس
- مناسب برای شبکههای سازمانی
امروزه تقریباً تمام سوئیچهای مدیریتی حرفهای از RSTP پشتیبانی میکنند.
MSTP چیست؟
در شبکههای بزرگ که چندین VLAN وجود دارد، استفاده از یک STP مشترک همیشه بهینه نیست.
Multiple Spanning Tree Protocol (MSTP) امکان تعریف چندین درخت مجزا برای VLANهای مختلف را فراهم میکند.
مزایای MSTP:
- استفاده بهتر از لینکهای شبکه
- توزیع بار بین مسیرها
- افزایش بهرهوری زیرساخت
چرا Spanning Tree Protocol برای شبکههای سازمانی ضروری است؟
در شبکههای امروزی حذف کامل افزونگی منطقی نیست، زیرا خرابی یک لینک میتواند باعث توقف سرویسها شود.
در عین حال وجود مسیرهای اضافی بدون STP نیز خطر Loop را به همراه دارد.
بنابراین STP تعادل مناسبی بین:
- پایداری شبکه
- افزونگی
- دسترسپذیری
- عملکرد
ایجاد میکند.
جمعبندی
Spanning Tree Protocol یکی از مهمترین فناوریهای لایه دوم شبکه است که از ایجاد Loop جلوگیری میکند و در عین حال امکان استفاده از لینکهای پشتیبان را فراهم میسازد.
هر شبکه سازمانی که از چند سوئیچ و مسیرهای افزونه استفاده میکند باید به درستی STP یا نسخههای جدیدتر آن مانند RSTP و MSTP را پیادهسازی کند تا از Broadcast Storm، ناپایداری شبکه و قطعی سرویس جلوگیری شود.
در زمان انتخاب سوئیچهای سازمانی نیز پشتیبانی از STP، RSTP و MSTP یکی از مهمترین قابلیتهایی است که باید مورد توجه قرار گیرد؛ زیرا این پروتکلها نقش کلیدی در پایداری و دسترسپذیری شبکه ایفا میکنند.


