כל מה שרצית לדעת על Internet Control Message Protocol:
Internet Control Message Protocol (בראשי תיבות: ICMP) הוא חלק מחבילת פרוטוקולי תקשורת באינטרנט, ומוגדר ב־RFC 792.
הודעות ICMP נוצרות בדרך כלל כתגובה לשגיאות בחבילות של פרוטוקול IP, כמפורט ב־RFC 1122 או למטרות אבחון וניתוב.
הגרסה של ICMP המיועדת לפרוטוקול IPv4 ידועה גם בתור ICMPv4, בתוקף היותה חלק מפרוטוקול זה.
ל־IPv6 יש פרוטוקול ייעודי מקביל.
הודעות ICMP נבנות בשכבת ה־IP, בדרך כלל מחבילת IP רגילה, אשר יצרה תגובת ICMP.
IP עוטף את הודעת ה ICMP המתאימה בכותרת IP חדשה, כדי לשולחה חזרה למכונה ששלחה את ההודעה המקורית, ולהעביר את החבילה הנוצרת באופן הרגיל.
לדוגמה, כל מכונה (למשל נתבי ביניים) שמקדמת חבילת IP, צריכה להקטין את שדה ה־Time to Live של החבילה באחד.
אם ה־TTL מגיע לאפס, הודעת ICMP, האומרת כי הייתה חריגה ממשך הזמן המוקצב במהלך המעבר, נשלחת חזרה למקור החבילה.
כל הודעת ICMP עטופה ישירות בחבילת IP אחת, ולפיכך, בדומה ל־UDP, פרוטוקול ICMP אינו מבטיח מסירה.
אף כי הודעות ICMP מוכלות בחבילות IP תקניות, הודעות ICMP מטופלות על פי רוב כמקרה מיוחד, הנבדל מן הטיפול בחבילות IP רגילות, ולא כתת-פרוטוקול רגיל של IP.
במקרים רבים, הכרחי לבחון את תוכנה של הודעת ICMP ולהעביר את הודעת השגיאה המתאימה ליישום שיצר את חבילת ה־IP המקורית, אשר גרמה לשליחת הודעת ה ICMP.
כלי רשת נפוצים רבים מבוססים על הודעות ICMP.
הכלי traceroute מיושם באמצעות שידור חבילת UDP או ICMP עם שדות TTL בעלי ערך ספציפי, ובדיקת הודעות חוזרות האומרות כי הייתה חריגה ממשך הזמן המוקצב במהלך המעבר, או כי היעד אינו נגיש.
הכלי פינג (ping) מיושם תוך שימוש בהודעות ה־ICMP "הד" ו-"הד תשובה".