پروتکل STP چیست و چگونه در شبکه عمل میکند؟
پروتکل STP یا Spanning Tree Protocol یکی از بنیادیترین فناوریها در شبکههای سوئیچینگ است که وظیفه اصلی آن جلوگیری از ایجاد حلقههای مخرب در شبکه است. این پروتکل بهخصوص در شبکههایی که چندین مسیر برای افزایش پایداری و افزونگی وجود دارد، اهمیت بسیار زیادی پیدا میکند. بدون STP، کوچکترین اشتباه در طراحی شبکه میتواند باعث طوفانهای برودکست، اشباع شدن پهنای باند و حتی از کار افتادن کامل شبکه شود. به همین دلیل، شناخت STP برای هر مدیر شبکه ضروری است.
پروتکل STP چیست؟
پروتکل STP یک استاندارد شبکهای است که توسط IEEE و تحت عنوان 802.1D معرفی شد تا مشکل ایجاد حلقه (Loop) در شبکههای مبتنی بر سوئیچ را برطرف کند. زمانی که چند مسیر فیزیکی بین سوئیچها وجود داشته باشد، شبکه به صورت پیشفرض دچار حلقه میشود و بستهها بدون توقف در شبکه گردش میکنند. STP با انتخاب بهترین مسیر و قرار دادن مسیرهای اضافی در حالت غیرفعال (Block) از وقوع این مشکل جلوگیری میکند. نتیجه این کار، شبکهای پایدار، بدون Loop و با قابلیت افزونگی بالا است.
STP با استفاده از پیامهایی به نام BPDU بین سوئیچها ارتباط برقرار کرده و بر اساس قوانین مشخص، یک سوئیچ را به عنوان Root Bridge انتخاب میکند. سایر سوئیچها نیز بر اساس فاصله خود از Root، پورتهایی را برای ارسال یا مسدودسازی ترافیک تعیین میکنند. به این ترتیب، STP توپولوژی شبکه را به شکلی منطقی سازماندهی میکند تا فقط یک مسیر اصلی برای عبور ترافیک فعال باشد و مسیرهای جایگزین در صورت بروز مشکل فعال شوند.

چرا شبکه به STP نیاز دارد؟
در شبکههایی که برای افزایش پایداری از چندین مسیر ارتباطی استفاده میشود، احتمال ایجاد Loop بهشدت افزایش مییابد. این حلقهها میتوانند باعث طوفان برودکست، مصرف تمام پهنای باند، ناپایداری جدول MAC و در نهایت از کار افتادن کامل شبکه شوند. STP با حذف حلقههای اضافی و فعال نگهداشتن تنها یک مسیر منطقی، تضمین میکند که شبکه هم از نظر پایداری و هم از نظر افزونگی عملکرد درستی داشته باشد. این یعنی حتی با قطع شدن یک لینک، مسیر جایگزین بهصورت خودکار فعال شده و شبکه بدون اختلال به کار ادامه میدهد.

لوپ در شبکه چیست و چگونه از آن جلوگیری کنیم؟
STP چگونه کار میکند؟
تبادل BPDU بین سوئیچها
پروتکل STP برای تشخیص ساختار شبکه و شناسایی مسیرهای ممکن، ابتدا پیامهایی به نام BPDU را بین سوئیچها ردوبدل میکند. این پیامها شامل اطلاعاتی مانند اولویت سوئیچ، MAC Address و وضعیت پورتها هستند و به STP کمک میکنند تا مسیرهای مناسب را تحلیل و ارزیابی کند.
انتخاب Root Bridge
پس از تبادل BPDUها، STP مرحله انتخاب Root Bridge را آغاز میکند. هر سوئیچ دارای یک Bridge ID است که از Priority و MAC Address تشکیل شده و سوئیچی که کمترین Bridge ID را داشته باشد، بهعنوان Root Bridge انتخاب میشود. این سوئیچ بهعنوان نقطه مرکزی تصمیمگیری STP عمل میکند.
انتخاب Root Port
در مرحله بعد، هر سوئیچ (بهجز Root Bridge) بهترین و کمهزینهترین مسیر خود تا Root Bridge را محاسبه میکند. پورتی که کوتاهترین مسیر به Root را فراهم میکند، بهعنوان Root Port انتخاب میشود و وظیفه ارسال ترافیک به سمت Root را بر عهده دارد.
انتخاب Designated Port
اکنون STP بررسی میکند که در هر Segment شبکه کدام سوئیچ بهترین مسیر را به Root Bridge دارد. پورتی که برنده این مقایسه باشد، بهعنوان Designated Port انتخاب میشود. این پورت مسئولیت هدایت ترافیک در آن Segment را بر عهده میگیرد و در حالت Forwarding قرار میگیرد.
مسدود کردن مسیرهای اضافی
در نهایت پورتهایی که مسیرهای اضافی یا Loopساز محسوب میشوند، در حالت Blocked قرار میگیرند. این کار باعث میشود فقط یک مسیر فعال باقی بماند و مسیرهای اضافی هنگام نیاز (مثلاً قطع شدن لینک اصلی) فعال شوند. نتیجه این مراحل، ایجاد یک توپولوژی درختی و پایدار بدون حلقه است.
انواع پورتها در STP و نقش هرکدام
Root Port
Root Port پورتی است که روی هر سوئیچ (غیر از Root Bridge) بهترین و کمهزینهترین مسیر را به Root Bridge فراهم میکند. این پورت همیشه در وضعیت Forwarding قرار دارد و وظیفه ارسال ترافیک از سوئیچ به سمت Root را بر عهده دارد. انتخاب Root Port بر اساس هزینه مسیر (Path Cost) و در صورت تساوی بر اساس اولویتهای دیگر انجام میشود.
Designated Port
Designated Port پورتی است که در هر Segment شبکه وظیفه هدایت ترافیک به سمت سوئیچهای دیگر را بر عهده دارد و معمولاً در حالت Forwarding باقی میماند. این پورت روی سوئیچی قرار دارد که بهترین مسیر به Root Bridge را در آن Segment ارائه میدهد. Designated Port از نظر STP، پورت “برنده” آن بخش شبکه محسوب میشود.
Alternate Port
Alternate Port پورتی است که یک مسیر جایگزین به Root Bridge محسوب میشود اما به دلیل وجود مسیر بهتر، در حالت Forwarding قرار نمیگیرد. این پورت معمولاً در وضعیت Blocked است و تنها زمانی فعال میشود که Root Port یا مسیر اصلی دچار مشکل شود. وجود Alternate Port باعث افزایش افزونگی و پایداری شبکه میشود.
Backup Port
Backup Port پورتی است که بهعنوان نسخه پشتیبان Designated Port عمل میکند اما در همان Segment قرار دارد. این پورت نیز در حالت Blocked است چون مسیر اصلی از طریق Designated Port ارائه میشود. Backup Port بیشتر در سناریوهای خاص و توپولوژیهای پیچیده دیده میشود و نقش آن، فراهمکردن یک مسیر مکمل در صورت از کار افتادن پورت اصلی است.
Blocked Port
Blocked Port پورتی است که بهطور کامل توسط STP غیرفعال شده تا از تشکیل حلقه جلوگیری کند. این پورت نه فریمهای داده را ارسال میکند و نه دریافت، اما هنوز پیامهای BPDU را برای حفظ ساختار STP پردازش میکند. پورتهای Blocked برای کنترل Loop ضروری هستند و مسیرهای اضافی شبکه را مدیریت میکنند.
انواع حالتهای پورت در STP
Blocking:
در حالت Blocking پورت هیچ فریم دادهای را ارسال یا دریافت نمیکند و تنها BPDUها را پردازش میکند تا از ایجاد حلقه جلوگیری شود. این حالت اولین مرحله برای جلوگیری از Loop در شبکه است.
Listening:
در حالت Listening پورت هنوز ترافیک داده را عبور نمیدهد اما شروع به یادگیری و تحلیل BPDUها میکند تا مشخص شود باید فعال بماند یا مسدود شود. این مرحله مقدمهای برای تصمیمگیری STP درباره نقش پورت است.
Learning:
در حالت Learning پورت هنوز اجازه عبور فریم داده را ندارد اما شروع به یادگیری آدرسهای MAC و پر کردن جدول MAC میکند. این فرایند باعث میشود پس از فعال شدن پورت، ترافیک سریعتر و بهینهتر هدایت شود.
Forwarding:
حالت Forwarding مرحلهای است که پورت بهطور کامل فعال بوده و فریمهای داده و BPDUها را ارسال و دریافت میکند. این حالت مخصوص پورتهای Root و Designated است که مسیر اصلی ارتباطی را تشکیل میدهند.
Disabled:
در حالت Disabled پورت کاملاً غیرفعال است و هیچگونه ترافیک یا BPDU را ارسال یا دریافت نمیکند. این حالت معمولاً نتیجه پیکربندی دستی یا خاموش بودن رابط است و نقشی در الگوریتم STP ندارد.
آیا هنوز STP در شبکههای امروزی لازم است؟

با وجود ظهور فناوریهای پیشرفتهتری مانند شبکههای Fabric، پروتکلهای EVPN-VXLAN و معماریهای SDN، هنوز هم STP در بسیاری از شبکههای سازمانی و سنتی نقش مهمی ایفا میکند. این پروتکل در محیطهایی که از سوئیچهای لایه ۲ کلاسیک یا توپولوژیهای مبتنی بر افزونگی فیزیکی استفاده میکنند، همچنان ضروری است. هرچند نسخههای جدیدتر مانند RSTP و MSTP سرعت و کارایی بالاتری ارائه میدهند، اما STP همچنان پایهایترین مکانیزم جلوگیری از Loop باقی مانده و در بسیاری از شبکهها مورد استفاده قرار میگیرد.
جمعبندی…
پروتکل STP با ایجاد یک ساختار منطقی بدون حلقه، ستون اصلی پایداری شبکههای سوئیچینگ محسوب میشود. این پروتکل با شناسایی مسیرهای اضافی و مدیریت پورتها، از ایجاد Loop جلوگیری کرده و امکان افزونگی ایمن را فراهم میکند. با اینکه فناوریهای جدیدتر وارد دنیای شبکه شدهاند، STP و نسخههای مدرن آن همچنان نقش مهمی در شبکههای سازمانی دارند و یادگیری آن برای هر کارشناس شبکه ضروری است.
سؤالات متداول
STP از ایجاد حلقه در شبکههای سوئیچینگ جلوگیری میکند و مسیرهای اضافی را مدیریت میکند تا شبکه پایدار و بدون اختلال بماند.
Loop باعث ایجاد Broadcast Storm، مصرف کامل پهنای باند و ناپایداری شبکه میشود و حتی میتواند کل شبکه را از کار بیندازد.
STP کلاسیک سرعت همگرایی پایینی دارد، در حالی که RSTP بسیار سریعتر است و تغییرات شبکه را سریعتر تشخیص میدهد.
Root Bridge سوئیچ مرکزی STP است که تمام محاسبات مسیر از روی آن انجام میشود و بهترین مسیرها بر اساس فاصله تا آن تعیین میگردند.
در اکثر سوئیچهای لایه ۲ بله، اما برخی تولیدکنندگان و مدلها ممکن است تنظیمات متفاوتی داشته باشند.
PortFast قابلیتی است که باعث میشود پورتها بدون گذر از مراحل Listening و Learning مستقیماً وارد حالت Forwarding شوند و زمان اتصال دستگاهها کاهش یابد.
موارد اخیر
-
پروتکل RSTP چیست و چه تفاوتی با STP دارد؟ -
پروتکل STP چیست و چگونه در شبکه عمل میکند؟ -
لوپ در شبکه چیست و چگونه از آن جلوگیری کنیم؟ -
برسی تفاوت Simplex، Half‑Duplex و Full‑Duplex در شبکه -
برسی جامع Broadcast Storm و روشهای مقابله با آن -
Broadcast Domain در شبکه چیست و چگونه کار میکند؟ + تفاوت Broadcast Domain با Collision Domain -
دامنه برخورد (Collision Domain) چیست و چگونه آنرا در شبکه کاهش دهیم؟ -
خزنده وب (Web Crawler) چیست و چه انواعی دارد؟ -
وب اسکرپینگ (Web Scraping) چیست و چگونه انجام میشود؟ -
حمله Replay (حمله تکرار) چیست و چگونه از آن جلوگیری کنیم؟
برترین ها
اشتراک گذاری این مطلب
دیدگاهتان را بنویسید
نشانی ایمیل شما منتشر نخواهد شد. بخشهای موردنیاز علامتگذاری شدهاند *