اقرأ في هذا المقال
- ما هو بروتوكول ICMP
- كيفية عمل بروتوكول ICMP
- الفرق بين ICMP وPing
- عيوب بروتوكول ICMP
- أهداف استخدام بروتوكول ICMP
- أساسيات بروتوكول ICMP
- رسائل الخطأ المحددة بواسطة بروتوكول ICMP
نظراً لأنّ “IP” ليس لديه آلية داخلية لإرسال رسائل الخطأ والتحكم لذلك يعتمد على بروتوكول رسائل التحكم في الإنترنت “ICMP” لتوفير التحكم في الأخطاء، كما يتم استخدامه للإبلاغ عن الأخطاء والاستفسارات الإدارية، وإنّه بروتوكول داعم وتستخدمه أجهزة الشبكات مثل أجهزة التوجيه لإرسال رسائل الخطأ ومعلومات العمليات.
ما هو بروتوكول ICMP
بروتوكول “ICMP”: هو بروتوكول على مستوى الشبكة، وتنقل رسائل “ICMP” معلومات حول مشكلات اتصال الشبكة إلى مصدر الإرسال المخترق، كما يرسل رسائل تحكم مثل شبكة الوجهة التي يتعذر الوصول إليها وفشل مسار المصدر وإخماد المصدر، ويستخدم بنية حزمة بيانات برأس “8 بايت” وقسم بيانات متغير الحجم.
- “IP” هي اختصار لـ “Internet Protocol”.
- “ICMP” هي اختصار لـ “Internet Control Message Protocol”.
كيفية عمل بروتوكول ICMP
يتم استخدام “ICMP” بواسطة جهاز مثل جهاز التوجيه للتواصل مع مصدر حزمة البيانات حول مشكلات الإرسال، وعلى سبيل المثال إذا لم يتم تسليم مخطط بيانات فقد تبلغ “ICMP” بهذا الأمر إلى المضيف مع التفاصيل للمساعدة في تمييز المكان الذي حدث فيه خطأ الإرسال، وإنّه بروتوكول يؤمن بالتواصل المباشر في مكان العمل.
بروتوكول رسائل التحكم في الإنترنت “ICMP” هو بروتوكول تعتمده الأجهزة الموجودة داخل الشبكة للتواصل مع مشاكل نقل البيانات، وكما تتمثل إحدى الطرق الأساسية لاستخدام “ICMP” في تحديد ما إذا كانت البيانات تصل إلى وجهتها وفي الوقت المناسب، وهذا يجعل “ICMP” جانباً مهماً من عملية الإبلاغ عن الخطأ والاختبار لمعرفة مدى جودة نقل الشبكة للبيانات، ومع ذلك يمكن استخدامه أيضاً لتنفيذ هجمات رفض الخدمة الموزعة “DDoS”.
- “DDoS” هي اختصار لـ “Distributed Denial of Service”.
الفرق بين ICMP وPing
“Ping” هي أداة مساعدة تستخدم رسائل “ICMP” لإرسال معلومات حول اتصال الشبكة وسرعة ترحيل البيانات بين المضيف والكمبيوتر الوجهة، كما إنّها إحدى الحالات القليلة التي يمكن فيها للمستخدم التفاعل مباشرة مع “ICMP”، والتي عادةً ما تعمل فقط للسماح لأجهزة الكمبيوتر المتصلة بالشبكة بالاتصال ببعضها البعض تلقائياً.
عيوب بروتوكول ICMP
يمكن أن تكون “ICMP” متجهاً للهجوم على الشبكة، حيث يساعد فحص أو مسح “ping” المهاجم على اكتشاف الأنظمة التي يجب استهدافها في الهجمات المستقبلية، كما يمكن أن يتيح نفق “ICMP” للجهاز المخترق الاتصال سراً بالمهاجم أو تلقي الأوامر أو تسريب البيانات.
يمكن أن يؤدي فيضان “ICMP” أو “ping of death” أو هجوم “Smurf” إلى إغلاق الشبكة من خلال رفض الخدمة الموزع “DDoS”، وحتى في السحابة يمكن أن تفتح أخطاء التكوين السحابية الشائعة نافذة للهجمات المستندة إلى “ICMP”.
أهداف استخدام بروتوكول ICMP
الغرض الأساسي من “ICMP” هو الإبلاغ عن الأخطاء، وعند اتصال جهازين عبر الإنترنت تقوم “ICMP” بإنشاء أخطاء لمشاركتها مع جهاز الإرسال في حالة عدم وصول، أي من البيانات إلى وجهتها المقصودة وعلى سبيل المثال إذا كانت حزمة البيانات كبيرة جداً بالنسبة لجهاز التوجيه، فسيقوم جهاز التوجيه بإسقاط الحزمة وإرسال رسالة “ICMP” مرة أخرى إلى المصدر الأصلي للبيانات.
الاستخدام الثانوي لبروتوكول “ICMP” هو إجراء تشخيصات الشبكة، حيث تعمل الأداة المساعدة الطرفية الشائعة الاستخدام “traceroute” و”ping” على حد سواء باستخدام “ICMP”، وتُستخدم الأداة المساعدة “traceroute” لعرض مسار التوجيه بين جهازي إنترنت.
مسار التوجيه هو المسار الفعلي الفعلي لأجهزة التوجيه المتصلة التي يجب أن يمر بها الطلب قبل أن يصل إلى وجهته، وتُعرف الرحلة بين جهاز توجيه وآخر باسم “قفزة” ويبلغ مسار التتبع أيضاً عن الوقت المطلوب لكل قفزة على طول الطريق، كما يمكن أن يكون هذا مفيداً لتحديد مصادر تأخير الشبكة.
أداة “ping” هي نسخة مبسطة من “traceroute”، وسيختبر “ping” سرعة الاتصال بين جهازين ويبلغ بالضبط المدة التي تستغرقها حزمة البيانات للوصول إلى وجهتها والعودة إلى جهاز المرسل، وعلى الرغم من أنّ “ping” لا يوفر بيانات حول التوجيه أو القفزات إلّا أنّه لا يزال مقياساً مفيداً جداً لقياس زمن الانتقال بين جهازين، وتُستخدم رسائل طلب صدى “ICMP” ورسائل رد الصدى بشكل شائع لغرض إجراء اختبار “ping”.
أساسيات بروتوكول ICMP
على عكس بروتوكول الإنترنت “IP” لا يرتبط “ICMP” ببروتوكول طبقة النقل مثل “TCP” أو “UDP“، وهذا يجعل “ICMP” بروتوكولاً بدون اتصال، كما لا يحتاج أحد الأجهزة إلى فتح اتصال بجهاز آخر قبل إرسال رسالة “ICMP”.
ويتم إرسال حركة مرور “IP” العادية باستخدام “TCP” ممّا يعني أنّ أي جهازين يتبادلان البيانات سوف يقومان أولاً بمصافحة “TCP” لضمان أنّ كلا الجهازين جاهزان لاستقبال البيانات، ولا تفتح “ICMP” اتصالاً بهذه الطريقة ولا يسمح بروتوكول “ICMP” أيضاً باستهداف منفذ معين على الجهاز.
- “TCP” هي اختصار لـ “Transmission Control Protocol”.
- “UDP” هي اختصار لـ “User Datagram Protocol”.
رسائل الخطأ المحددة بواسطة بروتوكول ICMP
1- إيقاف المصدر
يقوم جهاز توجيه أو مضيف تمتلئ مخازن الاتصال المؤقتة الخاصة بهما تقريباً بتشغيل هذه الرسالة، كما يتم إرسال رسالة إيقاف المصدر إلى المضيف المرسل، ويطلب المتلقي ببساطة من المضيف المرسل تقليل معدل الإرسال حتى يتم إخطاره بخلاف ذلك.
2- تجاوز الوقت
يتم إرسال رسالة تجاوز الوقت في حالتين، وعندما يقوم جهاز التوجيه بتقليل حقل “TIL” في كمية البيانات إلى الصفر يتجاهل جهاز التوجيه مخطط البيانات ويرسل رسالة تجاوز الوقت، بالإضافة إلى ذلك يتم إرسال رسالة تجاوز الوقت بواسطة مضيف، إذا انتهت صلاحية مؤقت إعادة التجميع قبل وصول جميع الأجزاء من مخطط بيانات معين.
- “TIL” هي اختصار لـ “time-to-live”.
3- توجيه إعادة التوجيه
يرسل جهاز التوجيه هذه الرسالة إلى مضيف يطلب خدمات التوجيه الخاصة به، وعندما يقوم مضيف بإنشاء مخطط بيانات موجه لشبكة، يرسل المضيف مخطط البيانات إلى جهاز توجيه والذي يعيد توجيه مخطط البيانات إلى وجهته.
وإذا قرر جهاز التوجيه أنّ مضيفاً قد أرسل بشكل غير صحيح مخطط بيانات يجب إرساله إلى جهاز توجيه مختلف، يستخدم جهاز التوجيه رسالة إعادة توجيه المسار لجعل المضيف يغير مساره، وبهذه الطريقة تعمل رسالة إعادة توجيه المسار على تحسين كفاءة عملية التوجيه من خلال إعلام مضيف “req4esting” بمسار أقصر إلى الوجهة المطلوبة.
لا يمكن الوصول إلى المضيف عندما تحدد بوابة أو جهاز توجيه أنّه لا يمكن تسليم مخطط بيانات إلى وجهته النهائية بسبب فشل الارتباط أو ازدحام النطاق الترددي، كما يتم إرسال رسالة لا يمكن الوصول لمضيف “ICMP” إلى العقدة الأصلية على الشبكة، وتتضمن الرسالة سبب تعذر الوصول إلى المضيف.
4- التجزئة وإعادة التجميع
أكبر مخطط بيانات يمكن أن يتعامل معه بروتوكول “IP” هو “64 كيلوبايت”، كما يتم تحديد الحد الأقصى لحجم مخطط البيانات من خلال عرض حقل الطول الإجمالي في رأس “IP”، ومن الناحية الواقعية لا يمكن لمعظم تقنيات ارتباط البيانات الأساسية استيعاب حجم البيانات هذا، وعلى سبيل المثال يبلغ الحد الأقصى لحجم إطار البيانات المدعوم بواسطة “Ethernet” حوالي “1514 بايت”.
وما لم يتم القيام بشيء حيال مثل هذه المواقف يجب على “IP” أن يتجاهل البيانات التي يتم تسليمها إليه من بروتوكولات الطبقة العليا بأحجام تتجاوز الحد الأقصى للحجم المسموح به، وبواسطة طبقة ارتباط البيانات وللتغلب على هذه الصعوبة تم تصميم “IP” لتوفير تجزئة البيانات وإعادة التجميع.