2.7. Multicast Addresses (マルチキャストアドレス)
2.7. Multicast Addresses (マルチキャストアドレス)
IPv6マルチキャストアドレスは、インターフェースのグループ (通常は異なるノード上) の識別子です。インターフェースは任意の数のマルチキャストグループに属することができます。マルチキャストアドレスの形式は次のとおりです:
| 8ビット | 4ビット | 4ビット | 112ビット |
+--------+------+------+---------------------------------------------+
|11111111| flgs | scop | group ID |
+--------+------+------+---------------------------------------------+
アドレスの先頭の2進数 11111111 は、アドレスをマルチキャストアドレスとして識別します。
+-+-+-+-+
flgs は4つのフラグのセットです: |0|R|P|T|
+-+-+-+-+
上位フラグは予約されており、0に初期化する必要があります。
T = 0 は、永続的に割り当てられた (「よく知られた」、Well-Known) マルチキャストアドレスを示し、Internet Assigned Numbers Authority (IANA) によって割り当てられます。
T = 1 は、非永続的に割り当てられた (「一時的な」、Transient または「動的に」割り当てられた) マルチキャストアドレスを示します。
P フラグの定義と使用法は [RFC3306] にあります。
R フラグの定義と使用法は [RFC3956] にあります。
scop は、マルチキャストグループの範囲を制限するために使用される4ビットマルチキャスト範囲値です。値は次のとおりです:
0 予約 (reserved)
1 Interface-Local scope (インターフェースローカル範囲)
2 Link-Local scope (リンクローカル範囲)
3 予約 (reserved)
4 Admin-Local scope (管理ローカル範囲)
5 Site-Local scope (サイトローカル範囲)
6 (未割り当て) (unassigned)
7 (未割り当て) (unassigned)
8 Organization-Local scope (組織ローカル範囲)
9 (未割り当て) (unassigned)
A (未割り当て) (unassigned)
B (未割り当て) (unassigned)
C (未割り当て) (unassigned)
D (未割り当て) (unassigned)
E Global scope (グローバル範囲)
F 予約 (reserved)
Interface-Local scope (インターフェースローカル範囲) は、ノード上の単一インターフェースのみにまたがり、マルチキャストのループバック伝送にのみ役立ちます。
Link-Local scope (リンクローカル範囲) は、対応するユニキャスト範囲と同じトポロジー領域にまたがります。
Admin-Local scope (管理ローカル範囲) は、管理的に構成する必要がある最小範囲です。つまり、物理的な接続性や他の非マルチキャスト関連の構成から自動的に派生するものではありません。
Site-Local scope (サイトローカル範囲) は、単一サイトにまたがることを意図しています。
Organization-Local scope (組織ローカル範囲) は、単一組織に属する複数のサイトにまたがることを意図しています。
「(未割り当て)」とラベル付けされた範囲は、管理者が追加のマルチキャスト領域を定義するために使用できます。
group ID は、指定された範囲内のマルチキャストグループ (永続的または一時的) を識別します。マルチキャストグループIDフィールド構造の追加の定義は [RFC3306] で提供されています。
永続的に割り当てられたマルチキャストアドレスの「意味」は、範囲値から独立しています。たとえば、「NTPサーバーグループ」にグループID 101 (16進数) の永続的なマルチキャストアドレスが割り当てられている場合:
-
FF01:0:0:0:0:0:0:101は、送信者と同じインターフェース (つまり、同じノード) 上のすべてのNTPサーバーを意味します。 -
FF02:0:0:0:0:0:0:101は、送信者と同じリンク上のすべてのNTPサーバーを意味します。 -
FF05:0:0:0:0:0:0:101は、送信者と同じサイト内のすべてのNTPサーバーを意味します。 -
FF0E:0:0:0:0:0:0:101は、インターネット内のすべてのNTPサーバーを意味します。
非永続的に割り当てられたマルチキャストアドレスは、指定された範囲内でのみ意味があります。たとえば、あるサイトの非永続的なサイトローカルマルチキャストアドレス FF15:0:0:0:0:0:0:101 で識別されるグループは、別のサイトで同じアドレスを使用するグループとは関係がなく、異なる範囲で同じグループIDを使用する非永続的なグループとも関係がなく、同じグループIDを持つ永続的なグループとも関係がありません。
マルチキャストアドレスは、IPv6パケットの送信元アドレスとして使用したり、ルーティングヘッダーに表示したりしてはなりません。
ルーターは、宛先マルチキャストアドレスの scop フィールドで示される範囲を超えてマルチキャストパケットを転送してはなりません。
ノードは、scop フィールドに予約値0が含まれているマルチキャストアドレスにパケットを発信してはなりません。そのようなパケットが受信された場合は、静かにドロップする必要があります。ノードは、scop フィールドに予約値Fが含まれているマルチキャストアドレスにパケットを発信すべきではありません。そのようなパケットが送信または受信された場合は、グローバル (scop E) マルチキャストアドレス宛のパケットと同じように扱う必要があります。
2.7.1. Pre-Defined Multicast Addresses (事前定義されたマルチキャストアドレス)
次のよく知られたマルチキャストアドレスが事前定義されています。このセクションで定義されているグループIDは、明示的な範囲値に対して定義されています。
Tフラグが0の場合、これらのグループIDを他の範囲値に使用することは許可されていません。
Reserved Multicast Addresses (予約されたマルチキャストアドレス):
FF00:0:0:0:0:0:0:0
FF01:0:0:0:0:0:0:0
FF02:0:0:0:0:0:0:0
FF03:0:0:0:0:0:0:0
FF04:0:0:0:0:0:0:0
FF05:0:0:0:0:0:0:0
FF06:0:0:0:0:0:0:0
FF07:0:0:0:0:0:0:0
FF08:0:0:0:0:0:0:0
FF09:0:0:0:0:0:0:0
FF0A:0:0:0:0:0:0:0
FF0B:0:0:0:0:0:0:0
FF0C:0:0:0:0:0:0:0
FF0D:0:0:0:0:0:0:0
FF0E:0:0:0:0:0:0:0
FF0F:0:0:0:0:0:0:0
上記のマルチキャストアドレスは予約されており、マルチキャストグループに割り当てられることはありません。
All Nodes Addresses (すべてのノードアドレス):
FF01:0:0:0:0:0:0:1
FF02:0:0:0:0:0:0:1
上記のマルチキャストアドレスは、範囲1 (インターフェースローカル) または2 (リンクローカル) 内のすべてのIPv6ノードのグループを識別します。
All Routers Addresses (すべてのルーターアドレス):
FF01:0:0:0:0:0:0:2
FF02:0:0:0:0:0:0:2
FF05:0:0:0:0:0:0:2
上記のマルチキャストアドレスは、範囲1 (インターフェースローカル)、2 (リンクローカル)、または5 (サイトローカル) 内のすべてのIPv6ルーターのグループを識別します。
Solicited-Node Address (要請ノードアドレス):
FF02:0:0:0:0:1:FFXX:XXXX
要請ノードマルチキャストアドレスは、ノードのユニキャストアドレスとエニーキャストアドレスの関数として計算されます。要請ノードマルチキャストアドレスは、アドレス (ユニキャストまたはエニーキャスト) の下位24ビットを取得し、それらのビットをプレフィックス FF02:0:0:0:0:1:FF00::/104 に付加することによって形成され、その結果、範囲内のマルチキャストアドレスになります:
FF02:0:0:0:0:1:FF00:0000
から
FF02:0:0:0:0:1:FFFF:FFFF
たとえば、IPv6アドレス 4037::01:800:200E:8C6C に対応する要請ノードマルチキャストアドレスは FF02::1:FF0E:8C6C です。上位ビットのみが異なるIPv6アドレス (たとえば、異なる集約に関連付けられた複数の上位プレフィックスによる) は、同じ要請ノードアドレスにマップされ、ノードが参加する必要があるマルチキャストアドレスの数を減らします。
ノードは、ノードのインターフェース用に構成されたすべてのユニキャストアドレスとエニーキャストアドレス (手動または自動) について、関連する要請ノードマルチキャストアドレスを計算して参加 (適切なインターフェース上で) する必要があります。