IPv6 Part 3 -マルチキャストアドレス-
概要
IPv6は通信方法により次の3種類のアドレスを使用します。IPv4で利用されていたブロードキャストアドレスは廃止され、マルチキャストアドレスで行います。 今回はマルチキャストアドレスについて記載します。
種類 | 説明 |
---|---|
ユニキャスト アドレス | 特定のノードと通信するために使うアドレス。 |
マルチキャスト アドレス | 特定のデータを複数のノードに配信するために使うアドレス。 特定のアドレスを複数のノード/インターフェースが保持できる。 |
エニーキャスト アドレス | 特定のアドレスを複数のホスト/インターフェースが保持できる。 同じアドレスを保持している複数のノードの中から、 最も近いノードと通信するために使うアドレス。 |
以前の記事はこちらになります。
マルチキャストアドレス
複数のノードと通信するために使うアドレス。最初の8ビットがFF::/8で始まります。
flags
flagsは、アドレスの性質により以下の値をとります。
- 0 ・・・IANAにて予約されているため必ず0
- R ・・・0(ランデブーポイント情報なし)、1(ランデブーポイント情報あり)
- P ・・・0(プレフィックス情報なし)、1(プレフィックス情報あり)
- T ・・・0(Wellknownマルチキャストアドレス)、1(一時的なマルチキャストアドレス)
scope
scopeはマルチキャストパケットが到達する範囲を示します。
2進表記 | 16進表記 | スコープ |
---|---|---|
0000 | 0 | 予約済み |
0001 | 1 | ノードローカルスコープ |
0010 | 2 | リンクローカルスコープ |
0011 | 3 | 予約済み |
0100 | 4 | 管理ローカルスコープ |
0101 | 5 | サイトローカルスコープ |
1000 | 8 | 組織ローカルスコープ |
1110 | E | グローバルスコープ |
1111 | F | 予約済み |
Well-known Multicast Address
IPv4と同様、IANAによって、特定の目的のため事前に定義されたアドレス。基本的にIPv4と利用用途は変わりません。
以下URLで一覧を確認できます。
IPv6 Multicast Address Space Registry
Link Local Scopeの一例
アドレス | 宛先 | 説明 |
---|---|---|
ff02::1 | All Nodes Adress | 同じリンク上のすべてのノードに到達するためのすべてのノードのアドレス(RFC4291) |
ff02::2 | All Routers Address | 同じリンク上のすべてのルータに到達するためのすべてのルータのアドレス(RFC4291) |
ff02::4 | DVMRP Routers | 同じリンク上のすべての DVMRP マルチキャスト・ルータに到達するために使うすべての DVMRP (Distance Vector Multicast Routing Protocol) ルータのアドレス(RFC1075) |
ff02::5 | OSPFIGP | 同じリンク上のすべての OSPF ルータに到達するために使うすべての OSPF (Open Shortest Path First) ルータのアドレス(RFC2328) |
ff02::6 | OSPFIGP Designated Routers | 同じリンク上のすべての OSPF 指定ルータに到達するために使うすべての OSPF 指定ルータのアドレス(RFC2328) |
ff02::1:ff/104 | Solicited-Node Address | リンク層アドレスにリンクローカル・ノードの IPv6 アドレスを解決するためのアドレス解決処理に使う要請ノードのアドレス。要請ノードのアドレスの最後の 24 ビットは IPv6 ユニキャスト・アドレスの最後の24ビットです(RFC4291) |
Solicited-Node Address
リンク層アドレスの解決に利用されるアドレス。以下のルールに基づいて生成されます。
- Network Prefix に Solicited-Node Address 用に予約されたものを使用する(ff02::1:ff/104)
- ユニキャストアドレスの下位24bitを取り出す
- 1と2を組み合わせてアドレスを生成
マルチキャストアドレス使用時のMACアドレス
IPv4アドレス同様、IPアドレスにマルチキャストを使用する場合、MACアドレスもマルチキャスト用のアドレスが生成されます。 以下のルールに基づいて生成されます。
- MACアドレスの先頭16bitは、[33:33]をセットする
- MACアドレスの後ろの32bitは、マルチキャストアドレスの下位32bitをセットする
- 1と2を組み合わせてアドレスを生成