Internet Control Message Protocol
| ICMP (Internet Control Message Protocol) | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Familie: | Internet protokol familie | |||||||||||||||||
| Betjeningsområde: | Obligatorisk tilføjelse til internetprotokollen , |
|||||||||||||||||
| ||||||||||||||||||
| 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
- ↑ Parameter for Internet Control Message Protocol (ICMP). IANA, 15. juni 2018, adgang til 9. december 2018 .
- ^ J. Postel: RFC 792 - Internet Control Message Protocol . September 1989. s. 18. ( DARPA Internet Program Protocol Specification. Til s. 19 - engelsk).
- ↑ F. Gont: RFC 6918 . - Formelt afskrivning af nogle ICMPv4 -meddelelsestyper . April 2013. (Erstatter RFC 1788 - engelsk).
- ^ 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).