|
マルチキャストアドレス
特定のグループを指定するアドレス
( マルチキャストアドレス
) とは、一体どのようなアドレスなのでしょうか。
マルチキャストアドレスは、クラスDアドレス ( 224.0.0.0 〜 239.255.255.255 ) を使用することになります。
このアドレスは、宛先アドレスとしてのみ使用され、送信元アドレスは常にユニキャストアドレスを使用します。
※ ちなみにマルチキャストトラフィックはUDPを使用するので、マルチキャストの信頼性はアプリやQoSで管理する必要があります。
マルチキャストIPアドレスの構造
マルチキャストのIPアドレスは、32ビットのうち第一オクテットのトップビット 1110 を使用するのですが、
残りの28ビットはクラスA 〜 C のように階層構造となっておらず、残りはマルチキャストのグループIDを
識別するのに使用されます。例えば
「 224.0.0.0/4
」 と見れば、認識しやすいのではないでしょうか。

マルチキャストIPアドレスの管理
マルチキャストのアドレスの割り当ては
IANA
により管理されています。マルチキャストアドレスは動的または
静的に割り当てることが可能です。動的なマルチキャストの割り当てはマルチメディアのアプリにオンデマンドで
割り当てられます。IANA により静的に割り当てられた
Well-Known アドレスには以下のようなものがあります。
| マルチキャストアドレス |
対象 |
| 224.0.0.1 |
サブネット上の全てのマルチキャスト対応のホスト |
| 224.0.0.2 |
サブネット上の全てのマルチキャスト対応のルータ |
| 224.0.0.4 |
全ての DVMRP ルータ |
| 224.0.0.5 |
全ての OSPF ルータ |
| 224.0.0.6 |
全ての OSPF DR |
| 224.0.0.9 |
全ての RIPv2 ルータ |
| 224.0.0.13 |
全ての PIM ルータ |
| 224.0.1.1 |
NTP ( Network Time Protocol ) |
マルチキャストアドレスの使用にあたり以下の制限に従い、マルチメディアのアプリで使用する必要があります。
| 名称 |
アドレス範囲 |
説明 |
| 予約済みリンクローカルアドレス |
224.0.0.0 〜 224.0.0.255 |
IANA では、このアドレスを LAN 上でネットワークプロトコルが使用するアドレスとして予約しています。この範囲のアドレスを持つパケットは通常、TTL値が1に設定されて送信される為、ルータによって転送されることはありません。
|
| グローバルスコープアドレス |
224.0.1.0 〜 238.255.255.255 |
企業はこのアドレスを使用して組織間やインターネット経由でデータをマルチキャストします。アプリはこのアドレスの一部を
IANA を介して予約して使用します。 |
| 送信元固有マルチキャストアドレス |
232.0.0.0 〜 232.255.255.255 |
PIM ( Protocl Independent Multicast ) プロトコルの拡張機能であるSSM
( Source-Specific Multicast ) 用に予約されています。
|
| GLOPアドレス |
233.0.0.0 〜 233.255.255.255 |
RFC2770では、予約済みの AS 番号を持っている組織が静的に定義するアドレス用に、このアドレス範囲を予約することを提案しています。
|
| 限定スコープアドレス |
239.0.0.0 〜 239.255.255.255 |
RFC2365では、これらのアドレスをローカルで組織限定で使用するように規定しています。企業は、このアドレスをローカルマルチキャストアプリケーションに利用します。
|
マルチキャストMACアドレスの構造
マルチキャストMACアドレスは、マルチキャストIPアドレスから導くことができます。NICにあるMACアドレスは
下図の通り、24ビットのベンダーコードと24ビットのベンダーのシリアル番号の
48 ビットで構成されています。

マルチキャストのMACアドレスも同様に48ビットで構成されます。マルチキャストのMACアドレスは、先頭から
01-00-5E と 16進数が続き、25ビット目が 0 と決まっています。残りの23ビットは、マルチキャストIPアドレス
からマッピングされることになります。正確には、16進数を表現する 0x をつけて 0x01-00-5E となります。
下図は、224.10.200.1 の MACアドレスを導いています。先ず、マルチキャストMACアドレスは先頭の25ビットは
すでに決まっています。次に、残りの23ビットはマルチキャストIPアドレスからマッピングされることになります。
マルチキャストIPアドレスの先頭の 1110 は固定されているので、残りの28ビットをマッピングするのですが、
マルチキャストMACアドレスが必要としているマッピングのビット数は、23ビットなので
5ビットが無視されます。

5ビットが使用されない結果、例えば、224.138.200.1 のマルチキャストMACアドレスも 01-00-5E-0A-C8-01 に
なることが下図で分かると思います。このように、1つのマルチキャストMACアドレスが複数のマルチキャストの
IPアドレスに相当することになります。5ビット分の無視で、1つのMACアドレスで32個分のIPアドレスが相当して
しまうので、重複しないようにアプリケーションでマルチキャストIPアドレスを調整することが必要になってきます。

2進数から16進数への求め方は、下から4桁ずつ区切り、それぞれを10進数に変換してから16進数にします。
例えば、11001000 なら 「 1100 」
と 「
1000 」に区切って、「1100」は「12」、「1000」は「8」の10進数にします。
最後に、「12」 は 「C」、「8」 は
「8」の16進数に相当することから、「11001000
」は 「 C8 」 になると導けます。
※ Resource : IPマルチキャストネットワーク開発ガイド Vol
1 BCMSN認定テキスト 第二版 マスタリングTCP/IP マルチキャスト編
|