IPv6マルチキャストアドレス

IPv4マルチキャストアドレスは、クラスDのIPアドレスでした。IPv6でもマルチキャストアドレスとして利用するアドレスレンジが決められています。IPv6マルチキャストアドレスは上位8ビットが「1111 1111」であるアドレスです。これを16進数の表記で考えると、 以下のようになります。

IPv6マルチキャストアドレス = FF00::/8

図に表すと次のようになります。

図 IPv6マルチキャストアドレス
図 IPv6マルチキャストアドレス

この図にあるように、IPv6マルチキャストアドレスは先行する8ビットの「1」に続く、残りの8ビットにフラグとスコープという意味を持たせています。フラグは、マルチキャストアドレスのタイプを表しています。フラグの値とマルチキャストアドレスのタイプは、次のようになります。

表 主なマルチキャストアドレスのフラグの値
ビット表記 16進表記 マルチキャストアドレスのタイプ
0000 0 永続マルチキャストアドレス
0001 1 一時マルチキャストアドレス
フラグの値は他にもあります。

スコープは、マルチキャスパケットの到達する範囲を示すもので、次のようになります。

表 マルチキャストアドレスのスコープの値
ビット表記 16進表記 スコープのタイプ
0001 1 インタフェースローカルスコープ
0010 2 リンクローカルスコープ
0011 3 サブネットローカルスコープ
0100 4 管理者ローカルスコープ
0101 5 サイトローカルスコープ
1000 8 組織スコープ
1110 E グローバルスコープ

こうしたフラグとスコープによって、IPv6マルチキャストアドレスの性質やそのマルチキャストアドレスを指定したパケットが到達する範囲をあらかじめ決めることができます。たとえば、FF02::/16というマルチキャストアドレスは、永続的に割り当てられていて、パケットはある1つのサブネット上のみで転送されます。FF15::/16というマルチキャストアドレスは、一時的に割り当てられて、あるサイトの中でのみ有効であることがわかります。

予約済みのIPv6マルチキャストアドレス

IPv6マルチキャストアドレスは、すでにIANAが予約しているものがあります。以下に主なものをあげておきます。

表 主な予約済みのIPv6マルチキャストアドレス
全ノードマルチキャスアドレス FF01::1、FF02::1
全ルータマルチキャスアドレス FF01::2、FF02::2、FF05::2
OSPFv3 FF02::5、FF02::6
RIPng FF02::9
IPv6 EIGRP FF02::A
要請ノード(Solicited-Node)マルチキャストアドレス FF02:0:0:0:0:1:FF00:0000~FF02:0:0:0:0:1:FFFF:FFFF

全ノードマルチキャストアドレスは、すべてのIPv6ホストを意味するマルチキャストアドレスです。IPv6ホストは必ず全ノードマルチキャストアドレスに参加しなければなりません。全ルータマルチキャストアドレスは、IPv6ルータが必ず参加しなければならないアドレスです。

要請ノードマルチキャストアドレスは、インタフェースに割り当てられたユニキャストアドレス、エニーキャストアドレスから計算されます。これは、アドレス解決やアドレス重複の検出などに利用する重要なマルチキャストアドレスです。IPv6が有効なインタフェースは自動的に要請ノードマルチキャストアドレスのグループにも参加しています。他にもスコープを固定していない予約済みのIPv6マルチキャストが存在します。

MACアドレスとのマッピング

イーサネットインタフェースからIPv6マルチキャストパケットを送信するときには、イーサネットヘッダでカプセル化します。このとき、宛先MACアドレスを指定しなければいけません。IPv6マルチキャストパケットをカプセル化するときの宛先MACアドレスは、宛先IPv6アドレスから自動的に決まります。

IPv6マルチキャストアドレスに対応付けられるMACアドレスは以下の範囲が予約されています。

3333.<IPv6マルチキャストアドレスの下位32ビット>

MACアドレスは、Ciscoでよく利用している2バイト区切りで表記しています。
図 IPv6マルチキャストアドレスに対応付けられるMACアドレス
図 IPv6マルチキャストアドレスに対応付けられるMACアドレス

たとえば、IPv6マルチキャストアドレス「FF02::1234:5678」に対応するMACアドレスは「3333.1234.56798」です。

関連記事