في شبكات تبديل الرزم، بروتوكول التوجيه أو بروتوكول التسيير (بالإنجليزية: Routing Protocol) هو اسم لعائلة من بروتوكولات الشبكة التي تُحدد مجموعة القواعد الضابطة لكيفيّة تواصل تجهيزات الشبكة، كالمُوجّهات أو العُقد مع بعضها البعض، وكيفيّة توزيع المعلومات المُرتبطة بطوبولوجيا الشبكة وكيفيّة اختيار أفضل مسار يصل نحو أيّ وجهة أو عقدة فيها، وآليّة تعديل جداول التوجيه بشكل آلي عند حصول تغير في الطولوبوجيا. أي أن بروتوكول التوجيه يلعب دوراً جوهريّاً في إنجاز عملية التوجيه بشكلٍ سليم.[1]
تُساعد بروتوكولات التوجيه في ملء جداول التوجيه وفي اتخاذ قرارات التوجيه، وتتمايز عن بعضها البعض بمجموعة من العوامل هي الخوارزمية التي يُطبقها البروتوكول ونوع وبنية رسائل التحديث الخاصّة به ومعنى الوزن وطريقة حسابه، بالإضاقة لذلك، يستخدم كل بروتوكول توجيه عدداً من المؤقتات لضبط رد فعله على التغييرات الحاصبة في طوبولوجيا الشبكة أو لمنع تشكّل الحلقات.
تلعب بروتوكولات التوجيه دوراً أساسياً في شبكات المُعطيات، ويمكن تصنيفها إلى بروتوكولات التوجيه العاملة في شبكات الحاسب وبروتوكولات التوجيه العاملة في الشبكات المتحركة.
آليّة العمل
إنّ الهدف الأساسي من عمل تجهيزات الطبقة الثالثة هو إنجاز عمليّة التوجيه، وتتطلب هذه العملية إنجاز مهمتين أساسيتين، الأولى هي الحصول على المعلومات التي تصف طوبولوجيا الشبكة، والتي تسمى معلومات التوجيه، والثانيّة هي فهم وتحليل المعلومات، وحساب أفضل مسار من أجل كل وجهة مُحتملة ثُمّ إضافته إلى جدول التوجيه، وليساعد في اتخاذ قرار التوجيه لكل رزمة بشكل منفرد، وقرار التوجيه هو تحديد المنفذ الذي سيتمّ دفع رزمة البيانات عبره، ويعتمد هذا القرار على المعلومات الموجودة في جدول التوجيه.[2]
بروتوكولات التوجيه هي أحد مصادر معلومات التوجيه، وتقوم بتأمين هذه المعلومات للتجهيزات العاملة على مستوى الطبقة الثالثة، إلى جانب التوجيه اليدوي (Static routing) والشبكات المُتصلة بشكلٍ مباشر. بالإضافة لذلك، فإن بروتوكولات التوجيه تقوم بتحليل المعلومات واختيار أفضل مسار نحو كل وجهة، يتمّ بعد ذلك إضافة المسار إلى جدول التوجيه، مع الإشارة إلى مصدره، أي إلى كونه مضافاً عن طريق أحد بروتوكولات التوجيه.
الحصول على معلومات عن طوبولوجيا الشبكة
تحصل العقد العاملة على مستوى الطبقة الثالثة على المعلومات اللازمة لملء جدول التوجيه خاصتها بثلاثة طرق، الأولى هي الاتصال المباشر مع الشبكات، والثانية هي التوجيه اليدوي، وفيه يقوم مدير الشبكة بملء جدول التوجيه بشكلٍ يدوي، إمّا باستخدام الأوامر الخاصة بنظام تشغيل الموجه[3] أو الواجهة الرسوميّة في حال وجودها،[4] أمّا الثالثة فهي التوجيه الآليّ (Dynamic Routing)، وفيه يتمّ ملء جدول التوجيه بشكل آليّ بواسطة بروتوكول توجيه واحد أو أكثر.
تستطيع كل عقد الشبكة العاملة على مستوى الطبقة الثالثة، كالمُوجّه مثلاً، التعرّف على الشبكات المتصلة معه بشكلٍ مباشر، بشرط أن يستضيف منفذُه الذي يتصل معها أحد عناوين الشبكة، ولكنّه لا يستطيع التعرّف على باقي الشبكات بشكلٍ آلي، ومهمة بروتوكول التوجيه هي تعريف المُوجّه بوجود هذه الشبكات وتزويده بالمعلومات الخاصّة بطبولوبوجيا الشبكة والتي تشمل شبكات غير متصلة معه بشكلٍ مباشر، يقوم البرتوكول أيضاً بحساب أفضل المسارات نحوها ليمهد الطريق أمام الموجه اتخاذ قرار التوجيه بشكل سليم.
تبدأ العملية بشكل مستقل في كل موجه، حيث يتعرف في البداية على الشبكات المتصلة معه بشكل مباشر، ثُمّ يجري الاعتماد على بروتوكول توجيه، لنشر هذه المعلومات عبر الشبكة وبين الموجّهات باستخدام رسائل التحديث. تختلف طبيعة ومحتوى وحجم ومدى انتشار هذه الرسائل بحسب بروتوكولات التوجيه، ولكن العامل المشترك فيها أنها تُرسل بعد ملء جدول التوجيه بالمعلومات من الشبكات المتصلة بشكل مباشر، وعند حدوث أي تغيير في هذه المعلومات. ترسل العديد من بروتوكولات التوجيه رسائل التحديث بشكل دوريّ بفواصل زمنية ثابتة يمكن التحكم بها.
يمكن أن تسبب عملية نشر معلومات التوجيه ثغرة أمنيّة في الشبكة، فقد يهدف المُهاجمون للحصول على معلومات عن عملية التوجيه أو إلى العبث بمحتويات جدول التوجيه بهدف توجيه حركة البيانات نحو وجهة معينة، أو كهجوم حجب الخدمة (DoS)،[5] وتدعم بعض بروتوكولات التوجيه العديد من الميزات من الميزات الأمنية مثل كلمات المروروالتحقق من الهوية.[6]
اختيار أفضل المسارات
بعد أن يقوم بروتوكول التوجيه بنقل المعلومات المرتبطة بعملية التوجيه بين الموجهات، والتي قد تكون عبارة عن جداول توجيه كاملة[7] أو معلومات عن الطوبولوجيا بحاجة لمزيد من المعالجة،[8] يتمّ تطبيق مجموعة من القواعد التي تحدد كيفية التعامل مع هذه المعلومات، وتُسمّى هذه القواعد خوارزمية التوجيه. لكل بروتوكول توجيه خوارزمية توجيه خاصة، تحدد هذه الخوازمية كيفيّة فهم البروتوكول لطوبولوجيا الشبكة وكيفيّة تعامله معها، ومعنى كلفة المسار، وبالتالي فهي تحدد آليّة اختيار أفضل مسار، وأشهر الخوارزميات المعتمدة من قبل بروتوكولات التوجيه هي خوارزمية بلمان-فوردوخوارزمية ديكسترا.
تدعم أنظمة تشغيل بعض الموجهات استخدام أكثر من بروتوكول توجيه في نفس الوقت، ويسبب هذا التباساً بسبب اختلاف معنى كلفة المسار في كل منها، فعلى سبيل المثال قد يكون المسار الأفضل بالنسبة لأحد البروتوكولات هو المسار صاحب الوزن الأقل، بينما بالنسبة لآخر قد يكون المسار صاحب الوزن الأعلى، بالإضافة لذلك تتعامل بعض البروتوكولات مع أوزان من رتبة الملايين، وبعضها الآخر برتبة العشرات والمئات فقط، في هذه الحالة يتم استخدام الوزن الإشرافي (Administrative Distance)،[9] وهو قيمة عدديّة يُمكن ضبطُها وتُمنح لبروتوكول التوجيه، وفي حال وجود مسارين تمّ الحصول عليهما من بروتوكولي توجيه مُختلفين، لا تتم مُقارنة الأوزان مع بعضها البعض لأنها نتجت عن بروتوكولات مُختلفة، لكن يتمّ اختيار المسار الخاصّ ببروتوكول التوجيه صاحب الوزن الإشرافي الأقل.
بعد اختيار أفضل المسارات نحو وجهة ما، تضاف هذه المعلومات إلى جدول التوجيه لتصبح معتمدة في عملية اتخاذ قرار التوجيه.
من الخصائص التي تتمايز فيها بروتوكولات التوجيه عن بعضها البعض: كيفية تجنب الحلقات، وكيفية اختيار أفضل المسارات، ومعنى الوزن أو الكلفة والزمن اللازم لإنجاز إعادة الحساب عند حصول تغيير ما في الطوبولوجيا، بالإضافة إلى قابليّة التوسّع.[10]
هي الطريقة أو الآليّة التي يتبعها بروتوكول التوجيه من أجل حساب وتحديد المسارات التي سوف تسلكها رزم البيانات،[11] وتحتاج خوارزمية التوجيه إلى مُدخلات هي المعلومات التي يملكها المُوجّه أو العقدة التي تُشغّل البروتوكول عن طوبولوجيا الشبكة، والتي حصل عليها إمّا من الشبكات المتصلة مع المُوجّه بشكلٍ مُباشر أو عن طريق رسائل التحديث التي تمّ تبادلُها بين المُوجّهات التي تُشغّل البروتوكول. خرج الخوارزمية هو جدول التوجيه.
تعتمد بعض بروتوكولات التوجيه على خوارزمية بلمان-فورد، وفيها يتم حساب وزن كل مسار بشكلٍ مُنفرد وتراكمي، حيث يزداد الوزن بالابتعاد عن العقدة المصدر إمّا بحسب عدد القفزات أو أوزان الوصلات، تمتاز هذه الخوارزمية بسهولة حسابها وعدم تعقيدها لكنّها بالمقابل لا تقدّم وصفاً دقيقاً لطوبولوجيا الشبكة،[12] وتعاني من مشكلة تشكّل الحلقات بسبب عدم وجود تصوّر نهائي للشبكة بعد الانتهاء من عملية إعادة الحساب، وتُسمى بروتوكولات التوجيه التي تُشغل هذا النوع من الخوارزميات ببروتوكولات التوجيه العاملة بخوارزمية شعاع المسافة.[13]
تُشغل بروتوكولات توجيه أخرى خوارزمية ديكسترا التي تُنتج وصفاً دقيقاً وتفصيليّاً أشبه بخريطة للشبكة، لكن ذلك يتمّ على حساب التعقيد وزيادة الوقت اللازم لإنجاز الحسابات. في هذه الخوارزمية يُوجد البروتوكول أفضل مسار نحو كل وجهة على اعتبار أن المُوجّه الذي يُشغله هو المصدر، وتكون النتيجة النهائية طوبولوجيا خالية من الحلقات.[14] تعتمد دقّة الخوارزميّة على نوعية القيم التي يتمّ استعمالها لحساب الأوزان، وتسمى البروتوكولات التي تُشغّل هذا النوع من الخوارزميات ببروتوكولات التوجيه العاملة بخوارزمية حالة الوصلة.[13]
يُمكن لبروتوكول التوجيه أن يعتمد على خوارزمية تسلك سلوكاً يجمع بين الخوارزميتين السابقتين، ويُسمى في هذه الحالة بروتوكولاً هجيناً.[15] كما يُمكن أن يُشغل شكلاً مُعدلاً من خوارزمية شعاع المسافة بحيث لا تتشكل الحلقات فيه، ويُسمى في هذه الحالة ببروتوكول التوجيه العامل بخوارزميّة شُعاع المسار.[16]
هو قيمة عددية تُمنح للمسار أو لجزء منه أو لوصلة بين نقطتين بغرض خلق آليّة للقياس والمُقارنة، ويختلف معنى الوزن وكيفيّة حسابه باختلاف بروتوكول التوجيه المُستخدم. بشكلٍ عام، كلما كان وزن المسار أقل، كان المسار أفضل، السبب في ذلك هو الطبيعة التراكميّة لوزن المسار التي غالباً ما تكون مجمُوعاً لقيم مأخوذة أو محسُوبة من الوصلات على طول المسار.[17]
تختلف طريقة حساب الوزن بين بروتوكولات التوجيه، فبروتوكولات التوجيه العاملة بخوازميّة شعاع المسافة، تقوم يإيجاد المجموع الجبري لأوزان الوصلات التي تُشكّل المسار، وعندما تكون الأوزان جميعُها مُساوية للواحد، فإنّ المجموع يُمثّل عدد القفزات أو الوصلات على طول المسار، وهي طريقة شائعة جداً لحساب الوزن في هذه العائلة من البروتوكولات.[18] بينما تعتمد بروتوكولات التوجيه العاملة بخوارزميات أخرى على مجموعة أكبر من العوامل لحساب وزن كل وصلة في المسار مثل عرض نطاقهاوزمن التأخير فيها، بالإضافة لوثوقيّة الوصلة وغيرها،[19] وكلما ازداد عدد العوامل الداخلة في الحساب، ازداد تعقيد العملية وازدادت دقتُها في تحديد أفضل المسارات.
بسبب تنوع طرق الحساب والعوامل الداخلة فيه، فإنّ معنى وقيمة الوزن يختلفان بحسب البروتوكول المُستخدم فقد لا تتجاوز قيمة وزن المسار في بعض البروتوكولات بضع عشراتٍ أو أقل، وقد تصبح قيمة الوزن لنفس المسار بالملايين إذا استُعمل بروتوكول توجيه آخر، لذلك لا يُمكن المُقارنة بين أوزان المسارات التي نتجت عن استخدام بروتوكولات توجيه مُختلفة. وفي حال وجود مساريين لنفس الوجهة، ولكن تمّ الحصول عليهُما من بروتوكولي توجيه مُختلفين فلا تتمّ مُقارنة الوزنين، وإنّما يُؤخذ الوزن الإشرافيّ لكل بروتوكول، ويتمّ اختيار المسار الذي أوجده البروتوكول صاحب الوزن الإشرافي الأقل قيمةً.[9]
رسائل التحديث
هي الطريقة التي يستخدمها بروتوكول التوجيه لنقل المعلومات التي تصف طوبولوجيا الشبكة بين العقد التي تُشغّله، ولكل بروتوكول توجيه رسائل تحديث خاصة به، لها بُنيّة ومحتوى مُميزين وطريقة انتشار خاصّة وتواتر إرسال يرتبط بمؤقّت واحد أو أكثر، كما أن بروتوكول توجيه واحد قد يدعم أكثر من نمط من رسائل التحديث.
تُرسل رسائل التحديث عندما يتم تفعيل البروتوكول على أحد منافذ العُقدة، أو عند حصول تغيّر في طوبولوجيا الشبكة وذلك بهدف نشر بيانات تفيد بحصول التغييرالحاصل، لإنجاز عملية إعادة الحساب بأسرع شكلٍ مُمكن، لمنع تشكّل الحلقات وللحفاظ على توافريّة الشبكة. عادة ما يتم إرسالها بشكل دوريّ بفواصل زمنية ثابتة يُمكن تغيرها، ويضبطها أحد مؤقتات البروتوكول. في البداية كانت رسائل التحديث تُرسل على شكل رسائل بثّ عام، إلى جميع العقد في الشبكة، لكن لاحقاً أصبحت ترسل بشكل بثّ مجموعاتي بهدف تقليل استهلاك عرض النطاق إلى الحد الأدنى.
قد تحتوي رسائل التحديث على جدول توجيه كامل، وفي هذه الحالة يقوم بروتوكول التوجيه في الطرف المُستقبل بمُقارنة محتوى الرسالة مع جدول التوجيه المحليّ، ويعدّله بحسب آليّة التعديل المُتبعة، وقد تحتوي الرسالة على بيانات تصفّ طوبولوجيا الشبكة، مثل عرض نطاق الوصلات أو زمن تأخيرها، ولكنّ هذه البيانات بحاجة لمزيد من المُعالجة قبل أن تُوضع في جدول التوجيه، مثل حساب الأوزان أو اختيار أفضل مسار، وفي هذه الحالة يُعيد البروتوكول تطبيق خوازميّة التوجيه على اعتبار أن محتوى رسالة التحديث هو مُدخلاتها، وينتج عن ذلك معلومات يمكن وضعُها في جدول التوجيه بحسب آلية التعديل التي يتبعها البروتوكول.
الأصل في بروتوكول التوجيه أن يتعامل مع كامل طوبولوجيا الشبكة دفعة واحدة، بدون تقسيمها إلى مناطق أو عناقيد أو التعامل معها بحسب بُنيّة هرميّة، بل العمل فيها وكأنّها مكوّنة من مُستوى واحد فقط، ويُسمى هذا النوع من الطوبولوجيا بالطوبولوجيا المُسطحة (Flat).[19]
لكن هذا لا ينطبق على جميع بروتوكولات التوجيه، ففي بعض الأحيان تكون الشبكة مُتشعبة ومُتباعدة الأطراف، وهو ما يُنتج طوبولوجيا هائلة الحجم يستحيل التعامل معها دفعة واحدة. وفي حالات أخرى تكون الطوبولوجيا معقدة بسبب دعم الفائضيّة.[20] أما في الشبكات المُتحركة، فتكون موارد العقدة قليلة، فلا تستطيع تخزين جداول توجيه كبيرة أو معالجة طوبولوجيا كبيرة الحجم. وفي كل ما سبق يكون اللجوء إلى تقسيم الطوبولوجيا إلى أجزاء والتعامل مع كل جزء منفرد على حدا هو الحل.
يمكن أن يتم تقسيم الطوبولوجيا إلى مناطق أو عناقيد أو بشكلٍ هرميّ بحسب خوارزمية عمل بروتوكول التوجيه،[21] وبعد التقسيم تُعنى المُوجّهات أو العقد التي تشغل البروتوكول بمعرفة كل المسارات في الجزء الذي توجد فيه، وبالمسارات الرئيسيّة التي تُوجّهالرزم إلى خارجه، ويتطلب ذلك من البروتوكول تعريف أنواع مختلفة من المُوجّهات بحسب موقعها في الطوبولوجيا الناتجة عن التقسيم، مثل المُوجّهات التي تقع بالكامل داخل منطقة واحدة أو التي تصل بين منطقتين أو التي تُشكّل رأس عنقود وغير ذلك بحسب الطريقة التي يتمّ فيها تقسيم الطوبولوجيا.
هي العملية التي يقوم بها البروتوكول كردّ فعل على حصول تغيير في طوبولوجيا الشبكة، مثل توقّف أحد المسارات عن العمل أو ظهور مسار جديد.[22] وتبدأ العملية من اللحظة التي يستشعر فيها البروتوكول حصول التغيير في الطوبولوجيا وتنتهي عند عندما تعود الشبكة لحالة الاستقرار مجدداً، أي عند وجود مسار فعّال لكل شبكة موجودة في جدول التوجيه. يُسمى الزمن الذي تستغرقه هذه العملية زمن إعادة الحساب، وكلّما كان هذا الزمن أقل كان أداء البروتوكول أعلى.
بعض بروتوكولات التوجيه لها مُقاربة فردية لهذه الميزة، فهي تحسب أفضل مسارين نحو كل وجهة، وتضيف أفضلهُما إلى جدول التوجيه في حين تحتفظ بالآخر بشكل احتياطي، لينوب عن المسار الأساسي في حال توقفّه عن العمل، وتشترط هذه المقاربة أن لا يكون المسار الاحتياطي جزءاً أو يتشارك جزءاً مع المسار الأساسي.[26]
المؤقتات
إنّ الأحداث الأساسية التي يتجاوب معها بروتوكول التوجيه هي تفعيله على أحد المنافذ في عقدة ما من عقد الشبكة أو حصول تغيير في الطوبولوجيا. تُنظّم مؤقتات البروتوكول عملية التجاوب، وهي عبارة عن أداة لقياس مدّة زمنية مُحددة بالثواني، وقد تجري عمليّة القياس بشكل تصاعدي، أي بدءاً من الصفر حتى قيمة مُحددة، أو تنازلي، أي من قيمة محددة حتى الصفر، وعند يسمى انتهاء الفترة الزمنية التي يجري قياسها بنفاذ المؤقت، أمّا إعادة ضبط المؤقت فتعني البدء بقياس الفترة الزمنية مرة أخرى من جديد.
يُشغل كل بروتوكول التوجيه عدد من المؤقتات بحسب حاجته، وتكون هذه قيمة هذه المؤقتات عند إعادة الضبط قابلة للتهيئة، ولكن مُعظم البروتوكولات تستخدم قيماً مدروسة ومختارة بعناية لمؤقتاتها ويتمّ عادة تحديدها في المعايير الخاصة بالبروتوكول،[27] ويجب توخّي الحذر عند تغيير هذه القيم لأن ذلك قد يؤدي إلى فشل البروتوكول أو عمله بصورة غير صحيحة، كما قد يؤدي ذلك إلى غمر الشبكة برسائل التحديث واستهلاك عرض نطاقها.
تُنظّم المؤقتات عمل رسائل التحديث، وعادة ما يقترن أحد المُؤقتات بها بحيث يُحدد الزمن الفاصل بين كل رسالتي تحديث مُتتاليتين، فيتمّ إعادة ضبطه عند إرسال رسالة التحديث، ثُمّ انتظار نفاذه لإعادة إرسالها مرة أخرى من جديد. بعض المؤقتات تُستخدم في عملية التحقق من استمرار الاتصال مع العقد الأخرى التي تُشغّل البروتوكول، والتي تسمى جيراناً. لتحقيق ذلك يُرسل البروتوكول العامل في العقدة رسائل تعارف (Hello) لكل جار من جيرانه، وتحصل هذه العملية بشكلٍ دوري، بفواصل زمنيّة ثابتة يُحددها مُؤقت خاص،[28] وطالما استمرت عملية استقبال رسائل التعارف من الجار فإنّ ذلك يعني أنّه ما يزال فعّالاً.
تُساعد المؤقتات أيضاً في تنظيم دورة حياة المسار، فالعديد من بروتوكولات التوجيه تُخصص مؤقّت لكل مسار، لتحديد صلاحيّته، ويتمّ إعادة ضبط هذا المؤقت في كل يجري فيها استقبال رسالة تحديث تُؤكّد أن المسار المرتبط به مازال فعّالاً. بالإضافة لذلك، فإنّ بعض بروتوكولات التوجيه لا تحذف المسار غير الصالح بشكل مُباشر من جدول التوجيه، وإنمّا توسمه بسمة خاصّة على أنّه غير صالح لفترة من الزمن يُحددها مؤقّت خاصّ، وفي حال نفاذ هذا المؤقّت بدون ورود أي معلومات عن المسار يتمّ حذفه بشكلٍ نهائي من جدول التوجيه.
أو تصنّف بحسب طريقة العمل، إمّا إلى بروتوكولات توجيه عاملة بخوارزميّة شعاع المسافة أو بروتوكولات توجيه عاملة بخوارزميّة حالة الوصلة أو بروتوكولات التوجيه العاملة بخوارزميّة شعاع المسار أو بروتوكولات التوجيه هجينة،[30] فبروتوكولات التوجيه العاملة بخوازمية شعاع المسافة تعتمد على حساب وزن المسار بشكل تراكمي، غالباً باستخدام خوارزمية بلمان-فورد أو إحدى الخوارزميّات المُشابهة، أمّا بروتوكولات التوجيه العاملة بخوازمية حالة الوصلة، فتعتمد على بناء طوبولوجيا كاملة للشبكة قبل البدء بحساب أوزان المسارات، وتعتمد بالغالب على خوارزمية ديكسترا، وقد تسلك بعض البروتوكولات سلوكاً مختلطاً من المجموعتين السابقتين، فتسمى بروتوكولات توجيه هجينة.[31] أمّا البروتوكولات العاملة بخوازميّة شعاع المسار، فهي تعتمد على خوارزمية شعاع المسار،[32] وهي خوارزميّة شبيهة من حيث المبدأ بخوارزميّة بلمان فورد، ولكنّها قادرة على حل مشكلة تشكل الحلقات من تلقاء نفسها، كما أنها تحتفظ بمعلومات تخصّ المسار نفسُه عوضاً عن الوزن التراكمي فقط.[33]
أو تصنف بحسب سلوك البروتوكول مع فضاء العنونة الخاص ببروتوكول الإنترنت (IPv4)،[34] فإمّا أن يكون بروتوكول توجيه قياسي (Classful) أو غير قياسي (Classless)[35] فبروتوكول التوجيه القياسي هو بروتوكول التوجيه الذي لا يتعامل إلا مع الشبكات القياسيّة من الأصناف (A) أو(B) أو (C)، أما بروتوكول التوجيه غير القياسي فهو قادر على فهم وتوجيه الرزم نحو شبكات غير قياسيّة، أي شبكات نتجت عن عملية تجزئة الشبكة.[36]
تختلف الشبكات المتحركة عن الشبكات التقليدية بعدم وجود معماريّة ثابتة لها، فبنيتُها مُتغيّرة بطبيعتها ويؤثّر هذا على طريقة وآلية عمل بروتوكولات التوجيه. في البداية، صنّفت بروتوكولات التوجيه في الشبكات المتحركة إلى تلك التي تُنشئ جداول التوجيه (Table-Driven)، وإلى التي تعمل عند الطلب (on-demand)،[49] فالأولى تُنشئ جداول التوجيه بشكل مُسبق وتحافظ عليها مُحدثة بشكل دائم، أمّا الثانيّة فإنها تقوم بحساب المسار عند الحاجة فقط.
لاحقاً تم توسيع هذا التصنيف ليشمل ثلاث مجموعات، وأصبح تصنيفاً على أساس فلسفة التصميم أي طريقة عمل الخوارزميّة،[50] وسُميت المجموعات الفاعلة (Active) والاستباقيّة (Proactive) والهجينة (Hybrid)، أمّا الاستباقيّة فهي التي تُنشئ جدول توجيه بشكل مُسبق، والفاعلة هي تلك التي تعمل عند الطلب أو عند الحاجة، والهجينة هي التي تسلك السلوكين معاً.[51]
يُمكن أن تُصنّف بروتوكولات التوجيه في الشبكات المتحركة أيضاً بحسب الطريقة التي تقوم فيها بالتعامل طوبولوجيا الشبكة،[50] فهناك بروتوكولات التوجيه التي تتعامل الطولولوحيا المُسطحة، والتي تتعامل مع كامل طوبولوجيا الشبكة دفعة واحدة، أو التي تتعامل مع الشبكة بشكل هرميّ، وهناك مجموعتين في هذا التصنيف فإمّا أن تُقسّم البروتوكولات الشبكةَ إلى عناقيد (Cluster) أو إلى مناطق (Zone).
عادة ما يتم مقارنة بروتوكولات التوجيه في الشبكات المُتحركة بحسب بُنية الطوبولوجيا (مُسطحة -هرميّة)، وتوافرية المسارات، والتحديثات الدوريّة، والحاجة للتخزين وزمن التأخيروقابلية التوسع.
يُطلق مصطلح البروتوكولات المُوجّهة أو بروتوكولات التشبيك على البروتوكولات العاملة في طبقة الإنترنت والتي تقوم بتوليد رزم البيانات التي سيتم توجيهها، وتكون هذه البروتوكولات مسؤولة أيضاً عن تعريف آليّة عنونة وتحديد فضاء العناوين وهي الأساسيات التي تستخدمها بروتوكولات التوجيه، من الأمثلة عن البرتوكولات الموجّهة: بروتوكول الإنترنت (IPv4) والإصدار السادس من بروتوكول الإنترنت (IPv6) و بروتوكول تبادل رزم الشبكات (IPX).[79]
^ ابJeff Doyle (16 نوفمبر 2001). "Dynamic Routing Protocols". Cisco Systems Inc. (بالإنجليزية). Archived from the original on 18 أوكتوبر 2017. Retrieved 21 أوكتوبر 2017. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ الوصول= and |تاريخ أرشيف= (help)
^Fransson، Pierre؛ Carr-Motyckova، Lenka (أغسطس 2007). "Loop-Free Link-State Routing". Computer Communications and Networks, 2007. ICCCN 2007. Proceedings of 16th International Conference. IEEE. DOI:10.1109/ICCCN.2007.4317933. ISSN:1095-2055.
^Cao، L.؛ Dahlberg، T. (أبريل 2006). "Path cost metrics for multi-hop network routing". Performance, Computing, and Communications Conference, 2006. IPCCC 2006. 25th IEEE International. IEEE. DOI:10.1109/.2006.1629385.
^"Hop Definition". The Linux Information Projec (بالإنجليزية). 13 أوكتوبر 2005. Archived from the original on 11 أوكتوبر 2017. Retrieved 25 أوكتوبر 2017. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ الوصول=, |تاريخ=, and |تاريخ أرشيف= (help)
^ اب"Routing Basics". Cisco Systems Inc. (بالإنجليزية). Archived from the original on 17 أوكتوبر 2017. Retrieved 20 أوكتوبر 2017. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ الوصول= and |تاريخ أرشيف= (help)
^Al-Khateeb، K.A.S.؛ Latif، S.A. (سبتمبر 2003). "A computer algorithm to determine optimal link redundancy of a complex network". Communications, 2003. APCC 2003. The 9th Asia-Pacific Conference. IEEE. DOI:10.1109/APCC.2003.1274252.
^Subir Kumar Sarkar, T.G. Basavaraju, C. Puttamadappa (2007). Ad Hoc Mobile Wireless Networks: Principles, Protocols and Applications (بالإنجليزية). CRC Press. p. 66. ISBN:1466514469.{{استشهاد بكتاب}}: صيانة الاستشهاد: أسماء متعددة: قائمة المؤلفين (link)
^"Convergence Definition". The Linux Information Project (بالإنجليزية). 18 نوفمبر 2005. Archived from the original on 23 أوكتوبر 2017. Retrieved 31 أوكتوبر 2017. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ الوصول= and |تاريخ أرشيف= (help)
^"Hello timer behaviors". packetlife.net (بالإنجليزية). 14 مايو 2008. Archived from the original on 29 أوكتوبر 2017. Retrieved 31 أوكتوبر 2017. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ الوصول= and |تاريخ أرشيف= (help)
^ ابNagham، H. Saeed؛ Abbod، Maysam F.؛ Al-Raweshidy، Hamed S. (أبريل 2012). "MANET routing protocols taxonomy". Future Communication Networks (ICFCN), 2012 International Conference. IEEE. DOI:10.1109/ICFCN.2012.6206854.
^Abolhasan، Mehran؛ Dutkiewicz، Eryk؛ Wysocki، Tadeusz (يناير 2004). "A review of routing protocols for mobile ad hoc networks". Ad Hoc Networks. ج. 2 ع. 1: 1-22. DOI:10.1016/S1570-8705(03)00043-X.
^Murthy، Shree؛ Garcia-Luna-Aceves، J. J. (نوفمبر 1995). "A routing protocol for packet radio networks". 1st annual international conference on Mobile computing and networking. ACM: 86-95. DOI:10.1145/215530.215560. ISBN:0-89791-814-2.
^Basagni، Stefano؛ Chlamtac، Imrich؛ Syrotiuk، Violet R.؛ Woodward، Barry A. (أوكتوبر 1998). "A distance routing effect algorithm for mobility (DREAM)". MobiCom '98 Proceedings of the 4th annual ACM/IEEE international conference on Mobile computing and networking. ACM: 76-84. DOI:10.1145/288235.288254. ISBN:1-58113-035-X. {{استشهاد بدورية محكمة}}: تحقق من التاريخ في: |تاريخ= (مساعدة)
^Kasera، K.K.؛ Ramanathan، R. (أوكتوبر 1997). "A location management protocol for hierarchically organized multihop mobile wireless networks". Universal Personal Communications Record, 1997. Conference Record., 1997 IEEE 6th International Conference. IEEE. DOI:10.1109/ICUPC.1997.625502. ISBN:0-7803-3777-8. ISSN:1091-8442. {{استشهاد بدورية محكمة}}: تحقق من التاريخ في: |تاريخ= (مساعدة)
^Pei، G.؛ Gerla، M.؛ Hong، X.؛ Chiang، C.-C. (سبتمبر 1999). "A wireless hierarchical routing protocol with group mobility". Wireless Communications and Networking Conference, 1999. WCNC. 1999 IEEE. IEEE. DOI:10.1109/WCNC.1999.796996. ISSN:1525-3511.
^P. Jacquet, P. Muhlethaler, T. Clausen, A. Laouiti, A. Qayyum, L. Viennot (ديسمبر 2001). "Optimized link state routing protocol for ad hoc networks". Multi Topic Conference, 2001. IEEE INMIC 2001. Technology for the 21st Century. Proceedings. IEEE International. IEEE. DOI:10.1109/INMIC.2001.995315.{{استشهاد بدورية محكمة}}: صيانة الاستشهاد: أسماء متعددة: قائمة المؤلفين (link)
^"A new approach to on-demand loop-free multipath routing". Computer Communications and Networks, 1999. Proceedings. Eight International Conference. IEEE. أغسطس 1999. DOI:10.1109/ICCCN.1999.805568. ISSN:1095-2055. {{استشهاد بدورية محكمة}}: الوسيط غير المعروف |Authors= تم تجاهله يقترح استخدام |authors= (مساعدة)
^"A distributed routing algorithm for mobile wireless networks". Wireless Networks. Kluwer Academic Publishers Hingham. ج. 1 ع. 1: 61-81. فبراير 1995. DOI:10.1007/BF01196259. {{استشهاد بدورية محكمة}}: الوسيط غير المعروف |Authors= تم تجاهله يقترح استخدام |authors= (مساعدة)
^"A highly adaptive distributed routing algorithm for mobile wireless networks". INFOCOM '97. Sixteenth Annual Joint Conference of the IEEE Computer and Communications Societies. Driving the Information Revolution., Proceedings IEEE. IEEE. أبريل 1997. DOI:10.1007/BF01196259. ISSN:0743-166X. {{استشهاد بدورية محكمة}}: الوسيط غير المعروف |Authors= تم تجاهله يقترح استخدام |authors= (مساعدة)
^"A novel distributed routing protocol to support ad-hoc mobile computing". Computers and Communications, 1996., Conference Proceedings of the 1996 IEEE Fifteenth Annual International Phoenix Conference. IEEE. مارس 1996. DOI:10.1109/PCCC.1996.493675. {{استشهاد بدورية محكمة}}: الوسيط غير المعروف |Authors= تم تجاهله يقترح استخدام |authors= (مساعدة)
^"Signal stability-based adaptive routing (SSA) for ad hoc mobile networks". IEEE Personal Communications. IEEE. ج. 4 ع. 1: 36–45. فبراير 1997. DOI:10.1109/98.575990. ISSN:1070-9916. {{استشهاد بدورية محكمة}}: الوسيط غير المعروف |Authors= تم تجاهله يقترح استخدام |authors= (مساعدة)
^"Bandwidth-efficient routing protocol for mobile ad hoc networks". IEE Proceedings - Software. IEE. ج. 150 ع. 4: 230–234. أغسطس 2003. DOI:10.1049/ip-sen:20030811. ISSN:1462-5970. {{استشهاد بدورية محكمة}}: الوسيط غير المعروف |Authors= تم تجاهله يقترح استخدام |authors= (مساعدة)
^"Location-aided routing (LAR) in mobile ad hoc networks". Wireless Networks. Springer-Verlag New York. ج. 6 ع. 4: 307–321. يوليو 2000. DOI:10.1023/A:1019106118419. {{استشهاد بدورية محكمة}}: الوسيط غير المعروف |Authors= تم تجاهله يقترح استخدام |authors= (مساعدة)
^"IPv6 flow handoff in ad hoc wireless networks using mobility prediction". Global Telecommunications Conference, 1999. GLOBECOM '99. IEEE. ديسمبر 1999. DOI:10.1109/GLOCOM.1999.831647. ISBN:0-7803-5796-5. {{استشهاد بدورية محكمة}}: الوسيط غير المعروف |Authors= تم تجاهله يقترح استخدام |authors= (مساعدة)
^Jiang, Mingliang; Li, Jinyang; Tay, Y.C. (14 أغسطس 1999). "Cluster Based Routing Protocol(CBRP)". The Internet Society (بالإنجليزية). Archived from the original on 27 ديسمبر 2018. Retrieved 1 أوكتوبر 2017. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ الوصول= (help)
^"A peer-to-peer zone-based two-level link state routing for mobile ad hoc networks". IEEE Journal on Selected Areas in Communications. IEEE. ج. 17 ع. 8: 1415–1425. أغسطس 1999. DOI:10.1109/49.779923. ISSN:0733-8716. {{استشهاد بدورية محكمة}}: الوسيط غير المعروف |Authors= تم تجاهله يقترح استخدام |authors= (مساعدة)
^"Scalable routing protocol for ad hoc networks". Wireless Networks. Kluwer Academic. ج. 7 ع. 5: 513–529. سبتمبر 2001. DOI:10.1023/A:1016726711167. {{استشهاد بدورية محكمة}}: الوسيط غير المعروف |Authors= تم تجاهله يقترح استخدام |authors= (مساعدة)
^"DST-A routing protocol for ad hoc networks using distributed spanning trees". Wireless Communications and Networking Conference, 1999. WCNC. 1999 IEEE. IEEE. سبتمبر 1999. DOI:10.1109/WCNC.1999.796997. ISSN:1525-3511. {{استشهاد بدورية محكمة}}: الوسيط غير المعروف |Authors= تم تجاهله يقترح استخدام |authors= (مساعدة)
^"DDR: distributed dynamic routing algorithm for mobile ad hoc networks". MobiHoc '00 Proceedings of the 1st ACM international symposium on Mobile ad hoc networking & computing. IEEE Press: 19–27. 2000. ISBN:0-7803-6534-8. {{استشهاد بدورية محكمة}}: الوسيط غير المعروف |Authors= تم تجاهله يقترح استخدام |authors= (مساعدة)