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
Ikke brugt (32)
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

  1. Hvis en ICMP-pakke går tabt, genereres der aldrig en ny.
  2. 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 ").
  3. 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

  1. ICMP-protokol . Hentet 29. oktober 2017. Arkiveret fra originalen 14. marts 2016.

Links