Internet Control Message Protocol

ICMP (Internet Control Message Protocol)
Familie: Internet protokol familie
Betjeningsområde: Obligatorisk tilføjelse

til internetprotokollen ,
fejlmeddelelser, diagnostik

ICMP på TCP / IP -protokolstakken
Internet ICMP
IPv4
Netværksadgang Ethernet Token
bus
Token
ring
FDDI ...
Standarder: RFC 792 (1981)

Den Internet Control Message Protocol ( ICMP ) anvendes i edb-net til informationsudveksling og fejlmeddelelser via Internet Protocol version 4 ( IPv4 ). En lignende protokol kaldet ICMPv6 findes for IPv6 .

ICMP er en del af IPv4, men behandles som en separat protokol. Hver router og hver computer forventes at "forstå" ICMP. De fleste ICMP -pakker indeholder diagnostiske oplysninger: De sendes tilbage fra routeren til kilden, hvis routeren kasserer pakker, f.eks. Fordi destinationen ikke kan nås, eller TTL er udløbet. Følgende principper gælder:

  • ICMP bruger IP som kommunikationsgrundlag ved at tolke sig selv som en protokol for et højere lag, dvs. H. ICMP -meddelelser er indkapslet i IP -pakker.
  • ICMP registrerer nogle fejltilstande, men gør ikke IP til en pålidelig protokol.
  • ICMP analyserer fejl i hver IP -pakke, med undtagelse af dem, der bærer en ICMP -besked.
  • ICMP -meddelelser sendes ikke som svar på pakker til destinationsadresser, der er multicast- eller broadcast -adresser.
  • ICMP -beskeder reagerer kun på en unik kilde -IP -adresse.

ICMP -pakketyperne

Typen af ​​ICMP-pakken er et 8- bit tal i begyndelsen af ​​ICMP- overskriften . Tallene har følgende betydninger:

  • 0 = ekko (svar)
  • 1–2 = ikke tildelt
  • 3 = datagrammets destination kan ikke nås
  • 4 = anmodning om at drosle pakkeleveringen
  • 5 = Omdirigeringsanbefaling til en anden gateway på det samme netværk med en hurtigere forbindelse til destinationen
  • 6 = alternativ værtsadresse
  • 7 = ikke tildelt
  • 8 = anmodning om et ekko
  • 9 = tilbud på en router
  • 10 = routerrekruttering
  • 11 = timeout
  • 12 = Problem med parametre i datagrammet
  • 13 = tidsstempel (letter tidssynkronisering)
  • 14 = tidsstempel (svar)
  • 15 = "Informationsanmodning" (for at bestemme netværksnummeret, erstattet af DHCP )
  • 16 = "Informationssvar"
  • 17 = anmod om netmaske
  • 18 = svar netmaske
  • 19 = reserveret (for sikkerhed)
  • 20–29 = forbeholdt (til robusthedseksperimenter)
  • 30 = traceroute
  • 31 = Fejl ved konvertering af datagram
  • 32 = Mobile Host Redirect
  • 33 = Oprindeligt IPv6 Where-Are-You (erstattet af ICMPv6 )
  • 34 = Oprindeligt IPv6 I-Am-Here (erstattet af ICMPv6 )
  • 35 = anmodning om mobil registrering
  • 36 = Svar på mobilregistrering †
  • 37 = Anmodning om domænenavn
  • 38 = Svar på domænenavn
  • 39 = SKIP
  • 40 = photuris
  • 41 = bruges af eksperimentelle mobilitetsprotokoller som Seamoby
  • 42 = udvidet ekko *
  • 43 = udvidet ekko (svar) *
  • 44-252 = ikke tildelt
  • 253 = eksperiment 1 ifølge RFC 3692
  • 254 = Eksperiment 2 ifølge RFC 3692

[†] afskaffet

Time-to-Live

For at forhindre pakker i at blive sendt uendeligt gennem et netværk (f.eks. I en cirkel mellem flere routere), reducerer en router TTL -værdien med 1. Når TTL -værdien når værdien 0, slettes pakken, og afsenderen informerer om denne proces via en ICMP -besked. Traceroute gør brug af denne mekanisme .

For at fastlægge, hvilken rute (de humle ) i en pakke til en bestemt destination vært , den traceroute analyseprogram sender datapakker med en forøgelse Time-To-Live (TTL) (startende med 1) og venter på "Tid til at leve overskredet i transit "eller" Destination utilgængelige "meddelelser som en reaktion. Afhængigt af implementeringen eller en valgt mulighed for Traceroute kan disse være ICMP (f.eks. Under Windows) eller UDP -pakker (f.eks. Under Linux).

konstruktion

ICMP sender og modtager en lang række meddelelser. ICMP -meddelelsen angives med protokol nummer 1 i IP -overskriften. ICMPv6 har derimod protokolnummer 58. ICMP -meddelelsesformatet består af kun få felter:

0 4. 8. 12. 16 20. 24 28 31
Type kode Checksum
Data (valgfrit)

Typefeltet angiver meddelelsen. Kodefeltet fortolker meddelelsestypen mere præcist. Dataene indeholder typisk en del af den originale IP -besked. Nogle af de mere almindelige typekodekombinationer er:

Type Skriv navn kode betyder
0 Ekko svar 0 Ekko svar
3 Destination kan ikke opnås 0 Netværket kan ikke nås
1 Vært (målstation) kan ikke nås
2 Protokol kan ikke nås
3 Havnen kan ikke nås
4. Fragmentering nødvendig D on't F ragment men sat
5 Rute ikke mulig (retningen er forkert angivet i feltet IP -header)
13 Kommunikation administrativt forbudt (pakke er blokeret af modtagerens firewall)
4. Frigør kilden 0 Datagram kasseres, fordi køen er fuld
8. Anmodning om ekko 0 Ekkoforespørgsel (bedre kendt som " ping ")
11 Tidsgrænse overskredet 0 TTL (Time To Live) er udløbet
1 Defragmenteringen udløb

I tilfælde af mange ICMP-meddelelser indeholder et ekstra "Data" -felt mere detaljerede oplysninger om tildeling af ICMP-meddelelsen i det første 32-bit ord. Ofte fra det andet dataord og fremover transmitteres også IP -headeren på det initierende datagram og de første 32 bit af pakken. "Data" -feltet kan imidlertid også misbruges til at overføre brugerdata ( ICMP -tunneling ). Den nødvendige fejlhåndtering eller fejlkorrektion og lignende skal dog derefter implementeres på applikationsniveau.

Sikkerhedsrelevante aspekter

Internet Control Message Protocol kan bruges til et Denial-of-Service (DoS) eller Distributed Denial-of-Service (DDoS) angreb på en enhed. En enhed kan også misbruges af en angriber som en del af et DDoS -angreb til at angribe en tredje enhed. Typiske angrebsmetoder er smølfeangreb , oversvømmelse eller dødens ping . En anden mulighed for at bruge ICMP -protokollen er at bruge den til uautoriseret datatransmission via ICMP -tunnelforbindelsen .

Weblinks

  • RFC 792 . - Internet Control Message Protocol . [Fejl: RFC 792 ]. September 1989. (Opdateret af RFC 950  - engelsk).
  • RFC 1122 . - Krav til internetværter - kommunikationslag . [Fejl: RFC 1122 ]. Oktober 1989. (Opdateret af RFC 1349  - også for yderligere ICMP -udvidelser - engelsk).
  • IANA ICMP -parametre - fuld liste over ICMP -typer og koder

Individuelle beviser

  1. Parameter for Internet Control Message Protocol (ICMP). IANA, 15. juni 2018, adgang til 9. december 2018 .
  2. ^ J. Postel:  RFC 792  - Internet Control Message Protocol . September 1989. s. 18. ( DARPA Internet Program Protocol Specification. Til s. 19 - engelsk).
  3. F. Gont:  RFC 6918 . - Formelt afskrivning af nogle ICMPv4 -meddelelsestyper . April 2013. (Erstatter RFC 1788 - engelsk).
  4. ^ R. Bonica, R. Thomas, J. Linkova, C. Lenart, M. Boucadair:  RFC 8335 . - PROBE: Et værktøj til sonderingsgrænseflader . Februar 2018. (Forslag til standard).