Internet Control Message Protocol

ICMP (Internet Control Message Protocol)
Familj: Internetprotokollfamilj
Driftområde: Obligatoriskt tillägg

till Internetprotokollet ,
felmeddelanden, diagnos

ICMP på TCP / IP-protokollstacken
Internet ICMP
IPv4
Nätverkstillgång Ethernet Token
buss
Token
ring
FDDI ...
Standarder: RFC 792 (1981)

Den Internet Control Message Protocol ( ICMP ) används i datornätverk för att utbyta information och felmeddelanden via Internet Protocol version 4 ( IPv4 ). Ett liknande protokoll kallat ICMPv6 finns för IPv6 .

ICMP är en del av IPv4, men behandlas som ett separat protokoll. Varje router och varje dator förväntas "förstå" ICMP. De flesta ICMP-paket innehåller diagnostisk information: De skickas tillbaka från routern till källan om routern kastar paket, till exempel för att destinationen inte kan nås eller TTL har upphört. Följande principer gäller:

  • ICMP använder IP som grund för kommunikation genom att tolka sig själv som ett protokoll för ett högre lager, dvs. H. ICMP-meddelanden är inkapslade i IP-paket.
  • ICMP upptäcker vissa felförhållanden men gör inte IP till ett tillförlitligt protokoll.
  • ICMP analyserar fel i varje IP-paket, med undantag för de som har ett ICMP-meddelande.
  • ICMP-meddelanden skickas inte som svar på paket till destinationsadresser som är multicast- eller sändningsadresser.
  • ICMP-meddelanden svarar bara på en unik IP-adress för källan.

ICMP-pakettyperna

ICMP-paketets typ är ett 8- bitars nummer i början av ICMP- rubriken . Siffrorna har följande betydelser:

  • 0 = eko (svar)
  • 1–2 = ej tilldelad
  • 3 = destination för datagrammet kan inte nås
  • 4 = begäran om att strypa paketleveransen
  • 5 = Rekommendation för omdirigering till en annan gateway i samma nätverk med en snabbare anslutning till destinationen
  • 6 = alternativ värdadress
  • 7 = ej tilldelad
  • 8 = begär ett eko
  • 9 = erbjudande av en router
  • 10 = routerrekrytering
  • 11 = timeout
  • 12 = Problem med datagrammets parametrar
  • 13 = tidsstämpel (underlättar tidssynkronisering)
  • 14 = tidsstämpel (svar)
  • 15 = "Informationsförfrågan" (för att bestämma nätverksnumret, ersatt med DHCP )
  • 16 = "Informationssvar"
  • 17 = begär nätmask
  • 18 = svara nätmask
  • 19 = reserverad (för säkerhet)
  • 20–29 = reserverad (för robusthetsexperiment)
  • 30 = traceroute
  • 31 = Fel vid konvertering av datagram
  • 32 = omdirigering av mobil värd
  • 33 = Ursprungligen IPv6 Where-Are-You (ersatt av ICMPv6 )
  • 34 = Ursprungligen IPv6 I-Am-Here (ersatt av ICMPv6 )
  • 35 = Mobilregistreringsbegäran
  • 36 = Svar på mobilregistrering
  • 37 = Begäran om domännamn
  • 38 = Svar på domännamn
  • 39 = HOPPA
  • 40 = foturis
  • 41 = används av experimentella mobilitetsprotokoll som Seamoby
  • 42 = utökat eko *
  • 43 = utökat eko (svar) *
  • 44-252 = ej tilldelad
  • 253 = Experiment 1 enligt RFC 3692
  • 254 = Experiment 2 enligt RFC 3692

[†] avskaffades

Tid att leva

För att förhindra att paket skickas oändligt genom ett nätverk (t.ex. i en cirkel mellan flera routrar) minskar en router TTL-värdet med 1. När TTL-värdet når värdet 0 raderas paketet och avsändaren informerar om denna process via ett ICMP-meddelande. Traceroute använder sig av denna mekanism .

För att fastställa vilken rutt (de humle ) i en paket till ett specifikt mål värd skickar traceroute analysprogrammet datapaket med en uppräkning Time-To-Live (TTL) (med början 1) och väntar på "Time to Live överskrids i transit "eller" Destination unreachable "-meddelanden som en reaktion. Beroende på implementeringen eller ett valt alternativ för Traceroute kan dessa vara ICMP (t.ex. under Windows) eller UDP- paket (t.ex. under Linux).

konstruktion

ICMP skickar och tar emot en mängd olika meddelanden. ICMP-meddelandet indikeras av protokoll nummer 1 i IP-rubriken. ICMPv6 har å andra sidan protokollnummer 58. ICMP-meddelandeformatet består av endast ett fåtal fält:

0 4: e 8: e 12: e 16 20: e 24 28 31
Typ koda Kontrollsumma
Data (valfritt)

Typfältet anger meddelandet. Kodfältet tolkar meddelandetypen mer exakt. Data innehåller vanligtvis en del av det ursprungliga IP-meddelandet. Några av de vanligaste typkodskombinationerna är:

Typ Skriv namn koda betydelse
0 Ekosvar 0 Ekosvar
3 Destinationen kan inte uppnås 0 Nätverket kan inte nås
1 Värd (målstation) kan inte nås
2 Protokoll kan inte nås
3 Porten kan inte nås
4: e Fragmentering behövs D on't F ragment men satt
5 Rutt är inte möjligt (riktningen är felaktigt angiven i alternativfältet för IP-rubrik)
13: e Kommunikation administrativt förbjuden (paketet blockeras av mottagarens brandvägg)
4: e Avlast källan 0 Datagram kasserades eftersom kön är full
8: e Ekoförfrågan 0 Ekoförfrågan (bättre känd som " ping ")
11 Tidsgränsen har överskridits 0 TTL (Time To Live) upphörde att gälla
1 Defragmenteringen avbröts

När det gäller många ICMP-meddelanden innehåller ett ytterligare "Data" -fält mer detaljerad information om tilldelningen av ICMP-meddelandet i det första 32-bitarsordet. Ofta från och med det andra dataordet sänds också IP-rubriken för det initierande datagrammet och de första 32 bitarna i paketet. Fältet "data" kan dock också missbrukas för att överföra användardata ( ICMP-tunnling ). Den nödvändiga felhanteringen eller felkorrigeringen och liknande måste sedan implementeras på applikationsnivå.

Säkerhetsrelevanta aspekter

Internet Control Message Protocol kan användas för en Denial-of-Service (DoS) eller Distributed Denial-of-Service (DDoS) attack på en enhet. En enhet kan också missbrukas av en angripare som en del av en DDoS-attack för att attackera en tredje enhet. Typiska attackmetoder är smurfattack , översvämning eller dödens ping . Ett annat sätt att använda ICMP-protokollet är att använda det för obehörig dataöverföring via en ICMP-tunnelanslutning .

webb-länkar

  • RFC 792 . - Internet Control Message Protocol . [Errata: RFC 792 ]. September 1989. (Uppdaterad av RFC 950  - engelska).
  • RFC 1122 . - Krav för Internetvärdar - Kommunikationslager . [Errata: RFC 1122 ]. Oktober 1989. (Uppdaterad av RFC 1349  - även för ytterligare ICMP-tillägg - engelska).
  • IANA ICMP-parametrar - Komplett lista över ICMP-typer och -koder

Individuella bevis

  1. Parameters Parametrar för Internet Control Message Protocol (ICMP). IANA, 15 juni 2018, öppnades 9 december 2018 .
  2. ^ J. Postel:  RFC 792  - Internet Control Message Protocol . September 1989. s. 18. ( DARPA Internet Program Protocol Specification. Till s. 19 - engelska).
  3. F. Gont:  RFC 6918 . - Formellt avfärdar vissa ICMPv4-meddelandetyper . April 2013. (Ersätter RFC 1788 - engelska).
  4. ^ R. Bonica, R. Thomas, J. Linkova, C. Lenart, M. Boucadair:  RFC 8335 . - PROBE: A Utility for Probing Interfaces . Februari 2018. (Föreslagen standard).