نستخدم في حياتنا اليومية الكثير من الوحدات لقياس المسافة، مثل المتر، والبوصة، والياردة، وغيرها. بالنسبة للشبكات المعلوماتية – وخصوصًا عندما يتعلّق الأمر ببروتوكول OSPF - فإنّ وحدة القياس المستخدَمة هي الكلفة أو التكلفة (Cost). عندما نتحدّث عن وحدة القياس في إطار بروتوكول OSPF فإن المقصود هو التكلفة.
تكلفة المسار
يحتفظ كلّ موجِّه عامل ببروتوكول OSPF بتكلفة المسارات إلى كلّ واحدة من الوِجهات التي يمكنه الوصول إليها. يعتمد حساب التكلفة مبدئيًّا على سرعة التراسل الشبكي (Bandwidth) المتوفّرة، فإذا كانت السرعة عالية تكون التكلفة أقل، أما إذا كانت السرعة منخفضة فإن التكلفة تصبح أقل؛ أي أن التناسب عكسي. تجمع خوارزمية OSPF تكاليف التراسل عبر جميع الروابط في مسار معيَّن للحصول على التكلفة النهائية للمسار، ثم يوازن بين تكاليف المسارات لاختيار الأقل تكلفة.
تُحسَب التكلفة انطلاقًا من ما يُعرَف بالتراسل الشبكي المرجعي (Reference bandwidth)، الذي تساوي قيمته المبدئية 100 Mbps (بطاقة Fast Ethernet). تُقسَّم قيمة سرعة التراسل الشبكي بالنسبة لرابط معيَّن على القيمة المرجعية الآنفة الذكر للحصول على تكلفة الرابط؛ أي أن تكلفة رابط بسرعة 100 Mbps تبلغ 1
.
يجب الانتباه إلى أن القيمة 1
هي أدنى قيمة للتكلفة بالنسبة لبروتوكول OSPF، كما أن القيمة عدد صحيح دائمًا، بمعنى أنها لا تحوي أي فاصلة. يعني ذلك أننا أمام إشكالية بالنسبة للروابط التي تزيد سرعتها عن 100 Mbps، فسرعات مثل 10 Gbps و40 Gbps تفوق كثيرًا 100 Mbps، إلّا أن تكلفتها بحساب القيمة المرجعية للتراسل الشبكي ستكون 1
، وبالتالي تتساوى في التكلفة مع 100 Mbps رغم أنها أسرع منها بمئة مرة أو أكثر.
ضبط طريق حساب التكلفة
توجد طريقتان لمعالجة الإشكالية المذكورة أعلاه. الطريقة الأولى هي تحديد التكلفة مباشرة بالنسبة لكل بطاقة شبكة على الموجِّه بالأمر ip ospf cost
؛ أما الطريقة الثانية – وهي الأفضل – فتتمثل في تغيير القيمة المرجعية للتراسل الشبكي. يُفضَّل أن تأخذ القيمة المرجعية بالحسبان سرعة الروابط المتوفرة في الشبكة بحيث تكون القيمة الدنيا للتكلفة (أي 1
) من نصيب الروابط ذات السرعات العالية. تجدر الإشارة إلى أنّه يمكن أن تكون لكل موجِّه قيمة مرجعية خاصة به، إلا أنه يُنصَح باستخدام القيمة المرجعية نفسها في عموم الشبكة.
يُستخدَم الأمر auto-cost reference-bandwidth
لتعيين قيمة التراسل الشبكي المرجعي (بالميغابت في الثانية Mbps):
Router# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)# router ospf 100 Router(config-router)# auto-cost reference-bandwidth 1000 % OSPF: Reference bandwidth is changed. Please ensure reference bandwidth is consistent across all routers.
آلية اختيار معرِّف الموجِّه
يدخُل معرِّف الموجِّه في الكثير من الاستخدامات، ممّا يجعل ثباته وتوقّع قيمته أمرًا أساسيًَّا، غير أنّ الطريقة المبدئية لتعيينه تجعله قيمته قابلة للتغير من إعادة تشغيل إلى أخرى.
يُختار معرّف الموجِّه أثناء بدء عمل بروتوكول OSPF. يعتمد البروتوكول على عناوين IP البطاقات لحساب المعرِّف. يبدأ الموجِّه الذي يشغِّل OSPF بالنظر في بطاقات الشبكة الفيزيائية (Physical interfaces) وينظُر في حالة البطاقة، فإذا كانت up/up
فهي مؤهَّلة لأن يدخل عنوانها في عملية الاختيار، أما إذا كانت حالتها up/down
أو down/down
أو مُعطَّلة فلا تؤخَذ بالحسبان. إذا كانت بطاقة واحدة في وضع العمل (up/up
) فسيختار البروتوكول عنوانها لحساب المعرِّف، أما إذا كان عدد البطاقات العاملة أكثر فسيُختار عنوان البطاقة الأكبر عدديًا، حيث توازن عناوين IP من اليسار إلى اليمين. عنوان يبدأ – مثلًا – بـ 192
أكبر من عنوان يبدأ بـ 10
، فإذا كان الجزء الأول متساويًّا بين عنوانين ننتقل إلى الجزء الثاني، ثم إلى الجزء الثالث وهكذا. العنوان 192.168.2.110
- مثلًا - أكبر من 192.168.2.100
.
يمكن أن نلاحظ أن طريقة الاختيار المبدئية للبطاقة والعنوان الذين سيعتمد عليهما حساب المعرِّف لا تضمن استقرار معرِّفات الموجِّهات، إذ يمكن أن تتغير بعد إعادة التشغيل إذا تغيرت حالة بطاقات الشبكة. توجد طريقتان لضمان استقرار معرِّف الموجِّه حتى بعد إعادة التشغيل.
تحديد قيمة المعرِّف يدويّا
تتمثل الطريقة الأولى في تحديد معرِّف الموجِّه يدويّا بالأمر router-id
كما في المثال التالي:
RouterX(config)# router ospf 100 RouterX(config-router)# router-id 10.2.2.2 RouterX(config-router)# end RouterX# copy running-config startup-config RouterX# clear ip ospf process
استخدام بطاقات الاسترجاع (Loopback interfaces)
تستخدم الطريقة الثانية ما يُعرَف ببطاقات الاسترجاع، وهي بطاقات شبكة برمجية افتراضية (غير فيزيائية) توجد على الموجِّهات، ومُعدَّة لمحاكاة بطاقة شبكة فيزائية. تُستخدَم بطاقات الاسترجاع لأغراض عدّة مثل إدارة الموجِّه ومحاكاة الاتصال بشبكة معيَّنة. تتميّز بطاقة الاسترجاع – على افتراض تفعيلها - بكونها دائمًا على وضع التشغيل، إذ أنها تبدأ في العمل فور تشغيل الموجِّه، وهو ما يعني أنها تتمتع بالاستقرار، عكس البطاقات الملموسة.
ماذا لو كانت لدينا بطاقات استرجاع عدة؟ في هذه الحالة يطبِّق بروتوكول OSPF المبدأ نفسه الذي يتبعه عند الاختيار بين بطاقات ملموسة عدّة، أي عنوان البطاقة الأكبر.
الخلاصة بخصوص معرّف الموجِّه هي أنه سيكون العنوان الأكبر من بين عناوين بطاقات الشبكة الملموسة، إلّا إذا ضُبطت إعدادات بطاقات الاسترجاع، وحينها سيكون معرِّف الموجِّه هو العنوان الأكبر بين عناوين بطاقات الاسترجاع.
يُستخدَم الأمر interface
لإعداد بطاقات الاسترجاع، كما في المثال التالي:
R1# configure terminal R1(config)# interface loopback 0 R1(config-if)# ip address 1.1.1.1 255.0.0.0 R1(config-if)# ip ospf 100 area 0 R1(config-if)# exit R1(config)
ترجمة – وبتصرف – للمقال SPF Algorithm and OSPF Router ID
أفضل التعليقات
لا توجد أية تعليقات بعد
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.