نشرت تحت تصنيف Wireless - Protocols

Access Point bridging 802.11C


هل تحب أن أصدمك بهذا المقال ثلاث مرات , الصدمة الأولي هو أن هذا البروتوكول هو التعديل اللاسلكي للبروتوكول المعروف IEEE 802.D الصدمة الثانية أن IEEE 802.D هو الإسم البروتوكولي من IEEE لبروتوكول STP Spanning Tree Protocol أما الصدمة الأخيرة هو أنني لن أذكر لك شيئا جديدا اللهم الا نبذة بسيطة هي كل الموجود علي الإنترنت عن 802.11C

يستخدم هذا البروتوكول من قبل مطوري أجهزة الأكسس بوينت حيث لوحظ في بداية عمل الشبكات اللاسلكية أن معايير 802.11 تختص فقط باتصال الأجهزة بالأكسس بوينت و غير قادرة علي تحديد كيفية الإتصال علي نطاق أوسع بين ألأكسس بوينت و بعضها لدعم عمليات Roaming مثلا

اذن فالمعيار اللاسلكي IEEE 802.11C هو النسخة اللاسلكية من IEEE 802.1D الخاص بشبكات الإيثرنت و المعروف اصطلاحيا بـ STP و الذي طور بشكل فعال في 2004 و كمان أن STP 802.1D يقوم بمنع Loops في الشبكة و استخدام أقصر مسار فإن 802.11C يختص بهذا الأمر في الشبكات اللاسلكية و تسمي هذه العمليات Wireless Bridging أو Access Point Bridging

مجموعة بروتوكولات STP

و مثلما يتم مع باقي بروتوكولات الشبكات فإن منظمة IEEE تقوم بعمل بروتوكول عام يصلح للتعامل مع كل الشركات ثم تقوم كل شركة بتطوير في هذا البروتوكول أو استحداث بروتوكول شبيه و يؤدي نفس المهمة و قد لا يتعامل فقط الا مع منتجاتها

و هذا الأمر تم مع بروتوكول STP حيث توجد منه اصدارات تخص IEEE و أخري تخص سيسكو Cisco proprietary

Cisco Proprietary

قامت سيسكو بتطوير أكثر من بروتوكول لمواجهة Loop مثل PVST و PVST+ و Rapid PVST+

فأما بروتوكول Per-VLAN spanning tree protocol (PVST) فيقوم بالعمل من خلال VLAN واحدة متعاملا مع كل منها كوحدة و شبكة مستقلة مستخدما بروتوكول سيسكو القديم ISL trunking protocol و الذي يسمح بانتقال البيانات بين VLANs

و أما بروتوكول Per-VLAN spanning tree protocol plus (PVST+) فقام بدعم بروتوكول IEEE 802.1Q trunking و هو يعمل بنفس طريقة PVST الا أنه غير مدعوم من أي أجهزة غير سيسكو

و أما Rapid per-VLAN spanning tree protocol (rapid PVST+) فهو مبني علي معيار IEEE 802.1w لأنه أسرع في استجابة الشبكة له convergence من STP الأساسي 802.1D

IEEE Standards

معايير IEEE أعرق و اقدم من معايير سيسكو و يستطيع أي مصنع أي يبني عليها و هيSTP و RSTP و MSTP

فأما معيار Rapid spanning tree protocol (RSTP) فقد قدم في سنة 1982 كتعديل لـ (802.1D standard) و هو من اسمه يقدم convergence اسرع و من بعد 2004 تم دمجه في STP اي عندما تجد كلمة STP تأكد أنها RSTP

و أما Multiple STP (MSTP) فهو يمكن STP من التعامل مع أكثر من VLAN و قد كان لسيسكو دور في تطوير هذا البروتوكول

Redundant Design

لضمان استمرارية عمل الشبكات يقوم المختصون بعمل أكثر من مسار بين أجهزة الشبكة مثل السويتشات و الراوترات و يسمي هذا الأمر بـ Layer 2 redundancy و هذا يفيد في عدم تأثر الشبكة عند انقطاع الإتصال في أحد الكابلات أو فشل عمل أحد الأجهزة حيث أي أنك بشكل آخر تقوم بعمل ربط احتياطي بين كل جهاز و يكون هذا شائعا جدا في الشبكات التي تعتمد في تصميمها علي التصميم الهرمي Hierarchical Design و التي يتم تقسيم الشبكة الي ثلاث طبقات Core , Distribution , Access كما تري فإن PC1 يستطيع أن يجد أكثر من مسار للإتصال بـ PC4 و ذلك بسبب وجود أكثر من سويتش في كل طبقة مرتبطة بأكثر من اتصال


و نظرا لأن Ethernet Frames لا تحتوي في Header علي قيمة تحدد العمر الإفتراضي للفريم Time To Live- TTL مثلما يملكهHeader IP Packet فإنها تظل تدور Loop في الشبكة الي أن يتم ايقافها باغلاق البورت أمامها كما تري في هذه الشبكة


و هذا Loop يسبب استمرارية وجود تدفقات عالية في الشبكة Broadcast Storms و هذا أمر غير مرغوب فيه لأنه يزيد الحمل علي سويتشات الشبكة high CPU load و قد يخرج احداها أو بعضها عن العمل كما تري في هذه الشبكة


و لهذا تم عمل بروتوكول Spanning tree protocol – STP و الذي يتم تفعيله افتراضيا علي السويتشات حيث يقوم بإغلاق بعض البورتات التي تتسبب في عمل Loop و يعيد تشغيلها عند انقطاع الإتصال عبر البورتات الأخري كما بالشكل فعندما يريد PC1 التراسل مع PC4 فإن لديه طريقين و هذين الطريقين سيسببان Loop فيقوم STP بالسماح للبورت f0/1 علي السويتش S2 بالإتصال بالبورت f0/1 علي السويتش S1 و يقوم بإغلاق الربط بين البورت f0/2 علي SW2 و البورت f0/2 علي السويتش S3


و يتم هذا الأمر عن طريق Spanning Tree Algorithm – STA و هي طريقة لحساب أفضل مسار لمرور البيانات و يتم ذلك بإرسال Hello Packet تسمي bridge protocol data unit-BPDU مخصصة لمعرفة السويتش الذي له أقل قيمة لـ bridge ID (BID) ثم يجعله Root Bridge أي مركز الشبكة و هو المسؤل عن تعطيل المسارات الإحتياطية عند توفر المسار الأصلي و أيضا ايجاد المسار الإحتياطي عند فشل المسار الأصلي

Root Bridge

عند بداية إقلاع السويتش تكون كل بورتاته في حالة Block لمده عشرون ثانية و ذلك لمنع حدوث Loop قبل أن تتم عمليات STP و في هذه الحالة يكون السويتش قادر علي استلام فريمات BPDU و ستصبح الشبكة جاهزة لتحديد Root فيها بعد 14 ثانية من اقلاع سويتشاتها أي قبل أن يتحول أي سويتش من الحالة Blocking

بععد عملية الإقلاع و قبل انتخاب Root سيقوم كل سويتش كل ثانيتين بنشر فريمات BPDU حاملة BID الخاصة به مرشحا نفسه لدور Root و في هذا الوقت يكون BID له مساويا لـ Root ID في الشبكة حسب علمه

بعد أن يقوم كل سويتش باستلام BPDU للسويتشات المجاوره له يقوم بمقارنة BID الخاصة به بمثيلاتها للسويتشات الأخري فإن وجد أن قيمة BID له أقل يظل محتفظا بقيمة Root ID مساوية لـ BID الخاصة به فإن وجد أن سويتشا آخر له قيمة BID أقل يقوم حينها بتغيير Root ID لتساوي قيمة هذا السويتش و هكذا حتي تصل الشبكة الي القيمة الأقل فيها

بعدها سيقوم كل سويتش بإختبار فاعلية المسار للجذر و مدي قدرته علي أداء مهمته كرئيس للسويتشات و ذلك بإرسال فريمات BPDU له كل ثانيتين

كذلك يقوم بمتابعة ارسال BPDU عبر السويتشات منتظرا مدة تسمي max age timer قيمتها عشرون ثانية فإن لم تستجب لعدد عشر مرات يقوم السويتش بإعتبار أن المسار الي Root لا يصلح عبر هذا السويتش و يقوم باختيار مسار آخر الي Root

و تستطيع التأكد من Root Bridge عندما تجد أن قيمة Root ID له مساوية لقيمة Bridge ID


Bridge ID (BID)

كما قلنا فإنه عند إقلاع كل سويتش في الشبكة يقوم بتجهيز نفسه كـ Root Bridge ثم يقوم بإرسال BPDU frames كل ثانيتين بها BID ثم يقوم STP علي اساس هذه المعلومات بانتخاب Root Bridge للسويتش صاحب الأقل القيمة لـ BID ثم يذعن كل سويتش لنتيجة هذه الإنتخابات J

و يتم حساب BID بمجموع ثلاث قيم هي priority و MAC address و system ID


فأما Bridge Priority فهي القيمة المعتمد عليها لجعل السويتش root bridge و هي قيمة تتراوح في سويتشات سيسكو بين 1 الي 65536 و افتراضيا تكون 32768 و تستطيع جعل السويتش root bridge بجعل قيمةPriority هي الأقل في الشبكة كما تري في الشكل


و يتم ذلك بطريقتين

الأولي هي استخدام الأمر كمثال spanning-tree vlan 1 priority 24576 مع جعل القيمة الموضوعة لمضاعفات العدد 24576

و الطريقة الثانية باستخدام الأمر spanning-tree vlan vlan-id root primary لضمان وضع السويتش كـ Root Bridge و تستطيع أيضا عمل آخر احتياطي باستخدام الأمر spanning-tree vlan vlan-id root secondary كما تري في الشكل


و تستطيع التأكد من هذه القيم باستخدام الأمر show spanning-tree ليعطيك وضع السويتش في STP و Priority الخاصة به


و أما Extended System ID فهي قيمة استخدمت نتيجة لتفاعل STP مع VLAN و عند استخدامها يتم عمل Priority للسويتش لمضاعفات 4096 و سيتم التعرف عليها أكثر في الجزء الخاص بـ per VLAN spanning tree -PVST


و أما MAC Address فهو العنوان االفيزيائي للسويتش و يؤثر علي انتخاب Root Bridge عند تساوي قيم Priority و System ID و يتم اختيار السوتيش صاحب أقل قيمة Hexadecimal


Path Cost

بعد معرفة السويتش المركزي Root bridge للشبكة يقوم كل سويتش بتحديد أقصر مسار Shortest Path لهذا السويتش بمعرفة Path Cost و التي تتحدد من سرعة كل بورت متصل بالسويتش

و يتم حساب قيمة المسار Path Cost من اول البورت في السويتش نهاية بالبورت الموجود علي Root Bridge و التي تحسب تبعا لسرعة البورتات التي يمر بها اثناء رحلته لـ Root Bridge و هذه هي القيم المعمول بها


و رغم أن هذه هي القيم الإفتراضية للسرعات الا أنك تستطيع اعادة اعدادها للسويتش بوضع قيم من 1 الي 200000000 و كذلك استعادة الوضع الإفتراضي


و هذا الشكل يبين لك مقارنة بين مسارين من S2 باتجاه Root Bridge و هو S1 عن طريق بيان قيمة كل بورت يمر به المسار و حتي وصوله الي Root Bridge و نجد أن لدينا المسار الأول يمر ببورت fast Ethernet ذو قيمة 19 فقط و تكون قيمة المسار هي 19 , أما المسار الثاني فيمر ببورتين fast Ethernet قيمة كل منهما 19 و تكون القيمة الكلية 38 و هنا يتم تعطيل هذا المسار و استخدام المسار الأول كمسار أصلي من قبل Root Bridge مع وضع المعطل احتياطي حتي فشل المسار الأصلي


و تستطيع التأكد من هذه الأمور بهذا الأمر


Port Roles

بعد تحديد القيمتين Path Cost و Root Bridge يتم تقسيم بورتات السويتشات في الشبكة الي ثلاثة أنواع هي Root , Designated , Non Designated


فأما Root Port فهي بورتات توجد في السويتشات non-root bridges و المتصلة مباشرة بـسويتشات Root Bridge و تقوم هذه البورتات بضخ البيانات الي Root Bridge عبر Trunk بينهما و يعتبر Root Port هو البورت الذي يملك اقل مسار lowest path cost للسويتش الجذر Root Port و لابد أن يمتلك كل سويتش في الشبكة Root port واحد عدا Root bridge فإنه لا يملك اي Root Port


و أما Non-Designated Port فهي البورتات التي عطلها STP لمنع Loop و تسمي أيضا بـ alternate port كما تري


و أما Designated Port فهي بورتات تتواجد في السويتشات root bridges و non-root bridges و لا يحتوي root bridges الا عليها و هي المقابلة لبورتات Root أو Non-Designated في سويتشات أخري و تقوم بضخ البيانات اذا كان البورت المقابل لها Root


و يوجد حالة أخري للبورت Disabled Port و هو بورت معطل من قبل مدير الشبكة و لا يتعرض لأي اعدادات لـ STP

و في حالة تساوي جميع Path Cost للسويتشات فإنه يتم اختيار رقم البورت الأقل Port ID ليكون هو Root Port فكما تري في السويتش S2 فإن STA تحدد أحد بورتي السويتش ليكون أحدهما Root و الآخر Non-Designated و هنا سيتم اختيار البورت ذو القيمة الأقل f0/1 ليكون Root Port


تستطيع ايضا التحكم في هذا الأمر بالتدخل لجعل البورت الذي تريده ليلعب دور Root باستخدام الأمر spanning-tree port-priority متبوعا بقيمة لمضاعفات 16 و تتراوح بين 0 الي 240 علما بأن القيمة الإفتراضية للبورت هي 128


و لنقم بالتأكد باستخدام الأمر show spanning-tree


Port States

لضمان أن تقوم بورتات السويتش بأداء المهام التي حددت لها من قبل STA فإن STP يجبر السويتش علي جعل بورتاتهة تتعامل مع إحدي خمس أوضاع طبقا لموضعها في STP و هي Blocking و Listening و Learning و Forwarding و Disabled يختلف كل منهم عن الآخر في قابليته لإرسال أو استقبال أو توجيه فريمات BPDU

فأما Blocking فهي حالة البورت عندما يكون non-designated و يقوم باستقبال فريمات BPDU ليحدد مكان و Root ID لـ Root Bridge الا أنه لا يشارك في عملية نشر أو توجيه الفريمات

و أما Listening فهي حالة للبورت يقوم فيها بالتصنت فقط علي حركة مرور الفريمات و يتحول الي Blocked اذا لم يجد الطريق الي Root bridge

و تعتبر Learning حالة البورت عند قبوله BPDU و مشاركته في بدء نشر جدول العناوين الفيزيائية MAC address table

و حالة Forwarding يعتبر فيه البورت جزء من STP و يقوم بإرسال و استقبال و توجيه BPDU frames

و الحالة الأخيرة هي Disabled و هي حالة يقوم فيها مدير الشبكة بتعطيل البورت تماما كي لا يتشارك اطلاقا STP

و هذا جدول يبين الفرق بين الخمس حالات


BPDU Timers

يتعامل STP مع مؤقتات تقوم بتحويل البورت من حالة الي أخري في أوقات زمنية محددة طبقا لموضعه في STP و هذه المؤقتات هي Hello time و Forward delay و Maximum age

عند تفعيل بروتوكول STP فإن كل بورت في كل سويتش بمجرد إقلاعه يتحول من حالة Blocking الي حالات Listening و Learning و التوقيت المستخدم في هذا التحول يسمي forward delay interval ثم يثبت بعده عند إحدي حالتي forwarding أو Blocking


و هذه القيم تسمح للإنتشار في مساحه تسمي Switch diameter و هو عدد السويتشات التي تستطيع أن تنتشر فيها فريمات STP و أقضي عدد يقدر بـسبع سويتشات تستطيع اعادة ضبطه بإستخدام الأمر

spanning-tree vlan vlan id root primary diameter value


و بس خلاص

نادر المنسي

Advertisements

المعلق:

مهندس عربي يطمح و يساعد في الرقي بالمحتوي العربي للتكنولوجيا عبر ترجمة و اعداد مقالات و كتب علمية في مجال الشبكات و الإتصالات السلكية و اللاسلكية

3 آراء على “Access Point bridging 802.11C

  1. عندما ارى تدويناتك يااخى اتذكر كلمة ابراهيم الفقى لصلاح الراشد تقريبا حيث قال له انت ملك الاصدارات
    وسأله كيف تقوم بعمل كل الكتب دى فقال له انا اقوم بتفريغ المحاضرات فى كتب وبهذا اقوم بعمل محاضرات كتير
    ووفقك الله لكل خير

اترك رد

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   /  تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   /  تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   /  تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   /  تغيير )

w

Connecting to %s