بروتوكول رسائل التحكم في شبكة الإنترنت للإصدار الرابع من بروتوكول الإنترنت (Internet Control Message Protocol for IPv4 اختصاراً ICMPv4) هو بروتوكول مساعد[1] للإصدار الرابع من بروتوكول الإنترنت وجزءٌ مدمج منه. يُعرف البروتوكول عدداً من رسائل التحكم الَّتي تُغلَّف داخل رزم الإصدار الرابع من بروتوكول الإنترنت، وتنقل عبر الشبكة بهذا الشكل. طُوِّر البروتوكول بالتوازي مع تطوير الإصدار الرابع من بروتوكول الإنترنت، ووصف في وثيقة طلب التعليقات RFC 792.[2]
بروتوكول رسائل التحكم في الإنترنت للإصدار الرابع من بروتوكول الإنترنت | |
---|---|
Internet Control Message Protocol for IPv4 | |
ترويسة عامة لرسائل البروتوكول
| |
اختصار | ICMPv4 |
الوظيفة | بروتوكول مساعد للإصدار الرابع من بروتوكول الإنترنت [1] |
المُطوِّر | وكالة مشاريع البحوث المتطورة الدفاعية |
التاريخ | 1981م |
طبقة نموذج الاتصال المعياري | طبقة الشبكة |
وثيقة طلب التعليقات | RFC 792 |
تُصنَّف رسائل التحكم إلى صنفين: رسائل الأخطاء ورسائل الاستعلام. أَمَّا رسائل الأخطاء فهي تُرسل لمصدر رزمة بيانات نتيجةً لحصول خطأ ما أثناء معالجة الرزمة، وقد يُرسلها المُضيف الوجهة أو أي موجه يُعالِج الرزمة أثناء عبورها للمسار بين المصدر والوجهة. وأمَّا رسائل الاستعلام فهي تقسم إلى مجموعتين أيضاً: رسائل الطلب ورسائل الرد. وأمَّا رسائل الطلب فيُرسلها مُضيفٌ لوجهةٍ ما يطلب فيها الحصول على معلوماتٍ مُحددةٍ، مثل عنوان المُوجِّه المتصل مع الشبكة، وأَمَّا رسائل الردّ فهي ردُ تلك الوجهة على رسالة الاستعلام، ولكل رسالة طلب استعلامٍ رسالة ردٍ مُتوافِقة معها.[3]
عرَّف المعيار الرسمي للبروتوكول عدداً من الرسائل، أهمها رسالة توليد الصدى والرد عليها ورسالة إعادة التوجيه ورسالة عدم بلوغ الوجهة.[4] وأضيفت إليها لاحقاً عدداً من الرسائل لأداء وظائِفَ مُختلِفة، مثل الاستعلام عن قناع الشبكة،[5] ولكن أغلب الرسائل المضافة وبعض الرسائل المُعرَّفة في المعيار الرسمي أبطلت فيما بعد لأسباب متنوعة ولم تعد مُستحدمةً.[6]
اعتماداً على رسالة توليد الصدى والرد عليه، بنيت أداتان لتشخيص الأخطاء في الشبكة وتعقبها هما أداة التحقق من الاتصال، المشهورة باسم بينغ (Ping)، وأداة تتبع المسار. ليس هناك معيارٌ محدد لتنفيذ هاتين الأداتين، ولذلك فقد تنوعت أساليب تنفبذهما في أنظمة التشغيل المختلفة مثل نظام ويندوز الخاصّ بمايكروسوفت وأنظمة التشغيل الخاصَّة بسيسكو وغير ذلك.
كانت رسائل البروتوكول سبباً في تطوير عدد من الهجمات الَّتي يمكن تصنيفها ضمن ثلاثة أنواع رئيسة هي: هجمات الغمر، مثل هجوم السنافر، والهجمات الانفجارية مثل هجوم أمر التحقق من الاتصال المميت، وهجمات تسريب المعلومات مثل شكل خاص من هجوم الوسيط طُوِّر اعتماداً على رسائل إعادة التوجيه التي يُعرِّفها البروتوكول.[7]
نبذة تاريخية
طُوِّر بروتوكول رسائل التحكم في الإنترنت بالتوازي مع تطوير الإصدار الرابع من بروتوكول الإنترنت، وطُرح أول معيار له شهر أبريل من العام 1981 في وثيقة طلب التعليقات RFC 777،[8] ثُمَّ طُرحت وثيقة أخرى بعد 5 أشهر في سبتمبر من نفس العام وهي وثيقة طلب التعليقات RFC 792،(1) وهي المعيار الرسمي للبروتوكول حتى اليوم.[2]
احتوى المعيار الرسميّ للبروتوكول على توصيف مُقتضب لإحدى عشرة رسالة تحكُّمٍ، تلا ذلك شرحٌ مُفصَّل عن كيفية عمل البروتوكول ومتى يَلزم إِرسال الرسائِل وتفاصيلُ دقيقةٌ أخرى صدرت في وثيقتين منفصلتين، الأولى موجهة لتوصيف عمل مُضيفي الإصدار الرابع من بروتوكول الإنترنت، وهي وثيقة طلب التعليقات RFC 1122 المعنونة:"متطلبات مُضيفي الإنترنت -- طبقات الاتصال"(2)[9] والَّتي صدرت في شهر أوكتوبر من العام 1989م، والثانية مُخصصةٌ لتوصيف عمل المُوجِّهات، وهي الوثيقة RFC 1812 المُعنونة:"مُتطلبات مُوجِّهات الإصدار الرابع من بروتوكول الإنترنت"(3) والتي صدرت في شهر يونيو من العام 1995.[10]
في السنوات اللاحقة لإصدار المعيار الرسميّ، وُسِّع البروتوكول تتابعاً بحسب ما اقتضاه التطور التقنيّ. فعلى سبيل المثال، في أغسطس من العام 1985م، صدر معيار تجزئة الشبكة، وعرَّف نوعاً جديداً من رسائِل التحكم هي رسائِل القناع، وتشمل نوعين من الرسائِل هُما رسالة طلب القناع ورسالة الردِّ على طلب القناع.[5] وأيضاً في شهر سبتمبر من العام 1991، أي بعد حوالي 10 سنوات من اعتماد البروتوكول كمعيار رسميّ، صدرت الوثيقة RFC 1256 التي أضافت نوعاً جديداً من الرسائل هي رسائل اكتشاف الموجه، وتضمُّ رسالتين هما رسالة إِعلان المُوجِّه ورسالة التماس المُوجِّه.[11] ولكنَّ أغلب هذه الرسائل أُبطلت في وقت لاحق لأسبابٍ مُختلفةٍ ولم تعد مُستعملة.[12]
في عام 1995م، طُوِّر الإصدار السادس من بروتوكول الإنترنت،[13] وبالتوازي مع هذا التطوير جرى العمل على إصدار جديد من بروتوكول رسائل التحكم متوافق مع الإصدار السادس، وُسمِّي بروتكول رسائل التحكم للإصدار السادس من بروتوكول الإنترنت ( Internet Control Message Protocol for the Internet Protocol Version 6 اختصاراً ICMPv6) ووصف في وثيقة طلب التعليقات RFC 1885(4)،[14] طُوِّر معيار هذا البروتوكول لاحقاً,عُدِّل تباعاً، وأمَّا المعيار الأحدث فهو مَوصُوفٌ بالوثيقة RFC 4443.[15]
مبدأ العمل
يُقدِّم بروتوكول رسائل التحكم للإصدار الرابع من بروتوكول الإنترنت الخدمات التالية: الإبلاغ عن الأخطاء وآليةً للاستعلام عن المعلومات في الشبكة وآليَّةً لإعادة التوجيه على مستوى المُوجِّه الأول المُتَّصِل مع مصدر رزم البيانات.(5)[16] لتحقيق ذلك، يُعرِّف البروتوكول عدداً من الرسائل التي يجري تبادلها عبر الشبكة بين مصدر رزم البيانات ووجهتها أو بين المصدر وعقد الشبكة الموجودة على المسار نحو الوجهة.[2]
إِنَّ الإصدار الرابع من بروتوكول الإنترنت غير موثوق،[17] ولا يَهدف استعمال بروتوكول رسائل التحكم إلى إضافة الوثوقية إليه، ولكن بروتوكول رسائل التحكم يعمل على إيصال رسائل تبليغ عن وقوع أخطاءٍ في الشبكة، أو عن حصول أحداثٍ مُعيَّنة تتطلب انتباهاً من مُشرفي الشبكة. وفقاً لنموذج الشبكة المعياري، فإنَّ رسائل هذا البروتوكول توَّلد على مستوى طبقة الشبكة حيث يعمل، أو على مستوى طبقة النقل، أو حتى على مستوى طبقة التطبيق حيث تنشط تطبيقات المستخدمين.[18]
تُغلَّف رزم بروتوكول رسائل التحكم داخل رزم الإصدار الرابع من بروتوكول الإنترنت.[19] أي عند التغليف، يُعامل بروتوكولُ رسائل التحكم بروتوكولَ الإنترنت وكأنه بروتوكول طبقة أعلى، ولكن بروتوكول رسائل التحكم هو جزءٌ مُدمَجٌ من بروتوكول الإنترنت، ويجب أن يُدعم في أي موقع يدعم بروتوكول الإنترنت.[2] إذا كانت رزمة بروتوكول رسائل التحكم مُغلَّفة داخل رزمة بروتوكول الإنترنت، فإن قيمة حقل البروتوكول في ترويسة بروتوكول الإنترنت يجب أن تُضبط إلى القيمة 1.[20]
تُصنَّف رسائل التحكم إلى صنفين وفقاً لآلية توليد الرسالة. الصَّنف الأول هو رسائل الأخطاء، وهي تُرسل من نتيجة لحصول خطأ في معالجة رزمة بيانات ما، وهي تُرسَل من المضيف الوجهة للرزمة أو من أحد المُوجِّهات على مسارها، إلى مصدر رزمة البيانات، ولا يُردّ أبداً على رسالة خطأ. أمَّا رسائل الاستعلام، فتُرسل من مُضيف، إلى مُضيف آخر أو إلى موجه، ويمكن أن تستخدم لطلب معلومات مُحددة، مثل عنوان موجه أو قناع الشبكة، ولكل رسالة طلب رسالة ردٍّ مُتوافِقة معها من حيث النُّوع والبِنية، ويَلزم الردّ على كُلّ رسالة طلب ٍبرسالة الرد المُتوافِقة معها.[3]
بنية الترويسة
تتكون ترويسة بروتوكول رسائل التحكم من مجموعتين من الحقول، أوَّلها هي الحقول الدائمة، وتوجد في ترويسات رسائل البروتوكول كُلِّها، بغض النظر عن نوع الرسالة، وثانيها هي حقول المُحتوى، وتتغير في العدد والبنية بحسب نوع الرسالة، ويمكن وصف حقول الرسالة كالتالي:[21]
- حقل النوع: (8 بت) يحتوي مُعرِّفاً رقميَّاً يُشير إلى نوع رسالة التحكم. تُدير هيئة أرقام الإنترنت المُخصصة عملية الضبط المعياري لقيم هذا الحقل عالمياً، وهناك 43 قيمة محجوزة، ولكن عدداً كبيراً منها خُصص لرسائل مُبطلة لم تعد مستعملة.[6]
- حقل الرمز: (8 بت) يحتوي مُعرِّفاً رقميَّاً يُخصص نوع الرسالة، ويختلف معنى الرمز باختلاف نوع الرسالة، فمعنى الرمز 0 من أجل أحد أنواع رسائل التحكم يختلف عن معناه في رسالةٍ أخرى، تُخصص قيم هذا الحقل من قبل هيئة أرقام الإنترنت المُخصصة.[22]
- حقل التحقق الجمعي: (8 بت) ويحتوي ناتج خوارزميّة التحقق الجمعيّ التي تطبّق على رزمة البروتوكول كاملةً. تشرح مُحددات البروتوكول الخوارزميّة المُتبّعة لحساب قيمة هذا الحقل.
- المُحتوى (متغيِّر الطول) ويُمثِّل حقولاً تختلف في بنيتها وعددها ومحتواها بحسب نوع الرسالة، وقد تحتوي في بعض الأحيان على أجزاء من ترويسة بروتوكول إنترنت أو ترويسات بروتوكولات أخرى.
تُصنف رسائل التحكم إلى نوعين وفقاً لوظيفتها، فهي إمَّا رسائل استعلام أو رسائل إبلاغ عن خطأ،[3][23] وفيما يأتي رسائل البروتوكول الَّتي ما تزال قيد الاستعمال:
حقل النوع | اسم الرسالة بالعربية | اسم الرسالة بالإنجليزية | تصنيف الرسالة | مرجع |
---|---|---|---|---|
0 | الصدى(6) | Echo Replay |
استعلام | [24] |
3 | عدم بلوغ الوجهة | Destination unreachable |
خطأ | [25] |
5 | إعادة التوجيه | Redirect |
خطأ | [26] |
8 | توليد الصدى(6) | Echo |
استعلام | [24] |
9 | إعلان الموجه | Router Advertisement |
استعلام | [27] |
10 | التماس الموجه | Router Solicitation |
استعلام | [28] |
11 | نفاد الزمن | Time exceeded |
خطأ | [29] |
12 | مشكلة في محدد | Parameter problem |
خطأ | [30] |
13 | طلب وسمة زمنيَّة | Timestamp |
استعلام | [31] |
14 | الردُّ على طلب الوسمة الزمنيَّة | Timestamp Reply |
استعلام | [31] |
هناك العديد من الرسائل التي طُوِّرت لأغراض معينة، بعضها استعمل لفترة، وبعضها لم يتجاوز المرحلة التجريبية. وفيما يأتي سرد بهذه الرسائل المُبطلة مرتبةً وفقاً لقيمة حقل النوع فيها:
حقل النوع | اسم الرسالة بالعربية | اسم الرسالة بالإنجليزية | سبب الإبطال |
---|---|---|---|
4 | تهدئة المصدر | Source Quench |
بسبب عدم فعاليَّة الآلية في معالجة ظاهرة الازدحام.[32] |
6 | عنوان المضيف البديل | Alternate Host Address |
ليس هناك معلومات متوافرة عن هذا النوع من الرسائل[33] |
15 | طلب معلومات | Information Request |
بسبب ظهور تقنيَّات أخرى تقدِّم هذه الخدمات بكفاءة، مثل بروتوكول التهيئة الآلية للمضيفين[34][35] |
16 | الرد على طلب المعلومات | Information Reply
| |
17 | طلب قناع عنوان | Address Mask Request
| |
18 | الرد على طلب قناع عنوان | Information Reply
| |
30 | تتبع المسار | Traceroute |
عُرّّفت الرسالة كخيار تجريبي للإصدار الرابع من بروتوكول الإنترنت،[36] ولم تُطبَّق أبداً على نطاق واسع.[37] |
31 | خطأ في تحويل حزمة البيانات | Datagram Conversion Error |
كان الهدف من تطوير هذه الرسالة هو الإبلاغ عن أحطاء تحويل حزم البيانات في الإصدار السابع من بروتوكول الإنترنت (TP/IX)،[38](7) ولكن البروتوكول ولم يُطبَّق أبداً على نطاق واسع.[33] |
32 | إعادة توجيه المُضيف المُتحرك | Mobile Host Redirect |
طُوِّرت هذه الرسالة بالأصل لتكون جزءاً من بروتوكول تجريبي لمضيفي بروتوكول الإنترنت المتحركين،[39] ولكن البروتوكول لم يُطبَّق أبداً على نطاق واسع.[33] |
33 | الإصدار السادس، أين أنت | IPv6 Where-Are-You |
طوِّرت هاتان الرسالتان كجزء من مشروع يهدف لتحديد العقد المجاورة التي تُشغِّل الإصدار السادس من بروتوكول الإنترنت،[40] ولكن البروتوكول لم يُطبَّق أبداً على نطاق واسع.[33] |
34 | الإصدار السادس، أنا هنا | IPv6 I-Am-Here
| |
35 | طلب التسجيل | Mobile Registration Request |
طُوِّرت هاتان الرسالتان لدعم توجيه رزم بيانات الإصدار السادس من بروتوكول الإنترنت لدى العُقد المُتحركة،[41] ولكن البروتوكول لم يُطبَّق أبداً على نطاق واسع.[33] |
36 | الرد على طلب التسجيل | Mobile Registration Reply
| |
37 | طلب اسم النطاق | Domain Name Request |
طُوِّرت هاتان الرسالتان ضمن آلية تسمح للمضيف بالحصول على اسم النطاق المؤهل المُكتَمل،[42] ولكن البروتوكول لم يُطبَّق أبداً على نطاق واسع.[43] |
38 | الرد على طلب اسم النطاق | Domain Name Reply
| |
39 | تتبع المسار | Traceroute |
طُوِّرت هذه الرسالة لدعم إدارة المفاتيح البسيطة لبروتوكولات الإنترنت (SKIP)،[44][45] ولكن البروتوكول لم يُطبَّق أبداً على نطاق واسع.[43] |
الوظائف
رسائل الأخطاء
تُرسل رسائل الأخطاء نتيجةً لحصول خطأ ما أثناء معالجة رزمة بيانات. يكون مصدر الرسالة وجهة الرزمة أو أحد المُوجِّهات التي تُعالِجُها أثناء عبورها الشبكة نحو وجهتها. يجب أن تحتوي رسالة الخطأ على نسخة من ترويسة بروتوكول الإنترنت الخاصّة بالرزمة التي حصل الخطأ فيها بالإضافة لنسخة من أول ثمانية بايتات من حمولة الرزمة.[46] يمكن أن تستخدم بعض رسائل الأخطاء لاكتشاف الأخطاء في الشبكة بهدف تصحيحها، مثل رسالتي إعادة التوجيه وعدم بلوغ الوجهة.[47]
تُحدد وثيقة طلب التعليقات RFC 1812 بعض الحالات التي لا يجب أن تُرسل رسائل الأخطاء فيها، وهي كالتالي:[48]
- نتيجةً لاستقبال رسائل أخرى أخطاء أخرى للبروتوكول.
- نتيجةً للتخلُّص من رزمة بروتوكول إنترنت فشلت في اختبارات التحقق من صحة المحتوى، مثلاً: فشلت في تجاوز اختبار فحص التحقق الجمعي أو في الحالة التي تكون طول الرزمة المُحدد في الترويسة لا يتوافق مع طولها الفعلي ... إلخ.
- نتيحةً لاستقبال رزمة بثٍّ عام أو بثٍّ مجموعاتيّ.
- نتيجةً لاستقبال رزمة بيانات ذات عنوان مصدرٍ غير سليمٍ.
- نتيجةً لاستقبال أي قطعة ناتجة عن التقطيع، ما خلا القطعة الأولى.
عدم بلوغ الوجهة
تُرسل هذه الرسالة إلى المُضيف المَصدر الذي أرسل رزمة بياناتٍ ما نحو مضيف وجهة، ولكن لسببٍ ما، تحدده هذه الرسالة تعذَّر إيصال الرزمة إلى وجهتها. وقد يكون مُرسِل هذه الرسالة مُوجِّهاً يُعالِج الرزمة أثناء عبورها المسار نحو المضيف الوجهة الذي قد يكون هو نفسُه مرسل الرسالة في بعض الأحيان. تُرسل هذه الرسالة في الحالات التالية:[49]
1. من مُوجِّه يُعالج الرزمة:
- إذا لم يكن بالإمكان بلوغ الشبكة المُحدَدة وجهةً لرزمة بيانات ما وفقاً لبنود جدول التوجيه. في هذه الحالة، يقوم الموجه بالتخلص من الرزمة، ويُرسل رسالة عدم بلوغ الوجهة ويُحددها بحالة حالة عدم بلوغ الشبكة.
- إذا كان المُوجِّه مُتصِلاً مع الشبكة الوجهة بشكل مباشر، ولكن تعذَّر بلوغ المضيف المحُدد بعنوان الوجهة، كأن يكون المضيف في وضع التعطيل أو غير مُتصلٍ مع الشبكة أو قد يكون العنوان غير مستعملٍ أو خاطِئ. في هذه الحالة، يقوم الموجه بالتخلص من الرزمة، ويُرسل رسالة عدم بلوغ الوجهة ويُحددها بحالة عدم بلوغ المضيف.
- إذا كان علم عدم التقطيع مَرفُوعاً في رزمة البيانات، وكان حجمُها أكبر من وحدة النقل العظمى لطبقة الشبكة المُحددة في الخطوة التالية على مسارالرزمة نحو وجهتها، في هذه الحالة يقوم المُوجه بالتخلص من الرزمة، ويُرسِل رسالة عدم بلوغ الوجهة ويُحددها بحالة الحاجة للتقطيع ولكن علم عدم التقطيع مرفوع.
2. من المُضيف الوجهة:
- إذا كانت قيمة حقل البروتوكول في ترويسة الإصدار الرابع من بروتوكول الإنترنت لا تتطابق مع أي قيمة مدعومة في وحدة بروتوكول الإنترنت في المضيف، فإِنَّ الوحدة تقوم بالتخلص من الرزمة عندها بالتخلص من رزمة البيانات وترسل رسالة عدم بلوغ الوجهة وتحددها بحالة حالة عدم بلوغ البروتوكول.
- إذا كان رقم المنفذ في ترويسة بروتوكول النقل غير فعَّال في المُضيف الوجهة، فإنَّ وحدة بروتوكول الإنترنت تتخلص من الرزمة وترسل رسالة عدم بلوغ الوجهة إلى مصدر الرزمةوتحددها بحالة عدم بلوغ المنفذ.
حقل الرمز | الحالة | الوصف |
---|---|---|
0 | عدم بلوغ الشبكة | يُولِّدها مُوجِّه يعالج رزمة بيانات ما إذا كان المسار نحو الشبكة الوجهة غير مُتوافِر في جدول التوجيه. |
1 | عدم بلوغ المضيف | يُولِّدها مُوجِّه يعالج رزمة بيانات ما إذا كانت المُضيف الوجهة يقع في شبكةٍ مُتصِلةٍ بشكلٍ مُباشر معه، ولكن المسار نحو المُضيف الوجهة غير مُتوافِر. |
2 | عدم بلوغ البروتوكول | تُولَّد في المضيف الوجهة إذا كان بروتوكول طبقة النقل الذي يجب أن يعالج محتوى رزمة البيانات غير مدعومٍ. |
3 | عدم بلوغ المنفذ | تُولَّد في المضيف الوجهة إذا كانت بروتوكول طبقة النقل الذي يجب أن يعالج محتوى رزمة البيانات لا يدعم رقم المنفذ الموجود في محتوياتها. |
4 | الحاجة للتقطيع وعلم عدم التقطيع مرفوع | يُولِّدها مُوجِّه يعالج رزمة بيانات ما إذا كانت يتوجب عليه تقطيع الرزمة ولكن علم عدم التقطيع مرفوعٌ فيها. |
5 | فشل مسار المصدر | يُولِّدها مُوجِّه لم يستطيع توجيه رزمة بيانات ما وفقاً لما يوجد في خيار المسار المُقيّد بالمصدر.(8) |
6 | الشبكة الوجهة غير مَعرُوفة | لا يجب توليد رسالة عدم بلوغ وجهة بهذا الرمز، لأنَّها تعطي المصدر انطباعاً بأنَّ الشبكة الوجهة غير مَوُجودة. عوضاً عن الرسالة، تُولَّد رسالةُ عدم بلوغ وجهةٍ تكون قيمة حقل النوع فيها مساويةً للصفر. |
7 | المضيف الوجهة غير معروفة | تولد هذه الرسالة في حالة محددة هي عندما يتمكَّن المُوجِّه، اعتماداً على معلومات طبقة الربط، من الجزم بصورة أكيدة بأنَّ المُضيف الوجهة غير موجود. |
8 | المضيف المصدر معزول | مُبطلَة، لا تُستعمل. |
9 | الاتصال مع الشبكة الوجهة مَحظُور إشرافيَّاً | لا يُسمح للمضيف المصدر بإرسال رزم البيانات إلى الشبكة حيث يُوجَد المُضيف الوجهة. |
10 | الاتصال مع المضيف الوجهة محظور إشرافيَّاً | لا يُسمح للمضيف المصدر بإرسال رزم البيانات إلى المُضيف الوجهة. |
11 | عدم بلوغ الشبكة الوجهة بسبب نوع الخدمة | يُولِّدها مُوجِّه يعالج رزمة بيانات ما لم يكن هناك مسارٌ نحو الشبكة الوجهة متوافِقٌ مع نوع الخدمة الافتراضي. |
12 | عدم بلوغ المضيف الوجهة بسبب نوع الخدمة | يُولِّدها مُوجِّه يعالج رزمة بيانات ما لم يكن هناك مسارٌ نحو المُضيف الوجهة متوافقٌ مع نوع الخدمة الافتراضي أو المطلوب وفقاً للرزمة. |
13 | الاتصال محظور إشرافيَّاً | تُولَّد في مُوجِّه إذا لم يكن باستطاعته توجيه رزمة بيانات ما بسبب عملية ترشيح إشرافيَّة. |
14 | انتهاك أحقيَّة المضيف | تُرسل من مُوجِّهٍ متصِلٍ بشكلٍ مُباشر مع شبكة المضيف المصدر لإخباره بأنَّه لا يحق له إنجاز عملية الإرسال لأغراض تتعلق بنوع الخدمة، مثلاً لا يحق للمُضيف إنشاء اتصال بين زوج عناوين المصدر والوجهة أو أرقام منافذ المصدر والوجهة أو غير ذلك.(9) |
15 | أحقيَّة غير كافية | تُرسل من مُوجِّه مُتصِلٍ بشكلٍ مُباشرٍ مع شبكة المُضيف لإخباره بأنَّه لا يحقق درجة الأحقيَّة الدُنيا اللازمة لإتمام العملية.(9) |
إعادة التوجيه
تُرسل رسالة إعادة التوجيه من مُوجِّه مُتصِلٍ بشكلٍ مباشر مع شبكة المضيف المصدر لرزمة بيانات من أجل إبلاغه باستحسان أن يُرسل رزم البيانات الموجهة لوجهة مُحددة إلى مُوجِّه آخر متصل بشكل مباشر مع الشبكة المحليَّة نفسها.(RFC 1812 P.57) أفضل لرزمة بيانات سبق وأرسلها. في هذه الحالة يكون هناك مُوجِّهان على الأقل مُتصِلان مع الشبكة المحلية حيث يُوجد المُضيف، وليكونا مثلاً R1 وR2. يُولِّد المُضيف رزمة بيانات نحو وجهة ما، ولتكن X، وأفضل مسار لبلوغ هذه الشبكة هو عبر الموجه R2، ولكن المُضيف يُرسلها نحو الموجه R1، وهنا يقوم هذا الموجه بتوجيهها نحو الموجه R2، ثُمَّ يُرسل رسالة إعادة توجيه للمضيف الذي ولد الرزمة، يبلغه فيها بتوجيه الرزم المستقبلية التي تكون وجهتها هي X نحو الموجه R2.[53]
يُلزَم كُلُّ مُضيفٍ بتحديث جدول التوجيه خاصَته للتفاعل مع رسائل إعادة التوجيه التي يستقبلها، ويُستُثنى من ذلك الحالات التي يكون عنوان المُوجِّه فيها في شبكة جزئية أخرى مغايرة للشبكة الجزئية التي ينتمي عنوان المُضيف إليها. في هذه الحالة فقط، يُهمل المضيف رسالة إعادة التوجيه.[54]
في رسالة إعادة التوجيه تكون قيمة حقل النوع 5 دائماً، وهناك 4 قيم مُمكِنة لحقل الرمز يُبيُّنها الجدول التالي:[26]
حقل الرمز | الحالة | الوصف |
---|---|---|
0 | إعادة التوجيه نحو شبكة | إخبار مُضيف أرسل رزمة بيانات سابقة بإعادة توجيه أي رزمة مُستقبليَّة إلى العنوان المُرفَق بالرسالة، إذا تحقق الشرط التالي: كان عنوان وجهة الرزمة المستقبليَّة يقع في فضاء عناوين الشبكة الَّتي عُنونت بها الرزمة السابِقة. أُبطلت وفقاً للوثيقة.[56] |
1 | إعادة التوجيه نحو مُضيف | إخبار مُضيف أرسل رزمة بيانات سابقة بإعادة توجيه أي رزمة مستقبلية إلى العنوان المُرفَق بالرسالة، إذا تحقق الشرط التالي: كان عنوان وجهة الرزمة المستقبلية هو عنوان وجهة الرزمة السابقة. |
2 | إعادة التوجيه نحو شبكة بسبب نوع الخدمة | مُطابِق لحالة الرمز 0، مع إضافة شرط أن تكون قيمة حقل نوع الخدمة في الرزمة المستقبليَّة مُطابِقة للقيمة في الرزمة السابقة. |
3 | إعادة التوجيه نحو مضيف بسبب نوع الخدمة | مُطابِق لحالة الرمز 1، ومع إضافة شرط أن تكون قيمة حقل نوع الخدمة في الرزمة المستقبليَّة مُطابِقة للقيمة في الرزمة السابِقة. أُبطلت وفقاً للوثيقة.[56] |
نفاد الزمن
تُرسَل هذه الرسالة في حالتين اثنتين، تحصل الأولى بعد معالجة رزمة بيانات في مُوجِّه ما، فإذا وجد المُوجِّه أن قيمة حقل زمن حياة الرزمة في ترويسة الإصدار الرابع من بروتوكول الإنترنت مُساوٍ للصفر، فإنَّه يتخلص من الرزمة مباشرةً ويُرسِل رسالة نفاد الزمن إلى مَصدرها. أمَّا الحالة الثانيَّة، فتحصل عند تجميع قطع رزمة بيانات في الوجهة، فإذا نفد مُؤقِّت التجميع ولمّا تصل كل القطع بعدُ، فإِنَّ المُضيف الوجهة يتخلَّص من القطع التي جمعها كلِّها، ويُرسِل رسالة نفاد الزمن إلى مصدرها.[57]
تكون قيمة حقل النوع في رسالة نفاد الزمن هي 11 دائماً، أما قيمة حقل الرمز فتكون إما 0 أو 1 وفقاً للجدول التالي:
حقل الرمز | الحالة | الوصف |
---|---|---|
0 | نفاد زمن حياة الرزمة | قيمة حقل زمن حياة الرزمة في ترويسة الإصدار الرابع من بروتوكول الإنترنت بلغت الصفر. |
1 | نفاد زمن التجميع | انتهى زمن الانتظار لتجميع قطع رزمة بيانات، وبعض القطع لم تصل بعدُ. |
مشكلة في محدِد
قد يصادف مُضيف وجهة أو مُوجِّه أثناء معالجة رزمة بيانات ما مُشكلةً في أحد حقول ترويسة الإصدار الرابع من بروتوكول الإنترنت، ومثالها أن تحتوي حقول الترويسة على قيمةٍ غير صحيحةٍ، أو غير مَدعُومةٍ في الوجهة. إذا مَنعت هذه المشكلة استمرار معالجة الرزمة، فلا بد عندها من التخلُّص مِنها ثُمَّ إرسال رسالة مُشكلةٍ في مُحدِد إلى مصدرها. تحتوي الرسالة على حقلٍ يُسمَّى حقل المُؤشِّر، يستعمله مُولِّد الرسالة للإشارة إلى موقع البايت الذي سبب المشكلة في ترويسة الرزمة، بالإضافة إلى نسخة عن الترويسة التي سببت المُشكلة.[58]
يجب أن يقوم أي مُوجِّه بتوليد رسالة مُشكلةٍ في مُحدد من أجل أي خطأ معالجة غير مَشمُول برسائل الإبلاغ عن الأخطاء الأُخرى الخاصّة بالبروتوكول.[59] في هذه الرسالة تكون قيمة حقل النوع 12 دائماً، أمَّا قيمة حقل الرمز فتكون إمَّا 0 أو 1 وفقاً للجدول التالي:
حقل الرمز | الحالة | المرجع |
---|---|---|
0 | حقل المُؤشِّر يُشير إلى موقع الخطأ | [30] |
1 | هناك خيارٌ مَطلُوب في الترويسة، ولكنَّه غير موجودٍ فيها | [59] |
رسائل الاستعلام
توليد الصدى والصدى
يجري تبادل هاتين الرسالتين بين مُضيفين اثنين لعنوانين من الإصدار الرابع من بروتوكول الإنترنت، يُرسِل الأول رسالة توليد الصدى إلى الثاني، فيقوم الثاني، بعد استقبالها، بالرد عليها بإرسال رسالة الصدى نحو الأول. تحتوي رسالة توليد الصدى على عدد من البايتات التي تُمثِّل حمولة الرسالة، ويجب على رسالة الصدى أن تحمل نفس حمولة رسالة توليد الصدى. هناك حقلان في ترويسة الرسالة هما رقم التتابع والمُعرِّف، ويمكن أن يُستخدما من قبل مُرسل رسالة توليد الصدى للمساعدة في مطابقة رسالة الصدى القادمة مع رسالة توليد الصدى المُرسلة، في حال أُرسلت أكثر من رسالة توليد في الوقت نفسه.[60]
يجب أن تكون عناوين المصدر والوجهة في رسالتي توليد الصدى والصدى مُتعاكسة، أي يكون عنوان المصدر في رسالة التوليد هو عنوان الوجهة في رسالة الصدى، وعنوان الوجهة في رسالة التوليد هو عنوان المصدر في رسالة الصدى.[61]
تكون قيمة حقل النوع هي 8 في رسالة توليد الصدى و0 في رسالة الصدى. أمَّا قيمة حقل الرمز، فهي 0 دائماً في كلتا الرسالتين.[60]
اكتشاف الموجه
رسائل اكتشاف المُوجه هي توسِعة لبروتوكول رسائل التحكم للإصدار الرابع من بروتوكول الإنترنت، وهي تُمكِّن مضيفين متصلين بشبكات تدعم البثَّ المجموعاتي أو البثَّ العامّ اكتشاف عنوان بروتوكول الإنترنت الخاصّ بالمُوجِّهات الجيران. صدرت هذه التوسِعة بشكل مُستقلٍ ووصفت في وثيقة طلب التعليقات RFC 1256.[11]
تُعرِّف هذه التوسعة رسالتي استعلام، هما رسالة إعلان المُوجِّه ورسالة التماس المُوجِّه. يقوم كُلُّ مُوجِّهٍ يدعم البثَّ المجموعاتي بإرسال رسالة بثٍّ مجموعاتيّ هي إعلان الموجه بشكل دوريَّ عبر كل منفذ يدعم البثّ المجموعاتيّ فيه، وتتضمن الرسالة التي تُبثُّ عبر كل منفذ، عناوين البثّ المجموعاتيّ المَدعُومة فيه، ويُمكن للمضيفين أن يَكتشفوا المُوجِّهات الجيران بالاستماع إلى هذه الإعلانات. ويُمكن أيضاً لمُضيف عنوان بثّ مجموعاتيّ أن يُرسِل رسالة التماس، وهي رسالة بثٍّ مجموعاتي تطلب من أيّ مُوجِّه يستقبلها أن يُرسل مباشرةً رسالة إعلان على المنفذ الذي استقبلت منه، اي أنها تُعرِّف آليَّةً يمكن للمضيفين من خلالها طلب المعلومات من الموجهات عند الحاجة عوضاً عن انتظار رسائل الإعلان. تتضمَّن رسائِل الإعلان حقلاً هو زمن الحياة، وهو يُحدد المدة العظمى التي تكون العناوين المُعلَن عنها صالحةً للاستعمال، ويبدأ أي مضيف يستقبل رسالة الإعلان بتشغيل مُؤقِّت تنازلي تُضبَط قيمته العليا وفقاً لقيمة زمن الحياة في رسالة الإعلان، ويُعيد المُضيف ضبط هذا المؤقت إلى قيمته العُليا كلما استقبل رسالة إعلانٍ جديدة، فإذا بلغت قيمة المؤقت الصفر، فإنَّ العناوين المَوجُودة في رسالة الإعلان تُصبح غير صالحةٍ للاستعمال. وسبب استعمال هذا المؤقت هو ضمان أن يمتلك المُضيفون آليَّةً لاكتشاف فشل المُوجِّهات.[62]
تُرسل رسائل الإعلان بشكل دوريٍّ بفواصل زمنيَّة تتراوح بين 7 و10 دقائق، وتكون مدة زمن الحياة هي 30 دقيقة افتراضيَّاً.[63]
الوسمة الزمنية
الوسمة الزمنية هي عدد طوله 32 بت يعبر عن الزمن المنقضي بأجزاء ألفيَّة من الثاثية منذ منتصف الليل وفقاً للتوقيت العالمي(10). تؤمن رسائل الوسمة الزمنية آلية لقياس الزمن المنقضي بين زمن إرسال الرسالة من مصدرها وزمن وصولها إلى وجهتها وزمن إرسال الرد عليها، وهذه الأزمنة هي حقول في رسالة الوسمة الزمنية والرد عليها. يملأ المضيف المصدر حقل وسمة الإرسال الزمنية في رسالة الوسمة، وينسخ المضيف الوجهة قيمة هذا الحقل إلى رسالة الرد ثُمَّ يضيف إليها وسمتي الاستقبال وإعادة الإرسال ويُرسلها إلى مصدر رسالة الوسمة. هناك حقلان إضافيان في الرسالة هما رقم التتابع والمُعرِّف، ويمكن أن يُستخدما من قبل مُرسل رسالة الصدى للمساعدة في مطابقة رسالة الصدى مع رسالة توليد الصدى، في حال أُرسلت أكثر من رسالة توليد في نفس الوقت.[64]
تكون قيمة حقل النوع في رسالة الوسمة الزمنية هي 13 وفي رسالة الرد عليها 14، أمَّا قيمة حقل الرمز فهي 0 دائماً في الرسالتين.[31]
التطبيقات
أمر التحقق من الاتصال
- مقالة مفصلة: بينج (أمر)
أمر التحقق من الاتصال (Ping) هو أمر برمجي مدعوم في شبكات البيانات التي تُشغِّل حزمة بروتوكولات الإنترنت، يهدف إلى التحقق مِن القدرة على الاتصال مع مضيف لعنوان من الإصدار الرابع من بروتوكول الإنترنت عن طريق تبادل رسائل توليد الصدى والصدى معه. تُرسل رسالة توليد الصدى إلى المضيف الهدف، فإذا ردّ برسالة الصدى فإن هناك إمكانيَّة لإنشاء اتصال معه.[65]
طُوِّرت هذا الأمر أساساً في مختبرات أبحاث الجيش الأمريكي على يد مايك موس (Mike Muss) في عام 1983م، وقد سمُيَّ بهذا الاسم كنايةً عن صوت السونار عندما ترتطم أمواجه الصوتيَّة بجسم ما وترتد بعد ذلك عائدةً إلى المصدر، وهذا هو مبدأ عمل هذا الأمر.[66] لاحقاً، دعمت أشهر أنظمة التشغيل هذا الأمر ومنها على سبيل المثال: لينكس[67] وويندوز[68] وسيسكو[69].
أمر تتبع المسار
- مقالة مفصلة: تتبع المسار
أمر تتبع المسار (Traceroute أو Tracert) هو أمر برمجيٌّ مَدعُومٌ في شبكات البيانات التي تُشغِّل حزمة بروتوكولات الإنترنت، يهدف إلى تعقب المسار الذي تسلكه رزم البيانات عند انتقالها من مصدرها إلى وجهتها. يُقدِّم الأمر بياناتٍ عن عدد القفزات على طول المسار والزمن الذي استغرقه كل منها.[70]
جرت محاولات لجعل هذه الأداة جزءاً من الإصدار الرابع من بروتوكول الإنترنت من خلال تعريف خيارٍ خاصٍّ بها حمل مُعرِّفه الرقم 82، وإضافته إلى خيارات الإصدار البروتوكول، بالإضافة لتعريف رسالة استعلام إضافيَّة لبروتوكول رسائل التحكم، مع قيمة مُميَّزة لحقل النوع هي 30،[36] ولكن المحاولات السابقة ظلت تجريبية ولم تُطبَّق على نطاقٍ واسِع، ثم أُبطلت في وقت لاحق.[37]
نتيجةً لذلك، طُوِّر هذا الأمر انطلاقاً من بروتوكول رسائل التحكم بشكل منفصل وبطرق متنوعةٍ في أنظمة التشغيل المختلفة، ومنها نظام لينكس[67] وويندوز[71] ووسيسكو.[72]
المُشكلات
تُصنَّف المُشكلات التي تنتج عن استعمال البروتوكول تحت ثلاث أنواع: الغمر (Flood attck)، والهجوم الانفجاري (Bomb attck) وتسريب البيانات (Information disclosure). أمَّا الغمر فهو شكل من أشكال هجوم حجب الخدمة، وفيه يتم توليد كمية كبيرة من البيانات لغمر الشبكة بها بحيث يتعذَّر استعمال الشبكة. وأمَّا الهجوم الانفجاري، فهو يستهدف إيقاف عمل وحدة البروتوكول من خلال إرسال رسالةٍ ذات بنيةٍ مُحددةٍ تسبب معالجتها خطأً في الوحدة. وأَمَّا تسريب البيانات، فهو لا يُلحق ضرراً بحدة ذاته، لكنَّه يكشف عن بيانات يمكن أن تُستعمل في هجمات أخرى.[7]
في ما يأتي، تصنيفٌ للهجمات التي يمكن شنها باستعمال البروتوكول وفقاً لنوع الرسالة:
أولاً: رسالتا توليد الصدى والصدى:
- هجوم السنافر:(11) وهو أحد هجمات الغمر عن طريق حجب الخدمة، وفيه يقوم مُضيفٌ بعيدٌ بإرسال رسالة صدى مُوجَّهة إلى شبكة محليَّة مع عنوان وجهة هو عنوان البث العام في تلك الشبكة، وتسبب هذه الرسالة عند انتشارها في الشبكة المحليَّة قيام المضيفين كُلِّهم بالردّ عليها، ما يسبب غمر الشبكة المحلية بكميةٍ كبيرةٍ من الرسائل في وقت صغير، ويؤدي ذلك إلى خروجها من الخدمة، تُعالَج هذه المُشكلة بمنع رسائل البث العام المُوجَّهة والقادمة من خارج الشبكة المحلية.[73]
- هجوم أمر التحقق من الاتصال المميت: وهو هجوم غمر انفجاريٍّ في الوقت نفسه، ويعتمد على حقيقة عدم وجود حجمٍ مُحددٍ لرسائل توليد الصدى، ويجري فيه إرسال رسائل توليد صدى بأعظم حجم ممكن وهو 65336 بايت إلى المُضيف المُستهدَف، وبسبب حجمها الكبير، فإنَّ هذه الرسائل تُقطَّع أثناء عبورها الشبكة، ولا يستطيع المضيف المستهدف الرد على أيِّ مِنها قبل إعادة تجميع الرسالة كاملةً، ويُسبب هذا الهجوم غمر المضيف بكمية بياناتٍ كبيرة لا يقدر على معالجتها فينهار ويتوقف عن العمل.[74]
- هجوم حجب الشبكة المحلية عن المضيف : وهو شكلٌ من أشكال حجب الخدمة، ولكنَّه يحصل على مستوى مضيف واحد، ويكمن أن ينجز بأكثر من طريقة، إحداهما هي باستعمال رسائل الصدى. في هذه الحالة، يُغمر المضيف الهدف بعدد كبير من رسائل توليد الصدى التي يكون عنوان مصدرها هو عنوان وجهتها نفسه وهو عنوان المضيف الهدف، وعندها يبدأ المضيف المُستهدَف بإرسال رسائل لنفسه واستقبالها مباشرة عبر الوصلة المحليَّة دون إِرسالها إلى الشبكة، ويسبب ذلك غمر المُضيف بهذه الرسائل وعزله عن الشبكة.[75]
ثانياً: رسالة إعادة التوجيه:
- هجوم الوسيط: وهو هجوم تسريب بيانات، وفيه تُوجَّه رزم البيانات التي يُولِّدها المُضيف المُستهدَف كلُّها نحو وسيط، يطَّلِع عليها وقد يقوم بنسخها، قبل أن يُوجِّهها إلى هدفها. ويمكن إعداد هذا الهجوم بواسطة رسائل إعادة التوجيه.[76]
هناك أيضاً وثيقة طلب التعليقات تصفُ الهجمات التي يمكن أن تُشن على بروتوكول التحكم بالنقل باستعمال بروتوكول رسائل التحكم، هي الوثيقة ذات الاسم الرمز RFC 5927.[77]
هوامش
1. يُمكن تبيُّن العلاقة الوثيقة مع الإصدار الرابع بروتوكول الإنترنت بتتبع الأسماء الرمزية للمعايير الرسمية، فقد حمل معيار الإصدار الرابع من بروتوكول الإنترنت الاسم الرمزي RFC 791،[78] وتلاه مباشرةً معيار بروتوكول رسائل التحكم في الإنترنت الذي حمل الاسم الرمزي RFC 792.[2]
2. العنوان الأَصليّ هو: (Requirements for Internet Hosts -- Communication Layers).[9]
3. العنوان الأَصليّ هو: ( Requirements for IP Version 4 Routers).[10]
4. يُمكن تبين العلاقة الوثيقة بين بروتوكول رسائل التحكم والإصدار السادس من بروتوكول الإنترنت بتتبع الأسماء الرمزية للمعايير الرسمية، فقد حمل المعيار الأول للإصدار السادس من بروتوكول الإنترنت الاسم RFC 1883،[13] في حين خُصصت الوثيقة RFC 1884 للعنونة باستعمال هذا الإصدار،[79] وتلاهما معيار بروتوكول رسائل التحكم للإصدار السادس من بروتوكول الإنترنت الذي حملت وثيقته الاسم الرمزي RFC 1885.[14]
5. كانت إدارة الازدحام من وظائف هذا البروتوكول أيضاً عند تطويره، وذلك عن طريق رسالة تهدئة المصدر.[80] ولكن هذه الرسالة أُبطلت لاحقاً، ولم يعد البروتوكول يدعم هذه الوظيفة.[32]
6. الصدى لغةً هو الصوت المجيب من الجبل ونحوه على صوت المنادي.[81] وفي هذا السياق، فالرسالة الأولى تمثل صوت المنادي والرسالة الثانية العائدة هي الصدى. في المعيار الأصلي، سُميت الرسالة الأولى بالصدى (Echo) والثانية بالرد على الصدى (Echo Reply)، أما عند التعريب، فقد عُكست الأسماء لتتماشى مع المعنى في العربية.
7. عند تطوير هذا البروتوكول، كان الإصدار الخامس من البروتوكول تجريبياً، وكان يجري العمل على تطوير إصدار محسن منه، ظنَّ مطور البروتوكول أنه سيحمل الرقم 6، لذلك اختار الرقم 7 بشكل استباقي،[82] ولكن العمل توقف في تطوير الإصدار الخامس ، ثم طُوِّر الإصدار السادس بشكل منفصل بعد عدة سنوات.
8. انظر خيار المسار المُقيَّد بالمصدر في الإصدار الرابع من بروتوكول الإنترنت.[83]
9. بخصوص مفهوم الأحقية، انظر حقل جودة الخدمة في ترويسة الإصدار الرابع من بروتوكول الإنترنت.[84]
10. في زمن تطوير البروتوكول كانت خدمة التوقيت في الإنترنت (Internet Clock Service اختصاراً ICS) تحت إشراف مختبرات كومسات (COMSAT Laboratories).[85]
11. السنفور (الجمع: السنافر) هو شخصية خيالية صغيرة الحجم، زرقاء اللون، وتعيش في غابة في أوروبة في العصور الوسطى، ابتكرها الرسام البلجيكي بيير كوليفور (بالفرنسية: Pierre Culliford) في العام 1958م، وسبب تسمية الهجوم هو كناية عن صغر حجم الرسائل المستعملة في هذا الهجوم مع كثرة عددها.
مقالات ذات صلة
- الإصدار الرابع من بروتوكول الإنترنت (IPv4)
- أمر التحقق من الاتصال (Ping)
- أمر تتبع المسار (Traceroute)
المراجع
- فهرس المراجع
- RFC 1812, P.52
- RFC 792, P.1
- The TCP/IP Guide, P610
- RFC 792, P.20
- RFC 950 P.10
- "Internet Control Message Protocol (ICMP) Parameters". IANA (باللغة الإنجليزية). مؤرشف من الأصل في 26 مارس 202018 أبريل 2020.
- TCP/IP Illustrated, P.428
- J. Postel (أبريل 1981). "RFC 777, Internet Control Message Protocol". The Internet Society (باللغة الإنجليزية). doi:10.17487/RFC0777. مؤرشف من الأصل في 12 ديسمبر 201918 أبريل 2020.
- RFC 1122, P.1
- RFC 1812, P.1
- RFC 1256 P.1
- RFC 6918 P.4-5
- S. Deering; R. Hinden (ديسمبر 1995). "RFC 1883, Internet Protocol, Version 6 (IPv6) Specification". The Internet Society (باللغة الإنجليزية). doi:10.17487/RFC1883. مؤرشف من الأصل في 21 ديسمبر 201930 مايو 2018.
- A. Conta; S. Deering (ديسمبر 1995). "RFC 1885, Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification". The Internet Society (باللغة الإنجليزية). doi:10.17487/RFC1885. مؤرشف من الأصل في 25 يناير 202018 أبريل 2020.
- A. Conta; S. Deering (مارس 2006). "RFC 4443, Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification". The Internet Society (باللغة الإنجليزية). doi:10.17487/RFC4443. مؤرشف من الأصل في 6 مارس 202018 أبريل 2020.
- R. Braden (يونيو 1987). "RFC 1009, Requirements for Internet Gateways". The Internet Society (باللغة الإنجليزية). doi:10.17487/RFC1009. مؤرشف من الأصل في 15 أبريل 202018 أبريل 2020.
- RFC 791, P.3
- TCP/IP Illustrated, P.353
- TCP/IP Illustrated, P.354
- "Protocol Numbers". IANA (باللغة الإنجليزية). مؤرشف من الأصل في 17 مارس 202018 أبريل 2020.
- TCP/IP Illustrated, P.355
- S. Bradner; V. Paxson (مارس 2000). "RFC 2780, IANA Allocation Guidelines For Values In the Internet Protocol and Related Headers". The Internet Society (باللغة الإنجليزية). صفحة 5. doi:10.17487/RFC2780. مؤرشف من الأصل في 6 مارس 202018 أبريل 2020.
- RFC 1812, P.52-53
- RFC 792, P.14
- RFC 792, P.4
- RFC 792, P.12
- RFC 1256, P.5
- RFC 1256, P.6
- RFC 792, P.6
- RFC 792, P.8
- RFC 792, P.16
- F. Gont (مايو 2012). "RFC 6633, Deprecation of ICMP Source Quench Messages". The Internet Society (باللغة الإنجليزية). صفحة 2. doi:10.17487/RFC6633. ISSN 2070-1721. مؤرشف من الأصل في 6 مارس 202018 أبريل 2020.
- RFC 6918, P.3
- The TCP/IP Guide, P.614
- R. Droms (مارس 1997). "RFC 2131, Dynamic Host Configuration Protocol". The Internet Society (باللغة الإنجليزية). صفحة 1. doi:10.17487/RFC2131. مؤرشف من الأصل في 6 مارس 202018 أبريل 2020.
- G. Malkin (يناير 1993). "RFC 1393 , Traceroute Using an IP Option". The Internet Society (باللغة الإنجليزية). صفحة 3-4. doi:10.17487/RFC1393. مؤرشف من الأصل في 25 يناير 202019 أبريل 2020.
- C. Pignataro; F. Gont (نوفمبر 2012). "RFC 6814, Formally Deprecating Some IPv4 Options". The Internet Society (باللغة الإنجليزية). صفحة 5. doi:10.17487/RFC6814. ISSN 2070-1721. مؤرشف من الأصل في 4 ديسمبر 201918 أبريل 2020.
- "RFC 1475, P.1
- David B. Johnson (13 يوليو 1993). "Transparent Internet Routing for IP Mobile Hosts". Rice University, Department of Computer Science (باللغة الإنجليزية). مؤرشف من الأصل في 5 أبريل 201613 أبريل 2020.
- W A Simpson (يناير 1995). "IPv6 Neighbor Discovery -- ICMP Message Formats draft-simpson-ipv6-discov-formats-02.txt". IETF (باللغة الإنجليزية). مؤرشف من الأصل في 28 سبتمبر 201913 أبريل 2020.
- W A Simpson (نوفمبر 1994). "IPv6 Mobility Support draft-simpson-ipv6-mobility-00.txt". IETF (باللغة الإنجليزية). مؤرشف من الأصل في 10 يناير 202013 أبريل 2020.
- W. Simpson (أبريل 1995). "RFC 1788, ICMP Domain Name Messages". The Internet Society (باللغة الإنجليزية). صفحة 5. doi:10.17487/RFC1788. مؤرشف من الأصل في 27 يناير 202018 أبريل 2020.
- RFC 6918, P.4
- Ashar Aziz; Tom Markson (21 ديسمبر 1995). "Simple Key-Management For Internet Protocols (SKIP) <draft-ietf-ipsec-skip-06.txt>". IETF (باللغة الإنجليزية). مؤرشف من الأصل في 27 ديسمبر 201813 أبريل 2020.
- Ashar Aziz; Tom Markson (21 ديسمبر 1995). "SKIP Algorithm Discovery Protocol <draft-ietf-ipsec-skip-adp-00.txt>". IETF (باللغة الإنجليزية). مؤرشف من الأصل في 27 ديسمبر 201813 أبريل 2020.
- RFC 1122, P.38
- David D. Clark (يوليو 1982). "RFC 816, Fault isolation and Recovery". The Internet Society (باللغة الإنجليزية). صفحة 3-4. doi:10.17487/RFC0816. مؤرشف من الأصل في 2 يناير 201918 أبريل 2020.
- RFC 1812, P.55
- RFC792, P.5
- The TCP/IP Guide, P.622-623
- RFC 1812, P.80-81
- RFC 1122, P.39-40
- RFC 792, P.13
- RFC 1122, P.40-41
- The TCP/IP Guide, P.631
- RFC 1812, P.82
- RFC 792, P.6-7
- RFC 792, P.9
- RFC 1812, P.58
- RFC 792, P.15
- RFC 1812, P.59
- RFC 1256, P.3
- RFC 1256, P.4
- RFC 792, P.17
- Dictionary of Networking, P.301
- Mike Muuss. "The Story of the PING Program". U.S. Army Research Laboratory (باللغة الإنجليزية). مؤرشف من الأصل في 12 فبراير 202019 أبريل 2020.
- Daniele Raffo (2020) [2013]. Linux Quick Reference Guide (باللغة الإنجليزية) (الطبعة الثامنة). صفحة 115. مؤرشف من الأصل ( كتاب إلكتروني PDF ) في 19 أبريل 2020.
- Windows Commands Reference, P.643
- Cisco IOS Command Reference, P.CF-414
- Dictionary of Networking, P.385
- Windows Commands Reference, P.852
- Cisco IOS Command Reference, P.CF-1145
- D. Senie (أغسطس 1999). "RFC 2644,Changing the Default for Directed Broadcasts in Routers". The Internet Society (باللغة الإنجليزية). صفحة 1. doi:10.17487/RFC2644. مؤرشف من الأصل في 25 يناير 202020 أبريل 2020.
- F. Gont (يوليو 2011). "RFC 6274, Security Assessment of the Internet Protocol Version 4". The Internet Society (باللغة الإنجليزية). صفحة 22. doi:10.17487/RFC6274. ISSN 2070-1721. مؤرشف من الأصل في 17 فبراير 202020 أبريل 2020.
- "The LAND attack (IP DOS)". Nmap Project (باللغة الإنجليزية). 20 نوفمبر 1997. مؤرشف من الأصل في 13 يوليو 201920 أبريل 2020.
- TCP/IP Illustrated, P.428-429
- F. Gont (يوليو 2010). "RFC 5927, ICMP Attacks against TCP". The Internet Society (باللغة الإنجليزية). صفحة 1. doi:10.17487/RFC5927. مؤرشف من الأصل في 24 يناير 202020 أبريل 2020.
- RFC 791, P.1
- R. Hinden; S. Deering (ديسمبر 1995). "RFC 1884, IP Version 6 Addressing Architecture". The Internet Society (باللغة الإنجليزية). doi:10.17487/RFC1884. مؤرشف من الأصل في 6 مارس 202018 أبريل 2020.
- RFC 792, P.10
- ابن منظور (محرم 1405 هـ). لسان العرب. 14. قُم: نشرأدب الحوزة. صفحة 454. مؤرشف من الأصل في 19 أبريل 2020.
- RFC 1475, P.7
- RFC 791, P.18
- RFC 791, P.12
- D.L. Mills (18 أبريل 1981). "RFC 778, DCNET Internet Clock Service". The Internet Society (باللغة الإنجليزية). صفحة 1. doi:10.17487/RFC0778. مؤرشف من الأصل في 12 ديسمبر 201919 أبريل 2020.
- المعلومات الكاملة للمراجع المُستشهد بها أكثر من مرة
الكتب (مرتبة تصاعدياً بحسب سنة الإصدار)
- Peter Dyson; Kevin Shafer (1999). Dictionary of Networking (باللغة الإنجليزية) (الطبعة الثالثة). SYBEX Inc. .
- Charles M. Kozierok (2005). The TCP/IP Guide ( كتاب إلكتروني PDF ) (باللغة الإنجليزية). William Pollock. .
- Cisco IOS Configuration Fundamentals Command Reference ( كتاب إلكتروني PDF ) (باللغة الإنجليزية). Cisco Systems, Inc. 2010.
- Kevin R.Fall; W.Richard Stevens (2012). TCP/IP Illustrated Volume 1 ( كتاب إلكتروني PDF ) (باللغة الإنجليزية) (الطبعة الثانية). Pearson Education, Inc. .
- Windows Commands Reference ( كتاب إلكتروني PDF ) (باللغة الإنجليزية) (الطبعة WS16). 2018.
وثائق طلب التعليقات (مرتبة بحسب رقم الوثيقة)
- Postel, J. (سبتمبر 1981). "RFC 791, Internet Protocol, DARPA Internet Program Protocol Specification". The Internet Society (باللغة الإنجليزية). doi:10.17487/RFC0791. مؤرشف من الأصل في 12 فبراير 2020.
- Postal, J. (أغسطس 1981). "RFC 792, Internet Control Message protocol, DARPA internet program,protocol specification". The Internet Society (باللغة الإنجليزية). doi:10.17487/RFC0792. مؤرشف من الأصل في 19 فبراير 2020.
- Mogul, J.; Postel, J. (أغسطس 1985). "RFC 950, Internet Standard Subnetting Procedure" (باللغة الإنجليزية). doi:10.17487/RFC0950. مؤرشف من الأصل في 06 يناير 2020.
- Braden, R. (أوكتوبر 1989). "RFC 1122, Requirements for Internet Hosts -- Communication Layers". The Internet Society (باللغة الإنجليزية). doi:10.17487/RFC1122. مؤرشف من الأصل في 15 فبراير 2020.
- Deering, S. (سبتمبر 1991). "RFC 1256, ICMP Router Discovery Messages". The Internet Society (باللغة الإنجليزية). doi:10.17487/RFC1256. مؤرشف من الأصل في 12 أبريل 2020.
- R. Ullmann (يونيو 1995). "RFC 1475, TP/IX: The Next Internet". The Internet Society (باللغة الإنجليزية). doi:10.17487/RFC1475.
- Baker, F. (يونيو 1995). "RFC 1812, Requirements for IP Version 4 Routers". The Internet Society (باللغة الإنجليزية). doi:10.17487/RFC1812. مؤرشف من الأصل في 06 مارس 2020.
- F. Gont; C. Pignataro (أبريل 2013). "RFC 6918, Formally Deprecating Some ICMPv4 Message Types". The Internet Society (باللغة الإنجليزية). doi:10.17487/RFC6918. ISSN 2070-1721. مؤرشف من الأصل في 26 يناير 2020.
وصلات خارجية
- بروتوكول رسائل التحكم في شبكة الإنترنت، من دليل حزمة بروتوكول الإنترنت.