تقسيم
المنظومة
نظرا لكون الـ (OSPF) يعمل ضمن منظومة (Autonomous System) كبيرة تحتوي على عدد كبير من الروترات والشبكات، هذا يؤدي لأن
تكون عدد الـ (LSAs) التي تجري داخل المنظومة كبير جدا، وهذا يؤدي لانشغال الراوترات
بشكل أكبر بعمليات حساب افضل مسار للشبكات بشكل متكرر، ايضا كبر حجم المنظومة يؤدي
لكبر حجم الـ (database table) مما يعني أن الراوتر بحاجة لامكانيات (resources) أكبر.
من
المزايا التي يقدمها بروتوكول الـ (OSPF) هو
امكانية تقسيم المنظومة لمناطق (Areas)، وتكون الراوترات العاملة في نفس المنطقة (area) تمتلك نفس الـ (database table) مما يؤدي لتقليل حجمه واختصاره وخصوصا في حال تطبيق (Route summary) عند حدود ال (area).
توصل المناطق (area) معاً من خلال المنطقة الرئيسية (backbone area) والتي تحمل
الرقم (0)، ويتم الوصل بينها من خلال راوتر يكون جزء منه (منفذ) في منطقة رقم (0)
وجزء آخر في منطقة أخرى. تصنف أجهزة الراوترات حسب مكان عملها إلى الأصناف
التالية:
-
راوتر
عادي (Normal Router) وهو يعمل داخل منطقة معينة بحيث تكون كل منافذه بنفس المنطقة
-
راوتر محوري (Backbone Router) يعمل
داخل المنطة الرئيسية (backbone area) رقم (0)
- راوتر
بين منطقتين (Area Border Router ABR) ويكون منفذ أو أكثر في منطقة وجزء آخر في منطقة أخرى على أن تكون إحداهما
هي المنطقة الرئيسية رقم (0).
- وايضا قد يكون هناك راوتر يصل المنظومة مع منظومة أخرى
ويسمى (Autonomous System Border Router ASBR) بحيث يعمل على نقل عناوين الشبكات
الخارجية لداخل المنظومة.
يجب أن يكون محتوى قاعدة البيانات (LSDB) متماثل بين الرواترات داخل نفس المنطقة. وفي حال كان الراوتر متصل
بأكثر من منطقة فإن يخصص قاعدة بيانات (LSDB) لكل
منطقة.
انتخاب
الراوترات
في الشبكات من نوع الـ (broadcast multi-access)
يجب أن يعيّن راوترات رئيسية تكون مسؤولة عن ارسال التحديثات للراوتر
الأخرى المتواجدة داخل هذه الشبكة وذلك تجبنا لتكرار ارسال التحديثات داخل هذ
الشبكة من بقية الراوترات.
عند استلام راوتر لتحديث (LSA) فإنه
سيقوم بارسالها لقائمة الراوترات المجاورة الموجودة في الـ (table neighbor). شبكة الـ (broadcast multi-access) تحتوي على عدة راوتر (أو على الأقل راوتر) داخل نفس الشبكة، عند
استلام أحد هذه الراوترات لتحديث ما فإنه سيرسل هذه التحديث للراوترات الأخرى المجاورة
والموجودة داخل شبكة الـ (broadcast multi-access) ومن ثم
فإن كل راوتر من الراوترات الأخرى سيعيد ارسال التحديث مرة أخرى داخل هذه الشبكة
مما يؤدي إلى تكرار الارسالية لنفس التحديث.
يكمن
الحل للمشكلة باختيار راوتر مسؤول عن تبليغ الراوترات بالتحديثات داخل شبكات الـ (multi-access)، يسمى
هذه الراوتر الـ (Designated Router DR)
وراوتر
آخر ينوب عنه في حال تعطله ليقوم بالمهمة يسمى الـ (Backup designated Router BDR) حيث
تكون وظيفة ارسال التحديثات داخل هذه الشبكة لبقية الراوترات محصورة بهما فقط ولا
يستطيع أي راوتر داخل هذه الشبكة القيام بهذه المهمة. وفي حال تعطلهما يتم اختيار
راوتر(DR) وآخر (BDR) من بين الراوترات العاملة ليقوم بهذه المهمة.
يتم
انتخاب الـ (DR) و الـ (BDR) آليا من بين الراوترات المكونة لشبكة الـ (multi-access)، بحيث يكون الرواتر صاحب اعلى افضلية (highest priority) هو الـ (DR) ومن يليه بالافضلية هو الـ (BDR)، وفي حال تساوي هذه القيمة بين الراوترات يكون الراوتر صاحب الرقم
الأعلى (highest RID) هو الـ (DR) ومن يليه هو الـ (BDR). القيمة الافتراضية للافضلية (priority default value) هي (1).
انواع
التحديثات (LSA Types)
يتم ارسال تفاصيل الوصلات ووضعيتها العاملة
باستخدام الـ (LSU)، والتي قد تحمل بداخلها تحديثات عن عدة وصلات (LSAs). تتنوع الـ (LSA)
حسب نوع
الوصلة الموجودة، وتاليا بعض هذه الانواع:
- النوع الأول (LSA type 1) وهي تحمل وصف عن الراوتر وعن الوصلات
الموجودة عليه، ترسل الـ (LSA type 1) إلى الراوترات داخل نفس المنطقة وهي تحمل معلومات عديدة مثل الوصلات
ووضعياتها (links status)، رقم الراوتر (RID)، عناوين الشبكات (network addresses and subnet mask). يسمى هذا النوع (Router Link Advertisement).
- النوع الثاني (LSA type 2) مخصص لنقل المعلومات الخاصة بالشبكات (multi-access) والتي يكون فيها انتخاب روترات (DR/BDR)، ترسل
هذه (LSA Type 2) من قبل الـ (DR) لتحمل معلومات عن الراوترات المكونة لهذه الشبكة
وعناوين (IP addresses) للرواترات (DR) و (BDR). يسمى هذا النوع بـ (Network Link Advertisement).
-
النوع
الثالث (LSA type 3) ترسل من قبل راوتر (ABR) إلى الراوترات خارج حدود
المنطقة عبر المنطقة الرئيسية (backbone area) ليعبر عن الوصلات الموجودة
في منطقة معينة، وتحمل معلومات عن الشبكات (network addresses and subnet mask) بالاضافة لعنوان الراوتر (ABR). يسمى هذا النوع بـ (Summary Link Advertisement).
تشغيل وضبط
البروتوكول
يتم تشغيل البروتوكول من خلال الأمر التالي:
Router(config)# router
ospf 1
والرقم (1) يمثل رقم العملية (Process ID). ثم يتم تنشيط البروتوكول على المنافذ المطلوب العمل عليها من خلال الأمر
التالي:
Router(config-router)# router
192.168.1.0 0.0.0.255 area 0
يؤدي الأمر (network command) غايتان هما:
1-
تنشيط البروتوكول على المنفذ
2-
اضافة تفاصيل الوصلة الـ (LSA)
ضمن
التحديثات المرسلة للراوترات. أي أنه بدون اصدار هذا الأمر على أحد المنافذ فإن
التحديثات المرسلة سوف تفتقد تفاصيل تلك الشبكة الموجودة على هذا المنفذ (الوصلة)،
أي أن بقية الراوترات لا يمكنها الوصول لهذه الشبكة.
يتضمن الأمر (network command) رقم المنطقة، بحيث يكون تحديد المنطقة على مستوى المنفذ وليس على
مستوى الراوتر.
بعض الحالات يلزم ازالة نشاط البروتوكول عن منفذ معين دون
أن تفقد الراوترات الأخرى تفاصيل الشبكة الموجودة على هذا المنفذ. كما ذكرنا سابقا
يقوم (network command) وظيفتين، في حال لزم الغاء النشاط عن هذا المنفذ كأن يكون
الراوتر متصل مع راوتر بشبكة خارج المنظومة (مع شبكة الانترنت مثلا) فإنه من
الافضل الغاء النشاط عن هذا المنفذ وذلك بتحويل المنفذ ليكون (passive interface) باستخدام الأمر التالي:
Router(config-router)# passive-interface
serial s0/0
يمكن استخدام الـ (OSPF) لنشر معلومات الـ (default route) المضافة على أحد الراوترات ليقوم بارسال هذه المعلومة لبقية
الراوترات في المنظومة. لنفرض أن الراوتر الـ (R1) متصل بشبكة الانترنت فإنه يلزمه اضافة الـ (default static route) ليستطيع ارسال البيانات
لشبكات الانترنت باستخدام الأمر التالي:
Router(config)# ip route
0.0.0.0 0.0.0.0 s0/0
لكن تبقى الراوترات الأخرى
غير قادرة على الوصول لشبكات الانترنت إلا بعد اضافة الـ (default static route) على الـ (routing table) لجميع
الراوترات داخل المنظومة، وهذا الأمر صعب تطبيقه خاصة في الشبكات الكبيرة. الأفضل
أن يتم استخدام الـ (OSPF) لنشر معلومة الـ (default route) باستخدام الأمر التالي:
Router(config)# router
ospf 1
Router(config-router)# default-information
originate
ينشر الـ (OSPF) هذه المعلومة
عن طريق التحديثات المرسلة لبقية الراوترات بحيث تقوم تلك الراوترات بحساب افضل
مسار من بين المسارات المؤدية للراوتر(R1) الذي يعتبر المخرج لشبكات الانترنت. وهذه الطريقة افضل من اضافة الـ (default route) بطريقة يدوية على كل راوتر وذلك لأنها تقوم بتحديد مسار واحد
باتجاه الراوتر(R1) وفي حال
تعطل هذا المسار يتعذر الوصول لشبكة الانترنت، لكن باستخدام الـ (OSPF) فإن اختيار المسار الفعال
يتم من بين المسارات الموجودة وفي حال تعطله يختار لـ (OSPF) مسار
بديل. ويتم ارسال الـ (default route) لبقية
الراوترات ويتم ادخال شبكة الـ (0.0.0.0/0) في الـ (routing table) في الراوترات على أنه (external route) ويعطى الرمز (OSPF E2).
يمكن
تحديد رقم الراوتر باستخدام الأمر التالي:
Router(config-router)# router-id
1.1.1.1
يمكن
تفعيل امكانية اجراء مصادقة (authentication) بين الراوترات المتجاورة خلال عملية الاكتشاف وقبل الدخول في عملية
التبادل وذلك لتحقق من هوية الراوتر الآخر بتطابق كلمة السر المرسلة في الـ (Hello packet). يدعم (OSPF) طريقتين للمصادقة:
-
المصادقة البسيطة من خلال كلمات سر نصية مفتوحة (plaintext)
-
المصادقة من خلال كلمات سر مشفرة بطريقة (MD5)
يتم تفعيل المصادقة لبروتوكول الـ (OSPF) باتباع الخطوات التالية:
1- تحديد كلمة السر باستخدام الأمر التالي وينفذ على أحد
منافذ الراوتر:
Router(config)# interface
serial 0/0
Router(config-if)# ip
ospf authentication-key key123
2- تحديد نوع المصادقة
لتفعيل المصادقة البسيطة نستخدم الأمر التالي:
Router(config-if)# ip
ospf authentication
لتفعيل المصداقة المشفرة نستخدم الأمر التالي:
Router(config-if)# ip
ospf authentication message-digest
لالغاء المصادقة نستخدم الأمر التالي:
Router(config-if)# ip
ospf authentication null
كما يمكن تحديد نوع المصادقة على مستوى المنطقة بدل من المنفذ باستخدام
الأمر التالي:
Router(config)# router
ospf 1
Router(config-if)# area 1
authentication [message-digest]
لتغيير قيمة الافضلية (priority) للراوتر داخل شبكة معينة، يتم ذلك من خلال اصدار
الأمر التالي على مستوى المنفذ:
Router(config)# interface
fastethernet 0/0
Router(config-if)# ip
ospf priority 100
ويمكن استثناء راوتر من انتخابه (DR) أو (BDR) داخل شبكة معينة وذلك بجعل قيمة الافضلية صفرا
(0).