يقع بروتوكول رسالة التحكُّم عبر الإنترنت Internet Control Message Protocol -أو اختصارًا ICMP ضمن طبقة الشبكة في نموذج OSI، أو كما يصطلح البعض فوق طبقة الإنترنت مباشرةً، وهو جزءٌ لا يتجزأ من مكدس بروتوكول الإنترنت، أو كما يشار إليها بالمصطلح TCP/IP.
عُيِّن الرقم 1 لبروتوكول ICMP تبعًا لمنظمة IANA، وقد صُمِّم ليعمل مثل آلية توليد تقارير عن الأخطاء وخدمة استعلام، ويلعب دورًا مهمًا في خدمة مخطط البيانات مضيف- مضيف في الاتصال الشبكي، وهو الجزء من خدمة IP الذي يلعب دور نظام تغذية راجعة ضمن شبكة اتصال IP، ويضمن إعلام المضيف المرسل، مثل الموجّه أو بوابة النفاذ بالرزم التي لم تصل.
يمكن لأي جهاز شبكة IP إرسال رزم بيانات من نوع ICMP، بما في ذلك بطاقات واجهة الشبكة والعديد من الأجهزة الشائع استخدامها.
برتوكول ICMP
يمكن توضيح دور بروتوكول ICMP في الاتصالات الشبكية بمثالٍ عن فريقٍ مسؤول عن تجميع السيارات باستخدام القطع المُرسلة من المصنع، إذ تُرسَل القطع واحدةً تلو الأخرى، ويُفترض أن تُستلم القطع من قِبل فريق التجميع؛ ولكن أحيانًا لا تصل بعض القطع في وقتها المحدد، أو يحدث تأخيرٌ ما من طرف جهة التوصيل وتكون طريقة توصيل القطع للفريق أسرع، وسيحتاج الفريق في هذه الحالة لطريقةٍ ما يخبر بها المصنع لإعادة إرسال القطع الناقصة، أو إرسال القطع عبر طريق أو جهة توصيل أسرع.
يلعب بروتوكول ICMP دور المرسال لتلك المعلومات من المستقبِل إلى المرسل، أما في الواقع البروتوكول أعقد من ذلك، والمثال السابق هو مثالٌ بسيطٌ للتوضيح فقط؛ إذ لا يقتصر دور البروتوكول على إرسال تقرير عن الرزم غير المرسلة أو المضيف المتعذر الوصول إليه، بل يرسل أيضًا رسائل إعادة التوجيه، رسائل صدى echo والرد عليها، ورسائل أخرى سنتطرق إليها لاحقًا.
يستخدِم الأمر المشهور PING رسائل الصدى والرد عليها للسماح للمستخدم بإرسال رسالة صدى إلى مضيفٍ مستقبِل وهو بدوره يرسل رسالة رد في حال استقباله للرسالة الأولى. توفر رسائل ICMP للنظام طريقةً لإعلام المضيف المصدر في حال عدم تلقي المضيف البعيد الرزم المرسلة، ولكن لا يرفع بروتوكول ICMP من اعتمادية بروتوكول IP، فهو فعليًا لا يستقبل أو يرسل أي بيانات، بل هو موجودٌ فقط بمثابة نظام تغذيةٍ راجعة، أو موردٍ للتعريف بمشاكل الرزم الضائعة، أو طرق التوجيه غير السليمة.
تُعد رسالة تعذر الوصول للوجهة Destination Unreachable إحدى أشهر رسائل بيانات ICMP وأكثرها فائدة، وهناك عدة أسباب لتوليد رسائل تعذر الوصول للوجهة، منها تعذُّر الوصول للشبكة أو للمضيف أو للمنفذ أو للبروتوكول؛ إذ يعيد الموجّه رسائل تعذر الوصول للوجهة تلك إلى المضيف وهو بدوره يعيدها إلى التطبيق الذي ولّد الرزمة الأساسية، وتُعلم رسائل الخطأ التطبيق بإعادة المحاولة مجددًا، أو يمكن للتطبيق المضيف توليد رسالة خطأ وعرضها للمستخدم لإعلامه بمشاكل في اتصال الشبكة.
مع أن رسائل تعذر الوصول للوجهة هي الأشهر ويألفها الجميع من خلال استخدامهم للأداة PING، لكن يحتوي بروتوكول ICMP أيضًا العديد من الرسائل الأخرى، منها رسالة إعادة التوجيه التي تستخدمها بوابة النفاذ لإعلام المضيف بتغيير حركة مرور البيانات إلى موجّه آخر. هناك أيضًا رسالة تجاوز الوقت التي يستخدمها الموجّه لإخبار المضيف بأن الرزمة قد تجاوزت مدة عمرها الزمني Time to Live -أو اختصارًا TTL- ولذلك تجاهَلها، وقد تكون مؤشرًا على وجود حلقة تغذية راجعة على الطريق المؤدي للوجهة.
تُرسل رسائل إخماد المصدر Source Quench من الموجّه إلى المضيف لإعلامه بأن سعة التخزين المؤقت قد امتلأت ويجب عمل إيقافٍ مؤقت للإرسال للسماح للموجّه باللحاق بسرعة الإرسال. كما يوجد أنواعٌ أخرى من الرسائل، مثل رسالة مشكلة في المعامل parameter ورسالة وجواب طلب قناع العنوان وطلب العلامة الزمنية، وغيرها. لا يرسل بروتوكول ICMP رسائل عن رسائل بروتوكول ICMP نفسه، لأن ذلك سيولّد حلقة تغذية راجعة، إذ ستولّد كل رسالة عائدة من بروتوكول ICMP رسالة ICMP أخرى للطرف المقابل، والتي ستولِّد بدورها رسالةً ثالثة وهكذا، مما سيولد الكثير من رزم ICMP التي ستغرق الشبكة.
لنفس السبب السابق لن يرد بروتوكول ICMP على عناوين البث broadcast أو عناوين الإرسال المتعدد multicast؛ فعلى عكس البروتوكولات الأخرى، مثل بروتوكول IP و UDP، لا يؤدي بروتوكول ICMP غرض تبادل البيانات بين المضيفين. إذًا، لا يتفاعل المستخدمون النهائيون مع هذا البروتوكول عدا عن بعض أدوات التحليل، مثل أداة ping و traceroute والتي تُستخدم لاكتشاف مشاكل الشبكة والاتصال بالإنترنت.
يمكن اختراق بروتوكول ICMP للهجوم على الأجهزة بما يعرف بالهجوم المميت "Ping of Death"، وهو هجوم سيبراني مشهور يسبِّب مشاكل المنع من الخدمة ضمن الشبكات، تُرسل فيه رزمة IP مصممة لإغراق ذاكرة التخزين المؤقت للجهاز الهدف بغرض إفشال عمل نظامه؛ ويوجد أيضًا هجومٌ آخر يتكون من كميةٍ كبيرةٍ من رسائل ping تمنع حركة مرور البيانات من الوصول للجهاز المستهدف، إذ يمكن منع تلك الاختراقات بسهولة نسبيًا وذلك عبر تضمين فحوصات لقطع IP خلال عملية إعادة التجميع.
رسائل ICMP هي مخططات بيانات مغلّفة ضمن رزم IP، وتُستعمل من قبل كلٍ من بروتوكولي (IPv4 (ICMPv4 و (IPv6 (ICMPv6، إذ تبدأ تلك الرزم بترويسة IP متبوعة بترويسة ICMP ثم حقلي النوع والرمز ثم رمز التحقق checksum، وبعدها البيانات، وتعتمد البيانات على حقلي النوع والرمز اللذان يعرِّفان نوع رسالة ICMP المُرسلة.
يُعد بروتوكول ICMP أحد أهم مكونات رزمة بروتوكول الإنترنت ويؤدي دورًا مهمًا في الاتصالات الشبكية IP؛ فهو يضمن علم المضيف المرسل في حال عدم استقبال المضيف البعيد لتلك الرزم المُرسلة، مما يوفر معلومات هامة حول مشاكل الشبكة، ويساعد على رفع كفاءة إرسال البيانات على الشبكة من قبل الأطراف جميعًا؛ كما يستخدمه مدراء وفنيو الشبكات أداةً لاكتشاف للمشاكل تساعدهم في تحديد نقاط الفشل ضمن الشبكة، فهذه الأداة لا غنى عنها في التدفق الثابت واللا منتهي من المليارات من رزم IP المرسلة حول العالم في كل ثانية من كل يوم.
أسئلة شائعة حول ICMP
لماذا لا تحتوي الرزمة من النوع ICMP على أرقام منافذ للمصدر والوجهة؟
يُعد بروتوكول رسالة التحكم بالإنترنت ICMP جزءًا من مكدس بروتوكولات TCP/IP، إذ ينتمي إلى طبقة الإنترنت، بينما توجد أرقام المنافذ ضمن طبقة النقل فقط وهي طبقة فوق طبقة الإنترنت.
ما هو بروتوكول ICMP؟
بروتوكول ICMP هو اختصارٌ لبروتوكول رسالة التحكُّم بالإنترنت Internet Control Message Protocol، صُمم ليوفر وظائف إدارية للإرسال عبر الإنترنت، ومن الأمثلة على استخداماته هي رسائل فحوصات الحالة ورسائل الأخطاء المتبادلة بين جهازين على طرفي الاتصال.
ما هي الطبقة التي ينتمي إليها ICMP؟
يُعد ICMP جزءًا من مكدس بروتوكولات TCP/IP، ويقع ضمن طبقة الإنترنت وهي الطبقة الثانية في ترتيب الطبقات، ويُشار لبروتوكول ICMP على أنه بروتوكول من الطبقة الثالثة، لأن هذا العدد يدل على طبقة الشبكة في مكدس بروتوكول الاتصال بين الأنظمة المفتوحة OSI، إذ أن طبقة الشبكة في نموذج OSI هي الطبقة الثالثة وتعادل طبقة الإنترنت في مكدس TCP/IP.
ترجمة -وبتصرف- للمقال "What is ICMP? The Protocol, Port Number and PING!" لصاحبه Jeff Parker.
أفضل التعليقات
لا توجد أية تعليقات بعد
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.