كونكت للتقنية Connect4Techsكونكت للتقنية Connect4Techs
أدوات مجانية: حاسبة Subnet · امتحانات تجريبية · قاموس المصطلحات ←
الشبكات

ICMP (بروتوكول رسائل التحكم في الإنترنت)

Internet Control Message Protocol

ICMP بروتوكول مرافق لـ IP يحمل رسائل الأخطاء والتشخيص بين الأجهزة، وعليه تعتمد أدوات مثل ping وtraceroute وآلية اكتشاف حجم MTU للمسار.

ICMP (Internet Control Message Protocol) المعرّف في RFC 792، هو بروتوكول يعمل جنباً إلى جنب مع IP في طبقة الشبكة، ووظيفته نقل رسائل التحكم والأخطاء. فبروتوكول IP نفسه لا يخبر المرسل بأي شيء عند فشل التسليم، وICMP هو من يقول: “الوجهة غير قابلة للوصول” أو “انتهى عمر الحزمة”. تُغلّف رسائل ICMP داخل حزم IP برقم البروتوكول 1، لكنه لا يحمل بيانات تطبيقات ولا يستخدم منافذ.

أهم أنواع الرسائل

Type الرسالة الاستخدام
8 / 0 Echo Request / Echo Reply أمر ping
3 Destination Unreachable الكود 0 الشبكة، 1 الجهاز، 3 المنفذ، 4 الحاجة للتجزئة مع ضبط DF
11 Time Exceeded انتهاء TTL، وعليه يعتمد traceroute
5 Redirect إبلاغ الجهاز ببوابة أفضل

كيف تعمل ping و traceroute؟

يرسل ping رسائل Echo Request وينتظر Echo Reply ويقيس زمن الذهاب والعودة. أما traceroute فيرسل حزماً بقيم TTL متزايدة 1 ثم 2 ثم 3، فيسقطها كل راوتر على الطريق ويرد بـ Time Exceeded، فتنكشف القفزات واحدة تلو الأخرى. وفي ويندوز يرسل tracert رسائل ICMP Echo، بينما ترسل أجهزة سيسكو ولينكس حزم UDP إلى منافذ عالية وتعرف الوصول عند استلام Port Unreachable.

R1# ping 10.2.2.2 source Loopback0
!!!!!
Success rate is 100 percent (5/5)
R1# traceroute 8.8.8.8

في مخرجات سيسكو تعني ! نجاح الرد، و. انتهاء المهلة دون رد، وU وصول رسالة Destination Unreachable.

هل يجب حجب ICMP؟

من الأخطاء الشائعة حجب ICMP بالكامل في الجدار الناري بحجة الأمان. هذا يعطل آلية Path MTU Discovery التي تعتمد على رسالة Type 3 Code 4، فتظهر مشكلات غامضة مثل مواقع تفتح جزئياً أو أنفاق VPN تتوقف مع الحزم الكبيرة. الأسلوب الصحيح هو السماح بالأنواع الضرورية وتحديد معدل Echo Request من الخارج لمنع هجمات الإغراق. أما في IPv6 فإن ICMPv6 أساسي لعمل الشبكة نفسها، لأن NDP واكتشاف الراوترات مبنيان عليه، وحجبه يعني توقف IPv6.

تنبيه في التشخيص

فشل ping لا يعني دائماً انقطاع الاتصال؛ فقد تحجب الوجهة ICMP بينما تعمل خدماتها. ونجاحه لا يعني أن التطبيق يعمل، لذا اختبر المنفذ المطلوب أيضاً.