マルチキャストアドレスは、マルチキャストを受信したいグループを表すアドレスです。IANA(Internet Assigned Numbers Authority)は、IPv4 のマルチキャストアドレスとして、クラス D のアドレス空間 224.0.0.0〜239.255.255.255 を割り当てています。この記事では、マルチキャストアドレスの範囲と、その中で用途ごとに決められているブロックを説明します。
- マルチキャストアドレスが 224〜239 で始まる理由
- ローカルネットワーク制御用、インターネットワーク制御用などのブロックと、よく使うアドレス
- SSM、GLOP、管理スコープの各ブロックの使い道
マルチキャストアドレスの範囲
マルチキャストアドレスは、第1オクテットの先頭の 4 ビットが 1110 で始まります。残りの 4 ビットがすべて 0 なら 2進数の 11100000 で 128+64+32=224、すべて 1 なら 11101111 で 239 です。そのため、マルチキャストアドレスの範囲は 224.0.0.0〜239.255.255.255 になります。
用途ごとのブロック
マルチキャストアドレスの空間には、特定の目的のために決められたブロックがいくつもあります。主なブロックは次のとおりです。
| 範囲 | ブロック | 用途 |
|---|---|---|
| 224.0.0.0〜224.0.0.255 | ローカルネットワーク制御用 | 同じリンクの中だけで使う制御用 |
| 224.0.1.0〜224.0.1.255 | インターネットワーク制御用 | ルータを越えて転送されてもよい制御用 |
| 224.0.2.0〜224.0.255.255 | AD-HOC ブロック I | IANA が個別のアプリケーションに割り当てる |
| 224.2.0.0〜224.2.255.255 | SDP/SAP ブロック | セッションの告知(SAP)などで使う |
| 232.0.0.0〜232.255.255.255 | SSM(Source Specific Multicast) | 送信元を指定して受信する SSM で使う |
| 233.0.0.0〜233.251.255.255 | GLOP | 16 ビットの AS 番号から決まる範囲 |
| 239.0.0.0〜239.255.255.255 | 管理スコープ | 組織の中だけで使う。プライベートアドレスのようなもの |
このほかにも、IANA が予約している範囲や、個別に割り当てている範囲があります。以下、主なブロックを順に見ていきます。
ローカルネットワーク制御用ブロック(224.0.0.0〜224.0.0.255)
同じリンク(サブネット)の中だけで使う、プロトコルの制御用のアドレスです。このブロック宛てのパケットは、ルータが別のネットワークへ転送しません。よく使われるアドレスと用途は次のとおりです。
| アドレス | 用途 |
|---|---|
| 224.0.0.0 | ベースアドレス(予約済み) |
| 224.0.0.1 | 同じサブネットのすべての機器(ホストとルータ) |
| 224.0.0.2 | 同じサブネットのすべてのルータ |
| 224.0.0.5 | すべての OSPF ルータ |
| 224.0.0.6 | OSPF の代表ルータ(DR・BDR) |
| 224.0.0.9 | RIPv2 ルータ |
| 224.0.0.10 | EIGRP ルータ |
| 224.0.0.12 | DHCP サーバー/リレーエージェント |
| 224.0.0.13 | すべての PIM ルータ |
| 224.0.0.18 | VRRP |
| 224.0.0.22 | IGMP(IGMPv3 の Report の宛先) |
| 224.0.0.102 | HSRP(HSRP バージョン2 の Hello の宛先) |
インターネットワーク制御用ブロック(224.0.1.0〜224.0.1.255)
ルータを越えて転送されることがある、制御用のトラフィックに使うアドレスです。よく使われるアドレスと用途は次のとおりです。
| アドレス | 用途 |
|---|---|
| 224.0.1.1 | NTP |
| 224.0.1.39 | Cisco-RP-Announce(Auto-RP で使用) |
| 224.0.1.40 | Cisco-RP-Discovery(Auto-RP で使用) |
例えば、Cisco ルータでマルチキャストルーティングを有効にすると、show ip igmp interface の「Multicast groups joined by this system」に 224.0.1.40 が表示されることがあります(IGMPv2 の記事の出力にも出てきます)。
ローカルネットワーク制御用とインターネットワーク制御用の範囲は、プロトコルのために割り当てられたアドレスです。自分のアプリケーションのグループとして独自に使うのはやめましょう。
SSM 用ブロック(232.0.0.0〜232.255.255.255)
SSM(Source Specific Multicast)で使う範囲です。SSM では、受信機が「どの送信元からの、どのグループのマルチキャストを受信したいか」を指定し、指定した送信元からのトラフィックだけが転送されます。受信機が送信元を指定するには、IGMPv3 が必要です。
GLOP ブロック(233.0.0.0〜233.251.255.255)
16 ビットの AS 番号を使って、組織ごとに割り当てが決まる範囲です。AS 番号を上位 8 ビットと下位 8 ビットに分け、233.X.Y.0/24 の X と Y に入れます。例えば AS 5662 なら、233.22.30.0/24 です。
なお、233.252.0.0〜233.255.255.255 は AD-HOC ブロック III として別に扱われます。32 ビットの AS 番号は GLOP に入りきらないので、この方法は使えません。
管理スコープのブロック(239.0.0.0〜239.255.255.255)
ある組織の中など、限られた範囲だけで使うアドレスです。プライベートアドレスのようなもので、ネットワークの検証などでも、この範囲を使うことが多いです。例えば 239.1.1.1 や 239.2.2.2 などです。
この範囲の中でも、239.255.0.0/16 はいちばん狭い範囲(ローカルスコープ)、239.192.0.0/14 は組織の中で使う範囲(組織ローカルスコープ)として決められています。組織でグループアドレスを決めるときは、239.192.0.0/14 から割り当てるのが基本です。
マルチキャストアドレスは、下位 23 ビットだけが MAC アドレスに入るので、32 個のアドレスが同じ MAC アドレスになります。例えば 239.0.0.x や 239.128.0.x は、224.0.0.x(ローカルネットワーク制御用)と同じ MAC アドレスになり、スイッチが全ポートに流してしまうことがあります。詳しくは 【マルチキャスト】MACアドレスへのマッピング で説明しています。
「/24」などの表記について
マルチキャストアドレスのブロックは、224.0.0.0/24 のように、プレフィックス長を付けて書かれることがよくあります。これは、先頭から何ビットが同じかで、アドレスの範囲を表しているだけです。通常のユニキャストのサブネットとは違い、ネットワークアドレスやブロードキャストアドレスという意味はありません。
| 表記 | 範囲 |
|---|---|
| 224.0.0.0/24 | 224.0.0.0〜224.0.0.255(ローカルネットワーク制御用) |
| 224.0.0.0/8 | 224.0.0.0〜224.255.255.255 |
| 224.0.0.0/4 | 224.0.0.0〜239.255.255.255(マルチキャストアドレス全体) |
例えばローカルネットワーク制御用のブロックは 224.0.0.0/24 です。224.0.0.0/8 と書くと、224 で始まるアドレスすべてを指すので、意味が変わります。
まとめ
| ブロック | 範囲と用途 |
|---|---|
| マルチキャスト全体 | 224.0.0.0〜239.255.255.255(224.0.0.0/4)。先頭 4 ビットが 1110 |
| ローカルネットワーク制御用 | 224.0.0.0/24。同じリンクの中だけ。OSPF の 224.0.0.5 など |
| インターネットワーク制御用 | 224.0.1.0/24。ルータを越えてもよい。NTP の 224.0.1.1、Auto-RP の 224.0.1.39・224.0.1.40 など |
| SSM | 232.0.0.0/8。送信元を指定して受信する |
| GLOP | 233.0.0.0〜233.251.255.255。AS 番号から 233.X.Y.0/24 が決まる |
| 管理スコープ | 239.0.0.0/8。組織の中だけで使う。検証では 239.1.1.1 などをよく使う |
コメント