شرح مبسط STP
بسم الله الرحمن الرحيم
أعزائي متابعي الموقع
السلام عليكم ورحمة الله وبركاته
اليوم سنتحدث عن أحد البروتوكولات المهمة في الشبكات وهو بروتوكول الشجرة الممتدة STP ولكن قبل المضي قدمًا دعونا نستعرض ماهية مفهوم نموذج الوفرة.
نقوم بعمل نموذج الوفرة او ما يطلق عليه (Redundancy) عند الربط بين الـ Switches لتجنب انهيار الشبكة وضمان استمرارية عملها وتوفير مسارات بديلة لنقل البيانات بين الأجهزة في حال حصل عطل لاحد الوصلات.
رغم ان نموذج الوفرة مفيد جدًا الإ انه ستواجهنا بعد المشاكل واهمها حدوث الحلقية (loops) وهي حلقات لانهائية تؤدي الى حصول عواصف البث broadcast storms وتنشئ هذه الحالة باختصار بسبب قيام كل جهاز switch بتمرير البيانات لجميع المنافذ المتصلة مرة بعد مرة.
=======================
بروتوكول الشجرة الممتدة STP
تسبب الحلقة مشاكل وضغط كبير للشبكة حينما تكون منتهجة نموذج الوفرة لذلك تم تطوير بروتوكول STP لحظر هذه التكرارات الحلقية بالشبكة إن بروتوكول STP يتم تفعيلها تلقائيًا بالشبكة ولايحتاج الى اعدادات معينة ولكن في هذا المقال سنتحدث بتفاصيل طريقة عمل هذا البروتوكول في الشبكة.
=======================
طريقة عمل بروتوكول STP:
- انتخاب الجسر الأساسي Root bridge
يقوم بروتوكول STP بإعادة تعيين أدوار وأسماء الـ switches داخل الشبكة لإمكانية التحكم بالمسارات وتعطيل المسارات التي تسبب الحلقية وفي عالم الـ STP تحديدًا يظهر استخدام ما يسمى بالجسور الـ Bridges بدلًا عن الـ switches
يقوم بروتوكول STP بتحديد الـ switch الأقل قيمة من بين الـ switches وفي حال توافقت قيمها يقوم باختيار الـ switch الذي يحمل اقل عنوان MAC عن طريق BPDUs وتعيننه كجسر أساسي (root bridge) وتصبح بقية الـ switches بالشبكة عبارة عن Non-Root bridges.
=======================
نلاحظ بالشبكة السابقة انه لدي 3 switches يحمل كل منهم القيم التالية:
Switch 1
Priority: 32769
MAC-Address :000A00222222
Switch 2
Priority: 32769
MAC-Address :000A00111111
Switch 3
Priority :24577
MAC-Address :000A00333333
ولاختيار root bridge نقوم باختيار الـ switch الأقل قيمة ليصبح هو الجسر الرئيسي ويصبح الـ switch الأول والثاتي Non-root bridge
=======================
- اختيار أفضل مسار وتحديد حالة المنفذ
بعد اختيار الجسر الرئيسي سيقوم البروتوكول بتحديد حالات المنافذ.
بجانب قوانين الـ switches يقوم البروتوكول STP بتحديد بعض القوانين للمنافذ وهي كالتالي:
- تحديد المنافذ الرئيسية Root port
هو المنفذ الذي يقوم بربط الـ switch بالجسر الأساسي بشكل مباشر لأرسال واستقبال البيانات
- تحديد المنافذ المفضلة Designated Port
هو الذي يقوم بربط الـ switch بجسر غير أساسي ويحمل اقل قيمة للوصول الى الجسر الرئيسي
- تحديد المنافذ المغلقة Blocked Port
هي كل المنافذ الأخرى التي لم يتم تحديدها في الخطوتين السابقة.
=======================
إن عملية اختيار المسار الأفضل تعتمد على تحديد اقل مسار يمتلك تكلفة اقل بناءَا على تكلفة المنفذ Port cost
تكلفة المسار من الـ switch الى الجسر الرئيسي هي مجموع تكلفة منافذ جهاز الـ switch التي من المحتمل ان تصل الى الجسر الرئيسي في حال تشابهه التكلفة يتم الاختيار بناء على قيمة bridge Id الأقل واذا تشابهه ايضَا يتم اختياره بناء على رقم المنفذ الأقل.
كل مسار بين الأجهزة له سرعة معينة وهذا جدول بسيط يوضح قيمة بعض المنافذ بناء على سرعة المسار
Link cost | Link Speed |
100 | 10 Mbps |
19 | 100 Mbps |
4 | 1Gbps |
2 | 10 Gbps |
- في مثالنا السابق سيقوم STP بتحديد كافة المنافذ المتصلة بالجسر الأساسي وهو switch3 على انها منفذ رئيسي root port بعد ذلك في جهاز switch 2 نلاحظ ان هناك مسارين حيث يحمل المسار الأول المتجه من switch2 الى swich3 قيمة التكلفة 19 ليصل الى الجسر الرئيسي بينما المسار الاخر فمجموع القيم هيه 38 فلذلك يكون المنفذ الأفضل designated port تابع للمسار الأول
- وبالنسبة لجهاز switch1 ايضَا هناك مسارين حيث يحمل المسار الأول المتجه من switch1 الى swich3 قيمة التكلفة 19 ليصل الى الجسر الرئيسي بينما المسار الاخر فمجموع القيم هيه 38 فلذلك يكون المنفذ الأفضل designated port تابع للمسار الأول.
- اما بالنسبة للمسار الذي يربط جهاز switch 1 و switch 2 نلاحظ ان كلا قيمتي وصول المسارين الى الجسر الرئيسي 19 فلذلك يتم التقييم واختيار المنفذ الأفضل بناء على قيمة ال switch فبذلك يكون المنفذ التابع لـ switch2 هو المنفذ الأفضل ويتم اغلاق منفذ الswitch3 في هذا المسار..
ملاحظة: في حال حصول عطل بالشبكة باي مسار من المسارات بشكل تلقائي يقوم البروتوكول STP بالتعرف على المشكلة وإعادة عمل الخطوات السابقة وتحديد المسارات والمنافذ الأفضل ويمكن ايضَا ان يستخدم منفذ مغلق بما يراه مناسبًا.
=======================
- حالات منافذ بروتوكول STP :
- الاغلاق blocked ( في هذه الحالة لا يقوم البروتوكول بإرسال البيانات او معالجتها )
- الاستماع listening (في هذه الحالة يستقبل الرسائل ويرسلها وينتظر المنفذ متى يقوم بالتحول الى حالة الاغلاق)
- التعلم learning (في هذه الحالة يقوم المنفذ بقراءة العناوين وحفظها في قاعدة الـ switch)
- الارسال forwarding ( في هذه الحالة يكون المنفذ بإرسال واستقبال البيانات.)
تابعنا على مواقع التوآصل الإجتماعي :-
Twitter : MHPSSL
Snapchat : mhpssl
Telegram Channel : MHPSSL_Channel
Telegram Kali Linux Group: KaliArabi