ICMP — پروتکل پیام کنترل اینترنت
زبان گزارش خطا و عیبیابی شبکه. ping و traceroute با ICMP کار میکنند و روترها با آن خبر میدهند که بستهای نرسیده است.
- لایهٔ OSI: 3 (شبکه)
- انتقال: IP (پروتکل 1)
- پورت: —
- استاندارد: RFC 792
- سطح: مقدماتی · حدود 6 دقیقه
نکتههای کلیدی
- ICMP برای گزارش خطا و تشخیص شبکه است، نه انتقال داده.
- ping از Echo Request/Reply و traceroute از Time Exceeded استفاده میکند.
- مسدود کردن کامل ICMP کشف MTU مسیر (PMTUD) را خراب میکند.
مراحل شبیهسازی (5 بسته)
- Echo Request: دستور ping یک درخواست پژواک میفرستد.
- Echo Reply: سرور همان داده را برمیگرداند و زمان رفتوبرگشت اندازهگیری میشود.
- TTL=1: traceroute بستهای با TTL=1 میفرستد. اولین روتر TTL را صفر میکند و بسته را دور میریزد.
- Time Exceeded: روتر با پیام «زمان به پایان رسید» پاسخ میدهد و آدرسش آشکار میشود. با TTL=2، 3 و ... کل مسیر کشف میشود.
- Port Unreachable: اگر بسته به پورت UDP بسته برسد، میزبان پیام «مقصد در دسترس نیست» با کد ۳ برمیگرداند.