بروتوكول معلومات التوجيه

من ويكيبيديا، الموسوعة الحرة
(بالتحويل من RIP)
اذهب إلى: تصفح، ‏ ابحث
بروتوكولات نموذج الإنترنت
طبقة التطبيق
طبقة النقل
مزيد ..
طبقة الإنترنت
مزيد ..
طبقة الربط
مزيد ..

بروتوكول معلومات التوجيه (بالإنجليزية: Routing Information Protocol) هو بروتوكول توجيه، داخليّ، وأحد أقدم البروتوكولات العاملة بخوارزميّة شُعاع المسافة، وهو يُستخدم عدد القفزات كوسيلة لحساب وزن المسار أو كلفته. يمنع البروتوكول تشكل الحلقات من خلال تطبيق حد لعدد القفزات المسموحة بين المصدر والوجهة من أجل كل مسار. يستخدم البروتوكول عدد من الآليّات لمنع انتشار معلومات التوجيه غير الصحيحة هي، تحديد الأفق (Split Horizon) وتسميم المسار (Route Poisoning) ومؤقت الانتظار.

هناك ثلاث إصدارات من بروتوكول معلومات التوجيه، وهي الإصدار الأول (RIPv1) وهو موصوف بوثيقة طلب التعليقات (RFC 1058[1] والإصدار الثاني وهو موصوف بالوثيقة (RFC 2453[2] وهما يدعمان الإصدار الرابع من بروتوكول الإنترنت (IPv4)،[3] وإصدار الجيل التالي (RIPng) وهو موصوف في الوثيقة (RFC 2028[4] وهو يدعم الإصدار السادس من بروتوكول الإنترنت (IPv6).[5]

يعمل بروتوكول معلومات التوجيه في طبقة التطبيق في حزمة بروتوكولات الإنترنت،[6] وهو يعتمد على بروتوكول حزم بيانات المستخدم (UDP) في طبقة النقل، وقد تم تخصيص رقم المنفذ (520) له في الإصدارين الأول والثاني ورقم المنفذ (521) في إصدار الجيل التالي.[7]

نبذة تاريخية[عدل]

بروتوكول معلومات التوجيه هو بروتوكول توجيه داخلي عامل بخوزاميّة شعاع المسافة، يستخدم عدد القفزات للتعبير عن وزن المسار، ويُرسل كامل جدول التوجيه في رسائل التحديث. يتعامل البروتوكول مع كامل طوبولوجيا الشبكة دفعة واحدة، ولكنّه لا يدعم المسارات بطول أكبر من (15) قفزة، ويحتاج لعدّة دقائق لإنجاز عمية إعادة الحساب.

بدأ العمل على تطوير البروتوكول في مركز أبحاث زيروكس في بالو أيلتو في السبعنيات من القرن العشرين، وسُمي في البداية بروتوكول معلومات البوابة (Gateway Information Protocol GWINFO). في عام 1982م، ظهرت أول نسخة من البروتوكول في توزيعة برمجيات بيركلي (BSD)، ثُمّ تحوّل بحكم الأمر الواقع إلى معيار لبروتكولات التوجيه الداخليّة.[8]

بسبب عدم وجود معيار مُشترك بدأت بعض المشاكل المُتعلقة بالتوافقية والتشغيل المشترك بالظهور، ولهذا قامت مجموعة مهندسي شبكة الإنترنت بإعداد وثيقة طلب تعليقات خاصة بهذا البروتوكول هي الوثيقة (RFC 1058)، المُعنونة: بروتوكول معلومات التوجيه، والتي أصبحت المعيار الرسمي للإصدار الأول من البروتوكول.[1]

واجه الإصدار الأول من البروتوكول العديد من التحدّيات خاصة مع تطور المفاهيم المتعلقة بحزمة بروتوكولات الإنترنت (TCP/IP) وظهور العنونة الغير قياسية (VLSM)،[9] فابتدأ العمل على تطوير نسخة جديدة البروتوكول في مطلع التسعينات، وحملت وثيقة طلب التعليقات (RFC 1388) المُعنونة "الإصدار الثاني من بروتوكول معلومات التوجيه حمل معلومات إضافيّة" أول ذكر للإصدار الثاني،[10] ثُمّ حُدثت بالوثيقة (RFC 1723[11] وانتهى الأمر بالوثيقة (RFC 2435) في العام 1998م،[2] وهي المعيار النهائي للإصدار الثاني من بروتوكول معلومات التوجيه.

في نفس الوقت الذي كان يتم فيه تطوير الإصدار الثاني من بروتوكول معلومات التوجيه، كان العمل جاريّاً لتقديم إصدار جديد من البروتوكول مُشابه للإصدارين السابقين ولكنه مُستقل عنهما، وذلك لضمان استمرار عمل بروتوكول التوجيه مع الإصدار السادس من بروتوكول الإنترنت (IPv6)، على أيّ حال، انتهت هذه الجهود في العام 1997م بتطوير إصدار الجيل التالي من بروتوكول معلومات التوجيه (RIPng).[4]

محددات البروتوكول[عدل]

المؤقتات[عدل]

في الأصل، كان كل مُوجّه يُرسل كامل جدول توجيهه كل (30) ثانية، ففي التطبيقات الأولى كانت جداول التوجيه صغيرة الحجم بحيث لا يؤثر إرسالها بهذا الشكل على حركة البيانات، لكن مع توسّع الشبكات، أصبح من الواضح أن هناك زيادة مفاجئة في حركة البيانات كل (30) ثانية، حتى لو تمّ بدء تشغيل المُوجّهات بأوقات عشوائيّة، أي لم يتمّ إقلاعها بنفس الوقت، حيث كان الاعتقاد السائد أن ذلك سوف يسبب جعل إرسال جداول التوجيه مُبعثراً زمنياً، لكن التطبيق العملي أثبت عكس ذلك. أظهرت دراسة لاحقة في العام 1994م،[12] أنه بدون توزيع عشوائي مُحكم، فإنّ مُؤقّتات التحديث تتزامن مع بعضها بشكل آليّ مع مرور الوقت.


آلية العمل[عدل]

يتمّ تفعيل البروتوكول على الموجه أولاً، ثم على المنافذ، ويبدأ البروتوكول بإضافة المسارات إلى الشبكات المُتصلة مع المنافذ التي تمّ تفعيله عليها، على اعتبار أنّها شبكات متصلة بشكلٍ مباشر، مع كلفة مسار هي (0)، ويقوم الموجه بالإعلان عن كل شبكة تعرّف عليها لأنها متصلة مع منفذ ما على جميع المنافذ الأخرى التي تمّ تفعيل البروتوكول عليها باستثناء المنفذ الذي تعرّف من خلاله عليها، بكلفة هي (1).

خوارزمية تحديث جدول التوجيه في بروتوكول معلومات التوجيه.

يُعرّف بروتوكول معلومات التوجيه، بغض النظر عن الإصدار، نوعين من الرسائل،[13]

هي:
  1. رسائل الطلب.
  2. رسائل الرد.

عندما يتم تشغيل البروتوكول في موجه ما، فإنه يُرسل رسائل طلب بشكل بثّ عام عبر جميع منافذه التي تم تفعيل البروتوكول عليها، وتجيب جميع الموجهات الجيران، أي التي تُشغّل البروتوكول أيضاً، بإرسال رسائل الرد الحاويّة على جداول توجيهها. على أيّ حال، ترسل رسائل الردّ هذه بشكل دوريّ بفواصل زمنية ثابتة يحددها مؤقت خاص يُسمى مؤقّت التحديث.

عندما يستقبل الموجه رسالة تحديث تحتوي على جدول توجيه، فإنّه يُعالج كل بند فيه بحسب الخوارزميّة التاليّة:[14]

  1. إذا كان البند يحتوي مساراً نحو وجهة جديدة، غير معروفة بالنسبة للبروتوكول في الموجه، فإنه يقوم بإضافتها بشكلٍ فوريّ إلى جدول التوجيه مع المعلومات المرافقة لها.
  2. إذا كان البند يحتوي مساراً نحو وجهة موجودة، ولكن بوزن أقل من الوزن المعروف بالنسبة للبروتوكول في الموجه، فإنّه يقوم بتحديث قيمة الوزن بشكلٍ مُباشر.
  3. إذا كان البند يحتوي مساراً نحو وجهة موجودة، ولكن بوزن أكبر من الوزن المعروف، فيتمّ تحديث وزن المسار إلى القيمة اللانهائية، وتشغيل مؤقّت انتظار. لحين نفاذ مؤقت الانتظار فإنّ المُوجّه يستخدم المسار نفسه لتوجيه الرزم. بعد نفاذ مؤقت الانتظار، يتفحّص البروتوكول قيمة وزن المسار في رسالة التحديث التالية، إذا كانت القيمة الجديدة ما تزال نفسها، أيّ القيمة الجديدة التي كانت أكبر من الوزن المعروف، فأنّه يقوم بتعديلها في جدول توجيهه، الهدف من الانتظار قبل زيادة وزن مسار معروف، وإلا فإنه يعتبر بأنّ وزن المسار لانهائي وبأنه لا يُمكن الوصول للوجهة، إن سبب استعمال مؤقت الانتظار هو لتجنب مشكلة العدّ إلى اللانهاية.[15]

بعد ذلك ترسل رسائل التحديث بشكل دوري، ويُنظّم مؤقت التحديث ذلك، أو بشكل مُحفّز، وتسمى رسائل التحديث المحفّزة (Triggerd Update Message)، وهي تُرسل عند اكتشاف حصول تغيير في وزن أحد المسارات، فيتم تحفيز رسالة تحديث خاصّة بالمسار، عوضاً عن الانتظار لنفاذ مؤقّت التحديث، والهدف من ذلك هو نشر التحديث عبر الشبكة بأسرع ما يُمكن منعاً لتشكل الحلقات.

الإصدرات[عدل]

هناك 3 إصدارات لبروتوكول معلومات التوجيه هي: الإصدار الأول، والإصدار الثاني و إصدار الجيل التالي.

الإصدار الأول من بروتوكول معلومات التوجيه[عدل]

بروتوكول معلومات التوجيه (الإصدار الأول)
Routing Information Protocol RIPv1
الغرض بروتوكول توجيه داخلي
المطور زيروكس بارك
تاريخ التطوير يونيو 1988 (تاريخ إصدار المعيار)
طبقة نموذج
الاتصال المعياري
طبقة التطبيق
منفذ 520
وثيقة طلب التعليقات RFC 1058

الإصدار الأول من البروتوكول هو الإصدار الأصلي، وهو موصوف في وثيقة طلب التعليقات (RFC 1058[1] التي نُشرت في العام 1988م، وهو بروتوكول توجيه، داخليّ، قياسيّ أي أنّه لا يدعم تجزئة الشبكات ولا عناوين الشبكات غير القياسيّة (VLSM).

يستخدم البروتوكول خوارزمية بلمان-فورد لحساب أوزان المسارات، حيث يعتمد على عدد القفزات لحساب الوزن، لذلك فهو يُعدّ بروتوكول توجيه يعمل بخوزازميّة شعاع المسافة، مع طول أعظمي للمسار هو (15) قفزة فقط، ما يحدّ من قدرة البروتوكول على العمل في الشبكات الكبيرة. بحسب حزمة بروتوكولات الإنترنت (TCP/IP)، يعمل البروتوكول في طبقة التطبيق، ويعتمد على بروتوكول حزم بيانات المستخدم (UDP) في نقل بياناته، وقد تمّ تخصيص رقم المنفذ (520) من أجل حزم بيانات هذا البروتوكول.

يُرسل الإصدار الأول من البروتوكول رسائل التحديث على شكل رسائل بث عام، إلى العنوان (255.255.255.255)، وهو ما يُرهق عرض النطاق في الشبكة، خاصة أن كل مُوجّه في الشبكة سيقوم بإعادة إرسال الرسالة عند استقبالها عبر كل منافذه، سواء كان يدعم هذا البروتوكول أو لا. من سلبيات هذا الإصدار أيضاً عدم وجود آليّة للمصادقة، وقد شكل هذا ثغرة أمنية في الشبكة، حيث يستقبل الموجه الذي يشغل البروتكول رسائل التحديث من أي مصدر، ويعدّل جدول توجيهه على أساسه، وهذا ما جعل الموجهات التي تستخدم البروتكول عرضة لهجمات حجب الخدمة وهجوم الوسيط.

ترويسة الإصدار الأول من بروتوكول معلومات التوجيه (RIPv1).

عرّف الإصدار الأول من البرتوكول ترويسة خاصّة مكونة من ثلاث حقول رئيسيّة، هي:[1]

  1. حقل الأمر، بطول (1) بايت، وهو لتحديد نوع الترويسة، وهناك 4 أنواع هي: ترويسة الطلب، ترويسة الرد، وترويستي تفعيل وتعطيل التعقب، اللتان أخرجتا من الخدمة ولا يوجد استخدام لهما.
  2. حقل الإصدار،، بطول (1) بايت، لتمّيز ترويسة الإصدار الأول.
  3. حقل معلومات الشبكة، وهو بطول متغير، يضم معلومات من جدول التوجيه، على شكل بنود، حجم كل منها (20) بايت، نظريّاً يمكن أن تحمل رسالة البوتوكول معلوماتٍ عن 25 مساراً، في كل منها عنوان الوجهة ووزن المسار، بالإضافة لحقل لعائلة عنوان المسار، ولا يوجد تراميز إلا لعائلة واحدة هي عناوين الإصدار الرابع من بروتوكول الإنترنت.

يُعرّف الإصدار الأول من البروتوكول ثلاث مؤقتات أيضاً، هي:

  • مُؤقّت التحديث (Update timer): وهو مؤقت يحدد الزمن الفاصل بيم التحديثات الدوريّة التي يُرسلها الموجه علر المنافذ التي تمّ تفعيل البروتوكول عليها، بشكلٍ افتراضيّ تكون قيمته (30) ثانية.
  • مُؤقّت المهلة (Timeout timer): وهو مؤقّت خاصّ مرافق لكل مسار موجود في جدول التوجيه. يُحدد هذا المؤقّت صلاحيّة البند في جدول التوجيه، إذا نفذت قيمة المؤقت فالبند غير صالح ولا يُؤخذ به. تضبط قيمة المؤقت إلى القيمة (180) ثانية بشكل افتراضي عند إضافة المسار لجدول التوجيه أوّل مرة، ويتمّ إعادة ضبط المؤقت في كل مرة يتم فيها استقبال رسالة تحديث تحتوي على بند مُطابق للبند الموجود في جدول التوجيه.
  • مُؤقّت الانتظار (garbage-collection timer): قيمته الافتراضيّة (120) ثانية، وهو يحدد الزمن الذي يظل فيه المسار غير الصالح موجوداً في جدول التوجيه، يتمّ تفعيل هذا المؤقت فور اعتبار أحد المسارات غير صالحاً. في حال نفذ هذا المُؤقّت، بدون استقبال أي رسالة تحديث تحتوي معلومات عن المسار، فإنّ المسار يُحذف بشكلٍ نهائيّ من جدول التوجيه، أمّا في جال استقبالها فيُعاد المسار ليكون صالحاً ويحافظ على موقعه في جدول التوجيه.

الإصدار الثاني من بروتوكول معلومات التوجيه[عدل]

بروتوكول معلومات التوجيه (الإصدار الثاني)
Routing Information Protocol RIPv2
الغرض بروتوكول توجيه داخلي
المطور مجموعة مهندسي شبكة الإنترنت
تاريخ التطوير يوليو 1998
طبقة نموذج
الاتصال المعياري
طبقة التطبيق
منفذ 520
وثيقة طلب التعليقات RFC 2453

عملت مجموعة مهندسي شبكة الإنترنت على تطوير الإصدار الثاني من بروتوكول معلومات التوجيه، وهو موصوف في وثيقة طلب التعليقات (RFC 2453)، التي نُشرت في العام 1998م، وهو بروتوكول توجيه، داخليّ، غير قياسيّ أي أنّه يدعم تجزئة الشبكات وعناوين الشبكات غير القياسيّة (VLSM)، بالإضافة لأنه جاء متوافقاً مع الإصدار الأول.

عمل الإصدار الثاني من البروتوكول بحسب خوارزمية بلمان-فورد أيضاً من أجل حساب أوزان المسارات، لذلك فهو يُعدّ بروتوكول توجيه يعمل بخوزازميّة شعاع المسافة، مع طول أعظمي للمسار هو (15) قفزة فقط. بدعم بروتوكول الإصدار الثاني من بروتوكول معلومات التوجيه رزم الإصدار الرابع من بروتوكول الإنترنت (IPv4)، وبشكل مشابه للإصدار الأول، فقد اعتمد الإصدار الثاني على على بروتوكول حزم بيانات المستخدم (UDP) في نقل بياناته، مع حجز رقم المنفذ (520) من أجل حزم بياناته.

لحل المشكلة الأمنية التي واجهت الإصدار الأول، دعم الإصدار الثاني عملية مصادقة بين المُوجهات التي تشغله، إما بتبادل كلمة مرور صريحة، أو مشفرة باستخدام خوارزمية هضم الرسالة الخامسة (MD5)، وقد خصصت الوثيقة (RFC 2082) المعنونة: "المصادقة باستخدام خوارزميّة هضم الرسالة الخامسة في الإصدار الثاني من بروتوكول معلومات التوجيه" (RIPv2 MD5 Authentication).

لا يُعرّف البروتوكول ترويسة خاصة من أجل عملية المُصادقة، وإنّما تستخدم أحد بنود رسالة لتحديث المُخصصة للإعلان عن مسار ما لتوضع فيها حقول ميّزة المُصادقة، وهذا يُخفض عدد المسارات التي يمكن لرسالة تحديث واحدة أن تحمله في حال تشغيل ميّزة المُصادقة إلى 24 مساراً بدلاً من 25.

يعتمد الإصدار الثاني على تقنية البث المجموعاتي عند إرسال رسائل التحديث، حيث تُرسل جميع الرسائل إلى العنوان (224.0.0.9) الذي يُمثل مجموعة كل الموجهات التي تشغل الإصدار الثاني من بروتوكول معلومات التوجيه.

إصدار الجيل التالي من بروتوكول معلومات التوجيه[عدل]

انظر أيضاً[عدل]

مراجع[عدل]

  1. ^ أ ب ت ث Hedrick، C. (يونيو 1988). "RFC 1058, Routing Information Protocol". The Internet Society (باللغة الإنجليزية). اطلع عليه بتاريخ 31 يوليو 2017. 
  2. ^ أ ب Malkin، G. (نوفمبر 1998). "RFC 2453, RIP Version 2". The Internet Society (باللغة الإنجليزية). اطلع عليه بتاريخ 30 سبتمبر 2017. 
  3. ^ Postel، J. (سبتمبر 1981). "RFC 791, Internet Protocol, DARPA Internet Program Protocol Specification". The Internet Society (باللغة الإنجليزية). اطلع عليه بتاريخ 13 يوليو2017. 
  4. ^ أ ب Minnear، R. (يناير 1997). "RFC 2028, RIPng for IPv6". The Internet Society (باللغة الإنجليزية). اطلع عليه بتاريخ 30 سبتمبر 2017. 
  5. ^ Deering، S.؛ Hinden، R. (يوليو 2017). "RFC 8200, Internet Protocol, Version 6 (IPv6) Specification". The Internet Society (باللغة الإنجليزية). اطلع عليه بتاريخ 31 يوليو 2017. 
  6. ^ Socolofsky، T.؛ Kale، C. (يناير1991). "RFC 1180, A TCP/IP Tutorial.". The Internet Society (باللغة الإنجليزية). اطلع عليه بتاريخ 14 يوليو 2017. 
  7. ^ "Service Name and Transport Protocol Port Number Registry". Internet Assigned Numbers Authority (IANA) (باللغة الإنجليزية). تمت أرشفته من الأصل في 26 سبتمبر 2013. 
  8. ^ "RIP Overview, History, Standards and Versions". Charles M. Kozierok (باللغة الإنجليزية). تمت أرشفته من الأصل في 18 سبتمبر 2017. اطلع عليه بتاريخ 6 أوكتوبر 2017. 
  9. ^ Pummill، T.؛ Manning، B. (ديسمبر 1995). "RFC 1878, Variable Length Subnet Table For IPv4". The Internet Society (باللغة الإنجليزية). اطلع عليه بتاريخ 7 أوكتوبر 2017. 
  10. ^ Malkin، G. (يناير 1993). "RFC 1388, RIP Version 2 Carrying Additional Information". The Internet Society (باللغة الإنجليزية). اطلع عليه بتاريخ 7 أوكتوبر 2017. 
  11. ^ Malkin، G. (نوفمبر 1994). "RFC 1723, RIP Version 2 Carrying Additional Information". The Internet Society (باللغة الإنجليزية). اطلع عليه بتاريخ 7 أوكتوبر 2017. 
  12. ^ Floyd، S.؛ Jacobson، V. (1994). "The synchronization of periodic routing messages" (PDF). IEEE/ACM Transactions on Networking. IEEE. 2 (2): 122-136. doi:10.1109/90.298431. 
  13. ^ "RIP General Operation, Messaging and Timers". Charles M. Kozierok (باللغة الإنجليزية). 20 سبتمبر 2005. تمت أرشفته من الأصل في 27 سبتمبر 2017. اطلع عليه بتاريخ 3 أوكتوبر 2017. 
  14. ^ "RIP Algorithm". Baylor® University (باللغة الإنجليزية). تمت أرشفته من الأصل في 22 سبتمبر 2017. اطلع عليه بتاريخ 4 أوكتوبر 2017. 
  15. ^ Abdelshkou، Maher (11 أغسطس 2013). "RIP". Cisco Systems Inc (باللغة الإنجليزية). تمت أرشفته من الأصل في 27 سبتمبر 2017. اطلع عليه بتاريخ 3 أوكتوبر 2017. 

وصلات خارجية[عدل]