بروتوكول (Internet Control Message Protocol ICMP) من بروتوكولات طبقة الشبكة , و هو احد اكثر البروتوكولات استخداماً لفحص الشبكة و التأكد من امكانية توصيل البيانات بين اجهزتها (Connectivity).
فلفحص امكانية توصيل البيانات لجهاز ما (Connectivity) , نستخدم تطبيق خدمي صغير يسمى Ping (Packet Internet Groper) و نخبره عن عنوان IP هذا الجهاز المراد فحصه.
فيقوم تطبيق Ping باستخدام بروتوكول ICMP لتنفيذ هذه العملية, حيث يقوم بإرسال رسالة تسمى ICMP Echo Request الى هذا العنوان .
و عندما تصل هذه الرسالة الى الجهاز صاحب عنوان IP هذا , , سيقوم بالرد بإرسال رسالة تسمى ICMP Echo Reply.
مثال
إذا اردنا فحص امكانية الاتصال بالجهاز الذي لديه عنوان IP التالي:-
192.168.1.5
سنستخدم امر Ping بالشكل التالي:-
Ping 192.168.1.5
و بهذا سيتم إرسال اربع رسائل ICMP Echo Request الى عنوان IP هذا.
و عندما تصل هذه الرسائل الى هذا الجهاز سيقوم بالرد على كل رسالة بإرسال رسالة ICMP Echo Reply.
و سيوضح لنا هذا التطبيق إذا ما كانت الرسائل التي تم إرسالها قد استلم الرد عليها ام لا.
هذا و نلاحظ ان هناك اصدار خاص من تطبيق Ping و من بروتوكول ICMP لكل إصدار من إصدارات بروتوكول الانترنت IP,فهناك اصدار خاص يعمل مع الاصدار الرابع لبروتوكول الانترنت IPV4 , و إصدار خاص يعمل مع الإصدار السادس من بروتوكول الانترنت IPv6.
من جهة اخرى نلاحظ ان طبقة الشبكة تستعين ببعض البروتوكولات الموجودة في الطبقات الاخرى لإنجاز الاعمال المطلوبة منها, فمثلا تستخدم طبقة الشبكة بروتوكول DHCPالموجود في طبقة التطبيقات للحصول على عناوين IP, و تستخدم بروتوكول DNS للحصول على عنوان IP لجهاز الهدف عن طريق معرفة اسم هذا الجهاز.