Internet Control Message Protocol for IPv6
Internet Control Message Protocol for IPv6(ICMPv6)はIPv6で用いられるICMPプロトコルである。
概要
編集パケットフォーマット
編集パケットフォーマット自体はICMPと同一。
Bit offset | 0–7 | 8–15 | 16–31 | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Type | Code | Checksum | |||||||||||||||||||||||||||||
32 | Message body |
各type毎にoptionが定義されることがある。
TypeとCode
編集typeはエラー通知は127以下、そうでないものは128以上の値が定義される。
Type | Code | ||
---|---|---|---|
値 | 意味 | 値 | 意味 |
ICMPv6エラーメッセージ | |||
1 | Destination Unreachable (宛先不達) |
0 | no route to destination |
1 | communication with destination administratively prohibited | ||
2 | beyond scope of source address | ||
3 | address unreachable | ||
4 | port unreachable | ||
5 | source address failed ingress/egress policy | ||
6 | reject route to destination | ||
7 | Error in Source Routing Header | ||
2 | Packet too Big (パケット過大) |
0 | |
3 | Time Exceeded (時間切れ) |
0 | hop limit exceeded in transit |
1 | fragment reassembly time exceeded | ||
4 | Parameter Problem (パラメータ異常) |
0 | erroneous header field encountered |
1 | unrecognized Next Header type encountered | ||
2 | unrecognized IPv6 option encountered | ||
100 | Private experimentation (プライベートな実験) |
||
101 | Private experimentation (プライベートな実験) |
||
127 | Reserved for expansion of ICMPv6 error messages (ICMPv6エラーメッセージ拡張用の予約) |
||
ICMPv6情報メッセージ | |||
128 | Echo Request (エコー要求) |
0 | |
129 | Echo Reply (エコー応答) |
0 | |
130 | Multicast Listener Query (マルチキャストリスナクエリー) |
0 |
There are two subtypes of Multicast Listener Query messages:
These two subtypes are differentiated by the contents of the Multicast Address field, as described in section 3.6 of RFC 2710 |
131 | Multicast Listener Report (マルチキャストリスナレポート) |
0 | |
132 | Multicast Listener Done (マルチキャストリスナダン) |
0 | |
133 | router solicitation (NDP) (ルータ要請) |
0 | |
134 | router advertisement (NDP) (ルータ広告) |
0 | |
135 | Neighbor solicitation (NDP) (近隣要請) |
0 | |
136 | Neighbor advertisement (NDP) (近隣広告) |
0 | |
137 | redirect (NDP) (リダイレクト) |
0 | |
138 | Router Renumber (ルータリナンバ) |
0 | Router Renumbering Command |
1 | Router Renumbering Result | ||
255 | Sequence Number Reset | ||
139 | ICMP Node Information Query (ICMPノード情報問い合わせ) |
0 | The Data field contains an IPv6 address which is the Subject of this Query. |
1 | The Data field contains a name which is the Subject of this Query, or is empty, as in the case of a NOOP. | ||
2 | The Data field contains an IPv4 address which is the Subject of this Query. | ||
140 | ICMP Node Information Reply (ICMPノード情報応答) |
0 | A successful reply. The Reply Data field may or may not be empty. |
1 | The Responder refuses to supply the answer. The Reply Data field will be empty. | ||
2 | The Qtype of the Query is unknown to the Responder. The Reply Data field will be empty. | ||
141 | Inverse Neighbor Discovery Solicitation Message (逆近隣探索要請) |
0 | |
142 | Inverse Neighbor Discovery Advertisement Message (逆近隣探索広告) |
0 | |
143 | MLDv2 Multicast Listener Report (RFC 3810) (MLDv2マルチキャストリスナレポート) |
||
144 | Home Agent Address Discovery Request Message (ホームエージェントアドレス発見要求) |
0 | |
145 | Home Agent Address Discovery Reply Message (ホームエージェントアドレス発見応答) |
0 | |
146 | Mobile Prefix Solicitation (モバイルプリフィックス要請) |
0 | |
147 | Mobile Prefix Advertisement (モバイルプリフィックス広告) |
0 | |
148 | Certification Path Solicitation (SEND) (証明書パス要請) |
||
149 | Certification Path Advertisement (SEND) (証明書パス広告) |
||
151 | Multicast Router Advertisement (MRD) (マルチキャストルータ広告) |
||
152 | Multicast Router Solicitation (MRD) (マルチキャストルータ要請) |
||
153 | Multicast Router Termination (MRD) (マルチキャストルータ終了) |
||
155 | RPL Control Message (RPL制御メッセージ) |
||
200 | Private experimentation (プライベートな実験) |
||
201 | Private experimentation (プライベートな実験) |
||
255 | Reserved for expansion of ICMPv6 informational messages (ICMPv6情報メッセージ拡張用の予約) |
上記は全てのtypeを網羅したものではない。完全なリストはIANA: ICMPv6 Parametersを参照のこと。
エラー通知
編集ICMPと同様にパケット配送中に発生したエラーを通知する。
近隣探索 (Neighbor discovery)
編集IPv6 では IPアドレスから MACアドレスを取得するために、IPv4 の ARP のような別のプロトコルを定義するのではなく、ICMPv6 の枠組み(NDP、Neighbor Discovery)を用いてアドレス解決を行う。アドレス解決をしたいノードはペイロードに解決したいIPアドレスを格納して、マルチキャストアドレスに IPv4 の ARP request に相当する Neighbor Solicitation (NS) パケットを送信し、それに答えるべきノードは、Target linklayer address option に自ノードの MAC アドレスを格納した Neighbor Advertisement (NA) を送信してアドレス解決を行う。 RFC 4861 で規定されている。
Multicast Listener Discovery
編集MLD。IPv4のInternet Group Management Protocol(IGMP)に相当する機能。
ルータ広告
編集ルータ広告自体は ICMP でも定義されている (RFC 1256) が、IPv6 では DHCP などのようなアドレス割当用サーバがなくても、ノードが自力でアドレスを設定する (ステートレスアドレス自動設定 (RFC 4862)) 手段を提供するために、積極的にこのルータ広告が利用されている。 これも広い意味での Neighbor Discovery であり、RFC 4861 で規定されている。
重複アドレス検出
編集パスMTU探索 (Path MTU Discovery)
編集ノード情報問い合わせ
編集IPv6ノードに対して、直接そのノードのノード名、アドレスなどを問い合わせをするプロトコルである。 RFC 4620 では、ノード名(FQDN)、IPv6アドレス、IPv4アドレスの問い合わせプロトコルについて規定している。
参考文献
編集- RFC 4443 Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification