Hva er meldingsprotokollen for internettkontroll?
Internet Control Message Protocol (ICMP) er et verktøy som brukes til feilrapportering og diagnostiske formål i datanettverk. ICMP er en del av Internet Protocol (IP) Suite, og består av forhåndsdefinerte meldinger med forskjellige formål. De fleste aspekter av Internet Control Message Protocol blir ikke lagt merke til av sluttbrukere, men noen få nettverksverktøy som traceroute og ping er avhengige av ICMP-meldinger for deres funksjonalitet.
I hjertet av både Internett og mindre datanettverk er en samling protokoller kjent som IP Suite. Disse protokollene spesifiserer formatene for meldinger som utveksles mellom nettverksenheter, og oppretter regler for hvordan disse meldingene blir sendt og mottatt. Protokollene er også lagdelte, og hvert lag er avhengig av den under den. ICMP er en del av det nest høyeste laget, Internett-laget. Dette laget inkluderer den velkjente Internett-protokollen som er ansvarlig for overføring av individuelle datagrupper, kalt pakker, over ett eller flere nettverk.
ICMP brukes til å sende feilmeldinger eller diagnostisk informasjon mellom enheter eller verter ved å bruke Internett-protokollen. ICMP-meldinger er forhåndsdefinert og kan refereres til enten med navn eller typenummer. De fleste av disse meldingene er for forskjellige typer feilrapportering. Når en bestemt vert for eksempel ikke kan nås, genereres det ofte en ICMP-melding som indikerer det spesifikke problemet som forhindrer datalevering. Andre typer meldinger sendes hvis pakker blir ødelagte eller hvis en ruter eller vert i et nettverk er overbelastet.
Maksimal størrelse for en pakke er ikke forhåndsdefinert, men diktert av Maksimal overføringsenhet (MTU) til en bestemt nettverkslink. Ulike lenker kan ha forskjellige MTU-er, men en pakke må være mindre enn den minste MTU langs en gitt bane for å fullføre reisen. En teknikk kjent som Path MTU Discovery (PMTUD) bruker ICMP-meldinger for å varsle en avsender når pakker er for store for et bestemt banesegment.
En relatert protokoll kjent som ICMP Router Discovery Protocol (IRDP) kan lette automatisk nettverkskonfigurasjon for verter som støtter den. IRDP bruker to typer Internet Control Message Protocol-meldinger for å kunngjøre og oppdage rutere i nærheten, dvs. verter som kobler til to eller flere nettverk. En ruter som støtter IRDP vil periodisk kringkaste en ICMP-ruterannonsemelding som kunngjør sin tilstedeværelse til vertene. Vertene kan også sende en oppfordringsmelding der alle rutere i nærheten ber om å identifisere seg.
Noen populære nettverksverktøy er også avhengige av Internet Control Message Protocol. Ett verktøy, traceroute, bruker ICMP-meldingen som genereres når en pakke har gått ut eller har overskredet sin "tid til å leve" (TTL). Ved å stille en bevisst lav TTL-verdi for en pakke, vil traceroute motta en ICMP Time Exceeded-melding fra den siste ruteren pakken nådde før den utløper. Gjenta denne prosessen og øke TTL-verdien vil i teorien generere en liste over alle vertene pakker reiser gjennom.
Et annet verktøy kalt ping er avhengig av ICMP Echo Request-meldingen, som blir svart på med en ICMP Echo Answer-melding. Dessverre kan ping også misbrukes i et såkalt "smurf-angrep" når en hacker sender ekkoforespørsler med forfalsket avsenderinformasjon, som deretter blir svart på av mange andre maskiner. Dette kan overbelaste et nettverk til det punktet hvor ingen legitime pakker kan komme igjennom, en situasjon som kalles tjenestenekt.