ICMPv6

読み:あいしーえむぴーぶいろく / 英語表記:Internet Control Message Protocol for IPv6

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宛先到達不能宛先に届けられない
2Packet Too Bigパケットが次の回線のMTUより大きい。パスMTU探索に使う
3時間超過ホップリミットが0になった
4パラメータ問題ヘッダーの値がおかしい
128 / 129エコー要求 / エコー応答ping
130〜132、143MLDマルチキャストグループへの参加の管理
133ルータ要請(RS)近隣探索
134ルータ広告(RA)近隣探索
135近隣要請(NS)近隣探索
136近隣広告(NA)近隣探索
137リダイレクト近隣探索

IPv4のICMPとの違い

ICMP(IPv4)ICMPv6
番号プロトコル番号1Next Header 58
MACアドレスの解決ARP(ICMPとは別)ICMPv6の近隣探索
マルチキャストの管理IGMP(ICMPとは別)ICMPv6のMLD
遮断したときの影響pingなどが使えなくなるIPv6の通信そのものができなくなることがある

ファイアウォールでの扱い

IPv6では、経路上のルータはパケットを分割(フラグメント)せず、大きすぎるパケットにはPacket Too Bigを返す。これを止めると、送信元がパケットを小さくできず、大きなパケットだけが届かなくなる。また、近隣探索を止めると、同じネットワーク内でも通信できなくなる。このため、RFC 4890などで、遮断してはいけないICMPv6のメッセージが整理されている。

実際の試験ではここに出る!

この用語が出てくる記事

↑