بروتوكول STP
عند ربط أجهزة “المبدل” (Switch) معاً لا يتم الإعتماد على وصلة واحدة فقط تصل كل جهازين “مبدل” (Switch) لانه اذا حدث عطل في هذه الوصلة سيؤثر ذلك على الشبكة بأكملها.
و لذلك يتم توصيل أجهزة “المبدل” (Switch) باكثر من وصلة لضمان توفير مسارات بديلة يمكن للبيانات استخدامها عند حدوث أي عطل في احد الوصلات.
ان تصميم الشبكة بهذا الشكل الذي يوفر لنا اكثر من مسار يسمى تصميم الوفرة (Redundancy)
مشاكل تصميم الوفرة Redundancy
ان تصميم الشبكة بنظام الوفرة Redundancy هو امر جيد بالطبع , و يضمن لنا استمرار الشبكة في العمل حتى و ان تعطلت وصلة واحدة او اكثر من وصلة او حتى تعطل احد اجهزة المبدل , فإن ذلك لن يؤثر على الشبكة بالكامل.
لكن نلاحظ هنا انه باستخدام طريقة الربط هذه ظهرت بعض المشاكل .
عواصف “البث”
Broadcast Storms
تنتج عواصف “البت” Broadcast Storms بسبب قيام كل جهاز مبدل Switch بتمرير بيانات Broadcast الى جميع المنافذ المتصلة به بإستثناء المنفذ الذي وصلت منه , بالتالي تصل لجميع اجهزة “المبدل” (Switch) الاخرى التي تكرر نفس الامر بشكل حلقة لا نهائي Loop.
عدم استقرار جدول العناوين الفيزيائية
ينتج عدم استقرار جدول العناوين الفيزيائية Mac Table Instability نتيجة لوصول نفس وحدة البيانات Frame المسجل عليها نفس عنوان Mac الخاص بالجهاز المصدر الى اجهزة “المبدل” (Switch) من اكثر من منفذ مع كل دورة من دورات حلقة عاصفة Broadcast, و بالتالي سيقوم كل جهاز Switch بتغيير المنفذ المصاحب لهذا العنوان كل مرة تصل فيها البيانات من منفذ.
إرسال النسخ المتعددة من البيانات
تنتج النسخ المتعددة من البيانات Multiple Frame Copies او Multiple Frame Transmissions عندما يقوم جهاز Switch بتمرير البيانات Unknown Unicast , فتصل هذه البيانات للجهاز الهدف من اكثر من مسار , بالتالي يتحصل الجهاز على نسخ متعددة من نفس البيانات.
بروتوكول STP
لتجنب المشاكل التي يسببها تصميم الوفرة يتم استخدام أسلوب او طريقة معينة لنقل البيانات بين اجهزة “المبدل” (Switch) , يسمى هذا الاسلوب او هذه الطريقة بروتوكول (Spanning Tree Protocol)
و تعتمد فكرة عمل البروتوكول على:-
-
استخدام افضل وصلة بين كل جهازين “مبدل” (Switch).
-
إغلاق أي وصلات إضافية.
و بهذا لن تحدث “الحلقات” (Loops) في الشبكة ولا أي من المشاكل الناتجة عنها
و اذا حدث عطل في هذه الوصلة التي تم اختيارها , سيتم استخدام احدى الوصلات الأخرى تلقائياً دون أي تدخل من مهندس الشبكة.
و لكي يستطيع بروتوكول (STP) اداء وظيفته هذه :-
-
يقوم البروتوكول باختيار احد اجهزة “المبدل” (Switch) من الشبكة المحلية (Lan) ليكون الجهاز الرئيسي.
-
ثم يقوم باختيار افضل المسارات التي تصل اجهزة “المبدلات” (Switches)الاخرى بهذا الجهاز الرئيسي, و يتم تحديد افضلية هذه المسارات بمقاييس هذا الجهاز الرئيسي.
-
ثم يتم تعطيل الوصلات الإضافية الاخرى بإغلاق المنافذ المتصلة بها.
و يقوم البروتوكول بتنفيذ هذه العمليات وفقاً لخطوات معينة و اسلوب محدد يعرف بخوارزمية البروتوكول (Spanning Tree Algorithm STA).
ملاحظة هامة
ثم استحداث بروتوكول STP و استخدامه منذ فترة زمنية بعيدة نسبياً كانت الشبكات حينئذ تحتوي على أجهزة “الجسر” (Bridge), و تعلقت مصطلحات البروتوكول بهذا الجهاز, فاصبح يسمي الجهاز الرئيسي مثلا بجهاز الجسر الرئيسي (Main Bridge) او (Root Bridge) و يتم تسمية الجهاز باستخدام اسم يطلق عليه “معرف الجسر” (BridgeID)… و هكذا.
و رغم انه حدث تطور كبير على بروتوكول (STP) منذ كان يستخدم مع اجهزة “الجسر” (Bridge) اول مرة , إلا انه لايزال يستخدم نفس المصطلحات, فمثلا لايزال يسمى جهاز “المبدل” (Switch) الرئيسي في الشبكة باسم “الجسر الرئيسي” (Root Bridge) أيضا.
لذلك فعند التعامل مع بروتوكول (STP) يجب ملاحظة ان مصطلح “الجسر” (Bridge) و “المبدل” (Switch) يحملان نفس المعنى للبروتوكول .
طريقة عمل بروتوكول STP
تعتمد طريقة عمل بروتوكول (STP) لمنع “الحلقات” (Loops) في الشبكة على:-
-
اختيار جهاز رئيسي في الشبكة.
-
اختيار مسار واحد يصل كل جهاز “مبدل” (Switch) اخر بهذا الجهاز الرئيسي.
-
تعطيل المسارات الإضافية.
-
اذا حدث عطل في المسار الذي تم اختياره , سيتم تشغيل المسار الإضافي تلقائياً.
1 – اختيار الجهاز الرئيسي
لاختيار الجهاز الرئيسي (Root Bridge) يعتمد بروتوكول (STP) على قيمة خاصة في جهاز “المبدل” (Switch) تسمى “معرف الجسر” (Bridge ID) .
فالجهاز الذي له قيمة “معرف الجسر” (Bridge ID) اقل سيتم اختياره ليكون الجهاز الرئيسي (Root Bridge).
2 – اختيار افضل مسار
لاختيار مسار واحد يكون افضل مسار يصل كل جهاز “مبدل” (Switch) بالجهاز الرئيسي (Root Bridge) , يعتمد بروتوكول (STP) على خاصية في هذا المسار تسمى “تكلفة المسار” (Path Cost).
فالمسار الذي له قيمة “تكلفة مسار” (Path Cost) اقل سيتم اختياره ليكون المسار الافضل.
و تعتمد قيمة “تكلفة المسار” (Path Cost) على قيمة خاصية في المنفذ تسمى “تكلفة المنفذ” (Port Cost), تختلف هذه القيمة حسب نوع المنفذ و سرعته.
فتكلفة المسار من جهاز “مبدل” (Switch) الى “الجهاز الرئيسي” (Root Bridge) تساوي مجموعة تكلفة منافذ الخروج من هذا الجهاز الى الجهاز الرئيسي.
وبعد اختيار افضل مسار (Best Path) , يتم وضع المنفذ الذي يتصل بهذا المسار في حالة الفتح او التمرير ,و يسمى المنافذ في هذه الحالة “بالمنافذ الرئيسي” (Root Port Rp) لانه يصل بالجهاز الرئيسي (Root Bridge).
و تسمى تكلفة المسار (Path Cost) الذي تم اختياره ليكون افضل مسار في هذه الحالة بتكلفة الوصول للجهاز الرئيسي (Root Cost).
و نلاحظ ان المسار (Path) قد يتكون من مجموعة من الوصلات (Link) .
و نعني بالوصلة هنا هي الوصلة التي تصل جهاز “مبدل” (Switch) بجهاز “مبدل” (Switch) اخر.
و في هذه الحالة تكون “تكلفة المسار” (Path Cost) تساوي مجموع تكلفة منافذ الخروج (Outgoing Ports) على هذا المسار.
3 – تعطيل المسارات الإضافية
لتعطيل المسارات الإضافية (Redundant Links) حتى لا تحدث حلقات (Loops) في الشبكة , يتم اختيار احد المنافذ على كل وصلة من الوصلات الإضافية (Redundant Links) و وضعه في حالة الإغلاق او عدم تمرير البيانات.
و يقصد هنا “بالوصلة الإضافية” (Redundant Links) هي الوصلة التي لم يتم اختيارها لتكون جزء من افضل مسار للجهاز الرئيسي , و بالتالي لا تحتوي على منفذ رئيسي (Root Port).
و يتم اختيار المنفذ على الوصلة الإضافية الذي سيتم إغلاقها إعتماداً على قيمة تكلفة الوصول للجهاز الرئيسي (Root Cost) في جهاز “المبدل” (Switch) الذي يحتوي على هذا المنفذ.
فالمنفذ على الوصلة الإضافية الذي يوجد في جهاز “مبدل” (Switch) له اعلى قيمة تكلفة الوصول للجهاز الرئيسي (Root Cost) سيتم وضع حالته في حالة الإغلاق او عدم التمرير , و يتم ترك النفذ الاخر في الجهاز الاخر مفتوح.
تمنياتي للجميع بالتوفيق
9-1-2018