آنچه در این مقاله میخوانید [پنهانسازی]
- ⭐ پروتکل STP چیست؟
- ⭐ تاریخچه و تکامل STP
- ⭐ عملکرد پروتکل STP
- ⭐ فرآیند انتخاب STP
- ⭐ پورت ها در STP
- ⭐ پورت ریشه (Root Port)
- ⭐ پورت Designated (Designated Port)
- ⭐ پورت مسدود (Blocked Port)
- ⭐ حالتهای پورت STP
- ⭐ Disabled (غیرفعال)
- ⭐ Blocking (مسدود)
- ⭐ Listening (گوش دادن)
- ⭐ Learning (یادگیری)
- ⭐ Forwarding (ارسال)
- ⭐ انواع پروتکل Spanning Tree Protocol
- ⭐ چگونه STP را پیکربندی کنیم
- ⭐ انتخاب پل ریشه
- ⭐ تنظیم اولویت
- ⭐ فعالسازی پروتکل
- ⭐ تنظیم هزینه پورت
- ⭐ مزایای پروتکل STP
- ⭐ جلوگیری از حلقههای شبکه
- ⭐ فراهم کردن مسیرهای پشتیبان
- ⭐ عملیات خودکار و سادگی راهاندازی
- ⭐ معایب پروتکل STP
- ⭐ کندی در همگرایی (STP کلاسیک)
- ⭐ استفاده ناکارآمد از منابع (STP/RSTP)
- ⭐ عدم توازن بار (Load Balancing)
- ⭐ نتیجهگیری
- ⭐ سوالات متداول
- ⭐ STP چیست و انواع آن کدامند؟
- ⭐ هدف اصلی STP چیست؟
- ⭐ BPDU مخفف چیست و چه کاربردی دارد؟
- ⭐ حالتهای پورت RSTP با STP کلاسیک چه تفاوتی دارند؟
شبکههای کامپیوتری مدرن برای افزایش تابآوری (resilience) و تحمل خطا (fault tolerance)، اغلب از مسیرهای اضافی (Redundant links) بین سوئیچها و پلها استفاده میکنند.
در حالی که این افزونگی برای اطمینان از عملکرد مداوم در صورت خرابی یک لینک ضروری است، اما اگر مدیریت نشود، میتواند منجر به مشکلات جدی مانند حلقههای سوئیچینگ (Switching Loops) و طوفانهای Broadcast (Broadcast Storms) شود. این حلقهها میتوانند منجر به بیثباتی جدول آدرس MAC و مصرف منابع کافی شبکه شوند تا شبکه را از کار بیندازند.
پروتکل Spanning Tree (STP)، که با استاندارد IEEE 802.1D تعریف شده است، راهحل اصلی برای جلوگیری از این مشکلات در شبکههای اترنت لایه 2 است. STP با ایجاد یک توپولوژی منطقی (Logical Topology) بدون حلقه، تنها یک مسیر فعال بین هر دو دستگاه را تضمین کرده و مسیرهای اضافی را در حالت مسدود (Blocking) قرار میدهد تا در مواقع نیاز به عنوان پشتیبان فعال شوند. درک نحوه عملکرد STP و انواع پیشرفتهتر آن برای هر مدیر شبکهای که به دنبال حفظ یک شبکه پایدار و سالم است، حیاتی میباشد.
پروتکل STP چیست؟
پروتکل Spanning Tree (STP) یک پروتکل شبکه در لایه 2 است که به طور گسترده برای جلوگیری از حلقههای لایه 2 و طوفانهای Broadcast استفاده میشود. این پروتکل با پیادهسازی الگوریتم IEEE 802.1D، حلقهها را با تبادل پیامهای BPDU (Bridge Protocol Data Units) با سوئیچهای دیگر شناسایی میکند و سپس با خاموش کردن واسطهای پل انتخابی، حلقه را حذف میکند.
هدف STP این است که اطمینان حاصل کند که تنها یک مسیر فعال و انحصاری بین دو دستگاه شبکه وجود دارد، در حالی که در عین حال افزونگی (Redundancy) شبکه را نیز فراهم میآورد. این پروتکل در دورانی توسعه یافت که زمانهای بازیابی طولانی (حدود یک دقیقه یا بیشتر) از کار افتادگی، قابل قبول بود.
تاریخچه و تکامل STP
پروتکل STP اصلی توسط دکتر رادیا پرلمن (Radia Perlman) در سال 1985 در شرکت Digital Equipment Corporation اختراع شد. استاندارد IEEE 802.1D که در سال 1990 منتشر شد، بر اساس الگوریتم طراحی شده توسط پرلمن است. همانطور که فناوری پیشرفت کرد و نیاز به زمانهای بازیابی سریعتر مطرح شد، STP تکامل یافت.
در سال 2001، استاندارد Rapid Spanning Tree Protocol (RSTP) با استاندارد 802.1w معرفی شد که بهبودهای قابل توجهی نسبت به STP اصلی از جمله زمانهای همگرایی سریعتر، ارائه کرد. RSTP با STP اصلی سازگار است و برای کسب و کارهایی که به زمانهای بازیابی سریعتر نیاز دارند، پاسخگو است. علاوه بر این، پروتکل Multiple Spanning Tree Protocol (MSTP) با استاندارد 802.1s معرفی شد که اجازه میدهد چندین نمونه درخت پوشا بر اساس گروهبندی VLANها ایجاد شود.
عملکرد پروتکل STP
STP برای کارکرد خود یک فرآیند سه مرحلهای را دنبال میکند تا توپولوژی بدون حلقه را ایجاد کند:
- انتخاب پل ریشه (Root Bridge): سوئیچی با کمترین شناسه پل (Bridge ID یا BID) به عنوان پل ریشه انتخاب میشود.
- انتخاب پورت ریشه (Root Port): هر سوئیچ غیر ریشه (Non-root bridge) نزدیکترین پورت به پل ریشه را به عنوان پورت ریشه انتخاب میکند، که مسیر کوتاه و بهینه برای رسیدن به پل ریشه است.
- انتخاب پورتهای Designated و Non-Designated: سایر پورتها یا به عنوان Designated انتخاب میشوند (که ترافیک را ارسال میکنند) و یا در حالت مسدود (Blocking) قرار میگیرند تا از حلقهها جلوگیری شود.
در طول این فرآیند، سوئیچها BPDUهای پیکربندی را تبادل میکنند که شامل BID سوئیچها است؛ BID ترکیبی از یک مقدار اولویت (به طور پیشفرض 32768) و آدرس MAC سوئیچ است. سوئیچی که پایینترین BID را دارد، پل ریشه میشود و مسئول ارسال BPDUهای پیکربندی است.
فرآیند انتخاب STP
هنگامی که سوئیچها برای اولین بار روشن میشوند، همه آنها پیکربندی BPDU حاوی BID خود را ارسال میکنند و در ابتدا خود را پل ریشه میدانند. هنگامی که یک سوئیچ یک BPDU با BID برتر (مقدار کمتر) دریافت میکند، ارسال BPDUهای پیکربندی خود را متوقف کرده و BPDUهای برتر را به سوئیچهای همسایه ارسال میکند. پس از اعلام نهایی پل ریشه، فرآیند دومی برای انتخاب پورت ریشه (Root Port) آغاز میشود که مسیری است که فریمها را به پل ریشه ارسال میکند.
این فرآیند از قوانین گرهگشا پیروی میکند تا مسیر بهینه انتخاب شود: ابتدا پورتی با کمترین هزینه مسیر ریشه (Lowest root path) انتخاب میشود. اگر هزینه مسیر یکسان باشد، پورتی با کمترین BID فرستنده (Lowest sender BID) انتخاب میشود. در نهایت، اگر BID فرستنده نیز یکسان باشد (معمولاً در صورت اتصال به یک سوئیچ)، پورتی با کمترین شماره پورت فیزیکی در سوئیچ فرستنده، به عنوان گرهگشای نهایی انتخاب میشود.
پورت ها در STP
پورتها در سوئیچهای فعال شده برای STP بر اساس نقشهای زیر دستهبندی میشوند تا توپولوژی درختی و بدون حلقه ایجاد شود:
پورت ریشه (Root Port)
این پورتها فقط در سوئیچهای غیر ریشه وجود دارند و پورتی هستند که بهترین مسیر هزینه را به پل ریشه دارند. پورتهای ریشه دادهها را به سمت پل ریشه ارسال میکنند و همواره در حالت Forwarding (ارسال) قرار دارند. هر سوئیچ غیر ریشه تنها یک پورت ریشه خواهد داشت.
پورت Designated (Designated Port)
این پورتها هم بر روی پل ریشه و هم بر روی سوئیچهای Designated قرار دارند. تمام پورتهای موجود بر روی خود پل ریشه Designated هستند و همچنین در حالت Forwarding قرار میگیرند. این پورتها برای یک سگمنت شبکه خاص، بهترین پورت برای ارسال فریمها به سمت ریشه هستند.
پورت مسدود (Blocked Port)
اینها سایر پورتهایی هستند که به سوئیچها یا پلها متصل شدهاند اما در حالت مسدود باقی میمانند. این پورتها ترافیک کاربر را ارسال نمیکنند و فقط BPDUها را دریافت میکنند تا در صورت خرابی لینک فعال، مسیر پشتیبان را فراهم کنند. در پروتکلهای جدیدتر مانند RSTP، نقش مسدود به دو نقش Alternate (جایگزین) و Backup (پشتیبان) تقسیم شده است. پورتهای جایگزین، BPDU را از سوئیچ دیگری دریافت میکنند و مسیر دیگری به ریشه هستند، در حالی که پورتهای پشتیبان BPDU را از سوئیچ خود دریافت میکنند.
اگر قصد دارید مفاهیم پایه شبکه، مدل OSI، سوئیچینگ و پروتکلهایی مثل STP را بهصورت اصولی و ساختارمند یاد بگیرید، در دوره جامع Network+ شرکت کنید. این دوره نقطه شروع استاندارد برای ورود به دنیای شبکه است.
حالتهای پورت STP
STP کلاسیک (IEEE 802.1D) دارای پنج حالت مختلف پورت سوئیچ است که پورت هنگام تعیین توپولوژی و شروع ارسال داده، از آنها عبور میکند:
Disabled (غیرفعال)
این حالت نتیجه یک دستور مدیریتی است که پورت را از لحاظ اداری غیرفعال میکند و هیچ دادهای از طریق آن ارسال یا دریافت نمیشود.
Blocking (مسدود)
پورتی که در این حالت قرار دارد، فریمهای داده کاربر را ارسال یا دریافت نمیکند، اما به دریافت BPDUها ادامه میدهد. این حالت برای جلوگیری از حلقههای سوئیچینگ ضروری است.
Listening (گوش دادن)
پورت از حالت مسدود خارج شده و شروع به ارسال و دریافت BPDUها میکند. در این مرحله، سوئیچ منتظر اطلاعات جدید میماند تا مطمئن شود که به حالت مسدود باز نمیگردد، اما هنوز آدرسهای MAC را یاد نمیگیرد و فریمها را ارسال نمیکند.
Learning (یادگیری)
پورت در این حالت شروع به یادگیری آدرسهای منبع از فریمهای دریافتی کرده و آنها را به جدول آدرس MAC اضافه میکند. با این حال، پورت هنوز فریمها را ارسال نمیکند و منتظر اتمام زمان تأخیر است.
Forwarding (ارسال)
این حالت عملیاتی عادی است که پورت دادهها را به طور کامل ارسال و دریافت میکند. پورت همچنان BPDUهای ورودی را نظارت میکند تا در صورت نیاز به حالت مسدود بازگردد.
توجه داشته باشید که STP کلاسیک میتواند 30 ثانیه طول بکشد تا یک پورت از حالت Blocking به Forwarding منتقل شود (هر یک از مراحل Listening و Learning حدود 15 ثانیه طول میکشد)، که این تأخیر بالا یکی از دلایل توسعه پروتکل RSTP بود که این زمان انتظار را حذف کرد.
انواع پروتکل Spanning Tree Protocol
پروتکل STP اصلی (802.1D) با ظهور نیازهای جدید و شبکههای بزرگتر تکامل یافته است. مهمترین انواع STP عبارتند از:
| پروتکل | استاندارد IEEE | ویژگی کلیدی و تفاوت |
|---|---|---|
| STP (Spanning Tree Protocol) | IEEE 802.1D | این نسخه اصلی از پروتکل، از یک درخت پوشای واحد (Single Spanning Tree) برای کل توپولوژی استفاده میکند و زمان همگرایی آن کند است. تمامی ترافیک VLANها از یک مسیر واحد عبور میکند. |
| RSTP (Rapid Spanning Tree Protocol) | IEEE 802.1w | این پروتکل پیشرفته، همگرایی بسیار سریعتری نسبت به STP کلاسیک دارد (معمولاً در چند ثانیه) و حالتهای پورت را از پنج به سه کاهش داده است. با این حال، مانند STP از یک درخت پوشای واحد برای تمام VLANها استفاده میکند. |
| MSTP (Multiple Spanning Tree Protocol) | IEEE 802.1s | این استاندارد امکان ایجاد چندین نمونه درخت پوشا (MSTIs) را با گروهبندی VLANها فراهم میکند. این امر امکان توازن بار (Load Balancing) در بین VLANهای مختلف را فراهم میسازد و مصرف CPU و حافظه کمتری نسبت به PVST+ دارد. |
| PVST+ (Per VLAN Spanning Tree Plus) | Cisco Proprietary (بر اساس 802.1D) | یک پروتکل اختصاصی سیسکو است که برای هر VLAN یک نمونه STP مجزا اجرا میکند. این رویکرد بهینهسازی مسیر برای هر VLAN را فراهم میکند، اما مانند STP کلاسیک، همگرایی کندی دارد. |
| RPVST+ (Rapid Per VLAN Spanning Tree Plus) | Cisco Proprietary (بر اساس 802.1w) | این نسخه اختصاصی سیسکو، همگرایی سریع RSTP را با مفهوم درخت پوشای جداگانه برای هر VLAN ترکیب میکند. RPVST+ سریعتر از PVST+ است اما به منابع CPU و حافظه بیشتری نیاز دارد زیرا نمونههای متعددی را اجرا میکند. |
اگر به دنبال تسلط عملی بر سوئیچینگ، STP/RSTP/MSTP، طراحی توپولوژی و پیکربندی حرفهای شبکه هستید، دوره تخصصی CCNA بهترین مسیر برای آمادگی سطح سازمانی است. در این دوره تمام مباحث لازم برای ورود به حوزه شبکههای سیسکو را بهصورت عملی آموزش میبینید.
چگونه STP را پیکربندی کنیم
پیکربندی STP، به ویژه تعیین پل ریشه، برای بهینهسازی جریان ترافیک بسیار مهم است. قبل از شروع، باید تمام سوئیچهای موجود در LAN برای اجرای یک نسخه سازگار از STP فعال شوند.
انتخاب پل ریشه
مدیر شبکه باید آگاهانه انتخاب کند که کدام سوئیچ به عنوان پل ریشه عمل کند؛ معمولاً سوئیچی با کارایی بالا در لایههای بالاتر شبکه انتخاب میشود. این انتخاب از طریق تنظیم اولویت پل (Bridge Priority) انجام میشود.
تنظیم اولویت
شناسه پل (BID) سوئیچی با کمترین مقدار، به عنوان ریشه انتخاب میشود. از آنجا که اولویت پل (Bridge Priority) قبل از آدرس MAC مقایسه میشود، با کاهش اولویت سوئیچ (که پیشفرض آن 32768 است و فقط در مضربهای 4096 قابل تنظیم است)، میتوان آن را مجبور به تبدیل شدن به ریشه کرد.
فعالسازی پروتکل
در دستگاهها، STP معمولاً با یک دستور در حالت پیکربندی سراسری فعال میشود. به عنوان مثال، برای فعالسازی Rapid STP، میتوان از دستور زیر استفاده کرد:
spanning-tree mode rstp
تنظیم هزینه پورت
مدیران میتوانند با تنظیم هزینه پورت (Port Cost)، که معیار کیفیت لینک است (هزینه کمتر، مسیر ترجیحیتر)، بر انتخاب پورت ریشه تأثیر بگذارند.
مزایای پروتکل STP
پروتکل Spanning Tree مزایای مهمی برای پایداری و عملکرد شبکه ارائه میدهد:
جلوگیری از حلقههای شبکه
اصلیترین مزیت STP این است که مانع از حرکت بیپایان بستههای داده در حلقههای سوئیچینگ میشود. این امر به طور مستقیم از وقوع طوفانهای Broadcast جلوگیری میکند که در غیر این صورت منجر به تخریب عملکرد شبکه میشود.
فراهم کردن مسیرهای پشتیبان
STP به شبکهها اجازه میدهد تا لینکهای اضافی داشته باشند و مسیرهای پشتیبان ایجاد کنند. در صورت از کار افتادن لینک اصلی، STP به طور خودکار مسیر مسدود شده را باز کرده و آن را به حالت ارسال در میآورد تا اتصال شبکه حفظ شود.
عملیات خودکار و سادگی راهاندازی
STP یک بار که فعال شود، به طور خودکار اجرا میشود و نیاز به نظارت مداوم توسط مدیران شبکه ندارد. در بسیاری از سوئیچها STP به طور پیشفرض روشن است و به راحتی با وصل کردن کابلها شروع به کار میکند.
معایب پروتکل STP
اگرچه STP مزایای زیادی دارد، به ویژه در نسخههای قدیمیتر، دارای معایبی نیز هست:
کندی در همگرایی (STP کلاسیک)
STP کلاسیک برای واکنش به تغییرات توپولوژی (مانند خرابی لینک) و باز کردن مسیرهای پشتیبان، به زمان نسبتاً طولانی (30 تا 50 ثانیه) نیاز دارد. این تاخیر میتواند در زمان قطعی لینک، باعث توقف شبکه شود.
استفاده ناکارآمد از منابع (STP/RSTP)
STP برای جلوگیری از حلقهها، لینکهای اضافی را مسدود میکند. این بدان معناست که پهنای باند و تجهیزات خریداری شده برای آن لینکها به طور کامل مورد استفاده قرار نمیگیرند، که میتواند به عنوان هدر رفت پهنای باند و منابع در نظر گرفته شود.
عدم توازن بار (Load Balancing)
در STP و RSTP، به دلیل استفاده از یک درخت پوشای واحد برای همه VLANها، توازن بار (Load Balancing) در سطح VLAN انجام نمیشود. این بدان معناست که ترافیک تمامی VLANها باید از مسیر واحدی عبور کند که توسط پل ریشه انتخاب شده است.
نتیجهگیری
پروتکل Spanning Tree (STP) یک پروتکل زیربنایی و ضروری در شبکههای اترنت است که با ایجاد یک توپولوژی منطقی بدون حلقه، پایداری شبکه را تضمین میکند. STP با وجود سادگی، به طور موثر از طوفانهای Broadcast و حلقههای لایه 2 که میتوانند شبکه را کاملاً از کار بیندازند، جلوگیری میکند. در حالی که STP کلاسیک (802.1D) با زمانهای همگرایی طولانیمدت خود شناخته میشود، تکامل آن به سمت Rapid STP (RSTP) و Multiple STP (MSTP) این کاستیها را برطرف کرده و زمان بازیابی بسیار سریعتر و قابلیتهای توازن بار پیشرفتهتر را فراهم میکند. برای متخصصان شبکه، درک دقیق فرآیند انتخابات (انتخاب ریشه و پورتها) و تفاوت بین نسخههای مختلف STP، برای طراحی و نگهداری زیرساختهای شبکه قوی و کارآمد، حیاتی است.
سوالات متداول
STP چیست و انواع آن کدامند؟
STP یا Spanning Tree Protocol، یک پروتکل شبکه است که با ایجاد یک توپولوژی منطقی بدون حلقه، از حلقهها در شبکههای اترنت جلوگیری میکند. STP این کار را با انتخاب یک پل ریشه و مسدود کردن مسیرهای اضافی انجام میدهد. انواع اصلی STP شامل پروتکلهای STP (802.1D)، Rapid Spanning Tree Protocol (RSTP) (802.1w) برای همگرایی سریعتر، و Multiple Spanning Tree Protocol (MSTP) (802.1s) برای توازن بار بین گروههای VLAN، و همچنین نسخههای اختصاصی سیسکو مانند PVST+ و RPVST+ است.
هدف اصلی STP چیست؟
هدف اصلی پروتکل Spanning Tree (STP) جلوگیری از حلقهها در شبکههای اترنت است. با ایجاد یک توپولوژی منطقی درختی و مسدود کردن لینکهای اضافی، STP از طوفانهای Broadcast جلوگیری میکند، پایداری شبکه را تضمین میکند و امکان ارتباط کارآمد و قابل اعتماد را فراهم میسازد.
BPDU مخفف چیست و چه کاربردی دارد؟
BPDU مخفف Bridge Protocol Data Unit است. BPDUها پیامهای دادهای هستند که بین سوئیچهای شبکه در پروتکل Spanning Tree مبادله میشوند. سوئیچها از این پیامها برای برقراری ارتباط در مورد توپولوژی شبکه، انتخاب پل ریشه و تعیین پورتهایی که باید مسدود شوند، استفاده میکنند.
حالتهای پورت RSTP با STP کلاسیک چه تفاوتی دارند؟
RSTP (802.1w) در مقایسه با پنج حالت پورت STP کلاسیک (Blocking, Listening, Learning, Forwarding, Disabled)، تعداد حالتهای پورت را به سه حالت کاهش میدهد: Discarding (حذف)، Learning (یادگیری)، و Forwarding (ارسال). در RSTP، حالتهای Blocking و Listening در STP کلاسیک، هر دو با حالت Discarding جایگزین شدهاند، که نشاندهنده زمان همگرایی بسیار سریعتر است.


