法人のお客さま総合 > サービス分類で探す > データネットワーク・NWマネジメント > IPv6 > IPv6 グローバルコミュニティ > 技術解説 > IPv6マルチキャスト

IPv6 グローバルコミュニティ
IPv6マルチキャスト

IPv6 Global Community

Multicast

2. IPv6マルチキャストプロトコル概要

IPマルチキャストは、マルチキャストグループアドレスと呼ばれる特殊なIPアドレス宛に送出されたパケットを、該当グループに参加している端末(以下、ノード)に対して配送します。IPv6の世界では、マルチキャストグループアドレスを、上位8bitが全て1のアドレスとして規定しています。9bit目以降は、9〜12bit目の4bitでそのアドレスがIANAで定義された代表的なマルチキャストアドレスかどうかを示すFlagを、13〜16bit目でそのアドレスのScope(グローバル・サイトローカルなど)を、17bit目以降の112bitでグループの識別子を表現します。IPv6マルチキャストアドレスの詳細な説明はここでは割愛します。16進表示でFFから始まるIPv6アドレスがマルチキャストグループアドレスだということだけ覚えてください。


IPv6マルチキャストグループアドレス
IPv6マルチキャストグループアドレス


IPマルチキャストの配信処理は、おおよそ以下のような流れです。(1)ノードがマルチキャストグループへの参加を表明すると、そのノードの最寄りルーターが参加表明を受け、(2)下流のルーターから上流のルーターへ順を追ってマルチキャスト経路を生成していくことで、送信元からノードまでの通信経路を適切に形成し、(3)送信元からノードまでのマルチキャストパケット配送を可能にします。

←IPマルチキャストの配信処理イメージ(クリックで拡大)

2.1. Any Source MulticastとSource Specific Multicast

IPv6マルチキャストのプロトコルを簡単に紹介する前に、ASMとSSMという2つのIPマルチキャスト実現方式について触れておきます。
IPマルチキャストには、前述したように、ノードが参加するマルチキャストグループのみを指定し、該当マルチキャストグループアドレス(以下、グループアドレス)宛に送出される全てのパケットを受信するASM(Any Source Multicast)と呼ばれる方式と、ノードが、マルチキャストグループに加えて、受信したいデータの送信元を指定することで、該当グループアドレス宛に送出されたパケットのうち、指定した送信元アドレスから送出されるパケットのみを選択的に受信可能とするSSM(Source Specific Multicast)と呼ばれる2つの方式が存在します。
SSMでは、マルチキャストグループ参加時に、送信元のIPアドレスが指定されるため、グループアドレスを有効活用できるだけでなく、ASMと比較して

・マルチキャスト経路制御が容易に行える
・不正な送信元からのマルチキャストパケットがネットワークに流れることを防げる

などのメリットがあります。
現状IPv6 SSMに対応する汎用OSがWindows VISTAと一部のLinuxのみであるため、IPv6 SSMを利用した映像配信サービス には専用端末(STBなど)を利用する例が多く見られますが、今後は汎用OSのIPv6 SSM対応により、PC向けのマルチキャスト映像配信サービスも広がりを見せると思われます。

←Any Source MulticastとSource Specific Multicast(クリックで拡大)

2.2. マルチキャストグループ管理

IPv6マルチキャストでは、ノードのマルチキャストグループ参加・離脱に、Multicast Listener Discovery Protocol(MLD)と呼ばれるプロトコルを利用します。MLDはノードとルーター間のプロトコルであり、ノードは自分の最寄りルーターに対して、以下に示す3種類のMLDメッセージを利用してマルチキャストグループへの参加・離脱を通知します。
● MLD Report

   ノードがマルチキャストグループに参加を表明するためのメッセージで、参加するグループアドレスを指定したMLD Reportメッセージを最寄りルーターに通知します。

● MLD Done

   ノードがマルチキャストグループからの離脱を表明するためのメッセージで、MLD Reportと同様に、離脱するグループアドレスを指定したメッセージを最寄りルーターに通知します。

● MLD Query

   MLD ReportやMLD Doneの処理が正常に行われなかった場合などを考慮し、各ノードのマルチキャストグループ参加状態をチェックするメッセージで、ルーターから、その直下に接続される全てのノードに対して定期的に投下されます。マルチキャストグループに参加中のノードは、ルーターからのMLD Queryに対して参加中のグループアドレスを指定したMLD Reportを返信します。MLD Reportを返信しないノードは、ルーターはマルチキャストグループへの参加が無いノードと見なされます。ルーターはMLD Queryによるチェック結果に従ってマルチキャスト経路を適切に更新します。

←MLDメッセージのイメージ(Version1)(クリックで拡大)

MLDにはMLDv1とMLDv2の2つのバージョンが存在します。前述のASMで利用されるのがMLDv1、SSMで利用されるのがMLDv2です。MLDv1とMLDv2の大きな違いは、MLDv1がマルチキャストグループの参加・離脱にグループアドレスのみを指定するのに対し、MLDv2はSSMに対応するため、グループアドレスと送信元アドレスを指定する点です。

2.3. マルチキャスト経路制御

MLDメッセージにより、ノードのマルチキャストグループ参加状態が変更されると、ネットワーク内のルーターは、PIM(Protocol Independent Multicast)と呼ばれるプロトコルを利用してマルチキャスト経路制御を実行します。マルチキャスト経路制御とは、ネットワーク内の各ルーターのマルチキャスト経路表を更新する処理を指します。
PIMにはPIM-DM(Dense Mode)とPIM-SM(Sparse Mode)という2つのモードが存在し、さらにPIM-SMには、前述のASM向けのPIM-SMとSSM対応のPIM-SSMがあります。ここではマルチキャスト経路制御のイメージを掴んでいただくため、最もシンプルなプロトコルであるPIM-SSMを例にとって説明します。

←PIM-SSMのマルチキャスト配信処理(クリックで拡大)

PIM-SSMでは、ノードの最寄りルーターが、送信元アドレスSとグループアドレスG を指定したMLDv2 Report (S,G) を受信すると、上流の隣接ルーターに対して、MLDv2 Reportで受け取ったSとGを含むPIM-JOIN (S,G) というメッセージを送信します。PIM-JOIN (S,G) を受け取ったルーターは、PIM-JOIN (S,G) を受け取ったインタフェースにのみ、送信元アドレスS・グループアドレスGのマルチキャストパケットを中継するようにマルチキャスト経路表を更新し、さらに上流の隣接ルーターに対してPIM-JOIN (S,G) メッセージを送ります。マルチキャスト経路上の複数のルーター間でこのやり取りを繰り返すことにより、送信元アドレスS・グループアドレスGのマルチキャストパケット配送ツリーが形成されます。この際、PIM-SM(PIM-SSM含む)対応ルーターはユニキャストの経路表を利用して、PIM-JOINを送信する上流の隣接ルーターを効率的に探索します。
マルチキャストパケット配送ツリーの形成後、ネットワーク上のルーターは、到達したマルチキャストパケットのヘッダに含まれる送信元アドレスとグループアドレスを参照し、マルチキャスト経路表に従ったパケット中継・破棄を行うことで、マルチキャストパケットの適切な配送を実現します。

 | 2 | 

お問い合わせ/お申し込み 資料請求

このページのトップへ

お問い合わせ/お申し込み 資料請求

お電話

サービスのお問い合わせ 法人コンタクトセンター 0120-106107 受付時間9:00〜17:30(土日休日を除く)