Internet Control Message Protocol (ICMP) är ett nätverksprotokoll för Internet Protocol (IP) -nätverk. ICMP överför kontrollinformation för själva nätets status i stället för applikationsdata. Ett IP-nätverk kräver ICMP för att fungera korrekt.
ICMP-meddelanden är en specifik typ av IP-meddelande som skiljer sig från TCP och UDP.
Det mest kända exemplet med ICMP-meddelanden i praktiken är pingverktyget, som använder ICMP för att söka fjärrvärdar för responsivitet och mäta den totala rundturstiden för sondmeddelandena.
ICMP stöder också andra verktyg som traceroute som identifierar mellanliggande routing-enheter ("humle") på vägen mellan en given källa och destination.
ICMP Versus ICMPv6
Den ursprungliga definitionen av ICMP stödde Internet Protocol version 4 (IPv4) nätverk. IPv6 innehåller en reviderad form av protokollet som konventionellt kallas ICMPv6 för att skilja det från den ursprungliga ICMP (ibland kallad ICMPv4).
ICMP-meddelandetyper och meddelandesformat
ICMP-meddelanden har data som är nödvändiga för drift och administration av ett datornätverk. Protokollet rapporterar om villkor som inte svarar enheter, överföringsfel och problem med nätproblem.
Liksom andra protokoll i IP-familjen definierar ICMP ett meddelandehuvud. Rubriken innehåller fyra fält i följande ordning:
- Typ (8 bitar)
- Kod (8 bitar)
- Kontrollsumma (16 bitar)
- ICMP-data (32 bitar)
ICMP definierar en lista över specifika meddelandetyper och tilldelar ett unikt nummer till var och en.
Som visas i tabellen nedan, innehåller ICMPv4 och ICMPv6 några vanliga meddelandetyper (men ofta med olika siffror) och även vissa meddelanden som är unika för varje. (De vanliga meddelandetyperna kan också variera något i deras beteende mellan IP-versioner).
| v4 # | v6 # | Typ | Beskrivning |
|---|---|---|---|
| 0 | 129 | Echo Svara | Meddelande som skickas som svar på en echo-förfrågan (se nedan) |
| 3 | 1 | Destination Unreachable | Skickat som svar på ett IP-meddelande som inte kan överlåtas av olika skäl. |
| 4 | - | Källa släckning | En enhet kan skicka detta meddelande tillbaka till en avsändare som genererar inkommande trafik i en snabbare takt än den kan bearbetas. (Ersatt av andra metoder.) |
| 5 | 137 | Omdirigeringsmeddelande | Routing-enheter kan generera den här metoden om de upptäcker en ändring i önskad rutt för ett IP-meddelande bör ändras. |
| 8 | 128 | Echo-förfrågan | Meddelande som skickas av pingverktyg för att kontrollera responsen hos en målenhet |
| 11 | 3 | Tid översteg | Routrar genererade detta meddelande när den inkommande data har nått sin "hopp" -gränsenivå. Används av traceroute. |
| 12 | - | Parameterproblem | Genereras när en enhet upptäcker skadad eller saknad data i ett inkommande IP-meddelande. |
| 13, 14 | - | Tidsstämpel (begäran, svar) | Konstruerad för att synkronisera klockor mellan två enheter via IPv4, (ersatt av andra mer tillförlitliga metoder.) |
| - | 2 | Paket för stor | Routrar genererar detta meddelande när de mottar ett meddelande som inte kan vidarebefordras till dess destination på grund av att överskrida en längdgräns. |
Protokollet fyller kodfältet och ICMP-datafält beroende på meddelandet Typ som valts för att dela ytterligare information. Exempelvis kan ett destinationsåtertagbart meddelande ha många olika kodvärden beroende på arten av felet.




