اذهب إلى المحتوى

حساب تكلفة المسارات واختيار معرِّف الموجِّه في بروتوكول OSPF


محمد أحمد العيل

نستخدم في حياتنا اليومية الكثير من الوحدات لقياس المسافة، مثل المتر، والبوصة، والياردة، وغيرها. بالنسبة للشبكات المعلوماتية – وخصوصًا عندما يتعلّق الأمر ببروتوكول OSPF - فإنّ وحدة القياس المستخدَمة هي الكلفة أو التكلفة (Cost). عندما نتحدّث عن وحدة القياس في إطار بروتوكول OSPF فإن المقصود هو التكلفة.

تكلفة المسار

يحتفظ كلّ موجِّه عامل ببروتوكول OSPF بتكلفة المسارات إلى كلّ واحدة من الوِجهات التي يمكنه الوصول إليها. يعتمد حساب التكلفة مبدئيًّا على سرعة التراسل الشبكي (Bandwidth) المتوفّرة، فإذا كانت السرعة عالية تكون التكلفة أقل، أما إذا كانت السرعة منخفضة فإن التكلفة تصبح أقل؛ أي أن التناسب عكسي. تجمع خوارزمية OSPF تكاليف التراسل عبر جميع الروابط في مسار معيَّن للحصول على التكلفة النهائية للمسار، ثم يوازن بين تكاليف المسارات لاختيار الأقل تكلفة.

01-path_cost.jpg

تُحسَب التكلفة انطلاقًا من ما يُعرَف بالتراسل الشبكي المرجعي (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


تفاعل الأعضاء

أفضل التعليقات

لا توجد أية تعليقات بعد



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...