ICMPv6
IPv6で使うICMP。エラーの通知やpingに加えて、近隣探索やマルチキャストの管理など、IPv6が動くために欠かせない機能も担う。
イマシルちゃんの解説
IPv4のICMPは、「届きませんでした」ってお知らせする係だったよね。
IPv6のICMPv6は、それに加えてもっとたくさんの仕事をしてるんだ。
同じネットワークにいる機器のMACアドレスを調べたり、ルータを見つけたり……。
IPv6では、ICMPv6が止まると通信そのものができなくなっちゃうんだよ!
より深い解説
定義
ICMPv6は、RFC 4443で定められた、IPv6用のICMPである。IPv6ヘッダーのNext Headerの値は58。
IPv6には、IPv4のARPやブロードキャストがない。その代わりに、ICMPv6のメッセージを使う近隣探索プロトコル(NDP)や、マルチキャストの参加を管理するMLDがその役割を担う。
メッセージの分類
タイプの値が0〜127はエラーメッセージ、128〜255は情報メッセージである。
| タイプ | 名前 | 用途 |
|---|---|---|
| 1 | 宛先到達不能 | 宛先に届けられない |
| 2 | Packet Too Big | パケットが次の回線のMTUより大きい。パスMTU探索に使う |
| 3 | 時間超過 | ホップリミットが0になった |
| 4 | パラメータ問題 | ヘッダーの値がおかしい |
| 128 / 129 | エコー要求 / エコー応答 | ping |
| 130〜132、143 | MLD | マルチキャストグループへの参加の管理 |
| 133 | ルータ要請(RS) | 近隣探索 |
| 134 | ルータ広告(RA) | 近隣探索 |
| 135 | 近隣要請(NS) | 近隣探索 |
| 136 | 近隣広告(NA) | 近隣探索 |
| 137 | リダイレクト | 近隣探索 |
IPv4のICMPとの違い
| ICMP(IPv4) | ICMPv6 | |
|---|---|---|
| 番号 | プロトコル番号1 | Next Header 58 |
| MACアドレスの解決 | ARP(ICMPとは別) | ICMPv6の近隣探索 |
| マルチキャストの管理 | IGMP(ICMPとは別) | ICMPv6のMLD |
| 遮断したときの影響 | pingなどが使えなくなる | IPv6の通信そのものができなくなることがある |
ファイアウォールでの扱い
IPv6では、経路上のルータはパケットを分割(フラグメント)せず、大きすぎるパケットにはPacket Too Bigを返す。これを止めると、送信元がパケットを小さくできず、大きなパケットだけが届かなくなる。また、近隣探索を止めると、同じネットワーク内でも通信できなくなる。このため、RFC 4890などで、遮断してはいけないICMPv6のメッセージが整理されている。
実際の試験ではここに出る!
- ネットワークスペシャリスト 令和7年度 春期 午前Ⅱ 問12
- ネットワークスペシャリスト 令和7年度 春期 午後Ⅱ 問1
- ネットワークスペシャリスト 令和6年度 春期 午前Ⅱ 問6
- ネットワークスペシャリスト 令和5年度 春期 午前Ⅱ 問1