NameCheap-Hosting

استفد من الخصومات على خدمات الاستضافة بمختلف انواعها

VPS hosting: up to 30% off!

الأحد، 1 فبراير 2015

بروتوكول OSPF - الجزء الثاني



تقسيم المنظومة
 نظرا لكون الـ (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).