クイックダウンロード:
IPv6はブロードキャスト通信を完全に廃止し、マルチキャストに置き換えます。IPv4でブロードキャストに依存していたすべてのIPv6メカニズム(ARPを含む)は、代わりに特定のマルチキャストアドレスを使用します。
-
すべての IPv6 マルチキャスト アドレスは ff00::/8 で始まります。アドレス構造にはスコープ、フラグ、グループ ID がエンコードされており、管理者はマルチキャスト トラフィックがどこまで届くかをきめ細かく制御できます。
-
IPv6マルチキャストは、プロトコル独立マルチキャスト(PIM)ルーティングを使用し、ランデブーポイント(RP)とブートストラップルータ(BSR)の役割がマルチキャストグループの検出とトラフィックの配信を管理します。
-
インターネット上でのマルチキャストは依然として限定的である。ほとんどのISPはマルチキャストパケットを破棄するが、IPv6のグローバルスコープマルチキャスト空間(ffxe::/16)は、インターネットの移行に伴い、IPv6の普及拡大を後押しする。
ネットワーク上での通信は、使用する特定のネットワークアプリケーションのニーズに応じて、いくつかの形態をとることができます。具体的には、次の3つの基本的な方法のいずれかで行われます。
- ユニキャスト: これは、あるデバイスから別のデバイスへの1対1の通信であり、ほとんどの人がよく知っているタイプの通信です。
- ブロードキャスト: この用語は、ネットワークセグメント上の1つのデバイスからすべてのデバイスへの通信を指します。
- マルチキャスト: 最も単純な形で言えば、マルチキャストとは、1つのデバイスから複数のデバイスへの通信を指します。これは、同じネットワークセグメント上にある場合も、異なるネットワークセグメント上にある場合もある、多数の(ただし全てではない)デバイスに送信することを意味します。
マルチキャスト通信は、ビデオ会議、一部のVoIP電話アプリケーション、ライブビデオストリーミングなどのアプリケーションに役立ちます。これらの種類のトラフィックを送信する際のネットワーク効率を劇的に向上させます。
マルチキャストの機能は、主にOSIモデルのネットワーク層で扱われます。インターネットプロトコルはこの層に存在します。
長年にわたり使用されてきたIPv4は、非常に成熟した堅牢なマルチキャストプロトコルとメカニズムを備えています。IPv6はIPv4の成功を基盤として、マルチキャスト通信をさらに効率化・簡素化するように設計されています。実際、IPv6はブロードキャストの使用を完全に廃止し、マルチキャスト通信に置き換えました。これは、近隣探索プロトコル(NDP)などのプロトコルで使用されるIPv6制御プレーンメカニズムにも当てはまります。
この記事では、IPv6マルチキャストアドレスとその動作について詳しく見ていきます。
主要概念の要約
本稿では、以下の主要な概念を考察する。
| 概念 | 詳細説明 |
|---|---|
| マルチキャストネットワーク通信 | マルチキャストとは、ネットワークトラフィックを1つの送信元から複数の受信者に送信するために使用される手法です。 |
| IPv6マルチキャストアドレス範囲 | IPv6では、マルチキャスト用にff00::/8という表記で指定されたアドレス範囲を使用します。 |
| マルチキャスト通信の利点 | マルチキャストは、関心のある受信者のみにトラフィックを送信するため、一対多の通信をはるかに効率的にします。 |
| IPv6におけるマルチキャストの実装 | マルチキャストは、プロトコル独立マルチキャスト(PIM)ルーティングを使用して、IPv4と同様の方法で実装されます。 |
| IPv6におけるマルチキャストの重要性 | IPv6は実際にはブロードキャスト通信を完全に廃止し、IPv6マルチキャストに置き換えることで、すべてのIPv6メカニズムをより効率的にします。 |
以下のセクションでは、マルチキャストの実装全般に関わる様々な概念、特にIPv6マルチキャストアドレスの使用について詳しく説明します。
マルチキャストはどのような場合にユニキャストよりも効率的ですか?
マルチキャストの利点を理解するには、企業ネットワーク内の少人数グループによる典型的なビデオ会議を想像してみると良いでしょう。コラボレーションアプリケーションを使用しており、画面上の小さなウィンドウで同僚全員の姿を見ることができると想像してください。参加者全員が同様の方法で同僚全員を見ることができます。この例では、ビデオ会議アプリケーションが参加者のコンピュータ間で直接通信できると仮定します。
2つのエンドポイント間で行われるビデオ会議は、音声と映像がすべて参加者2者間で直接送信されるため、比較的単純な通信手順で行われます(下図参照)。

しかし、ビデオエンドポイントが2つ以上参加する場合、各参加者が他のすべての参加者を同時に見る必要があるため、通信方法はより複雑になります。つまり、ビデオエンドポイントは、他のすべての参加者に音声と映像を送信すると同時に、他のすべての参加者も同様に送信する必要があるということです。以下に示すように、その仕組みは以下のとおりです。

これをユニキャスト通信で行うと、フルメッシュ方式で全てのエンドポイント間の通信チャネルが複数確立される。
高解像度のオーディオビジュアルデータストリーム1つで5Mbps以上を消費することを考えると、参加者10人のHDテレビ会議では、1つのエンドポイントで50Mbpsをはるかに超える帯域幅を消費することになる。
参加者が20人、50人、あるいは100人になった場合はどうなるでしょうか?複数のビデオエンドポイントを持つネットワークでは、このような帯域幅の使用がいかに非効率的で、拡張性に乏しいかがすぐに分かります。
マルチキャストは、各デバイスが単一のマルチキャスト宛先アドレスに単一のパケットストリームを送信できるようにすることで、この問題を解決します。ネットワークは、これらのパケットを複製し、特定のマルチキャストグループに参加しているすべてのデバイスに送信する処理を行います。

参加する各PCはマルチキャスト送信元となり、1つのパケットストリームを送信するため、単一ストリーム分の帯域幅しか使用せず、ネットワーク使用量を大幅に削減できる。
マルチキャストが広く利用されているその他のアプリケーションとしては、3人以上の参加者によるVoIP電話会議、コンタクトセンター向けのVoIP保留音(MOH)アプリケーション、IPネットワーク経由の放送テレビなどが挙げられる。
ネットワーク通信の種類
ユニキャスト通信とブロードキャスト通信は、一般的に実装が容易です。送信先のホストの適切な宛先アドレス、またはブロードキャストアドレスを指定するだけで、パケットは単一のホスト、あるいはサブネット上のすべてのホストに送信されます。
マルチキャスト通信は、グループの管理やグループ内でのトラフィックルーティングといった追加要件があるため、より複雑になります。
- 受信者のグループを定義し、ホストがこれらのグループに参加したり離脱したりできる仕組みを導入する必要がある。
- マルチキャストトラフィックは、グループに参加しているすべてのホストが、それらが属するサブネットに関係なく、このトラフィックを受信できるようにルーティングされなければなりません。
- マルチキャストルータは、不要なネットワークリソースの使用を避けるために、マルチキャストトラフィックを効率的にルーティングするメカニズムを備えている必要があります。これらのメカニズムには、以下のようなものがあります。
- マルチキャストトラフィックを受信するルーターは、パケットのコピーを1つだけ隣接するマルチキャストルーターに転送しなければならない。
- マルチキャストパケットは、そのルーターの下流に受信側が存在する場合にのみ、隣接ルーターに送信しなければならない。
- マルチキャストパケットの複製は、受信側にとって最も近いエッジルーターで行う必要がある。
マルチキャストアドレス空間
マルチキャストネットワークの運用において不可欠な要素は、専用のマルチキャストアドレス空間の使用です。IPv4とIPv6の両方において、マルチキャスト専用のアドレス範囲が確保されています。各マルチキャストアドレスはマルチキャストグループを定義し、ホストはこのグループに参加することで受信側となります。宛先IPアドレスにそのマルチキャストアドレスが含まれるパケットは、そのグループに属するすべてのホストに到達します。
IPv4マルチキャストアドレスは、224.0.0.0/4のアドレス空間に属します。つまり、224.0.0.0から239.255.255.255までの範囲です。
同様に、IPv6マルチキャストアドレスはff00::/8アドレス空間に属します。これらのアドレス範囲の定義は、IPv4よりもやや複雑です。これは、アドレス空間に特定の用途のために予約されたビットが含まれているためです。この複雑さが増すことで、IPv6のマルチキャストルーティングにはより豊富で便利な機能が備わり、マルチキャストの利用においてさらに多くの機能と可能性が生まれます。IPv6マルチキャストアドレスの構造については、後ほどもう少し詳しく説明します。
ネットワークプロトコルにおけるIPv6マルチキャストの使用
IPv6マルチキャストアドレスの最も効果的な利用方法の一つは、ネットワーク制御プロトコルにおけるブロードキャストの必要性を排除することです。例えば、IPv4では、アドレス解決プロトコル(ARP)を使用して宛先ホスト(またはデフォルトゲートウェイ)のMACアドレスを特定し、IPパケットを適切な宛先MACアドレスを持つイーサネットフレームにカプセル化します。ARPは、適切なホストに応答を求めるブロードキャストを送信します。同様に、DHCPもその目的を達成するためにブロードキャストを使用します。
IPv6はブロードキャストをマルチキャスト通信に置き換えることで、ブロードキャストの必要性を排除し、ネットワーク効率を大幅に向上させました。例えば、IPv4では、ネットワーク速度の低下を招く過剰なブロードキャストを避けるため、サブネット内のホスト数を制限する必要がありました。一方、IPv6はブロードキャストを使用しないため、単一のサブネット内に数千ものIPv6ホストを収容できるなど、より大きな実効サブネットサイズをサポートできます。
ネットワーク検出プロトコル(NDP)など、基本的にARPのIPv6版であるプロトコルは、その機能を実行するためにIPv6マルチキャストアドレスを多用します。
IPv6マルチキャストアドレスの詳細な構造
IPv6マルチキャストアドレスはIPv4のマルチキャストアドレスよりも複雑で、これらのアドレスには2種類あります。これらは一般的に「古い形式」と呼ばれ、 RFC 2373 そして、 RFC 7371新しいフォーマットは基本的に旧フォーマットの拡張版であり、より多くの機能をサポートするための追加情報を含むフィールドや、将来の使用のために予約されたフィールドがいくつか追加されています。
古いIPv6マルチキャストアドレス形式
旧フォーマットは以下の形式です。
| ビット | フィールド |
|---|---|
| 8 | 接頭辞 |
| 4 | フラグ |
| 4 | スコープ |
| 112 | グループID |
どこ:
- 接頭辞 これは単に接頭辞0xffであり、すべてのマルチキャストアドレスで共通です。
- フラグ これは情報フラグとして機能する4ビットのセットです。最初の3ビット(上位ビット)は予約されており、常にゼロに設定されます。4番目のフラグはマルチキャストアドレスの種類を示します。
- 0は、グローバルインターネット番号管理機関によって設定された、恒久的に割り当てられた(「周知の」)マルチキャストアドレスを示します。
- 1は、一時的なマルチキャストアドレスであることを示します。
- スコープ これは、マルチキャストグループの範囲を制限するために使用される4ビットのマルチキャストスコープ値です。この値は、リンクローカルスコープかグローバルスコープかを示し、マルチキャストネットワークの「幅」などを定義します。
新しいIPv6マルチキャストアドレス形式
新しいフォーマットは構造が若干異なり、情報を提供する複数のフィールドや、プロトコルの将来性を確保するための追加機能をサポートするフラグが含まれています。
| ビット | フィールド |
|---|---|
| 8 | 接頭辞 |
| 4 | ff1 |
| 4 | スコープ |
| 4 | ff2 |
| 4 | 予約済み |
| 8 | 満杯 |
| 64 | ネットワークプレフィックス |
| 32 | グループID |
旧フォーマットには存在しない項目については、以下に説明します。
- ff1 これは4つのフラグの最初のセットで、そのうち3つが定義されています。最上位(左端)のビットは将来の使用のために予約されており、0のままにしておく必要があります。残りの3つは、最上位から最下位(左から右)の順に、R、P、Tと呼ばれます。
- R(ランデブーポイント): このフラグは、RPが埋め込まれているかどうかを示します。
- P(接頭辞): このビットは、アドレスがネットワークプレフィックスを使用して生成されたかどうかを示します。
- T(過渡状態): このビットは、アドレスが既知か動的に割り当てられたかを示します。これは、 フラグ 後方互換性のために、古い形式のフィールドを残しています。
- ff2 これは、将来の使用のために現在予約されている4つの旗の2番目のセットです。
- 予約済み は将来の使用のために予約されている4ビットのセットです。
- 満杯 Pフラグが1に設定されている場合、サブネットを識別するネットワークプレフィックスフィールド内の実際のビット数を示します。
IPv6マルチキャストの展開
次の例は、CiscoルータのネットワークでIPv6マルチキャストを有効にする方法を示しています。この例では、次のように定義された2つのルータロールを使用します。
- ランデブーポイント(RP): この役割を担うルーターは、マルチキャストトラフィックの「集合点」として機能します。マルチキャストルーターは、自身のマルチキャストトラフィックをすべてRP(リライングパーティ)に送信するだけでなく、RPから自身へのマルチキャストトラフィックの送信を要求することもできます。
- ブートストラップルーター(BSR): この役割を担うルーターは、マルチキャストトポロジーのRP(リソースポイント)を自動的かつ動的に選択します。
これらに関する詳細は、このセクションの最後にあるリンクからご覧いただけます。
このシナリオでは、以下のトポロジーを使用してRPとBSRを静的に構成します。

次の点に注意してください。
- この例では、R1はIPv6ホストの役割を果たしており、マルチキャスト受信機として機能します。
- R2はBSRの役割を果たす。
- R3はRP(ロールプレイング)の役割を果たす。
- EIGRPを使用して、すべてのルーター間でIPv6ルーティングが既に設定されています。
- 図示されたアドレスを持つループバックインターフェースが、それぞれBSRおよびRPソースとして機能するようにR2とR3上に作成されています。
一般的なマルチキャスト実装では、マルチキャスト受信機はルーターではなく、ユーザーデバイス(PC、タブレット、IP電話、ビデオ会議ステーションなど)であることに注意してください。このトポロジーではルーターが使われています。この例では便宜上、R1を使用してIPv6マルチキャスト受信機をシミュレートしています。したがって、このシナリオでR1が出てくる箇所はすべて「エンドユーザーデバイス」と考えてください。
まず、すべてのデバイスでIPv6のマルチキャストルーティングを有効にします。
R1,R2 & R3:
(config)#ipv6 multicast-routing次に、R3を候補RPとして設定します。
R3(config)#ipv6 pim bsr candidate rp 2001::3次に、R2をBSRとして設定し、R3をRPとしてアドバタイズするようにします。
R3(config)#ipv6 pim bsr candidate rp 2001::3次に、ホストR1をマルチキャストグループに参加するように設定します。ここでは、マルチキャストアドレスFF07::7を使用します。
R1(config)#interface gigabitethernet 0/0
R1(config-if)#ipv6 mld join-group FF07::7R2が有効なRPを見つけたかどうか確認してみましょう。
R2#show ipv6 pim bsr rp-cache
PIMv2 BSR C-RP Cache
BSR Candidate RP Cache
Group(s) FF00::/8, RP count 1
RP 2001::3 SM
Priority 192, Holdtime 150
Uptime: 00:00:12, expires: 00:01:21上記の出力から、R2がR3をIPv6マルチキャストアドレス空間全体のRPとして認識していることがわかります。
それでは、R2のIPv6マルチキャストルーティングテーブルを見て、そこにどのようなIPv6マルチキャストグループが含まれているかを確認してみましょう。
R2#show ipv6 mroute
Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group,
C - Connected, L - Local, I - Received Source Specific Host Report,
P - Pruned, R - RP-bit set, F - Register flag, T - SPT-bit set,
J - Join SPT
Timers: Uptime/Expires
Interface state: Interface, State
(*, FF07::7), 00:01:53/never, RP 2001::3, flags: SCJ
Incoming interface: GigabitEthernet0/1
RPF nbr: FE80::C006:23FF:FE22:0
Immediate Outgoing interface list:
GigabitEthernet0/0, Forward, 00:01:53/neverR2はFF07::7 IPv6マルチキャストグループに対して(*,G)エントリを挿入し、受信インターフェースはGigabitEthernet 0/1であり、これは予想どおりRPに面するインターフェースです。
最後に、マルチキャストトラフィックを生成して、それが実際に受信側R1に到達するかどうかを確認してみましょう。
R3#ping ff07::7
Output Interface: GigabitEthernet0/0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to FF07::7, timeout is 2 seconds:
Packet sent with a source address of 2001::3
Reply to request 0 received from 2001:12::1, 9 ms
Reply to request 1 received from 2001:12::1, 8 ms
Reply to request 2 received from 2001:12::1, 9 ms
Reply to request 3 received from 2001:12::1, 4 ms
Reply to request 4 received from 2001:12::1, 8 ms
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/7/9 ms
5 multicast replies and 0 errors.IPv6マルチキャストグループアドレスへのpingは成功しました。
Cisco デバイスで IPv6 マルチキャストを設定する方法の詳細、およびここで適用されている概念のより詳細な説明については、関連ドキュメントを参照してください。 Ciscoのドキュメント.
インターネット経由のマルチキャスト
マルチキャストトラフィックは、ルーティングに必要な帯域幅が非常に大きいため、インターネット上でルーティングすることはできません。ほぼすべてのISPは、マルチキャスト宛先アドレスを持つパケットを破棄します。マルチキャストは通常、それを必要とする社内アプリケーションに対応するために、企業ネットワーク内で使用されます。マルチキャストは、リモートサイトがマルチキャストアプリケーションに参加できるように、インターネット上でトンネル化することはできますが、インターネット上でネイティブに送信することはできません。
とはいえ、GLOPマルチキャストアドレス空間と呼ばれるものを使用して、パブリックインターネット上でマルチキャストを利用可能にしようとする試みがありました。 RFC 3180これは、ISPやその他の組織がインターネット上でマルチキャストコンテンツを送信するために使用する、実験的な公開型の静的割り当てマルチキャストアドレス空間です。GLOPアドレス空間は、233.0.0.0/8のIPv4アドレス範囲で構成されます。
GLOPアドレッシングは、16ビットの自律システム番号(ASN)割り当てによって決定される255個のアドレスのブロックを提供するマルチキャストアドレス割り当て方式を定義します。GLOPアドレスの中央2オクテットは、割り当てられたASNによって構成されます。
GLOPは実験的なものであり、インターネット上で広く実装または採用されることはありませんでした。各AS番号に利用可能なマルチキャストアドレスが256個しかないため、大規模な放送事業者には不十分でした。
IPv6マルチキャストアドレスは、インターネット上でマルチキャストを適用する新たな機会を提供します。グローバルスコープマルチキャストIPv6アドレス空間はffxe::/16と定義されており、「x」は任意の16進数値です。グローバルスコープマルチキャストアドレスは、 RFC 4291IPv6は、インターネット上で使用できるアドレス空間を大幅に拡大する。とはいえ、インターネットの大部分がまだIPv6に移行していないため、普及は遅々として進んでいない。
結論
マルチキャストは、単一のパケットストリームを複数の受信者に送信することで、ネットワークリソースの効率的な利用を促進します。マルチキャストルータは、マルチキャストストリームが意図したすべての受信者に確実に届くように、必要に応じてこれらのパケットを複製します。
マルチキャストはネットワークの重要な要素であり、多くのネットワークアプリケーションにとって不可欠な機能です。IPv6マルチキャストは、IPv4のマルチキャスト機能を大幅に改善し、より広いマルチキャストアドレス空間と、前身であるIPv4よりもはるかに多くの機能を提供します。
IPv6マルチキャストアドレス空間には多くの可能性が秘められており、IPv6マルチキャストの実装方法は、インターネットがゆっくりと着実に完全なIPv6実装へと移行していく中で、将来的に大きな可能性を秘めている。
IPv6マルチキャストは、ビデオ、音声、リアルタイムアプリケーションの効率を大幅に向上させることができますが、そのためには、すべてのホップ、グループ、パケットパスを把握できる必要があります。
LogicMonitorは、IPv6マルチキャストトラフィック、ルーター、RPのエンドツーエンドの可視性を提供し、ユーザーが影響を受ける前にドロップ、設定ミス、ボトルネックを特定できるようにします。
よくあるご質問
IPv6マルチキャストアドレスとは何ですか?また、ユニキャストアドレスとはどのように異なりますか?
IPv6マルチキャストアドレスは、1つの送信元から特定の受信者グループに同時にトラフィックを送信するために使用される特別なアドレスです。ユニキャストアドレス(単一のデバイスを識別する)やブロードキャストアドレス(すべてのデバイスに到達する)とは異なり、マルチキャストアドレスは関心のある受信者グループを識別します。すべてのIPv6マルチキャストアドレスは、ff00::/8というプレフィックスで始まり、アドレス構造にはスコープ、フラグ、グループIDのフィールドが含まれます。
IPv6はなぜブロードキャストではなくマルチキャストを使用するのですか?
IPv6はブロードキャスト通信を完全に廃止し、マルチキャストに置き換えます。これにより、マルチキャストトラフィックはネットワークセグメント上のすべてのデバイスではなく、マルチキャストグループに明示的に参加したデバイスにのみ配信されるため、ネットワーク効率が向上します。IPv6におけるARPに相当するNeighbour Discovery Protocol(NDP)などのプロトコルは、マルチキャストアドレスを使用して、大規模なIPv4ネットワークで発生する可能性のあるブロードキャストストームによる非効率性やパフォーマンスへの影響を回避します。
IPv6マルチキャストアドレスの範囲は何ですか?
IPv6マルチキャストアドレスはff00::/8アドレス空間に属し、すべてのIPv6マルチキャストアドレスはプレフィックス0xffで始まります。アドレス構造には、フラグフィールド、スコープフィールド(マルチキャストグループがリンクローカル、サイトローカル、またはグローバルのいずれのスコープであるかを示す)、およびグループIDが含まれます。グローバルスコープのマルチキャストアドレス空間は、RFC 4291で規定されているように、ffxe::/16(xは任意の16進数値)として定義されています。
CiscoルーターでIPv6マルチキャストルーティングを設定するにはどうすればよいでしょうか?
CiscoルータでIPv6マルチキャストを設定するには、まず「ipv6 multicast-routing」コマンドを使用して、参加するすべてのルータでマルチキャストルーティングをグローバルに有効にします。次に、「ipv6 pim bsr candidate rp」を使用してランデブーポイント(RP)を指定し、ブートストラップルータ(BSR)がRPをアドバタイズするように設定します。ホスト(またはホストとして動作するルータ)は、該当するインターフェイスで「ipv6 mld join-group」コマンドを使用してマルチキャストグループに参加します。「show ipv6 pim bsr rp-cache」および「show ipv6 mroute」を使用して設定を確認します。




