بروتوكول التوجيه الداخلي المحسن بين البوابات | |
---|---|
ترويسة البروتوكول
| |
اختصار | EIGRP |
الوظيفة | بروتوكول توجيه داخليّ |
المُطوِّر | شركة سيسكو |
تاريخ التطوير | 1993[1] |
تأثَّر بـ | بروتوكول التوجيه الداخلي بين البوابات (IGRP) |
طبقة نموذج OSI | طبقة الشبكة[2] |
وثيقة طلب التعليقات RFC | RFC 7868[3] |
تعديل مصدري - تعديل |
بروتوكول التوجيه الداخلي المحسن بين البوابات[4] أو بروتوكول بوابة التوجيه الداخلية المعززة[5] (بالإنجليزية: Enhanced Interior Gateway Routing Protocol اختصاراً EIGRP) هو بروتوكول توجيه، داخلي، هجين، غير قياسي يعمل في طبقة الشبكة من نموذج الربط البيني للأنظمة المفتوحة. في الأصل، تمّ تصميم البروتوكول ليكون مُلكية خاصّة لشركة سيسكو، وليعمل فقط على موجهاتها، ولكنّه تحوّل لاحقاً بشكل جزئي إلى بروتوكول مفتوح المصدر في العام 2013م، ثمّ نُشرت وثيقة طلب تعليقات خاصّة به فيه العام 2016، هي الوثيقة RFC 7868.[3]
جاء تطوير بروتوكول التوجيه الداخلي المُحسن بين البوابات ليحل محل بروتوكول التوجيه الداخلي بين البوابات [الإنجليزية]. لقد كان الدافع الأساسي لهذا التطوير هو محدوديّة الأخير وعدم قدرته على مواكبة تطوّر الشبكات، يتميز البروتوكول بسرعة إنجازه لعملية حساب خالية من الحلقات [الإنجليزية] وببساطة آليّة عمله العامة رغم اعتماده على خوارزمية شديدة التعقيد.
بروتوكول التوجيه الداخلي المحسن بين البوابات هو بروتوكول توجيه داخلي، هجين، غير قياسي، طُوّر من قبل شركة أنظمة سيسكو في العام 1994، ليحلّ محل بروتوكول التوجيه الداخلي بين البوابات [الإنجليزية]. في الأصل كان البروتوكول ملكية خاصّة، لكن سيسكو جعلت منه معياراً مُتاحاً للاستخدام العام،[6] وهو موصوف في وثيقة طلب التعليقات RFC 7868.[3] يمكن لبروتوكول التوجيه المُحسّن أن يُوجِّه رزم الإصدار الرابع من بروتوكول الإنترنت،[7] والإصدار السادس ،[8] وبروتوكول تبادل الرزم [الإنجليزية][9] وبروتوكول آبل توك [الإنجليزية].
يُشغَّل البروتوكول في كل موجه بشكلٍ مُنفصل، وبعد تشغيله، يصبح المُوجّه عضواً في مجموعة كل الموجّهات التي تُشغّل بروتوكول التوجيه المُحسّن، ويبدأ عندها باستقبال رسائل التعارف من المُوجّهات الأخرى التي تشغل البروتوكول والتي تسمى جيراناً. رسائل التعارف، وهي رسائل بث مجموعاتي، تُرسل إلى العنوان 224.0.0.10 من أجل الإصدار الرابع من بروتوكول الإنترنت،[10] وإلى العنوان FF02::A من أجل الإصدار السادس،[11] وفي كلا الحالتين، فإن هذا العنوان هو عنوان مجموعة كل المُوجّهات التي تُشغّل بروتوكول التوجيه المُحسن. بعد ذلك، يتمّ تبادل المعلومات التي تخصّ الطوبولوجيا، ثم حساب أفضل المسارات نحو الوجهات وأخيراً إضافة هذه المسارات إلى جدول التوجيه لاستخدامها في توجيه رزم البيانات.
يتميّز بروتوكول التوجيه المُحسّن بعدد من الميزات، أهمها سرعة عملية إعادة الحساب، فهو الأسرع من بين بروتوكولات التوجيه إذا تمّ استعمال كامل ميزاته، بالإضافة إلى عدم استهلاكه لعرض النطاق المُتاح في الشبكة من أجل تبادل معلومات التوجيه، فباستثناء عملية التبادل التي تحصل عند التعارف، فإنّ العقد التي تشغّل هذا البروتوكول لا تتبادل كامل معلومات التوجيه بعد ذلك مطلقاً، بل تكتفي بتبادل المعلومات المُتعلقة بالتغيرات الحاصلة في الطوبولوجيا، ويكون هذا التبادل محدوداً ولا يشمل كامل الشبكة.[12] بالإضافة لذلك، فمن السهل تشغيل البروتوكول وتقديم الدعم الفني له، ولكن الاستفادة من كامل ميزاته، تتطلب تصميماً دقيقاً للشبكة، وفهماً لخوارزمية العمل المُعقّدة، وكيفية حساب الأوزان وآليّة انتشار التحديثات.
منذ منتصف الثمانينات، ولإنجاز التوجيه، اعتمدت شركة سيسكو على بروتوكولها الخاصّ، وهو بروتوكول التوجيه الداخلي بين البوابات [الإنجليزية]، الذي أبدى تفوقاً ملحوظاً على بروتوكول معلومات التوجيه المُسيطر في تلك الفترة، لكنّ بروتوكول التوجيه الداخلي بين البوابات عانى من عدد من العيوب والسلبيات، أهمها محدودية طول المسار، واستهلاكه لعرض النطاق من خلال حاجته الدائمة لإرسال كامل معلومات التوجيه، بالإضافة لكونه بروتوكول توجيه قياسي لا يدعم تجزئة الشبكات بل يكتفي بدعم الأصناف القياسيّة فقط، مع عملية إعادة حساب طويلة وبطيئة،[13] لذلك تطلّعت سيسكو إلى تطوير بروتوكول توجيه جديد يُلائم احتياجاتها.
كان تطوير خوارمية نشر التحديثات [الإنجليزية] في عام 1993م [14] هو النقطة الأساسية التي ارتكزت عليها عملية تطوير البروتوكول. بعد ذلك، وفي نفس العام، تمّ تطوير بروتوكول التوجيه المُحسّن بشكلٍ نهائيّ كملكيّة خاصة لشركة سيسكو، وفي العام التالي طُرحت ورقة بحثيّة من قبل المُطورين لخّصت آليّة عمله وميزاته.[1]
في مطلع العام 2013، أوضحت سيسكو رغبتها في جعل البروتوكول مُتاحاً للاستخدام العام،[15] وبالتوازي مع ذلك، وفي شهر فبراير من نفس العام، طرحت سيسكو بالتعاون مع جمعية الإنترنت أول مسودة لمعيار مفتوح لبروتوكول التوجيه المُحسّن،[16] واستغرق العمل 3 سنوات أخرى، مع مشاركة من أطراف أخرى من شركة كومولوس للشبكات [الإنجليزية] ولينكد إن وجامعة زيلينا في سلوفاكيا، وطُرحَت المسودة الأخيرة التي حملت الرقم 5 في 23 فبراير من العام 2016م،[17] بعد ذلك بشهرين، وبالتحديد في شهر مايو، طُرح المعيار الرسمي للبروتكول في وثيقة طلب تعليقات من صنف المعلومات، حملت الرقم (RFC 7868).[3]
يعتمد بروتوكول التوجيه المُحسن على تقنية شعاع المسافة، ولكن لديه شكل خاص مُطوّر من الخوارزمية الأساسية، بالإضافة لاعتماده على معادلة خاصة لحساب وزن المسار، آخذاً بالحسبان كلاً من زمن التأخير والوثوقية وعرض النطاق والحمولة. يعتمد البروتوكول على مفاهيم خاصّة مثل شرط الملائمة والوارث المُلائم من أجل تحقيق عملية إعادة حساب سريعة.
يعمل بروتوكول التوجيه المُحسّن على بناء جدول التوجيه والحفاظ عليه بأحدث صورة مُمكنة، كما يتميز بإجرائه عملية إعادة حساب سريعة وبدون تشكّل حلقات. من حيث فلسفة التصميم، فإنّ هذا البروتوكول يعمل وفق خوارزمية مُشابهة لخوارزمية شعاع المسافة، من حيث الشكل، ولكن هناك العديد من الاختلافات من حيث المضمون.
بعد تفعيل البروتكول على منافذ الموجه، يبدأ المُوجّه باكتشاف جيرانه أولاً، والجار هو مُوجّه آخر يُشغّل البروتوكول ويقع على بعد قفزة واحدة فقط، ثم يُنشئ البروتوكول الذي يعمل في كلا الموجهين علاقة جيران تربطهما، ويتمّ الحفاظ على فعاليّة هذه العلاقة من خلال تبادل نوع خاص من الرسائل يسمى رسائل التعارف. يحتفظ كل مُوجّه بجدول خاصّ يضمّ المعلومات الخاصّة بالجيران المُتصلين معه، وبالعلاقات معهم ويُسمى هذا الجدول بجدول الجيران.
بعد إنشاء علاقات الجيران، يقوم المُوجّه الذي تم تفعيل البروتوكول فيه، بإرسال المعلومات التي ترتبط بالشبكات المُتصلة معه بشكل مباشر إلى جيرانه، بالإضافة لاستقباله معلومات التوجيه الخاصة بالطوبولوجيا منهم، ولا يتمّ بعد ذلك تبادل كامل معلومات التوجيه بين الجيران أبداً، وتقتصر المعلومات المُتبادلة فقط على التغيرات الحاصلة في الطوبولوجيا.
بعد ذلك يقوم الموجه بتجميع المعلومات التي استقبلها في جدول خاص هو جدول الطوبولوجيا، ويضمّ هذا الجدول بنوداً يُمثل كل منها وجهة ما في الشبكة. إنّ المعلومات الموجودة في هذا الجدول لا تقدّم وصفاً دقيقاً مُتكاملاً لكامل الطوبولوجيا، وهي عبارة عن توصيف لمسارات فيها، وهي تشمل التأخير الكلي الحاصل على طول المسار، وأدنى عرض نطاق خاص بوصلة من بين الوصلات التي تُشكّل المسار، بالإضافة للوزن المنقول الخاص بالمسار، وغير ذلك.
من حيث المبدأ، يزداد وزن المسار مع زيادة طوله، ويزداد طول المسار من خلال إضافة وصلات جديدة إليه. من أجل كل مسار، يملك المُوجّه وزناً خاصّاً، بالإضافة لمعرفته للموجّه الذي يُمثّل الخطوة التالية في المسار، والذي يُسمى الوارث بحسب مصطلحات البروتوكول، في هذا فإنّ البروتوكول يسلك سلوك بروتوكول عامل بخوارزمية شعاع المسافة، لكنّ في نفس الوقت، فإنه يحتفظ بمعلومات تخصّ الطوبولوجيا مثل زمن التأخير وعرض النطاق الأدنى في وصلات المسار، وهو بذلك يسلك سلوك بروتوكول عامل بخوزازمية حالة الوصلة من حيث تجميعه لمعلومات تصفّ الطوبولوجيا، على أي حال، فإن هذا البروتوكول لا ينتمي إلى أي من المجموعتين، وغالباً ما يُوصف بأنّه بروتوكول هجين (Hybrid)،[18] أو بأنّه بروتوكول توجيه عامل بخوارزميّة شُعاع المسافة المُطوّرة (Advanced Distance-Vector).[19][20]
بعد اكتمال عملية تبادل المعلومات، يتمّ تطبيق معادلة خاصة لحساب وزن كل مسار، ويُضاف هذا الوزن إلى جدول الطوبولوجيا، لحساب الوزن الخاص بكل مسار، يستخدم: عرض الحزمة الأدنى على طول المسار، وزمن التأخير الكلي، وقيمة الوثوقية الدنيا على طول المسار، ونسبة الحمولة العليا على طول المسار ونسبة الوثوقية الدُنيا على طول المسار، ويُسمّى الوزن عندها وزناً تقليدياً. بالإمكان إضافة مُعاملات أخرى لحساب الوزن، مثل عدد القفزات ووحدة النقل العظمى (MTU) و تقلقل الإرسال والطاقة، ويسمى الوزن عندها بالوزن المُوسّع.
من أجل كل مسار، يحتفظ الموجه بوزنين هما الوزن المنقول وهو الوزن كما ورد من الجار الذي أعلن عنه، والثاني هو الوزن المحسوب، هو الوزن بعد إنجاز عملية الحساب. يتمّ ترتيب بنود جدول الطوبولوجيا بحسب الوجهات، وقد يمتلك الموجه أكثر من مسار نحو نفس الوجهة، وفي هذه الحالة يختار البروتوكول الوزن المحسوب الأدنى ويضيفه إلى جدول التوجيه، ويسمى الجار الذي أعلن عن هذا الوزن بوارث المسار.
في حالة وجود أكثر من مسار نحو نفس الوجهة، قد يختار البرتوكول مساراً احتياطياً، ليكون مساراً بديلاً في حال فشل المسار الأصلي، ويتطلب ذلك تجاوز المسار لشرط خاص يسمى شرط المُلائمة. يسمح وجود مسار احتياطي بتسريع عملية إعادة الحساب بشكل كبير، ففي حال فشل المسار الأصلي يتمّ الانتقال بشكل مُباشر نحو المسار الاحتياطي، بدون إضاعة الوقت لإنجاز عملية حساب مسار جديد، لكن ذلك يتطلب تصميمَ الشبكة بشكلٍ دقيق للاستفادة من هذه الميزة.
عند حصول تغيير في الطوبولوجيا، يطبّق البروتوكول خوارزمية خاصة هي خوارمية نشر التحديثات [الإنجليزية]، تعمل هذه الخوارزمية على إيجاد العقد التي تأثّرت بالتغيير الحاصل، لتقوم وحدها بالقيام بعملية إعادة الحساب، عوضاً عن قيام كل عقد الشبكة بذلك، تضمن خوارزمية نشر التحديثات الحصول على أفضل مسار بدون تشكل حلقات وبأسرع وقت مُمكن من خلال تقليل عدد العقد المُشاركة في الحاسب إلى أدنى عدد ممكن.
باستثناء ذلك، فإن البروتوكول يُحافظ على علاقات الجيران فعّالة من خلال تبادل رسائل التعارف بشكلٍ دوريّ، ولا يتم أبداً تبادل أي معلومات تتعلق بالطوبولوجيا أو بالتوجيه، وتستمر هذه الحالة المُستقرة إلى حين حصول تغيير في الطوبولوجيا أو إيقاف تشغيل البروتوكول في الموجه.
شرط الملائمة (بالإنجليزية: Feasibility Condition) هو مُعيار يُستخدم للتأكّد من أن المسار لا يحتوي على حلقات. إنّ كل مُسار يُحقق شرط الملائمة هو بالتأكيد مسار خالٍ من الحلقات، ولكن ليس بالضرورة أن يحقق كل مسار خال من الحلقات شرط الملائمة، فالعلاقة ليست عكسية. يُستخدم شرط الملائمة كجزء من عمل خوارمية نشر التحديثات [الإنجليزية]، فلابد أن تحقق جميع المسارات التي ستختارها الخوارزمية هذا الشرط، يُطبق هذا الشرط عند حصول تغيير في الطوبولوجيا.
إنّ لكل مسار بحسب بروتوكول التوجيه المُحسّن ثلاث محددات أساسية، هي وجهته النهائيّة، ووزنه والخطوة التالية إليه، بعد تحديد حصول تغيّر في الطوبولوجيا يؤثّر على مسار معروف ومُستخدم نحو وجهة ما، فإنّ تجاوز شرط الملائمة هو ما يحدد حالة هذا المسار، فإذا تحقق الشرط، فإن المسار يظلّ في الحالة السلبيّة، إما إذا لم يتحقق الشرط، فيجب أن يتم نقله إلى الحالة الفعّالة، أي يجب البحث من جديد عن أفضل وزن نحو تلك الوجهة، وتحديد المُوجّه الذي يعلن عنه ليكون الخطوة التاليّة إليه.
إنّ التعاريف التاليّة أساسيّة لوصف شرط الملائمة:[21][22]
يتحقق شرط المُلائمة عندما يكون الوزن المنقول للجار المُرشح لأن يكون وارثاً مُلائماً أقل من قيمة الوزن المحسوب للوارث الحالي.[24] |
في الحالة الدراسيّة المرفقة، بُسِّطت الأرقام المعمتدة وفي الواقع هي أكبر وأكثر تعقيداً، كما عُومِلت الزيادة في الأوزان تحصل بشكل مجموع جبري وهي ليست كذلك، وكل ذلك بغرض التبسيط لبيان المفاهيم السابقة.
على سبيل المثال، إذا كان للموجه A، ثلاث جيران هم الموجهات R1 وR2 وR3، وكان الجيران الثلاثة يعلنون عن مسارٍ نحو الشبكة X، بأوزان مُختلفة، هي 10 للموجه R1، و 20 للموجه R2، و30 للموجه R3.
إن الوزن المنقول بالنسبة للموجه A عن الشبكة X هو كالتالي:
بالنسبة للموجه A فإن الموجه R1 هو الوارث للمسار نحو الشبكة (X)، لأن قيمة الوزن المحسوب هي الدنيا.
في البداية، يجب التمييز بين أنواع الرسائل الخاصّة خوارمية نشر التحديثات [الإنجليزية]، وأنواع الرسائل الخاصة ببروتوكول التوجيه المُحسن، وعادة ما يتم الخلط بين الاثنين بسبب تشابه الأسماء. تعتمد خوارزمية نشر التحديثات على 3 أنواع من الرسائل هي: رسائل التحديث والاستعلام والرد. أمّا بروتوكول التوجيه المُحسن فهو يعتمد على 5 أنواع من الرسائل، وتستخدم رسائل بروتوكول التوجيه المُحسّن من أجل نقل رسائل خوازرمية نشر التحديثات، وأيضاً لإنجاز وظائف البروتوكول الأخرى، وهي إمّا أن تكون رسائل مُنفردة أو رسائل بثّ مجموعاتي.
بحسب نموذج الإنترنت، يعمل بروتوكول التوجيه المُحسّن في طبقة الإنترنت، ويتم تغليف رسائله داخل رزم بيانات بروتوكول الشبكة، مثل الإصدار الرابع من بروتوكول الإنترنت أو الإصدار السادس، في الإصدار الرابع، تمّ حجز الرقم (88) في حقل البروتوكول لتمييز رسائل بروتوكول التوجيه المُحسّن.[25] لا يمكن تقطيع رسائل البروتوكول، لذلك فإنّه لا يقوم بتوليد رسائل ذات طول يتجاوز وحدة النقل العظمى (MTU).
إنّ الأنواع الخمسة للرسائل الخاصة بالبروتوكول هي:[3][26]
ويبين الجدول التالي معلومات تفصيلية عن الرسائل الخاصة ببروتوكول التوجيه المُحسّن:[3][27]
نوع الرسالة | نوع الرزمة | نقل موثوق ؟ | وظيفة الرسالة |
---|---|---|---|
رسالة التعارف | بثّ مجموعاتيّ | لا | تستخدم لاكتشاف الجيران، وهي تُرسل بشكلٍ دوريّ وبفواصل زمنيّةٍ ثابتة يتمّ تحديدُها بواسطة مُؤقّت خاصّ هو مُؤقّت التعارف، تحتوي هذه الرسالة على ثوابت حساب الوزن وقيمة مُؤقّت الانتظار. |
رسالة الاستعلام | بثّ منفرد أو مجموعاتي (الحالة العامة) | دائماً | تستخدم هذه الرسالة لحمل رسائل الاستعلام الخاصّة بخوارزمية نقل التحديثات (DUAL)، بالإضافة إلى استخدامها من قبل المُوجّهات للإعلان عن كون أحد المسارات نحو وجهة ما بالحالة الفعّالة، وبأنّ مصدر المعلومات يطلب معلومات مساراً بديلاً نحو ذات الوجهة من جيرانه.
إذا سبب التغيير الحاصل في الطوبولوجيا نقل عدّة مسارات إلى الحالة الفعّالة، فإنّ البروتوكول قد يُضمّن وجهات هذه المسارات في رسالة استعلام واحدة أو أكثر، ولا داعي عندها لتشمل رسالة الرد جميع هذه الوجهات، ويُكتفى بالوجهة التي تصفّ المعلومات الجديدة المُشار إليها في رسالة الرد. بعد مُعالجة رسالة الاستعلام بحسب خوارزمية نقل التحديثات يجب أن تُرسل رسالة ردّ أو رسالة ردّ بسبب كون الوجهة عالقة في الحالة الفعّالة. |
رسالة الردّ | بثّ منفرد | دائماً | تُستخدم هذه الرسالة لحمل رسالة الردّ الخاصّة بخوارزمّية نشر التحديثات، وهي ترسل رداً على رسالة استعلام أو رسالة استعلام لإبقاء الحالة الفعّالة. تحتوي رسالة الردّ على قسم واحد أو أكثر من رسالة الإستعلام، وهذه الأقسام هي التي يتمّ الردّ عليها، أيّ أنّ معلومات رسالة الردّ تصفّ هذه الأقسام. يتمّ إرسال إشعار تأكيد الوصول عند استقبال رسالة الردّ، وإمّا أن يتم ذلك بشكل مُستقل أو من خلال إضافة الإشعار إلى إحدى رسائل البروتوكول. |
رسالة الطلب | بثّ مُنفرد أو مجموعاتيّ | لا | تُستخدم هذه الرسالة لطلب معلومات مُحددة عن جارٍ واحد أو أكثر. |
رسالة الاستعلام لإبقاء الحالة الفعّالة (SIA-Query) | بثّ مُنفرد | دائماً | عند إرسال رسالة استعلام وانتظار الردّ، يجعل المُوجّه المسارات المؤدية إلى تلك الوجهة في الحالة الفعّالة، قد يتأخر وصول الردّ لعدة أسباب مثل فقدان الرزمة أو بطء الجار أو غيرها، وتساعد هذه الرسالة المُوجّه على معرفة المزيد من المعلومات عن الجار في هذه الحالة، مثل الإجابة عن السؤال التالي: هل قُطع الاتصال مع الجار أم أنّه لم ينهِ عملية إعادة الحساب بعد ؟
في كل مرة يصل الردّ الإيجابي على هذه الرسالة، يتمّ إعادة ضبط مُؤقّت الفعاليّة إلى قيمته الاسمية، ما يسمح بالإبقاء عليه، واستمرار عملية إعادة الحساب. تُرسل رسالة الاستعلام لإبقاء الحالة الفعّالة عندما تنخفض قيمة المؤقت عن نصف القيمة الاسميّة، ومن الممكن أن يتمّ تمديد فترة البقاء في الحالة الفعّالة بهذه الطريقة ثلاث مرات متتالية. يتمّ الردّ على هذه الرسالة برسالة الردّ لإبقاء الحالة الفعّالة، والتي تُحدد فيما إذا كان المُوجّه سيُبقي المسارات نحو الوجهة في الحالة الفعّالة أم لا. |
رسالة الرد لإبقاء الحالة الفعّالة (SIA-Reply) | بثّ مُنفرد | دائماً | تُرسل هذه الرسالة كرد على رسالة الاستعلام لإبقاء الحالة الفعّالة، وهي إمّا أن تُخبر المُوجّه بأنّ عملية إعادة الحساب قد انتهت أو بأنّها مازالت جاريّة، تحتوي رسالة الردّ على ثلاثيّة نوع-طول-قيمة (TLV) من أجل كل وجهة تكون مسارات الجار فعّالة إليها، تحتوي الثلاثية على علم خاص هو علم الفعاليّة (Active Flag)، وهو بت يأخذ قيمة الواحد ليكون الردّ إيجابياً لإبقاء الحالة الفعّالة، أو صفر لإيقافِها. |
رسالة التحديث | بثّ مجموعاتي في الحالة العامّة، بثّ مُنفرد عند اكتشاف جار جديد | دائماً | تُستخدم هذه الرسائل لحمل رسائل التحديث الخاصّة بخوازرمية نشر التحديثات. بالإضافة لذلك، يتمّ إرسال رسالة تحديث مُنفردة إلى كل جار جديد بعد اكتشافه، وذلك لمساعدته على بناء جدول الطوبولوجيا خاصّته، أمّا عند اكتشاف حصول تغيّر في الطوبولوجيا فإنّ رسالة التحديث تكون رسالة بث مجموعاتي. |
يدعم بروتوكول التوجيه المُحسّن عمليّة مُعقّدة لحساب الوزن، وهي تجري بشكلٍ آليّ اعتماداً على مُعادلة رياضيّة تشتمل على عدد من المُتحولات والمُعاملات، فأمّا المُتحولات فهي تخصّ طوبولوجيا الشبكة نفسَها، وأمّا المُعاملات فهي قيم عددية ثابتة، تُضبط من أجل التأثير بطريقة مُحددة على أحد المتحولات، كجعل أثره مُضاعفاً مُقارنةً مع البقيّة، أو حتى إهمالُه بالكامل. يُستخدم البروتوكول المتحولات لتمثيل القيم الخاصّة بعرض نطاق الوصلات، وزمن التأخير فيها بالإضافة لقيم ترتبط بالحمولة والوثوقيّة ووحدة النقل العظمى وتقلقل الإرسال والطاقة، بالإضافة لوجود ست مُعاملات هي بالترتيب (K1, K2, K3, K4, K5, K6).
تُستعمل المُتحولات لوصف الخواص التي يُمكن قياسها ومقارنتها والاعتماد عليها لاختيار أفضل مسار. يستخدم البروتوكول عرض النطاق الأصغري على طول المسار بشكلٍ مُباشر كأحد المتحوّلات الرئيسيّة لحساب وزن المسار، كما يستخدمه بالإضافة لقيمة الحمولة العُظمى على طول المسار من أجل حساب معدل إنتاجيّة المسار، وهو عامل آخر لحساب الوزن. بشكلٍ افتراضيّ، يُعتمد عرض النطاق الأصغري في حساب الوزن ويُهمل معدل الإنتاجيّة.
بالإضافة لذلك، يُمكن حساب الوزن اعتماداً على زمن التأخير الكليّ الحاصل على طول المسار، وهو الزمن اللازم لانتقال بت من الوجهة النهائيّة للمسار إلى العقدة التي تُشغّل البروتوكول، إنّ زمن التأخير يقاس بالثانية، لكن القيمة المُستعملة تكون صغيرةً جداً، ومن مرتبة الميكرو ثانية، كما يدخل هذا المتحول في مُعادلات حساب الأوزان بمرتبة أصغر هي عشرات الميكروثانية في الوزن التقليدي والبيكو ثانية في الوزن المُوسّع.[28]
يُمكن أيضاً الاعتماد على جودة الوصلة في حساب وزن المسار، ولتحقيق ذلك يقيس البروتوكول أدنى قيمة للوثوقية على طول المسار، ويقوم بإدخالها في معادلات حساب الأوزان. يتمّ تمثيل الوثوقيّة بعدد صحيح من المجال [256,1]، يقابل النسبة المئوية المُستخدمة. على أيّ حال، إنّ الوثوقية ليست مُتحوّلاً أساسيّاً في عملية حساب الوزن، ويتمّ إهماله في الحالة الافتراضية.
يدعم البروتوكول أيضاً حساب الوزن واختيار المسارات على أساس تقلقل الإرسال واستهلاك الطاقة، حيث تُقضّل المسارات التي تكون تقلقل الإرسال فيها أقلّ ما يُمكن، وكذا الأمر بالنسبة لاستهلاك الطاقة.[29] رغم دعم البروتوكول للمفهومين السابقين، إلا أنّه لا يمتلك أي وسيلة حاليّاً لقياس أيّ منهما، ولذلك فإنّ إدخال قيم هذه المُتحولات في معادلة حساب الوزن غير مُمكن.[30]
وحدة النقل العظمى هي أحد المتحولات التي يقيسُها البروتوكول وينقلُها في رسائله، والهدف الأساسي من ذلك هو التعرّف على أدنى وحدة نقل أعظمية طول المسار، لكنّ هذه القيمة لا تدخُل في مُعادلات حساب الأوزان.[31]
طُوِّرت معادلة حساب الوزن الخاصّة ببروتوكول التوجيه المحسن بناء على دراسة دقيقة لإعطاء كل مسار وزناً يتلائم مع محدداته، بحيث يكون للمسار الأفضل وزنٌ أقل، وقد تمّ اختيار قيم المُعاملات بناء على هذا، لذلك لا يُستحسن أن يتمّ تعديل هذه القيم.[32] يُمكن أن تأخذ قيمة أي مُعامل أي عدد صحيح موجب في ضمن المجال [255,0].[33] إنّ تطابق هذه القيم بين مُوجّهين يُشغّلان البروتوكول هو شرطٌ أساسيّ لنجاح إنشاء علاقة الجيران فيما بينهما.[34]
يُعطي المُعامل K1 أهمية لعرض النطاق، أما المُعامل K2 فإنه يُستخدم ليعطي أهمية لإنتاجية الشبكة، والتي تُحسب بصيغة رياضية تربط بين اثنين من المُتحولات هما عرض النطاق والحمولة. يسمح المُعامل K3 بإعطاء أهميّة للتأخير الحاصل على طول المسار في معادلة حساب الوزن. أمّا المعاملين K4 و(K5) فهما يُدخلان جودة الوصلة في الحساب، عن طريق الوثوقية. إنّ القيمة الافتراضيّة للمُعاملين K1 وK3 هي 1، أمّا القيمة الافتراضيّة للمُعاملات K2 وK4 وK5 فهي 0.[35]
يقتصر استخدام المعامل K6 على عملية حساب الوزن المُوسّع فقط، وهو يُدخل متحولات تقلقل الإرسال والطاقة في الحساب، تكون القيمة الافتراضيّة لهذا المعامل هي 0.[36]
لحساب الوزن التقليدي تُستخدم المعادلة التاليّة:[37]
حيث ( ) هي القيمة الخطيّة لأدنى عرض نطاق على طول المسار، و هي القيمة الخطيّة لمجموع أزمنة التأخير على كامل الوصلات التي تشكل المسار مقدرّة بعشرات الميكروثانية، أما الحمل والوثوقيّة ، فهما يأخذان قيماً صحيحة من المجال [256,1]، لتعكس نسبة مئويّة، حيث تمثل القيمة 255 النسبة 100% وتمثل القيمة 127 النسبة 50%. إنّ أدنى قيمة وثوقية على طول المسار تدخل في حساب الوزن، أمّا لإيجاد قيمة مُتحول الحمل، فإنّ أعلى قيمة على طول المسار هي ما يُعتمد في معادلة حساب الوزن.[38] يرجع استعمال القيم الخطيّة إلى الاختلاف في واحدات القياس، ففي حين يقاس عرض النطاق، بملايين الهرتز، والهرتز هو مقلوب الثانية، فإنّ زمن التأخير يقاس بالميكرو ثانية، لذلك تُستعمل القيم الخطيّة بهدف تجانس الوحدات.
من أجل القيم الافتراضية للمُعاملات، مع افتراض أن مُساوية للواحد من أجل قيمة صفرية للمُعامل ( )، فإنّ مُعادلة حساب الوزن التقليدي تؤول إلى الشكل التالي:[39]
تتمّ عملية الحساب بشكلٍ آليّ. إنّ وحدة النقل العظمى لا تدخل في معادلة الوزن التقليدي.[40]
لحساب الوزن المُوسّع تُستخدم المعادلة التالية:[28]
حيث ( ) هي مُعدّل الإنتاجية الصافيّ، و( ) هو زمن الكمون، و () هو المُتحوّل الخاص بالسمات الإضافية، و () هي الوثوقيّة، وهي مُتحوّل يمثل أدنى قيمة للوثوقية على طول المسار، وهو نسبة مئويّة تقابل عدداً صحيحاً من المجال [256,1] حيث تُمثّل النسبة (100%) بالعدد (256).
لحساب معدل الإنتاجيّة الصافيّ، تُستخدم المعادلة التالية:[41]
حيث ( ) هو مُعدل الإنتاجيّة الأعظميّ، و ( ) هو أعلى قيمة للحمل على طول المسار، وهو نسبة مئويّة تُقابل عدداً صحيحاً من المجال [256,1] حيث تُمثّل النسبة (100%) بالعدد (256). لحساب مُعدل الإنتاجيّة الأعظمي، تُستخدم المعادلة:[41]
حيث ( ) هو عرض النطاق الأدنى على طول المسار، و() و() هي ثوابت عدديّة خاصة بالبرتُوكول، ويُمكن أخذ قيمتُها الحقيقيّة من محدداته.
اسم الثابت الكامل | الاختصار المقابل | القيمة |
---|---|---|
EIGRP_BANDWIDTH | EBW | 10000000 |
EIGRP_DELAY_PICO | EDP | 1000000 |
EIGRP_INACCESSIBLE | EIN | (FFFFFFFFFFFFFFFF)16 |
EIGRP_MAX_HOPS | EMH | 100 |
EIGRP_CLASSIC_SCALE | ECS | 256 |
EIGRP_WIDE_SCALE | EWS | 65536 |
لحساب زمن الكمون ( )، تُستخدم المُعادلة التاليّة:[41]
حيث () هي أدنى زمن تأخير على طول المسار، مقاساً بواحدة البيكو ثانية، و() و() هي ثوابت عددية خاصّة بالبرتوكول، ويمكن أخذ قيمتها الحقيقية من محدداته.
إنّ متحوّل السمات الإضافية ( ) يُمثّل المجموع التراكمي لأحد السمات الإضافية على طول المسار، وهناك سمتين إضافيتين يمكن إدخالُهما في حساب الوزن هما تقلقل الإرسال و الطاقة.
من أجل القيم الافتراضيّة للمُعاملات، مع افتراض أنّ ( ) مُساوية للواحد من أجل قيمة صفريّة للمُعامل ( )، فإنّ مُعادلة حساب الوزن المُوسّع تؤول إلى الشكل التاليّ:
يتعامل بروتوكول التوجيه المحسن (EIGRP) مع كامل الطوبولوجيا دفعة واحدة، أي أنّه لا يُقسمها إلى أقسام ولا يُجزّؤها إلى مناطق.[42] خلال عمله، يُقوم البروتوكول بإنشاء جدولين هما جدول الجيران الذي يحتوي معلومات عن عن جيران المُوجّه التي تُشغّل البروتوكول، وجدول الطوبولوجيا الذي يُخزّن معلومات تصف مساراتٍ مُختلفة في طوبولوجيا الشبكة. بالإضافة لذلك، فإنّ بروتوكول التوجيه المُحسّن يضيف مجموعة من البنود إلى جدول التوجيه كنتيجة نهائيّة لعمله.
يضمّ جدول الجيران معلومات عن جيران المُوجّه الحاليين، والجار هو مُوجّه آخر يُشغّل بروتوكول التوجيه المُحسن ويتبادل رسائل التعارف مع المُوجّه المحليّ الذي يضمّ جدول الجيران. يتمّ تجميع المعلومات الموجودة في جدول الجيران من رسائل التعارف المُستقبلة من الجيران المُختلفين، عند التعرف على جار جديد يتمّ إضافته إلى جدول الجيران، وكذلك الأمر عند انتهاء العلاقة مع أحد الجيران، حيث يصار إلى حذفه من جدول الجيران. بشكلٍ عام، يوجد جدول جيران واحد، ولكن إذا تمّ تشغيل أكثر من وحدة غير مُستقلة من وحدات البروتوكول فسيتمّ إنشاء جدول جيران لكل وحدة، بعبارة أخرى، من أجل كل بروتوكول مُوجّه، يتمّ إنشاء جدول جيران مُستقل.[43]
يضمّ جدول الجيران عنواناً مُميزاً للجار، ومنفذ المُوجّه المحلي الذي يتصل معه، يكون مُؤقّت الانتظار مُلحقاً بجدول الجيران، إنّ نفاذ مُؤقّت الانتظار يعني فشل الجار، ويتطلب تطبيق خوارمية نشر التحديثات [الإنجليزية]. بالإضافة لذلك، فإنّ الجدول يضمّ معلومات مُكتسبة من بروتوكول النقل الموثوق (RTP)، وهو بروتوكول يُقدّم خدمة النقل الموثوق، ويعتمد عليه بروتوكول التوجيه المُحسّن لضمان إيصال الرزم.
يحتوي جدول الطوبولوجيا على المعلومات الخاصّة بطوبولوجيا الشبكة، يتمّ تجميع هذه المعلومات من خلال الشبكات المُتصلة بشكلٍ مُباشر مع الموجه بالإضافة للمعلومات المُكتبسة من الجيران، سواءً أثناء إنشاء علاقة الجيران أو بسبب حصول تغيرات في الطولولوجيا. يتكوّن الجدول من عدد من البنود، ويُمثّل كل بند شبكة وجهة، ويضم معلوماتٍ عن المسار إلى تلك الوجهة، مثل الوزن المنقول والوزن المحسوب ووارث المسار نحو هذه الشبكة الوجهة، بالإضافة إلى الوارث أو الورثة الملائمين في حال وجودهم.[44]
إنّ بروتوكول التوجيه المُحسّن يعتمد بالأساس على خوازمية عمل مشتقة من خوارزميّة شعاع المسافة، لذلك فإنّه لا يُخزّن معلومات تفصيليّة عن كامل طوبولوجيا الشبكة، بل تصف هذه المعلومات مساراتٍ فيها، ولا يكون وصف المسارات تفصيليّاً أيضاً، لكنّه يضمّ المعلومات المطلوبة لحساب الأوزان، إن جدول الطولولوجيا هو المصدر الأساسي للمعلومات التي سوف تضاف إلى جدول التوجيه.[45]
جدول التوجيه هو قاعدة بيانات موجودة في كل مُوجّه، تخصص لتخزين المعلومات الخاصّة بالتوجيه والتي تستعمل بشكل مباشر لاتخذ قرار التوجيه، يقوم بروتوكول التوجيه المُحسّن (EIGRP) بإضافة المسارات التي يختارها إلى جدول التوجيه، مع علامة خاصّة للإشارة إلى مصدرها، في الموجّهات العاملة بأنظمة تشغيل سيسكو تكون هذه العلامة هي حرف (D).[46]
تُستخدم رسائل التحديث لنقل معلومات التوجيه بين المُوجّهات المُختلفة، ولا يتمّ تبادل معلومات التوجيه إلا بين المُوجّهات الجيران. تحصل عملية تبادل رسائل التحديث وفق القواعد التالية:[47]
يعتمد بروتوكول التوجيه المُحسّن (EIGRP) على ثلاث مُؤقّتات لإنجاز عمله هي مُؤقّت التعارف ومُؤقّت الانتظار اللذان يحكُمان دورة حياة الجار، ومُؤقّت الفعاليّة الذي يلعب دوراً هامّاً في دورة حياة المسار.
يُحدد مُؤقّت التعارف (Hello Timer) الفترة الزمنيّة الفاصلة بين رسائل التعارف التي يُرسلها البروتوكول عبر منفذ ما.[50] في المُوجّهات العاملة بأنظمة تشغيل سيسكو تكون القيمة الاسميّة لهذا المؤقت هي (5) ثواني في منافذ الشبكات المحليّة، و (60) ثانية في منافذ الشبكات المُتباعدة.[51] لا يُسبب اختلاف قيم مُؤقّت التعارف بين طرفين مانعاً لتشكيل علاقة الجيران، ولكن وضع قيم غير مدرُوسة بشكلٍ جيّد قد يُسبب إنشاء علاقة جيران غير مُستقرّة.[52]
يُحدد مؤقت الانتظار (Hold Timer) الزمن الذي ينتظره البروتوكول بعد استلام رسالة تعارف من جارٍ ما قبل إعلان فشل علاقة الجيران معه، ويعني الفشل أنّ الوصول إلى الجار غير مُمكن،[3] ويُعدّ ذلك تغييراً في الطوبولوجيا. يُسبب استلام رسالة تعارف نت جار ما إعادة ضبط مُؤقّت العلاقة مع ذلك الجار إلى قيمته الإسميّة. بشكلٍ افتراضيّ، تكون قيمة هذا المُؤقّت ثلاث أضعاف قيمة مُؤقّت التعارف، وفي المُوجّهات العاملة بنظام تشغيل سيسكو تبلغ القيمة الاسميّة لهذا المؤقت (15) ثانية في المنافذ المُتصلة مع شبكات محليّة، و(180) ثانية في المنافذ المُتصلة مع شبكات مُتباعدة.[53]
يجب الانتباه إلى أن آليّة تحديد فشل أو استمرار علاقة الجيران تعمل بشكلٍ مُستقلٍ في كل من طرفي علاقة الجيران. لا يظهر أيّ إشكالٍ إذا استخدمُت نفس قيمة مُؤقّت الانتظار في طرفي علاقة الجيران، ولكن عند تهيئة قيم مُختلفة في الطرفين، فإنّ كل طرف سيستخدم قيمة مُؤقّت الانتظار التي تمّت تهيئتُها في الطرف الآخر كأساس لتحديد حالة علاقة الجيران، لا القيمة التي تمّت تهيئتُها محليّاً.[54]
ُُيُرسل كل مُوجّه قيمة مُؤقّت الانتظار الخاصّة به ضمن رسائل التعارف ليتمّ اعتمادها في جدول جيران الجار لاحقاً في حال نجاح علاقة الجيران، يجب أن تكون قيمة مُؤقّت الانتظار أكبر من قيمة من مُؤقّت التعارف، وتستحسن سيكسو أن تكون قيمة مُؤقّت الانتظار ثلاث أضعاف قيمة مُؤقّت التعارف.[55]
يُحدد مُؤقّت الفعاليّة (Active Timer) الزمن الذي يقضيه المسار في الحالة الفعّالة بعد إرسال رسالة الاستعلام قبل أن يعتبره البروتوكول عالقاً في الحالة الفعّالة (Stuck in Active SIA)، يسبب نفاذ مؤقت الفعاليّة اعتبار الوصول إلى الوجهة غير مُمكناً وحذف المسار من جدول الطوبولوجيا [56] ويُمكن أن تستخدم رسالة الاستعلام للإبقاء على الحالة الفعّالة (SIA Query) من أجل إعادة ضبط هذا المُؤقّت إلى قيمته الاسميّة بهدف منح المسار مزيداً من الوقت في الحالة الفعّالة لحين انتهاء الحساب.
تصفُ دورة حياة المسار علاقة المُوجّه الذي يُشغل بروتوكول التوجيه المُحسن (EIGRP) مع جاره. بحسب البروتوكول هناك حالة وحيدة في هذه الدورة، وهي حالة الجار الفعّال، وهو الجار الذي ما يزال الاتصال قائماً معه، ويتحكّم بدورة الحياة هذه مُؤقّتين اثنين هما مُؤقّت التعارف ومُؤقّت الانتظار الخاصّين بالجار، حيث يحدد مُؤقّت التعارف الخاصّ بالجار الزمن الفاصل بين رسائل التعارف التي يُرسلها الجار،[57] والتي تسبب بدورها إعادة ضبط لقيمة موقت الانتظار في المُوجّه الذي يُشغل البروتوكول.
يجب الانتباه إلى أن القيمة الاسمية لمُؤقّت الانتظار الخاصّ بالجار هي القيمة المُكتبسة من الجار نفسه عن طريق رسائل التعارف القادمة منه وليست قيمة المُؤقّت المحليّة، أيّ أن لكل جار قيمة مُؤقّت انتظار خاصّة به يُحددها في رسائل تعارفه.
تبدأ دورة حياة الجار بالتعرّف عليه من خلال استقبال رسالة تعارف من طرفه، ويتمّ بعدها إنشاء علاقة الجيران معه إذا تحققت شروط إنشاء علاقة الجيران. بعد ذلك، يجري إضافة الجار إلى جدول الجيران، ويتمّ ضبط مُؤقّت الانتظار خاص به، وتشغيله لتتناقص القيمة تنازلياً من القيمة الاسميّة وصولاً إلى الصفر. إنّ لكل جار مُؤقّت انتظار خاص، ويتمّ اكتساب قيمة المُؤقّت من رسائل التعارف التي يُرسلها ذلك الجار. يتمّ إزالة الجار من جدول الجيران عند نفاذ قيمة المؤقت، أي عندما تبلغ قيمته الصفر.
مع كل استقبال لرسالة تعارف قادمة من الجار يتمّ إعادة ضبط قيمة مؤقت الانتظار الخاص به إلى القيمة الاسميّة مجدداً ليبدأ التناقص مُجدداً نحو الصفر، وطالما بقي تدفّق الرسائل من الجار مُستمراً فإنّ الجار سيظلّ في الحالة الفعّالة، لأن قيمة مُؤقّت التعارف أقل من قيمة مُؤقّت الانتظار، أمّا عند غياب رسائل التعارف لفترة زمنية تفوق قيمة مُؤقّت الانتظار، فإنّ علاقة الجيران ستفشل ولا بد من التخلّص من الجار وإزالته من جدول الجيران.[58]
إنّ المسار بحسب بروتوكول التوجيه المحسن (EIGRP) هو الطريق الذي يتمّ اختياره لتوجيه الرزم فيه نحو وجهة معيّنة، ولكل مسار ثلاث مُحددات أساسيّة هي الوجهة النهائيّة، ووزن المسار، والخطوة التالية فيه. بالنسبة لأي مُوجّه يُشغل البروتوكول، تبدأ دورة حياة المسار عند اكتشاف وجود الوجهة، عن طريق رسالة تحديث، فيقوم المُوجّه بإضافتها إلى جدول توجيهه، أمّا عند اكتشاف حصول تغيير يخصّ هذا المسار في الطوبولوجيا، فإنّ المُوجّه يبحث في جدول الطوبولوجيا عن وارثٍ مُلائم، ليجعله وارثاً للمسار وليضيفه لجدول التوجيه. في حال عدم وجود وارثٍ مُلائم، يقوم البروتوكول عندها بإرسال رسائل استعلام نحو الجيران للبحث عن أفضل طريق نحو تلك الوجهة، أي الطريق الأقل وزناً، ثم يقوم البروتوكول بجعل المُوجّه الذي يُعلن ذلك الطريق هو الخطوة التالية فيه، وذلك من خلال جعله وارثاً للمسار.[59]
خلال وجوده في جدول الطوبولوجيا، يمر المسار بحالتين هما:[3][60]
إنّ الحالة الفعّالة هي مرحلة مُؤقّتة يتمّ تحديدُها بواسطة مُؤقّت الفعاليّة، كما يُمكن زيادة مدة البقاء فيها من خلال إعادة ضبط المُؤقّت عن طريق استخدام رسائل الاستعلام والرد الخاصّة بالإبقاء في الحالة الفعّالة (SIA)، لكن لا يمكن زيادة مدة البقاء فيها إلا ثلاث مرات فقط. بعد ذلك، وفي حال عدم العثور على مسارٍ نحو الوجهة، فمن غير الممكن بلوغها ويتمّ التخلّص منها، وحذفُها من جدول الطوبولوجيا.
عند حصول تغيير في الطوبولوجيا، تُصبح الشبكة غير مُستقرّة، أي تملك المُوجّهات فيها وجهاتٍ لا يمكن بلوغها، وإعادة الحساب (Convergence) هي العمليّة التي يتمّ فيها إيجاد مسارات جديدة نحو تلك الوجهات أو حذفها من جدول التوجيه، وتُنجز عمليّة إعادة الحساب عندما يملك كل مُوجّه في الشبكة مساراتٍ فعّالة نحو كل الوجهات، ويُسمّى الزمن المُستغرق لإنجاز عملية إعادة الحساب بزمن إعادة الحساب.[61]
يُنجز بروتوكول التوجيه المُحسّن (EIGRP) شكلين من أشكال إعادة الحساب، الأول هو إعادة الحساب السريعة، وتحصل عندما يفشل الوارث ولكن المسار يملك وارثاً ملائماً، فيتمّ الانتقال من الوارث إلى الوارث الملائم بشكلٍ مُباشر، ولا تستغرق العملية زمناً يُذكر، أمّا الشكل الثاني، فهو إعادة الحساب البطيئة، وتحصل عند فشل الوارث، وعدم وجود وارثٍ مُلائم له، ولابد عندها من اللجوء إلى رسائل الاستعلام لحساب المسار الجديد، إنّ العامل الأساسيّ في تسريع عمليّة إعادة الحساب لمسارٍ ما هو وجود وارثٍ مُلائم له.[62]
تُقسّم عملية إعادة الحساب في بروتوكول التوجيه المُحسّن إلى 3 مراحل وظيفياً هي:[63]
وجدت دراسة مُقارنِة على سرعة إعادة الحساب، شملت بروتوكول التوجيه المُحسّن وبروتوكول أقصر مسار أولاً المفتوح (OSPF) وبروتوكول معلومات التوجيه (RIP). إنّ بروتوكول التوجيه المُحسّن يملك أسرع عمليّة إعادة حساب، وهي مرتبة الميلي ثانية في حال المُحاكاة، أما في حال التطبيق الفعليّ فستغرق بضع ثوانٍ.[64]
تتكون ترويسة بروتوكول التوجيه المُحسن (EIGRP) من 8 حقول أساسيّة، بالإضافة إلى عدد من الثلاثيّات التي يتكون كل منها من ثلاث حقول هي حقل نوع الثلاثيّة، وحقل طول الثلاثيّة وحقل القيمة. إنّ الحقول الثمانيّة الأساسيّة في الترويسة هي:[65]
مجال القيم (بالنظام الست عشري) | الاستعمال |
---|---|
0000 | عائلة العناوين الفريدة |
0001 | عائلة عناوين البث المجموعاتي |
0002 حتى 7FFF | مجال محجوز |
8000 | عائلة الخدمات الفريدة |
8001 حتى FFFF | مجال محجوز |
تسمح الثُلاثيّات بإضافة إمكانيّات جديدة لبروتوكول التوجيه المُحسّن، أو لدعم ميّزات مُضافة غير موجودة حاليّاً،[69] ويتم ترميز نوع الثُلاثيّة بحسب الترميز التالي:
فيما يلي نماذج عن بعض الثلاثيات التي يستخدمها بروتوكول التوجيه المُحسن (EIGRP):[3]
تحصل عمليّة اكتشاف الجيران بين طرفين، هما موجّهان أو عُقدتان تُشغّلان بروتوكول التوجيه المُحسّن (EIGRP)، بعد تبادل رسائل التعارف، وكنتيجة لنجاح هذه العلاقة يقوم كل مُوجّه بإضافة الطرف الآخر إلى جدول الجيران الخاصّ به،[71] بعد ذلك تبدأ مرحلة تبادل معلومات التوجيه، ثُمّ يتمّ الحفاظ على علاقات الجيران فعّالة من خلال استمرار تبادل رسائل التعارف، إن غياب رسائل التعارف لفترة زمنيّة يُحددها مؤقت الانتظار يعني فشل علاقة الجيران.[72]
لتنجح علاقة الجيران، يجب أن تتطابق المُحددات التالية بين الطرفين:[73]
قد تسبب بعض القضايا الأخرى عدم استقرارٍ في علاقة الجيران، مثل عدم تطابق وحدة النقل العظمى (MTU)، أو بسبب مشاكل تتعلّق بدعم البث الفردي أو البث المجموعاتيّ في الشبكة، أو مشاكل تتعلق بجودة الوصلة أو بفشل عملية مصادقة أو بسبب مشاكل ترتبط بالتهيئة.[75] إنّ عدم تطابق المُؤقّتات ليس شرطاً أساسيّاً لنجاح علاقة الجيران في بروتوكول التوجيه المُحسن، لكنّ الاختيار غير المدروس للقيم قد يسبب فشلاً أو عدم استقرار في علاقة الجيران.[52]
تبدأ العملية عندما يتمّ تشغيل البروتوكول في مُوجّه جديد مُتصل مع شبكة تحتوي موجه آخر يُشغل البروتوكول ويرسل رسائل التعارف فيها، لغرض تبسيط العملية، يُطلق على المُوجّه الجديد اسم الطرف الأول، وعلى الموجه الآخر اسم الطرف الثاني، وتتمّ عملية اكتشاف الجيران وفق الخطوات التالية:[3]
يدعم بروتوكول التوجيه المُحسّن خاصية المنافذ السلبيّة (Passive Interface)، ويعني تفعيل هذه الخاصيّة على المنفذ استمرار تشغيل البروتوكول فيه، ولكن مع إيقاف إرسال أو استقبال رسائل التعارف، بالتالي منع تشكيل علاقات الجيران عبره. ولهذه الميزة استخدامات أمنيّة.[76][77]
بروتوكول النقل الموثُوق (بالإنجليزية: Reliable Transport Protocol) اختصاراً RTP، هو جزء من بروتوكول التوجيه المُحسّن، وهو المسؤول عن تأمين النقل الموثوق، من خلال اعتماده على حقلي رقم التتابع ورقم إشعار التأكيد الموجُودين في ترويسة البروتوكول.[78] لا يستطيع بروتوكول التوجيه المُحسّن الاستفادة من خدمات بروتوكولات طبقة النقل التي تقدّم هذه خدمة النقل الموثوق لأنّه يعمل في الطبقة التي تسبقُها، وهذا هو سبب اعتماده على بروتوكول مُستقل لإنجاز النقل الموثوق.[2]
يُحدد بروتوكول النقل الموثوق مجموعة القواعد التي تضمن وصول رزم البروتوكول بترتيب إرسالها إلى جميع الجيران، وهو يدعم البث الفردي والمجموعاتي. يتمّ وضع رقم تتابع خاص بكل رزمة يجري إرسالُها، ويجب على الجار أن يضع هذا الرقم في حقل رقم إشعار التأكيد في رسالة لاحقة لتأكيد الاستقبال، إذا أُرسلت رزمة موثوقة لبروتوكول التوجيه المُحسّن ولم يصل إشعار لتأكيد وصولها، فإنّ البروتوكول يقوم بإعادة إرسالها مرة أخرى نحو نفس الوجهة، ويتحدد زمن انتظار الردّ بمؤقّت خاص هو مؤقت إعادة الإرسال (Retransmission Timeout RTO)، الذي يتمّ حساب قيمته من أجل كل جار اعتماداً على زمن الجولة السلس (Smooth Round-Trip Time SRTT).[79]
يستخدم بروتوكول التوجيه المُحسن خوارزمية خاصّة من تطوير معهد ستانفورد للأبحاث (SRI)، هي خوارزمية نشر التحديثات (Diffusing Update ALgorithm DUAL)،[14] تُستخدم هذه الخورازمية من أجل بناء المسارات الأقل وزناً نحو كل الوجهات المُتاحة، تتعامل هذه الخوارزمية مع الشبكة على أنها مُخطط بياني مُكوّن من عُقد ووصلات، وهي تضمن إيجاد مسارات خالية من الحلقات من كل عقدة نحو كل العُقد الأخرى، ويشمل ذلك فترات إعادة الحساب وعند حصول تغيّرات في الطوبولوجيا. باستعمال هذه الخوارزمية، يُنجز البروتوكول عملية إعادة حساب سريعة وخالية من الحلقات مع عدم وجود حاجة لتبادل كميّة كبيرة من المعلومات، وهي الأسرع في بعض الحالات مُقارنة ببروتوكولات التوجيه العاملة بخوازميّة حالة الوصلة.[80]
عند حصول تغيير في الطوبولوجيا، لا تقوم الخوارزميّة بإعادة الحساب في كل العقد التي تُشغّل البروتوكول، ولكن فقط في تلك التي تأثرت بالتغيير الحاصل، وتسمح هذه الميزة للبروتوكول بالتوسّع والعمل في شبكات كبيرة الحجم، وتقلل حجم المعلومات المُتبادلة في رسائل التحديث وتقلل أيضاً من تعقيد الحسابات اللازمة لإنجاز إعادة الحساب.
إنّ خوارزميات التوجيه المُوزّع، أي الخوارزميّات التي يتمّ فيها إجراء الحسابات بشكل مُوزّع ولامركزيّ، ضروريّة لنشر وتحديد وجهة المعلومات نحو جزء من كل عقد الشبكة. وهي بذلك تختلف عن خوارزمية بلمان فورد التي تعتمد على نشر المعلومات في كامل الشبكة، بدون أي تحديد، بعد حصول تغيير في طولولوجيا الشبكة. إنّ خوارزمية نشر التحديثات (DUAL)، وهي إحدى خوارزميات التوجيه المُوزّع.
وحدات البروتوكول غير المُستقلة (بالإنجليزية: Protocol Dependent Modules اختصاراً PDM) هي المبدأ الذي يعتمده بروتوكول التوجيه المُحسن لدعم البروتوكولات المُوجّهة المُختلفة، إنّ وحدات البروتوكول غير المُستقلة مسؤولة عن المتطلّبات الخاصة ببروتوكولات طبقة الشبكة. بعبارة أخرى، من أجل كل بروتوكول مُوجّه، يقوم بروتوكول التوجيه المُحسّن ببناء جدول جيران وجدول طوبولوجيا، بحيث يتلائم كل جدول مع طبيعة ومُتطلبات العنونة الخاصّة بالبروتوكول المُوجّه، كما يضيف البروتوكول المسارات إلى جداول التوجيه الخاصّة بكل بروتوكول مُوجّه بشكلٍ مُنفصل.[13]
يسمح استخدام وحدات البروتوكول غير المُستقلة لبروتوكول التوجيه المُحسّن بالعمل مع مُختلف البروتوكولات المُوجّهة، تشرف كل وحدة بروتوكول غير مُسستقلة على الأعمال التالية:[81]
يمكن للموجه أن يحصل على معلومات التوجيه من أكثر من مصدر، كالتوجيه اليدوي، أو آليّاً عبر واحد أو أكثر من بروتوكولات التوجيه. في الحالة التي يتعرّف فيها المُوجّه على مسارين نحو نفس الوجهة، ولكن من مصدرين مختلفين، فإنّه يختار المسار صاحب الوزن الإشرافي الأقل ويضيفه إلى جدول التوجيه. في الحالة التي يتعرف فيها المُوجّه على مسارين مختلفين نحو نفس الوجهة، ولكن من مصدر واحد، أي في حالة تساوي الوزن الإشرافي، فإنّه يختار المسار صاحب الوزن الأدنى، ويتم تعريف الوزن في مُحددات البروتوكول. وفي حال تساوي الوزن الإشرافي ثم تساوي الوزن التقليدي، فإنّ هناك إمكانية لاستخدام كلا المسارين معاً، وتوزيع الحمل فيما بينهما، بدلاً من استخدام مسار واحد فقط، ويسمى ذلك توزيع الحمل بين المسارات متساوية الأوزان، وهي ميزة يدعمها بروتوكول التوجيه المُحسّن.[82]
يدعم بروتوكول التوجيه المُحسن أيضاً نوعاً آخر من توزيع الحمل، وهو توزيع الحمل بين المسارات غير مُتساوية الأوزان، وفي هذه الحالة فإنّ هناك إمكانية لتحديد مجال من الأوزان يلي وزن أفضل مسار، وإذ كانت قيمة أي مسار آخر اكتشفه البروتوكول نحو نفس الوجهة ضمن هذا المجال، فسيتمّ توزيع العمل بينه وبين المسار الرئيسي.[83]
لتحقيق ذلك تُستخدم قيمة عدديّة تُسمى عامل التنوع (Variance)، ويكون المجال الخاص بقيم الأوزان المقبولة مُمتداً بين قيمة أفضل وزن وقيمة جداء عامل التنوع معه. إنّ القيمة الافتراضية لعامل التنوع هي (1)، ويُمكن أي يتمّ ضبطه إلى أي قيمة صحيحة من المجال [128,1].[84] على سبيل المثال، إذا اكتشف البروتوكول (3) مسارات نحو شبكة ما، وكانت أوزان هذه المسارات هي بالترتيب: (25) و(80) و(110). إنّ أفضل مسار هو المسار صاحب الوزن الأدنى وهو المسار ذو الوزن (25). ستجعل اختيار قيمة عامل التنوع لتكون (4)، أكبر قيمة في مجال القيم المقبولة هي (25x4 =100) وسيكون مجال القيم هو [100,25]، إنّ وزن المسار الثاني يقع ضمن هذا المجال، وسيتم بالتالي توزيع الحمل بين المسارين صاحبي الوزنين (25) و (80) على الترتيب.
تستخدم المُصادقة من قبل بروتوكول التوجيه المُحسّن بصفتها خياراً أمنيّاً، والسبب الرئيس من استخدامها هو حماية البروتوكول من استقبال رسائل تحديث من مصادر غير موثوقة، وتسمح هذه الميزة بالتحقق من هوية الطرف الذي يريد إنشاء علاقة الجيران،[85] بدون استخدام المُصادقة من الممكن أن يتمّ العبث بمحتويات جدول التوجيه من خلال تعريف المُوجّه بمسارات غير صحيحة بهدف توجيه حركة البيانات نحو موقع مُعيّن، إمّا لحجب الخدمة[86] أو للإطلاع على محتواها ثُمّ إعادة إرسالها إلى هدفها.
يدعم بروتوكول التوجيه المُحسّن خوارزمية هضم الرسالة الخامسة (MD5) من أجل إنجاز عملية المُصادقة، ولنجاح العملية يجب تزويد الموجه بسلسلة من المفاتيح لتُستخدم في عملية هضم الرسالة،[87] يتطلب نجاح تهيئة المصادقة تزامن المُوجّهات على ساعة واحدة، كما يجب الانتباه إلى أن تهيئة المُصادقة على أحد المُوجّهات دون البقية سيسبب فشلاً في علاقة الجيران لحين إتمام تهيئة المصادقة في بقية الشبكة.[88]
{{استشهاد ويب}}
: تحقق من التاريخ في: |تاريخ الوصول=
(help)
{{استشهاد ويب}}
: تحقق من التاريخ في: |تاريخ الوصول=
(help)
{{استشهاد ويب}}
: تحقق من التاريخ في: |تاريخ=
(help)
{{استشهاد ويب}}
: تحقق من التاريخ في: |تاريخ أرشيف=
(help)
{{استشهاد بكتاب}}
: صيانة الاستشهاد: أسماء متعددة: قائمة المؤلفين (link)
{{استشهاد بكتاب}}
: صيانة الاستشهاد: أسماء متعددة: قائمة المؤلفين (link)
{{استشهاد ويب}}
: تحقق من التاريخ في: |تاريخ=
(help)
{{استشهاد ويب}}
: |archive-date=
/ |archive-url=
timestamp mismatch (help) and الوسيط غير المعروف |مسار أرشيف http://webcache.googleusercontent.com/search?q=
تم تجاهله (help)
{{استشهاد ويب}}
: تحقق من التاريخ في: |تاريخ أرشيف=
(help)
{{استشهاد ويب}}
: تحقق من التاريخ في: |تاريخ الوصول=
(help)
{{استشهاد ويب}}
: صيانة الاستشهاد: أسماء متعددة: قائمة المؤلفين (link)
{{استشهاد ويب}}
: |archive-date=
/ |archive-url=
timestamp mismatch (help) and الوسيط غير المعروف |http://webcache.googleusercontent.com/search?q=
تم تجاهله (help)
{{استشهاد ويب}}
: صيانة الاستشهاد: التاريخ والسنة (link)