بروتوكول التحكم برسائل الإنترنت
البروتوكول ICMP(Internet Control Message Protocol) هو أحد البروتوكولات الأساسية في موافيق اتصالات, وهو يستخدم خصوصاً من قبل أنظمة التشغيل في الحواسيب الشبكية لإرسال رسائل الإخطاء, وكمثال على ذلك: طلب خدمة غير متاحة أو أن يكون المضيف Host أو المسير router لا يمكن الإتصال بهما. إن ال ICMP يعتمد على ال IP لتنفيذ مهامها, كما إنه يعد جزء لا يتجزأ من ال IP. وهو يختلف في الغرض عن بروتوكولات النقل مثل TCP و UDP وعلى ذلك فهو لا يستعمل في إرسال وإستقبال البيانات بين الأنظمة, وهو عادة لا يستعمل مباشرة من التطبيقات المستخدمة للشبكة, ومن الجدير بالذكر أنه يظهر بشكل استثنائي مع أدوات الـ Ping والـ traceroute .
تفاصيل تقنية :
إن بروتوكول ميفاق التحكم برسائل الإنترنت وهو جزء من مجموعة موافيق (بروتوكولات )الشابكة كما هو معرف في ال RFC 792. إن رسائل ال ICMP ترسل في عدة حالات :
- عندما لا تستطيع الحزمة (Datagram) الوصول إلى وجهتها.
- عندما لا تملك العبارة (Gateway) مساحة إضافية لإرسال الحزم (Datagram).
- تستطيع البوابة توجيه المضيف Host لإرسال المراد إرساله عبر ممر أقصر.
وإن هذه الرسائل تنشأ في طبقة ال IP Layer, و إن ال IP يقوم بتغليف رسالة الICPM المناسبة في ترويسة جديدة لل IP (وذلك لإسترداد ال رسالة ال ICMP لل Host المرسل الأصلي) ونقل ال Datagram الناتج في الحالة الطبيعية. وعلى سبيل المثال, كل آلة (مثل مسير وسيط) توجيه ال IP Datagram يحتاج إلى انقاص الزمن الباقي للحياة (TTL) الذي هو حقل في الترويسة بمقدار واحد. وإذا وصلت قيمة ال TTL إلى الصفر فإن رسالة ICMP (Time to line exceeded in transit) ترسل إلى مصدر ال Datagram. كل رسالة ICMP تغلف مباشرة من خلال IP Datagram وحيد, وبالتالي مثل بروتوكول ال UDP الICMP غير موثوق. وبالرغم من إن رسائل ال ICMP محتواة من قبل IP Datagram معياري, فإن هذه الرسائل مجهزة عادة كحالة خاصة تميز من خلال المعالجة الطبيعية لل IP, أكثر من تجهيزها كبروتوكول جزئي لل IP . وفي حالات عديدة يكون من الضروري معاينة محتويات رسالة ال ICMP و إيصال رسالة الخطأ المناسبة إلى التطبيق التي ولّدت في حزمة ال IP الأصلية, وهو الذي حث على إرسال رسالة ال ICMP .
هناك كثير من الإستخادمات الشائعة والمفيدة للشبكات تعتمد على رسائل ال ICMP, مثل أمر ال traceroute والبحث عن ال ICMP(Time to live exceeded in transit) وال “Destination unreachable” , وكما إن ال Ping نفذ بواسطة رسائل ال ICMP “Echo request” and “Echo replay” . ICMP segment structure: الترويسة:
184- 191 | 176-183 | 168-175 | 160-167 | Bits |
---|---|---|---|---|
Checksum | Code | Type | 160 | |
سطر | سطر | سطر | سطر | 192 |
إن ترويسة ال ICPM تبدأ بعد البت 160 من ترويسة ال IP:
Type: يحدد النوع (الأنواع موجودة بالأسفل).
Code: وهو تخصيص لنوع ال ICMP من ناحية أخرى
Checksum: هذا الحقل يحوي حساب أخصاء فحص البيانات وذلك لبيانات وترويسة الICMP ID: هذا الحقل يحوي قيمة ال ID, يجب إن تعطى بواسطة “Echo Reply”. Sequence: هذا الحقل يحوي قيمة سلسلة الترتيب, يجب إن تعطى بواسطة “Echo Reply”.