بروتوكول التحكم برسائل الإنترنت
البروتوكول 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”.