إيه هو Spanning Tree Protocol (STP)؟
بروتوكول STP هو بروتوكول بيشتغل في شبكات الـ LAN اللي بتستخدم الـ Switches علشان يمنع حدوث الـ Loops في الشبكة.
يعني إيه Loop؟
لو عندك شبكة فيها أكثر من Switch متوصلين ببعض بأكتر من مسار، ممكن البيانات تلف في دائرة بدون توقف. ده بيتسبب في مشاكل زي:
تكرار البيانات.
زيادة الـ Traffic.
وقوع الشبكة.
STP بيشتغل علشان يمنع المشاكل دي عن طريق إغلاق المسارات الزايدة (redundant paths)، ويخلي الشبكة تشتغل بمسار واحد بس بين أي نقطتين.
إزاي STP بيشتغل؟
انتخاب الـ Root Bridge:
كل Switch في الشبكة بيبعت رسائل اسمها Bridge Protocol Data Units (BPDUs).
بيتم اختيار الـ Switch اللي ليه أقل Bridge ID كـ Root Bridge (يعني هو اللي يبقى المرجع الرئيسي للشبكة).
تحديد المسارات:
لكل Switch في الشبكة، بيتم اختيار أفضل مسار يوصل للـ Root Bridge بناءً على:
Cost (التكلفة): يعني أقل مسافة أو أسرع طريق.
Priority: أولوية الـ Switch.
MAC Address لو الأولويات متساوية.
تعطيل المسارات الزايدة:
STP بيعمل على تعطيل المسارات اللي مش ضرورية (بتتحط في حالة اسمها Blocking)، علشان يمنع الـ Loops.
استعادة الاتصال لو حصل مشكلة:
لو حصل إن المسار الرئيسي وقع، STP بيشغّل المسار الاحتياطي اللي كان في حالة Blocking بشكل أوتوماتيكي.
الحالات (STP States)
كل بورت على الـ Switch بيعدي بمراحل أثناء شغله مع STP:
Blocking: البورت مقفول ومنع البيانات علشان يمنع الـ Loops.
Listening: البورت بيستقبل الـ BPDUs علشان يقرر مكانه في الشبكة.
Learning: البورت بيبدأ يحفظ العناوين (MAC addresses) لكنه لسه مش بيبعت بيانات.
Forwarding: البورت دلوقتي شغال وبيسمح بمرور البيانات.
Disabled: البورت مش شغال خالص (حالة إدارية).
أنواع STP
STP (Standard): النسخة الأساسية.
RSTP (Rapid Spanning Tree Protocol): نسخة أسرع من STP.
MSTP (Multiple Spanning Tree Protocol): بيشتغل مع شبكات فيها VLANs متعددة.
أمثلة من الواقع
لو عندك شبكة مكتب فيها 3 Switches متوصلين ببعض بأكتر من كابل:
بدون STP: ممكن البيانات تفضل تلف وتسبب بطء كبير للشبكة.
مع STP: هيتأكد إن البيانات بتمشي في طريق واحد بس، ولو الكابل الأساسي وقع، المسار الاحتياطي هيشتغل تلقائي.