يقوم بروتوكول OSPF بالتعرف على اجهزة “الموجه” (Router) المحيطة به ويقوم بجمع بيانات عنها وأنشاء علاقات معها و يقوم بإنتخاب او اختيار الجهاز المخصص DR و الجهاز المخصص الاحتياطي BDR إذا احتاج لذلك و يحدد أي من هذه الاجهزة سيقوم بتبادل البيانات معه في المرحلة التالية و أي منها لن يقوم بذلك , و يسجل هذه البيانات في جدول “الجيرة”
(Neighbors Table).
و تسمى عملية جمع بيانات عن الجيرة بعملية اكتشاف الجيرة Neighbor Discovery , و تخضع هذه العملية لعدة ضوابط .
يقوم بروتوكول OSPF بإختيار جهاز “الموجهة المخصص” (DR) في انواع معينة من الشبكات و لا يقوم بإختياره في انواع اخرى و ذلك حسب حاجة البروتوكول, و أنواع الشبكات التي يتعامل معها البروتوكول هي كالتالي:-
-
Broadcast multi-access
-
Non broadcast multi-access
-
Point to point
-
Point to multi point
الشبكة الفرعية التي تحتوي على مجموعة اجهزة “موجه” (Router) تستطيع جميعها إرسال البيانات لنفس الشبكة الفرعية ستحتاج لجهاز مخصص لينظم عملية جمع البيانات و إرسالها بين هذه الأجهزة,و تسمى هذه الشبكات بالشبكات ذات الوصول المتعدد Multi-Access.
و لذلك يقوم البروتوكول باختيار الجهاز المخصص في الشبكات من النوع:-
-
Broadcast multi-access
-
Non broadcast multi-access
الشبكة الفرعية التي تحتوي على جهازين “موجه” (Router) فقط فسيستطيع الجهازان تبادل البيانات بينهما بسهولة و لا حاجة لانتخاب جهاز مخصص(DR) لينظم عملية جمع البيانات هنا, و تسمى هذه الشبكات بشبكات نقطة الى نقطة, Point-To-Point.
و لذلك لا يقوم البروتوكول باختيار الجهاز المخصص في الشبكات من النوع:-
-
Point to point
-
Point to multi point
اختيار الجهاز المخصص
يقوم بروتوكول (OSPF) باختيار “الموجه المخصص” (Designated Router) , و “الموجه المخصص الاحتياطي” (Backup Designated Router) وفقاً لقيمة خاصية معينة في جهاز “الموجه” (Router) تسمى “الاولوية” (Priority), فالجهاز الذي لديه قيمة “اولوية” الاكبر سيتم اختياره ليكون الجهاز المخصص , و الجهاز الذي لديه قيمة ثاني اكبر اولوية سيتم اختياره ليكون الجهاز المخصص الاحتياطي.
الاولوية (Priority)هي خاصية من خصائص منافذ جهاز “الموجه” (Router) تحدد اهمية او اولوية الجهاز في الشبكات المتصلة بهذه المنافذ.
تتراوح قيمة الاولوية بين 0 و 255, و القيمة الإفتراضية لها هي 1.
و اذا تساوت قيمة الاولوية بين الاجهزة , سيتم اختيار الجهاز المخصص DR و الجهاز المخصص الاحتياطيBR وفقاً لقيمة تعرف بـ “معرف الموجه” (Router ID), فالجهاز الذي لديه قيمة “معرف الموجه” الاكبر سيتم اختياره ليكون الجهاز المخصص ,و الجهاز الذي لديه قيمة ثاني اكبر “معرف موجه” سيتم اختياره ليكون الجهاز المخصص الاحتياطي.
و معرف الموجه (Router Identifier) هي خاصية يحملها جهاز “الموجه” (Router) و تمثل تعريف مميز له يميزه عن باقي اجهزة “الموجه” (Router) الاخرى.
يتكون معرف الموجه من 32 Bits بالنظام الثنائي (Binary) ,و عند كتابته بالنظام العشري يظهر في شكل عدد مقسم الى اربع مجموعات بشكل مشابه تماماً لعنوان IP من الاصدار الرابع IPv4.
مثال على ذلك المعرف : 111.222.333.444
يستخدم بروتوكول (OSPF) معرف الموجه RID ليتخاطب مع اجهزة “الموجه” (Router) الاخرى , و يستخدمه ايضاً في عملية انتخاب الجهاز المخصص و الجهاز المخصص الإحتياطي في حالة تساوت قيمة الاولوية بين الاجهزة.
عند بدأ تفعيل بروتوكول (OSPF) يقوم البروتوكول بالحصول على “معرف الموجه” (RID)الخاص به بثلاثة طرق:-
-
باستخدام امرRouter –ID.
-
باستخدام عنوان IPv4 الخاص باحد المنافذ الوهمية LoopBack في حالة التشغيل Up.
-
باستخدام عنوان IPv4 الخاص باحد المنافذ الحقيقية في حالة التشغيل UP.
مثال
في الشبكة الموضحة في الصورة.
نلاحظ ان جميع اجهزة “الموجه” (Router) لها نفس قيمة “الاولوية” , بالتالي سيتم اختيار جهاز الموجه المخصص وفقا لقيمة معرف الموجه .
و بما ان جهاز “الموجه1” (Router1) هو صاحب اكبر قيمة معرف الموجه لذلك سيتم انتخابه ليكون الجهاز المخصص , و سيتم انتخاب الجهاز “الموجه2” (Router2) ليكون الجهاز “الموجه المخصص الاحتياطي” (BDR).
خطوات اكتشاف الجيرة
تبدأ عملية اكتشاف الجيرة بان يقوم جهاز “الموجه” (Router) بإرسال رسالة تعرف برسالة الترحيب Hello Message الى الجهاز في الطرف الاخر , و يخبره فيها عن المعرف الخاص به (RID) ,و عن قيمة الاولوية (Priority) و عن المنطقة (Area) التي ينتمي إليها , و عن خيارات الحماية التي يستخدها , و بعض المعلومات الاخرى.
عندما تصل هذه الرسالة الى “الموجه2” (Router2) يقوم بفحص المعلومات المسجلة فيها و يقارنها بالمعلومات الخاص به, فإذا تساوت قيم المنطقة و بعض القيم الاخرى مع القيم الخاصة به سيوافق على إنشاء العلاقة , و سيقوم بالرد برسالة ترحيب و يقوم كذلك بتسجيل هذا الجهاز في جدول الجيرة لديه.
و عندما تصل هذه الرسالة الى جهاز “الموجه1” (Router1) , سيقوم بفحص المعلومات المسجلة بها و يتأكد من موافقة الجهاز في الطرف الاخر على أنشاء العلاقة, ثم يرد برسالة ترحيب اخرى ليخبره انه ايضا وافق على أنشاء العلاقة و يقوم بتسجيل هذا الجهاز في جدول الجيرة لديه.
خطوات انتخاب الجهاز المخصص
تبدأ عملية اكتشاف الجيرة و إنتخاب الجهاز المخصص DR و الجهاز المخصص الاحتياطي BDR بان يقوم جهاز “الموجه” (Router) بإرسال رسالة ترحيب الى الجهاز في الطرف الاخر , و يخبره فيها عن المعرف الخاص به (RID) ,و عن قيمة الاولوية (Priority) و عن المنطقة (Area) التي ينتمي إليها , و عن خيارات الحماية التي يستخدها , و بعض المعلومات الاخرى.
كما سيذكر ايضا معرف الجهاز المخصصDR و معرف الجهاز المخصص الاحتياطيBDR في رسالة الترحيب هذه , و بالطبع في هذه الحالة قبل انتخاب الجهاز المخصص و الجهاز المخصص الاحتياطي سيفترض الجهاز انه هو الجهاز المخصص في الشبكة , و سيذكر هذا في رسالة الترحيب التي يرسلها.
و نلاحظ انه في البداية يفترض كل جهاز “موجه” (Router) انه هو الجهاز المخصص و انه لا يوجد جهاز مخصص احتياطي و يخبر الاجهزة الاخرى بذلك الى ان يتم انتخاب الجهاز المناسب.
عندما تصل هذه الرسالة الى الجهاز الاخر (و في مثالنا هذا جهاز “الموجه2” (Router2)) سيقوم بفحص المعلومات المسجلة فيها , و يقارنها بالمعلومات الخاص به, فإذا تساوت قيم المنطقة و بعض القيم الاخرى مع القيم الخاصة به , سيوافق على إنشاء العلاقة, و بما ان الشبكة تحتاج لإنتخاب جهاز مخصص لذلك سيقوم بفحص قيمة الاولوية (Priority) الخاصة بالجهاز المخصص المسجلة في هذه الرسالة و يقارنها بقيمة الاولوية الخاصة به.
فإذا وجد ان قيمة الاولوية الخاص به افضل (أي قيمتها اكبر و قيمة الاولوية الاكبر هي الأفضل في نظر بروتوكول (OSPF) ), سيرسل رسالة ترحيب الى “الموجه1” (Router1) الذي ارسل هذه الرسالة , و يخبره ان لديه قيمة اولوية افضل منه , لذلك سيكون هو “الجهاز المخصص” (RD) في الشبكة و سيكون الجهاز في الطرف الاخر هو الجهاز المخصص الأحتياطي (BRD).
و عندما تصل هذه الرسالة الى جهاز “الموجه1” (Router1) الاول , سيقوم بفحص المعلومات المسجلة بها , و يقارنها بالمعلومات الخاص به و يتأكد من موافقة الجهاز في الطرف الاخر على أنشاء علاقة جيرة معه , و سيوافق على كون الجهاز الاخر هو الجهاز المخصص لانه لديه قيمة اولوية افضل , ثم يرد برسالة ترحيب اخرى ليخبره انه ايضا وافق على أنشاء علاقة جيرة معه و يقوم بتسجيل هذا الجهاز في جدول الجيرة لديه.
ثم يقوم الجهاز بإرسال رسالة ترحيب الى أي جهاز “موجه” (Router) اخر في الشبكة الفرعية , و يسجل في هذه الرسالة معرف الموجه المخصص الذي تم اختياره للتو و معرف الموجه المخصص الاحتياطي مع المعلومات الاخرى ( المعرف الخاص به (RID) ,و قيمة الاولوية (Priority) و المنطقة (Area) التي ينتمي إليها , و خيارات الحماية التي يستخدمها…. الخ)
و بعد ان تصل رسائل الترحيب الى جميع اجهزة “الموجه” (Router) في الشبكة الفرعية و تتعرف جميعها على بعضها البعض و توافق على أنشاء العلاقات معاً و على نتيجة الانتخابات و يقوم كل جهاز بتسجيل معرفات الاجهزة الاخرى في جدول الجيرة لديه , تكون عملية جمع البيانات عن الجيرة او اكتشاف الجيرة و عملية الإنتخابات و إنشاء العلاقات قد انجزت.
مراقبة العلاقة مع الجيرة
بعد اجراء عملية اكتشاف الجيرة تستمر اجهزة “الموجه” (Router) بتبادل رسائل الترحيب (Hello Message) كل فترة معينة تسمى فترة رسالة الترحيب (Hello Message Interval) او (Hello Interval) او (Hello Timer), و الغرض من هذا التبادل هو مراقبة العلاقة بين الاجهزة و ملاحظة أي عطل او تغيير يحدث لاحد هذه الاجهزة ,و التأكد من ان نتيجة عملية اكتشاف الجيرة و إنشاء العلاقة و الإنتخابات التي تمت مازالت سارية و فعالة.
زمن رسالة الترحيب Hello Interval
في الشبكات من النوع :-
-
Broadcast multi-access
-
Point-to-Point
يقوم بروتوكول (OSPF) بإرسال رسالة الترحيب (Hello Message) كل 10 ثواني.
و في الشبكات من النوع:-
-
Non Broadcast Multi-Access
-
Point-to-Multi-point
يقوم بروتوكول (OSPF) بإرسال رسالة الترحيب (Hello Message) كل 30 ثانية.
العنوان المستخدم
في الشبكات من النوع الذي يدعم (Broadcast) يتم إرسال رسالة الترحيب بشكل (Multicast)باستخدام العنوان IPv4 التالي:-
224.0.0.5
او العنوان IPv6 التالي:-
FF02::5
و في الشبكات من النوع الذي لايدعم (Broadcast)يتم إرسال رسالة الترحيب بشكل (Unicast)الى الجهاز الاخر مباشرة باستخدام عنوانIP الخاص به الذي يخبره به مهندس الشبكة مسبقا.
التصرف في حالة حدوث تغير في الإعدادات
اذا تم إنشاء علاقة بين جهازين ثم حدث تغيير في إعدادات احد الاجهزة ( كأن قام مهندس الشبكة بتغيير رقم المنطقة او اي من الإعدادات الهامة الاخرى التي يستخدمها البروتوكول لإنشاء العلاقة) و استقبل الجهاز الاخررسالة من هذا الجهاز و وجد ان الإعداداتقد تغيرت, فسيقوم بحذف العلاقة التي تربطه بهذا الجهاز و مسحه من جدول الجيرة لديه , و سيقوم كذلك بمسح اي بيانات قد تلقاها من هذا الجهاز.
العمر الأقصى لرسالة الترحيب Dead Interval
إذا لم يستلم الجهاز رسالة الترحيب من الجهاز الاخر في وقتها المحدد سينتظر فترة زمنية معينة و إذا انتهت هذه الفترة و لم يستلم أي رسالة من الطرف الاخر سيعتبر ان هذا الجهاز قد تعطل او تعطلت الوصلة التي تصل إليه لذلك سيقوم بحذف العلاقة التي تربطه بهذا الجهاز و مسحه من جدول الجيرة لديه و سيقوم كذلك بمسح أي بيانات قد تلقاها منه.
تسمى هذه الفترة الزمنية بالزمن الاقصى او العمر الاقصى لرسالة الترحيب (Dead interval) او (Dead Timer) وهي تساوي اربع اضعاف زمن رسالة الترحيب.
الزمن الاقصى لرسالة الترحيب (Dade Interval) في الشبكات من النوع Broadcast و Point to point تساوي:-
10X4=40 ثانية.
و في الشبكات من النوع Non Broadcast و Point to Multi-point تساوي:-
30X4=120 ثانية.
محتويات رسالة الترحيبHello Message
تحتوي رسالة الترحيب على العديد من المعلومات الهامة التي تتبادلها اجهزة “الموجه” (Router) , و تستخدمها لإكتشاف الجيرة و التعرف على بعضها البعض و لانتخاب الجهاز المخصص اذا احتاجت لذلك و لمراقبة حالة الجيرة ايضا بعد ذلك.
من اهم هذه المعلومات:-
-
معرف جهاز الموجه (RID) المرسل.
-
الاولوية (Priority) .
-
المنطقة (Area)
-
معرف الجهاز المخصص
-
معرف الجهاز المخصص الاحتياطي
-
قائمة بمعرفات الاجهزة التي تم انشاء علاقة معها.
-
زمن رسالة الترحيب Hello Interval
-
الزمن الاقصى لرسالة الترحيب Dead Interval
-
خيارات الحماية .
شروط إنشاء العلاقة
ليتم إنشاء علاقة بين اجهزة “الموجه” (Router) باستخدام بروتوكول (OSPF) يجب ان تتحقق الشروط التالية:-
-
يجب ان يستخدم كلا الجهازين بروتوكول OSPF.
-
يجب ان يكون كلا الجهازين في نفس المنطقة Area.
-
يجب ان يكون عنوان IP كلا منفذي الجهازين في نفس الشبكة الفرعية.
-
يجب ان تكون قيم الازمنة (Hello Interval) و (Dead Interval) متساوية.
-
يجب ان يكون لكل جهاز معرف خاص به (Router ID).
-
في حالة استخدام خيارات الامن والحماية يجب ان يتساوى نوع التشفير و كلمة المرور في كلا الجهازين .
فإذا لم تتحقق احدى هذه الشروط فلن يتم إنشاء علاقة بين الجهازين.