متابعين الأعزاء نقدم لكم اليوم تجميعة لشرح معظم أجزاء بروتوكول الـ OSPF

أولاً : أساسيات الـ OSPF
- هو أختصار ل Open Shortest Path First
- ال OSPF معروف أيضاً بالـ RFC 2328 و RFC 2740
- ويستخدم رقم 89 كـ Protocol ID في الـ IP header
- يصنف كـ link-State Protocol & Classless Protocol
- open Standard يمكن استخدمه مع أي جهاز من الطبقة الثالثة (سيسكو وغيرها)
- يعتمد الـ OSPF في اختيار أفضل مسار على الـ Cost والذي يتناسب عكسيا مع الـ Bandwidth .. فكلما زاد الـ Bandwidth قل الـ Cost
Cost = (10^8)/Bw - الـ OSPF بيستخدم ip Multicast address هو 224.0.0.5 (لكل الروترات)
و 224.0.0.6 يستخدم (لل Dr&BDr) - Admin Distance = 110
- الـ Algorithm المستخدم من قِبل الـ OSPF هو الـ Shortest Path First Algorithm أو Dijkstra’s Algorithm .. ويطبق الراوتر هذا الـ Algorithm على قاعدة البيانات لديه (LSDB) لتحديد أفضل المسارات والتي سيقوم بإدخالها في جدول التوجيه Routing Table .
ثانياً : جداول الـ OSPF
- R#Show ip ospf neighbor : Neighbor Table
يحتوي على قائمة من الجيران والذين نشأت بينهم علاقة في الـ OSPF - R#Show ip ospf database : Topology Table
يحتوي على عدد من التحديثات والإعلانات والتي تتكون من أنواع مختلفة وجميع الراوترات في نفس الـ area لابد أن يكون لهم نفس الـ Database . - R#Show ip route : Routing Table
هذا الجدول الذي يحتوي على أفضل المسارات التي اختارها الراوتر بعد تطبيق الـ SPF algorithm على قاعدة البيانات الموجودة لديها .
ثالثاً : مميزات ال OSPF
- الإستجابة السريعة للتغيرات التي تطرأ على الشبكة .
- التصميم الهرمي للشبكة Hierarchical design والذي بدوره يجعل شبكة الـ OSPF قادرة على التوسع مستقبلاً بدون أي مشاكل قد تطرأ من هذا التوسع .
رابعاً : عيوب الـ OSPF
هي المصادر المستهلكة من ذاكرة الراوتر على حساب الجداول السابق ذكرها .. ويمكن التقليل من هذه العيوب باستخدام أنواع مختلفة من الـ areas كما سنرى لاحقاً .
خامساً : أنواع الـ Packets المستخدمة في الـ OSPF
أنواع الـ Packets المستخدمة في الـ OSPF والتي تستخدم لإنشاء العلاقات وتبادل المعلومات بين الراوترات .. خمسة أنواع كما يلي :-
- Hello Packet
استكشاف الجيران وبناء العلاقات معهم - DBD … DataBase Description
التأكد على أن قاعدة البيانات بين الراوترات المرتبطة ببعضها البعض عن طريق الـ OSPF فى نفس ال area لها نفس قاعدة البيانات . - LSR … Link-State Request
طلب معلومة من راوتر لراوتر آخر - LSU … Link-State Update
إرسال السجل أو المعلومة المطلوبة من الراوتر الآخر كرد على الطلب
وتحتوي الـ LSU على مظاريف (مكونات) يطلق عليها LSA … Link-State Advertisement - LSAck … Link-State Acknowledgment
تجعل تبادل الأنواع المختلفة من الـ Packets في الـ OSPF أكثر موثوقية (Reliable) .. مثلها كمثل TCP Protocol .. وهو أن الراوتر يقوم بإرسال هذا النوع من الـ Packet للراوتر الآخر لإخباره بأنه قد استلم المعلومة الفلانية .
سادساً : أنواع الراوترات في ال OSPF

أنواع الراوترات فى ال Ospf أربعة أنواع وهم :
- internal routers
- backbone routers
- Area Border Router) ABR)
- autonomous System Border Router) ASBR)
الـ internal router
هو الروتر الذي ينتمي ل area واحدة
الـ Backbone Router
هو الروتر الذي يقع ف area 0 (Backbone area)
الـ ABR
هو الروتر الذي يربط ال areas ببعضها
الـ ASBR
هو الروتر الذي يربط شبكة ال ospf بشبكة اخرى ليست ospf
ممكن الروتر يكون ABR و Backbone Router فى نفس الوقت أو ABR و ASBR فى نفس الوقت .
سابعاً : أنواع الـ LSAs في الـ OSPF
تعتبر الـ LSAs هي قاعدة البيانات لبروتوكول الـ OSPF .. وهذه القاعدة تقوم بتطبيق Shortest Path First Algorithm عليها لتعطي الراوتر صورة واضحة عن الشبكة واختيار أفضل المسارات للوصول لمختلف الشبكات .

LSA Type-1: Router LSAs
يقوم كل روتر فى شبكة ال ospf بأرسال هذا النوع للروترات فى نفس ال area ولا يتعدى ال ABR
ويحتوي على :
الـ Router ID
الـ masks&Subnets
نوع الشبكة
ال Metric Or Cost
LSA Type-2: Network LSAs
هي المرسلة من الروتر ال DR (Designated Router) الى الروترات الموجودة داخل نفس ال area ولا يتعدى ال ABR
LSA Type-3 : Summary LSAs
في هذا النوع يقوم ال ABR بأرسال ال update عن الشبكات من كل area الى ال area الاخرى
“LSA Type-4:Summary LSAs “ASBR LSAs
فى هذا النوع يقوم الـ ABR أيضاً بإنشاءه ..
وتكون فيه معلومات عن
الـ Router-ID للـ ASBR
حيث يقوم الـ ASBR بإنشاء LSA Type-1 وعند استقبال الـ ABR لهذه الـ LSA
يقوم ال ABR بإنشاء LSA Type-4 تشير للـ ASBR وإرسالها للـ areas الأخرى ..
وعند وصول الـ LSA Type-4 لـ ABR آخر يقوم بإعادة إرسالها لإيصال المعلومة لكافة الـ areas في الـ Autonomous System
LSA Type-5 : External LSAs
فى هذا النوع يتم إنشائه بواسطة ال ASBR لنشر الـ Redistributed Routed (الشبكات الخارجية) داخل ال OSPF .
LSA Type 6 : Multicast OSPF LSAs
تستخدم في تطبيقات الـ Multicast للـ OSPF .. وأجهزة Cisco لا تدعم هذا النوع من الـ LSAs .
LSA Type 7 : OSPF NSSA EXTERNAL LSA
مشابه جدا لفكرة الـ LSA Type-5 ولكن في نوع من الـ areas يسمى Not-So-Stubby-Area) NSSA)
حيث يقوم الـ ASBR بإنشاء هذا النوع من الـ LSA عند إدخال بعض المسارات من خارج الـ OSPF (عملية Redistribution) في الـ NSSA .
علماً بأن هذه الـ LSAs تكون موجودة فقط في هذا النوع من الـ areas .
LSA Type 8 : External Attributes LSA for BGP
غير مستخدمة فى روترات سيسكو
LSA Type 9,10,11 : Opaque LSAs
محجوزة للاستخدام في المستقبل و Type 10 مستخدمة ايضاً فى ال MPLS .
ثامناً : أنواع الـ OSPF Area
الـ OSPF له ستة أنواع مختلفة من الـ Area لكل منها خصائص مختلفة وهما : –
- Normal Area) Standard Area)
- area 0) Backbone Area)
- Stub Area
- Totally stubby area
- NSSA) Not-so-stubby area)
- Tottaly NSSA
area 0) Backbone Area)
جميع الـ Areas الموجودة في شبكة الـ OSPF يجب أن تكون متصلة بهذة الـ Area
ويمكن للشبكة أن تتكون من هذة الـ Area فقط إذا كان عدد الروترات المستخدمة يسمح بذالك
Stub Area
الروترات في هذا النوع من الـ Area يمكنها أن ترى جميع الروترات الموجودة في شبكة الـ OSPF ولكنها تبقى منعزلة عن الشبكات الخارجية .
بتفلتر LSA Type 4 و LSA Type 5 أي لا يعرف الطريق إلى لـ ASBR
ولتفعيل هذة الـ Area يكتب الأمر التالي على جميع الروترات الموجودة في هذة الـ Area
Router(Config)#Router Ospf 1
Router(Config)#area 1 Stub
Totally stubby area
الروترات في هذا النوع من الـ Area يمكنها أن ترى الروترات الموجودة في نفس الـ Area فقط ولن تستطيع أن ترى الشبكات في الـ Areas الأخرى والشبكات الخارجية .
بتفلتر LSA Type 3 و LSA Type 4 و LSA Type 5
ولتفعيل هذة الـ Area يكتب الأمر التالي على جميع الروترات الموجودة في هذة الـ Area :
Router(Config)#Router Ospf 1
Router(Config)#area 2 Stub no-summary
NSSA) Not-so-stubby area)
الروترات في هذا النوع من الـ Area معزولة عن الشبكات الداخلية ولكنها ليست معزولة عن الشبكات الخارجية
(زي ال Stub Area بس بيشوف الشبكات الخارجية)
بتفلتر LSA Type 4 و LSA Type 5
ولكن يتم تحويل ال LSA Type 5 إلى LSA Type 7 (الخاص بال NSSA)
ولتفعيل هذة الـ Area يكتب الأمر التالي على جميع الروترات الموجودة في هذة الـ Area :-
Router(Config)#Router Ospf 1
Router(Config)#area 3 nssa
Totally NSSA
الروترات في هذا النوع من الـ Area يمكنها أن ترى الروترات الموجودة في نفس الـ Area فقط ولن تستطيع أن ترى الشبكات في الـ Areas الأخرى ولكن ترى الشبكات الخارجية
(زي ال Totally Stub Area بس بيشوف الشبكات الخارجية)
بتفلتر LSA Type 3 و LSA Type 4 و LSA Type 5
ولكن يتم تحويل ال LSA Type 5 إلى LSA Type 7 (الخاص بال NSSA)
ولتفعيل هذة الـ Area يكتب الأمر التالي :-
Router(Config)#Router Ospf 1
Router(Config)#area 4 nssa no-summary
ممكن يتكتب كدا على ال ABR بس والأمر بتاع ال NSSA العادي على باقي الروترات
يتم أستخدام هذة الأنواع أيضاً لتقليل كمية الـ Routing Information وتوفير الـ BW
تاسعاً : ال Router ID
يتم اختيار الـ Router ID من قِبل أي راوتر في الـ OSPF وذلك لاستخدامه فى بث الاعلانات والتحديثات وإنشاء العلاقات .
كيفية يتم اختيار الـ ID ؟
يتم اختياره بثلاث طرق
أولاً : بأستخدام الأمر
R(Config)# router Ospf 1
R(Config-router)# router-id X.X.X.X
مع العلم بأن العنوان (X.X.X.X) ليس شرطاً ان يكون أحد العناوين المعدة على أحد الواجهات .
فلو كان هذا العنوان ليس له وجود على الراوتر فسوف يتم استخدامه كـ Router ID .
ثانياً : Highest Loopback Interface
إذا لم يتم تطبيق الأمر router-id X.X.X.X .
فإن الراوتر سيقوم باختيار أعلى loopback interface تم إعداده على الراوتر حتى وإن لم تكن هذه الواجهة داخلة في عملية الـ OSPF
على سبيل المثال لو أن Router لديه واجهتين (loopback1 ip:1.1.1.1 and loopback2 ip:2.2.2.2) فسوف يقوم الراوتر باختيار الواجهة (loopback2) كـ Router ID وذلك لأنها أعلى من الواجهة الأخرى (loopback1)
ثالثاً : Highest Physical interface
إذا لم يتم تطبيق الأمر router-id وليس هناك وجود لأي loopback interface .
فسيقوم الراوتر باختيار أعلى Physical interface والذي تم إعداده على أحد واجهات الراوتر بشرط أن تكون هذه الواجهة في حالة تفعيل (up/up) .. وأيضاً ليش شرطا أن تكون هذه الواجهة داخلة في عملية الـ OSPF .
ملاحظات :–
- سبب تفضيل الـ loopback interfaces على الـ Physical interfaces هو لأن واجهات الـ loopback تكون دائما بحالة تفعيل (up) ولا يمكن بأي حال من الأحوال أن تجد واجهة من هذا النوع بحالة تعطيل (down) أما الواجهات الـ Physical فهي قابلة لأي عطل خلال عمل الراوتر .. وهنا تظهر الفائدة إذا كنا نتحدث عن الاستقرارية أو الـ stability .
- عند الحاجة لتغيير الـ Router ID بعد عملية اختيار الراوتر لـ ID معين لا يظهر هذا التغيير إلا عند اتخاذ إحدى الطريقتين :-
الأولى : تكون بإعادة تشغيل الرواتر
الثانية : تكون بإعادة تشغيل بروتوكول ال OSPF بإستخدام الأمر (R#Clear Ip OSPF Process)
عاشراً : ال Dr وال BDr
DR = Designated Router
BDR = Backup Designated Router
في الشبكات التي تكون من النوع Broadcast multi-access) BMA) تقوم الراوترات باختيار أو انتخاب راوتر معين ليكون ال DR وراوتر آخر ليكون ال BDR .
والفائدة الرئيسية من هذه الانتخابات هو تقليل حجم المعلومات المتبادلة بين الراوترات في هذا النوع من الشبكات .
والاتفاق على نقطة معينة تكون المسؤولة عن استقبال الإعلانات أو التحديثات وبثها مرة أخرى لباقي الراوترات وهذا سينعكس إيجابياً على أداء الشبكة .
وجميع الراوترات التي ليست DR ولا BDR تسمى DR Other وتتواصل على ip Multicast 224.0.0.5 أما مع الـ DR و الـ BDR فتتواصل معهم على العنوان 224.0.0.6 .
يعتبر الراوتر الذي يقوم بتفعيل الـ OSPF أولاً هو الـ DR والراوتر الذي يليه في تفعيل الـ OSPF هو الـ BDR عند بداية تشغيل الـ OSPF في هذا النوع من الشبكات .. بغض النظر عن الخطوات التي لا يتم تطبيقها إلا عندما تكون جميع الراوترات مفعلة لبروتوكول الـ OSPF .
القيمة الافتراضية للـ OSPF Priority هي 1
والصفر معناه هنا بأن هذا الراوتر لا يمكن له بأن يكون DR ولا BDR (دائما يكون DRother) . ويمكن الإستفادة من هذه المعلومة في إخراج بعض الراوترات (غالباً تكون الراوترات ذات الأداء الضعيف أو القديمة نسبياً) من عملية الانتخابات .
خطوات انتخاب ال Dr&BDr
أولاً : Highest OSPF Priority
R(Config)#ip ospf priority value
(Default = 1)
ثانياً : Highest Router-ID
الراوتر والذي له أعلى قيمة للـ Router-ID .
الفائز بالانتخابات هو الـ DR والذي يليه حسب المعايير المذكورة هو الـ BDR .. والـ BDR ما هو إلا نقطة احتياطية (راوتر احتياطي) يقوم بمهام الـ DR في حال حصول خلل ما بالـ DR .