Internet Control Message Protocol pro IPv6 - Internet Control Message Protocol for IPv6
Sada internetového protokolu |
---|
Aplikační vrstva |
Transportní vrstva |
Internetová vrstva |
Propojit vrstvu |
Internet Control Message Protocol verze 6 (ICMPv6) je implementace Internet Control Message Protocol (ICMP) pro Internetový protokol verze 6 (IPv6). ICMPv6 je definován v RFC 4443.[1] ICMPv6 je nedílnou součástí protokolu IPv6 a provádí hlášení chyb a diagnostické funkce (např. ping )
ICMPv6 má rámec pro rozšíření pro implementaci budoucích změn. Bylo publikováno několik rozšíření definujících nové typy zpráv ICMPv6 a také nové možnosti pro stávající typy zpráv ICMPv6. Například, Neighbor Discovery Protocol (NDP) je protokol zjišťování uzlů založený na ICMPv6, který nahrazuje a vylepšuje funkce ARP.[2] Secure Neighbor Discovery (SEND) je rozšíření NDP s extra zabezpečením. Zjištění posluchače vícesměrového vysílání (MLD) používají směrovače IPv6 k objevování vícesměrové vysílání posluchače na přímo připojeném odkazu, podobně Protokol pro správu internetové skupiny (IGMP) se používá v IPv4. Multicast Router Discovery (MRD) umožňuje objevovat směrovače vícesměrového vysílání.
Typy a formáty zpráv
Zprávy ICMPv6 mohou být klasifikovány jako chybové zprávy a informační zprávy. Zprávy ICMPv6 jsou přenášeny pakety IPv6, ve kterých Další záhlaví IPv6 hodnota pro ICMPv6 je nastavena na hodnotu 58.
Zpráva ICMPv6 se skládá z hlavičky a užitečného zatížení protokolu. Záhlaví obsahuje pouze tři pole: typ (8 bitů), kód (8 bitů) a kontrolní součet (16 bitů). typ určuje typ zprávy. Hodnoty v rozsahu od 0 do 127 (bit vysoké hodnoty je 0) označují chybovou zprávu, zatímco hodnoty v rozsahu od 128 do 255 (bit vysoké hodnoty je 1) označují informační zprávu. The kód hodnota pole závisí na typu zprávy a poskytuje další úroveň granularity zprávy. The kontrolní součet pole poskytuje minimální úroveň ověření integrity pro zprávu ICMP.
Bitový offset | 0–7 | 8–15 | 16–31 | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Typ | Kód | Kontrolní součet | |||||||||||||||||||||||||||||
32 | Tělo zprávy |
Typy
Řídicí zprávy jsou identifikovány podle hodnoty v typ pole. The kód pole poskytuje další kontextové informace pro zprávu. Některé zprávy slouží stejnému účelu jako příslušně pojmenované typy zpráv ICMP.
Typ | Kód | ||
---|---|---|---|
Hodnota | Význam | Hodnota | Význam |
Chybové zprávy ICMPv6 | |||
1 | Cíl nedosažitelný | 0 | žádná trasa do cíle |
1 | komunikace s cílem je administrativně zakázána | ||
2 | nad rámec zdrojové adresy | ||
3 | adresa nedosažitelná | ||
4 | port nedosažitelný | ||
5 | politika vniknutí / odchodu ze zdrojové adresy selhala | ||
6 | odmítnout trasu do cíle | ||
7 | Chyba v záhlaví směrování zdroje | ||
2 | Paket je příliš velký | 0 | |
3 | Čas byl překročen | 0 | při přepravě byl překročen limit chmele |
1 | překročen čas opětovného sestavení fragmentu | ||
4 | Problém s parametry | 0 | došlo k chybnému poli záhlaví |
1 | došlo k nerozpoznanému dalšímu typu záhlaví | ||
2 | došlo k nerozpoznané možnosti IPv6 | ||
100 | Soukromé experimentování | ||
101 | Soukromé experimentování | ||
127 | Vyhrazeno pro rozšíření chybových zpráv ICMPv6 | ||
ICMPv6 Informační zprávy | |||
128 | Echo Request | 0 | |
129 | Echo Reply | 0 | |
130 | Dotaz na posluchače vícesměrového vysílání (MLD ) | 0 | Existují dva podtypy zpráv Multicast Listener Query:
Tyto dva podtypy se liší obsahem pole Adresa vícesměrového vysílání, jak je popsáno v části 3.6 RFC 2710 |
131 | Zpráva posluchače vícesměrového vysílání (MLD) | 0 | |
132 | Poslech multicastu Hotovo (MLD) | 0 | |
133 | Žádost o směrovač (NDP ) | 0 | |
134 | Směrovací reklama (NDP) | 0 | |
135 | Sousedství (NDP) | 0 | |
136 | Sousedská reklama (NDP) | 0 | |
137 | Zpráva o přesměrování (NDP) | 0 | |
138 | Přečíslování routeru | 0 | Příkaz k přečíslování směrovače |
1 | Výsledek přečíslování směrovače | ||
255 | Reset pořadového čísla | ||
139 | Informační dotaz na uzel ICMP | 0 | Pole Data obsahuje adresu IPv6, která je předmětem tohoto dotazu. |
1 | Pole Data obsahuje název, který je Předmětem tohoto dotazu, nebo je prázdný, jako v případě NOOP. | ||
2 | Pole Data obsahuje adresu IPv4, která je předmětem tohoto dotazu. | ||
140 | Odezva na informace o uzlu ICMP | 0 | Úspěšná odpověď. Pole Reply Data může, ale nemusí být prázdné. |
1 | Odpovídající odmítá poskytnout odpověď. Pole Reply Data bude prázdné. | ||
2 | Odpovídač nezná Qtype dotazu. Pole Reply Data bude prázdné. | ||
141 | Zpráva s žádostí o inverzní objev souseda | 0 | |
142 | Inverzní soused Discovery reklamní zpráva | 0 | |
143 | Zjištění posluchače vícesměrového vysílání (MLDv2 ) zprávy (RFC 3810 ) | ||
144 | Zpráva požadavku na zjištění adresy domovského agenta | 0 | |
145 | Zjišťování adresy domovského agenta Zpráva s odpovědí | 0 | |
146 | Žádost o mobilní předponu | 0 | |
147 | Reklama s mobilní předponou | 0 | |
148 | Žádost o certifikační cestu (POSLAT ) | ||
149 | Reklama na certifikační cestě (ODESLAT) | ||
151 | Multicast Router Reklama (MRD ) | ||
152 | Multicast Router Solicitation (MRD) | ||
153 | Ukončení multicastového směrovače (MRD) | ||
155 | Kontrolní zpráva RPL | ||
200 | Soukromé experimentování | ||
201 | Soukromé experimentování | ||
255 | Vyhrazeno pro rozšíření informačních zpráv ICMPv6 |
Tabulka výše není vyčerpávající. Aktuální úplný seznam přiřazených typů ICMPv6 najdete na tomto odkazu: IANA: Parametry ICMPv6.
Kontrolní součet
ICMPv6 poskytuje minimální úroveň ověření integrity zprávy zahrnutím 16bitové kontrolní součet v jeho záhlaví. Kontrolní součet se počítá počínaje a pseudo hlavička polí záhlaví IPv6 podle standardu IPv6,[3] který se skládá ze zdrojové a cílové adresy, délky paketu a dalšího pole záhlaví, druhé z nich je nastaveno na hodnotu 58. Po tomto pseudo záhlaví pokračuje kontrolní součet zprávou ICMPv6. Výpočet kontrolního součtu se provádí podle standardů internetového protokolu s použitím 16bitového protokolu doplněk sčítání, po kterém následuje finální doplněk samotného kontrolního součtu a jeho vložení do pole kontrolního součtu.[4] Toto se liší od způsobu, jakým se počítá pro IPv4 ICMP, ale je podobný výpočtu provedenému v TCP.
Bitový offset | 0 – 7 | 8–15 | 16–23 | 24–31 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Zdrojová adresa | |||||||||||||||||||||||||||||||
32 | ||||||||||||||||||||||||||||||||
64 | ||||||||||||||||||||||||||||||||
96 | ||||||||||||||||||||||||||||||||
128 | Cílová adresa | |||||||||||||||||||||||||||||||
160 | ||||||||||||||||||||||||||||||||
192 | ||||||||||||||||||||||||||||||||
224 | ||||||||||||||||||||||||||||||||
256 | Délka ICMPv6 | |||||||||||||||||||||||||||||||
288 | Nuly | Další záhlaví |
Zpracování zpráv
Když uzel ICMPv6 obdrží paket, musí provést akce, které závisí na typu zprávy. Protokol ICMPv6 musí omezit počet chybových zpráv odeslaných do stejného cíle, aby nedošlo k přetížení sítě. Například pokud uzel pokračuje v předávání chybných paketů, ICMP bude signalizovat chybu prvnímu paketu a poté to bude dělat pravidelně, s pevnou minimální dobou nebo s pevným maximálním zatížením sítě. Chybová zpráva ICMP nesmí být nikdy odeslána jako odpověď na jinou chybovou zprávu ICMP.
Reference
- ^ RFC 4443, Internet Control Message Protocol (ICMPv6) pro specifikaci internetového protokolu verze 6 (IPv6)
- ^ RFC 3315, § 3
- ^ RFC 2460, Specifikace internetového protokolu, verze 6 (IPv6), Oddíl 8.1 (Kontrolní součet horní vrstvy), S. Deering, R. Hinden (prosinec 1998)
- ^ RFC 1071, Výpočet internetového kontrolního součtu, R. Braden, D. Borman, C. Partridge (září 1988)