Vad är meddelandeprotokollet för Internetkontroll?
Internet Control Message Protocol (ICMP) är ett verktyg som används för felrapportering och diagnostiska syften i datornätverk. ICMP är en del av Internet Protocol (IP) Suite och består av fördefinierade meddelanden med olika syften. De flesta aspekter av Internetkontrollmeddelandeprotokollet märks inte av slutanvändare, men några få nätverksverktyg som traceroute och ping förlitar sig på ICMP-meddelanden för deras funktionalitet.
I hjärtat av både Internet och mindre datornätverk finns en samling protokoll som kallas IP-sviten. Dessa protokoll anger format för meddelanden som utbyts mellan nätverksenheter och fastställer regler för hur dessa meddelanden skickas och tas emot. Protokollen är också skiktade, varvid varje lager förlitar sig på det under det. ICMP är en del av det näst högsta lagret, internetlagret. Detta lager inkluderar det välkända Internetprotokollet som ansvarar för överföring av enskilda datagrupper, kallade paket, över ett eller flera nätverk.
ICMP används för att skicka felmeddelanden eller diagnostisk information mellan enheter eller värdar med Internetprotokollet. ICMP-meddelanden är fördefinierade och kan hänvisas till antingen genom namn eller typnummer. De flesta av dessa meddelanden är för olika typer av felrapportering. Till exempel, när en viss värd inte kan nås, genereras ofta ett ICMP-meddelande som indikerar det specifika problemet som förhindrar datalagring. Andra typer av meddelanden skickas om paket blir skadade eller om en router eller värd i ett nätverk är överbelastad.
Ett pakets maximala storlek är inte fördefinierad utan dikteras av en maximal nätverkslänks maximala överföringsenhet (MTU). Olika länkar kan ha olika MTU: er, men ett paket måste vara mindre än den minsta MTU längs en given väg för att slutföra sin resa. En teknik som kallas Path MTU Discovery (PMTUD) använder ICMP-meddelanden för att meddela en avsändare när paketen är för stora för ett visst bansegment.
Ett relaterat protokoll känt som ICMP Router Discovery Protocol (IRDP) kan underlätta automatisk nätverkskonfiguration för värdar som stöder det. IRDP använder två typer av Internetkontrollmeddelandeprotokollmeddelanden för att meddela och upptäcka närliggande routrar, dvs värdar som ansluter två eller flera nätverk. En router som stöder IRDP kommer regelbundet att sända ett ICMP-routerannonsmeddelande som tillkännager sin närvaro till värdar. Värdar kan också skicka ett uppmaningsmeddelande där alla routrar i närheten ber sig identifiera sig.
Vissa populära nätverksverktyg förlitar sig också på Internet Control Message Protocol. Ett verktyg, traceroute, använder ICMP-meddelandet som genereras när ett paket har gått ut eller överskridit sin "tid att leva" (TTL). Genom att ställa in ett avsiktligt lågt TTL-värde för ett paket, kommer traceroute att få ett ICMP-tidsöverskridande meddelande från den sista routern som paketet nådde innan det löper ut. Upprepa denna process och öka TTL-värdet kommer i teorin att generera en lista över alla värdpaket som reser igenom.
Ett annat verktyg som kallas ping förlitar sig på ICMP Echo Request-meddelandet, som besvaras med ett ICMP Echo Answer-meddelande. Tyvärr kan ping också missbrukas i en så kallad "smurfattack" när en hacker skickar ekoförfrågningar med förfalskad avsändarinformation, som sedan besvaras av många andra maskiner. Detta kan överbelasta ett nätverk så att inga legitima paket kan komma igenom, en situation som kallas förnekande av tjänst.