Internet Control Message Protocol
| ICMP (Internet Control Message Protocol) | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Rodina: | Rodina internetového protokolu | |||||||||||||||||
| Operační oblast: | Povinný doplněk na internetový protokol , |
|||||||||||||||||
| ||||||||||||||||||
| Standardy: | RFC 792 (1981) | |||||||||||||||||
Internet Control Message Protocol ( ICMP ) je používán v počítačových sítích pro výměnu informací a chybových zpráv přes Internet Protocol verze 4 ( IPv4 ). Podobný protokol s názvem ICMPv6 existuje pro IPv6 .
ICMP je součástí IPv4, ale je s ním zacházeno jako se samostatným protokolem. Očekává se, že každý router a každý počítač „porozumí“ ICMP. Většina paketů ICMP obsahuje diagnostické informace: Jsou odeslány zpět ze směrovače ke zdroji, pokud směrovač zahodí pakety, například proto, že nelze dosáhnout cíle nebo vypršela platnost TTL . Platí následující zásady:
- ICMP používá IP jako základ komunikace tím, že se interpretuje jako protokol vyšší vrstvy, tzn. H. Zprávy ICMP jsou zapouzdřeny v paketech IP.
- ICMP detekuje některé chybové stavy, ale nedělá z IP spolehlivý protokol.
- ICMP analyzuje chyby v každém IP paketu, s výjimkou těch, které nesou zprávu ICMP.
- Zprávy ICMP nejsou odesílány jako odpověď na pakety na cílové adresy, které jsou vícesměrovými nebo vysílacími adresami.
- Zprávy ICMP reagují pouze na jedinečnou zdrojovou IP adresu.
Typy paketů ICMP
Typ paketu ICMP je 8bitové číslo na začátku hlavičky ICMP . Čísla mají následující význam:
- 0 = echo (odpověď)
- 1–2 = nepřiřazeno
- 3 = nelze dosáhnout cíle datagramu
- 4 = žádost o omezení dodávky balíku †
- 5 = Doporučení přesměrování na jinou bránu ve stejné síti s rychlejším připojením k cíli
- 6 = alternativní adresa hostitele †
- 7 = nepřiřazeno
- 8 = požadavek na ozvěnu
- 9 = nabídka routeru
- 10 = nábor routeru
- 11 = časový limit
- 12 = Problém s parametry datagramu
- 13 = časové razítko (usnadňuje synchronizaci času)
- 14 = časové razítko (odpověď)
- 15 = "Žádost o informace" † (k určení čísla sítě, nahrazeno DHCP )
- 16 = "Informační odpověď" †
- 17 = maska požadavku †
- 18 = maska odpovědi †
- 19 = vyhrazeno (pro zabezpečení)
- 20–29 = vyhrazeno (pro experimenty odolnosti)
- 30 = traceroute †
- 31 = Chyba při převodu datagramu †
- 32 = Přesměrování mobilního hostitele †
- 33 = Původně IPv6 Where-Are-You † (nahrazeno ICMPv6 )
- 34 = Původně IPv6 I-Am-Here † (nahrazeno ICMPv6 )
- 35 = Žádost o mobilní registraci †
- 36 = Odpověď na mobilní registraci †
- 37 = Žádost o doménové jméno †
- 38 = Odpověď na název domény †
- 39 = SKIP †
- 40 = photuris
- 41 = používají experimentální protokoly mobility, jako je Seamoby
- 42 = rozšířená ozvěna *
- 43 = rozšířená ozvěna (odpověď) *
- 44-252 = nepřiřazeno
- 253 = experiment 1 podle RFC 3692
- 254 = Experiment 2 podle RFC 3692
[†] zrušen
Čas žít
Aby se zabránilo nekonečnému odesílání paketů po síti (např. V kruhu mezi několika směrovači), router sníží hodnotu TTL o 1. Když hodnota TTL dosáhne hodnoty 0, paket se odstraní a odesílatel o tomto procesu informuje prostřednictvím zpráva ICMP. Traceroute využívá tohoto mechanismu .
Aby bylo možné určit trasu ( přeskoky ) paketu ke konkrétnímu cílovému hostiteli , program pro analýzu traceroute odešle datové pakety s přírůstkem Time-To-Live (TTL) (počínaje 1) a čeká na „překročení doby dožití“ v přenosu “nebo„ Cíl je nedostupný “jako reakce. V závislosti na implementaci nebo vybrané možnosti Traceroute to mohou být ICMP (např. Pod Windows) nebo UDP pakety (např. Pod Linuxem).
konstrukce
ICMP odesílá a přijímá širokou škálu zpráv. Zpráva ICMP je označena protokolem číslo 1 v záhlaví IP. ICMPv6 má naopak číslo protokolu 58. Formát zprávy ICMP se skládá pouze z několika polí:
| 0 | 4. místo | 8. místo | 12. místo | 16 | 20. místo | 24 | 28 | 31 | |
| Typ | kód | Kontrolní součet | |||||||
| Data (volitelně) | |||||||||
Pole typu určuje zprávu. Pole kódu interpretuje typ zprávy přesněji. Data obvykle obsahují část původní zprávy IP. Některé z běžnějších kombinací typových kódů jsou:
| Typ | Zadejte název | kód | význam |
|---|---|---|---|
| 0 | Echo odpověď | 0 | Echo odpověď |
| 3 | Cíl není dosažitelný | 0 | K síti se nelze připojit |
| 1 | Hostitele (cílové stanice) nelze dosáhnout | ||
| 2 | Protokol nelze dosáhnout | ||
| 3 | Do přístavu se nelze dostat | ||
| 4. místo | Fragmentace nutná D on't F ragment but set | ||
| 5 | Trasa není možná (směr je nesprávně uveden v poli možností záhlaví IP) | ||
| 13 | Komunikace je administrativně zakázána (paket je blokován bránou firewall příjemce) | ||
| 4. místo | Uvolněte zdroj | 0 | Datagram zahozen, protože fronta je plná |
| 8. místo | Žádost o echo | 0 | Žádost o echo (lépe známá jako „ ping “) |
| 11 | Časový limit překročen | 0 | Platnost TTL (Time To Live) vypršela |
| 1 | Časový limit defragmentace vypršel |
V případě mnoha zpráv ICMP obsahuje další pole „Data“ podrobnější informace o přiřazení zprávy ICMP v prvním 32bitovém slově. Často se od druhého datového slova dále přenáší také IP záhlaví zahajovacího datagramu a prvních 32 bitů paketu. Pole „data“ však lze také zneužít k přenosu uživatelských dat ( tunelování ICMP ). Potřebné zpracování chyb nebo opravu chyb a podobně je však poté nutné implementovat na úrovni aplikace.
Aspekty související s bezpečností
Protokol Internet Control Message Protocol lze použít pro útok typu Denial-of-Service (DoS) nebo Distributed Denial-of-Service (DDoS) na zařízení. Zařízení může být také zneužito útočníkem v rámci útoku DDoS k útoku na třetí zařízení. Typickými způsoby útoku jsou šmoulí útok , záplavy nebo ping smrti . Další možností použití protokolu ICMP je použít jej k neoprávněnému přenosu dat prostřednictvím tunelového připojení ICMP .
webové odkazy
- RFC 792 . - Internet Control Message Protocol . [Errata: RFC 792 ]. Září 1989. (Aktualizováno RFC 950 - anglicky).
- RFC 1122 . - Požadavky na internetové hostitele - Komunikační vrstvy . [Errata: RFC 1122 ]. Říjen 1989. (Aktualizováno RFC 1349 - také pro další rozšíření ICMP - anglicky).
- Parametry ICAN IANA - úplný seznam typů a kódů ICMP
Individuální důkazy
- ↑ Parametry ICMP (Internet Control Message Protocol). IANA, 15. června 2018, přístup 9. prosince 2018 .
- ^ J. Postel: RFC 792 - Internet Control Message Protocol . Září 1989. s. 18. ( Specifikace protokolu internetového programu DARPA. Na str. 19 - angličtina).
- ↑ F. Gont: RFC 6918 . - Formální ukončení podpory některých typů zpráv ICMPv4 . Duben 2013. (Nahrazuje RFC 1788 - anglicky).
- ^ R. Bonica, R. Thomas, J. Linkova, C. Lenart, M. Boucadair: RFC 8335 . - PROBE: Nástroj pro snímání rozhraní . Únor 2018. (Navrhovaný standard).