ICMP
Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den
version , der blev gennemgået den 26. marts 2014; checks kræver
55 redigeringer .
ICMP |
Navn |
Internet Control Message Protocol |
Niveau (ifølge OSI-modellen ) |
netværk |
Familie |
TCP/IP |
Specifikation |
RFC 792 |
Mediefiler på Wikimedia Commons |
ICMP ( Internet Control Message Protocol ) er en netværksprotokol inkluderet i TCP /IP-protokolstakken . ICMP bruges primært til at rapportere fejl og andre undtagelser, der opstår under datatransmission, såsom at den anmodede tjeneste ikke er tilgængelig, eller at værten eller routeren ikke reagerer. Nogle servicefunktioner (tjenester) er også tildelt ICMP.
Tekniske detaljer
ICMP-protokollen er beskrevet i RFC 792 fra 1981 af Jon Postel (med tilføjelser i RFC 950 ). ICMP er en internetstandard (inkluderet i STD 5 sammen med IP ). Selvom protokollen formelt bruger IP (ICMP-pakker er indkapslet i IP-pakker), er den en integreret del af IP og er obligatorisk, når TCP/IP-stakken implementeres . Den nuværende version af ICMP til IPv4 hedder ICMPv4. IPv6 har en lignende protokol, ICMPv6 .
En ICMP-meddelelse bygges ud fra de IP-pakker, der genererede ICMP-svaret. IP-protokollen indkapsler den tilsvarende ICMP-meddelelse med en ny IP-header (for at sende ICMP-meddelelsen tilbage til afsenderen) og videresender de modtagne pakker.
For eksempel formindsker hver maskine, der videresender IP-pakker (såsom en router ), feltet Time to live (TTL) i IP-pakkeheaderen med én; hvis TTL når 0, sendes en ICMP TTL overskredet meddelelse til pakkens kilde.
ICMP er baseret på IP-protokollen. Hver ICMP-meddelelse er indkapslet direkte i en enkelt IP- pakke, og således er ICMP, ligesom UDP og i modsætning til TCP , en såkaldt. "upålidelig" (kontrollerer ikke leveringen og dens korrekthed). I modsætning til UDP, hvor implementeringen af pålidelighed er tildelt applikationslagssoftwaren, behøver ICMP (på grund af applikationens specifikationer) normalt ikke at implementere pålidelig levering. Dets formål er forskelligt fra transportprotokoller som TCP og UDP: det bruges generelt ikke til at sende og modtage data mellem slutsystemer. ICMP bruges ikke direkte i netværksbrugerapplikationer (undtagen Ping- og Traceroute-værktøjerne ). Den samme Ping tjener for eksempel normalt bare til at kontrollere tabet af IP-pakker langs ruten.
Brug af ICMP-meddelelser
ICMP-meddelelser (type 12) genereres, når der findes fejl i headeren på en IP- pakke (med undtagelse af selve ICMP-pakkerne, for ikke at føre til en uendeligt voksende strøm af ICMP-meddelelser om ICMP-meddelelser).
ICMP-meddelelser (type 3) genereres af routeren , når der ikke er nogen rute til destinationen.
Ping -værktøjet , som tester, om IP-pakker kan leveres, bruger ICMP-meddelelser af type 8 (ekkoanmodning) og 0 (ekkosvar).
Traceroute -værktøjet , som viser stien til IP-pakker, bruger ICMP-meddelelser med type 11.
ICMP-meddelelser af type 5 bruges af routere til at opdatere indtastninger i afsenderens
routingtabel .
ICMP-meddelelser af type 4 bruges af modtageren (eller routeren) til at styre den hastighed, hvormed meddelelser sendes af afsenderen.
ICMP-pakkeformat
Oktet (byte) |
0 |
en |
2 |
3 |
fire |
5 |
6 |
7 |
otte |
9 |
ti |
elleve |
12 |
13 |
fjorten |
femten |
16 |
17 |
atten |
19 |
tyve |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
tredive |
31
|
[0-3] |
Type |
Koden |
Tjek sum
|
… |
Data (formatet afhænger af værdierne i felterne "Code" og "Type")
|
ICMP-pakketyper
Type
|
Status |
Koden |
Besked |
Data (længde, bits)
|
0
|
| 0 |
ekko svar
|
ID (16) |
Sekvensnummer (16)
|
Data (variabel)
|
|
12
|
anvendes ikke |
| reserveret |
|
3
|
| Destination uopnåelig
|
Ikke brugt (32)
|
IP-header, start af kildedatagram (64)
|
|
|
0 |
Netværket er ikke tilgængeligt
|
|
en |
Node er ikke tilgængelig
|
|
2 |
Protokol uopnåelig
|
|
3 |
Havn er ikke tilgængelig
|
|
fire |
Fragmentering påkrævet, men dets deaktiveringsflag (DF) er indstillet
|
|
5 |
Ugyldig rute fra kilden
|
|
6 |
Destinationsnetværk ukendt
|
|
7 |
Destinationsvært ukendt
|
|
otte |
Nodekilde isoleret
|
|
9 |
Netværket er administrativt forbudt
|
|
ti |
Noden er administrativt forbudt
|
|
elleve |
Netværket er ikke tilgængeligt for ToS
|
|
12 |
Node er ikke tilgængelig for ToS
|
|
13 |
Kommunikation er administrativt forbudt
|
|
fjorten |
Overtrædelse af nodepræferencerækkefølge
|
|
femten |
Foretrukken rækkefølge beskæring aktiv
|
fire
|
forældet |
0 |
Kildeindeslutning (kildelukning, når køen løber over)
|
5
|
| omdirigere
|
Routeradresse (32)
|
IP-header, start af kildedatagram (64)
|
|
|
0 |
Videresendelse af pakker til netværket
|
|
en |
Videresendelse af pakker til en vært
|
|
2 |
Videresend pr. type tjeneste (ToS)
|
|
3 |
Videresendelse af en pakke til en vært for hver type tjeneste
|
6
|
forældet |
0 |
Alternativ værtsadresse |
|
7
|
anvendes ikke |
| reserveret |
|
otte
|
| 0 |
ekko anmodning
|
ID (16) |
Sekvensnummer (16)
|
Data (variabel)
|
|
9
|
| 0 |
Router annonce
|
Antal adresser (8) |
Varestørrelse (8) |
Gyldighed (16)
|
Adresse[1] (32)
|
Præference[1] (32)
|
…
|
Adresse[N] (32)
|
Præference[N] (32)
|
|
ti
|
| 0 |
Router anmodning
|
|
elleve
|
| Datagrams levetid er udløbet
|
Ikke brugt (32)
|
IP-header, start af kildedatagram (64)
|
|
|
0 |
Pakketid til live (TTL) udløb under transit
|
|
en |
Pakkens levetid udløb under bygning af fragmenter
|
12
|
| Ugyldig parameter (problem med datagramparametre: fejl i IP-header eller manglende nødvendig mulighed)
|
|
0 |
Markøren angiver en fejl
|
Pointer (8) |
Ikke brugt (24)
|
IP-header, start af kildedatagram (64)
|
|
|
en |
Påkrævet mulighed mangler
|
Ikke brugt (32)
|
IP-header, start af kildedatagram (64)
|
|
|
2 |
Forkert længde
|
13
|
| 0 |
Anmodning om tidsstempel
|
ID (16) |
Sekvensnummer (16)
|
Starttidspunkt (32)
|
Modtagelsestid (32)
|
Afgangstid (32)
|
|
fjorten
|
| 0 |
Svar med tidsstempel
|
femten
|
forældet |
0 |
Anmodning om oplysninger
|
ID (16) |
Sekvensnummer (16)
|
|
16
|
forældet |
0 |
Informationssvar
|
17
|
forældet |
0 |
Anmodning om adressemaske
|
ID (16) |
Sekvensnummer (16)
|
Maske (32)
|
|
atten
|
forældet |
0 |
Adresse maske svar
|
19
|
reserveret |
| Reserveret (for sikkerhed) |
|
20-29
|
reserveret |
| Reserveret (til fejltoleranceeksperimenter) |
|
tredive
|
forældet |
Spor rute
|
ID (16) |
Ikke brugt (16)
|
Antal hop udgående pakke (16) |
Antal hop i den returnerende pakke (16)
|
Linkhastighed (32)
|
Link
MTU (32) |
|
0 |
Udgående pakke sendt
|
en |
Stien til udgående pakke blev ikke fundet, pakken blev ødelagt
|
31
|
forældet |
Datagramkonverteringsfejl
|
Pointer (32)
|
IP og transporthoved for det originale datagram
|
|
0 |
Ukendt eller uspecificeret fejl
|
en |
Kan ikke konvertere mulighed
|
2 |
Ukendt nødvendig mulighed
|
3 |
Ikke-understøttet påkrævet mulighed
|
fire |
Ikke-understøttet transportprotokol
|
5 |
Samlet længde overskredet
|
6 |
IP-headerlængden er overskredet
|
7 |
Transportprotokolnummer større end 255
|
otte |
Portnummer uden for rækkevidde
|
9 |
Transportprotokolhovedlængden er overskredet
|
ti |
32 bit grænseoverskridelse og ACK bit sæt
|
elleve |
Ukendt nødvendig transportprotokol mulighed
|
32
|
forældet |
| Mobil værtsomdirigering |
|
33
|
forældet |
| IPv6 Hvor-er-du (hvor du er) |
|
34
|
forældet |
| IPv6 I-Am-Here (Jeg er her) |
|
35
|
forældet |
| Anmodning om omdirigering af mobil node |
|
36
|
forældet |
| Svar på en omdirigeringsanmodning for en mobil node |
|
37
|
forældet |
| Anmodning om domænenavn |
|
38
|
forældet |
| Svar på en anmodning om domænenavn |
|
39
|
forældet |
| SKIP algoritme opdagelse ICMP besked |
|
40
|
| Phototuris |
|
|
0 |
reserveret
|
|
en |
Indeks for ukendt sikkerhedsindstillinger
|
|
2 |
Sikkerhedsindstillingerne er korrekte, men der er opstået en godkendelsesfejl
|
|
3 |
Sikkerhedsindstillingerne er korrekte, men dekryptering mislykkedes
|
|
fire |
Godkendelse påkrævet
|
|
5 |
Autorisation Påkrævet
|
41
|
eksperimentel
|
|
|
|
42-252
|
|
| reserveret
|
|
253-254
|
eksperimentel
|
|
Reserveret til RFC 3692- eksperimentering
|
|
255
|
reserveret
|
|
reserveret
|
|
Regler for generering af ICMP-pakker
- Hvis en ICMP-pakke går tabt, genereres der aldrig en ny.
- ICMP-pakker genereres aldrig som svar på IP-pakker med en broadcast- eller multicast-adresse for ikke at forårsage overbelastning af netværket (kaldet en " broadcast storm ").
- Hvis en fragmenteret IP-pakke er beskadiget, sendes ICMP-meddelelsen umiddelbart efter modtagelse af det første beskadigede fragment, da afsenderen stadig vil gentransmittere hele IP-pakken.
Se også
Noter
- ↑ ICMP-protokol . Hentet 29. oktober 2017. Arkiveret fra originalen 14. marts 2016. (ubestemt)
Links