القائمة الرئيسية

الصفحات

دورة CCNA 200-301 - الدرس الثالث عشر (مقدمة حول بروتوكول ICMP)

دورة CCNA 200-301 - الدرس الثالث عشر (مقدمة حول بروتوكول ICMP)

دورة CCNA 200-301 - الدرس الثالث عشر (مقدمة حول بروتوكول ICMP)
ICMP (بروتوكول رسائل التحكم في الإنترنت) هو بروتوكول شبكة يُستخدم لتشخيص وإدارة الشبكة. مثال جيد هو الأداة المساعدة "ping" التي تستخدم طلب ICMP ورسالة رد ICMP. عندما يتعذر الوصول إلى مضيف معين ، قد يرسل ICMP رسالة خطأ إلى المصدر. مثال آخر هو تطبيق traceroute.

يتم تغليف رسائل ICMP في حزم IP ، لذلك قد يقول معظم الناس أنه بروتوكول طبقة رابعة مثل UDP أو TCP. ومع ذلك ، نظرًا لأن ICMP هو جزء حيوي من بروتوكول IP ، فإنه يعتبر عادةً بروتوكول الطبقة الثالثة.

الهيدر الذي يستخدمه ICMP بسيط حقًا ، إليك ما يبدو عليه:
هيدر ICMP


يحدد البايت الأول نوع رسالة ICMP. على سبيل المثال ، يتم استخدام النوع 8 لطلب الـ ICMP ويستخدم النوع 0 لرد ICMP. نستخدم النوع 3 لرسائل "لا يمكن الوصول الى الوجهة".

البايت الثاني يسمى كود التحديد. على سبيل المثال ، تحتوي رسالة الوجهة التي يتعذر الوصول إليها على 16 رمزًا مختلفًا. عندما ترى الرمز 0 فهذا يعني أن الشبكة الوجهة غير قابلة للوصول بينما الرمز 1 يعني أن المضيف الوجهة لا يمكن الوصول إليه.

الحقل الثالث هو 2 بايت يتم استخدامها من أجل المجموع الاختباري لمعرفة ما إذا كان هيدر ICMP تالفًا أم لا. يعتمد شكل الجزء المتبقي من الهيدر على نوع رسالة ICMP التي نستخدمها.

إذا كنت مهتمًا ، فإليك قائمة كاملة بجميع رموز وأنواع ICMP.

لعرض بعض الأمثلة على ICMP بشكل عملي ، فلنلقِ نظرة على بعض رسائل ICMP الشائعة في برنامج Wireshark.

التقاطات Wireshark
  • طلب ICMP Echo والرد عليه:

لنبدأ بمثال بسيط ، وهو الـ ping. سأستخدم جهازي راوتر لهذا:

R1 R2 FastEthernet


دعنا نرسل ping من R1:


R1#ping 192.168.12.2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.12.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/21/64 ms


إليك ما يبدو عليه في برنامج Wireshark:

طلب صدى Wireshark


الرسالة أعلاه هي طلب ICMP ، نلاحظ أنها تستخدم النوع 8 والرمز 0 لهذا. عندما يستقبل R2 سوف يرد:

يلتقط Wireshark رد صدى ICMP

رد ICMP هو رسالة من النوع 0 ورمز 0.

  • لا يمكن الوصول إلى الوجهة:

مثال لطيف آخر للنظر إليه هو رسالة الوجهة التي لا يمكن الوصول إليها. يمكننا اختبار ذلك بإضافة قائمة وصول على R2 ترفض رسائل ICMP:

R2(config)#ip access-list extended NO_ICMP 
R2(config-ext-nacl)#deny icmp any host 192.168.12.2
R2(config-ext-nacl)#permit ip any any

R2(config)#interface FastEthernet 0/0
R2(config-if)#ip access-group NO_ICMP in
لنجرب الآن اختبار امر ping من R1 مرة أخرى:

R1#ping 192.168.12.2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.12.2, timeout is 2 seconds:
UUUUU
Success rate is 0 percent (0/5)
فشل أمر ping ويمكنك رؤية رسائل U (لا يمكن الوصول اليه) على R1. إليك رسالة ICMP التي يرسلها R2:

Wireshark Capture ICMP تمت تصفيته إداريًا


رسالة ICMP الوجهة التي لا يمكن الوصول إليها هي من النوع 3 وتستخدم الرمز 13 لأن هذه الحزمة "تمت تصفيتها إداريًا" وجود (access-list).

Traceroute
يستخدم Traceroute أيضًا رسائل ICMP ، لتوضيح ذلك ، سنستخدم ثلاثة أجهزة توجيه:

R1 R2 R3


دعونا نرى كيف يبدو مسار التتبع من R1 إلى R3:

R1#traceroute 192.168.23.3 probe 1

Type escape sequence to abort.
Tracing the route to 192.168.23.3

  1 192.168.12.2 52 msec
  2 192.168.23.3 60 msec
سيقوم Cisco IOS افتراضيًا بإرسال تحقيقات متعددة. لغرض الشرح أنا احتاج حزمة واحدة. إليك الحزمة الأولى التي يرسلها R1:

Wireshark Capture Traceroute UDP Probe


يستخدم Cisco IOS حزم UDP بقيمة TTL من 1 ومنفذ الوجهة 33434. سيزداد TTL ومنفذ الوجهة لكل قفزة. بمجرد أن يتلقى R2 هذه الحزمة سيتم الرد على النحو التالي:

تجاوز Wireshark Capture Traceroute ICMP TTL

هنا يأتي دور ICMP. سيرسل R2 رسالة ICMP type 11 (تجاوزت مدة البقاء) إلى R1. بمجرد أن يتلقى R1 هذا ، فسوف يرسل الحزمة الثاني:

Wireshark التقاط traceroute UDP Probe TTL Two


أعلاه يمكنك أن ترى أن TTL هو الآن 2 وقد زاد رقم منفذ الوجهة هو 33435. بمجرد أن يتلقى R3 هذه الحزمة سيتم الرد على النحو التالي:

التقاط Wireshark Traceroute وجهة ICMP غير قابلة للوصول


سوف يرد R3 برسالة "يتعذر الوصول إليه" من النوع 3. ألق نظرة عن كثب على النوع والرمز. يخبرنا النوع أن الوجهة لا يمكن الوصول إليها. قد يعني هذا أنه لا يمكن الوصول إلى المضيف أو الشبكة البعيدة.

ومع ذلك ، فإن الرمز هو رقم 3 مما يعني عدم إمكانية الوصول إلى المنفذ. يستخدم R3 هذا الرمز لأنه لا يوجد شيء يستمع على منفذ UDP 33435. يرد R3 على R1 ويعين هذا الرمز ، لذلك يعرف R1 على الأقل الآن أنه يمكن الوصول إلى R3 192.168.23.3 ، ولكنه لا يستمع الى المنفذ UDP 33435.

خلاصة
لقد رأيت الآن ما يتم استخدامه لـ ICMP ، وكيف يبدو العنوان وما تبدو عليه بعض الرسائل الأكثر شيوعًا. إذا كان لديك أي أسئلة ، فلا تتردد في ترك تعليق هنا!
reaction:

تعليقات