みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

マルチキャストについて

マルチキャストって最近、TV会議システムとかで使われてますが、いまいちよく理解できません。

まず、マルチキャストってグループ配信とか言われてますがどういうことですか?
実際にパケットをキャプチャしてみて確認しましたが、配信先が239.x.x.x宛て(マルチキャストアドレス)にパケットを送信しています。見たい人はどうやってパケットを受信するのですか?グループ配信とか書いてありましたが、受信しなくない人にもパケットは送付されているようです。(パケットをキャプチャして確認しました)ってことは、ブロードキャストと何が違うのでしょうか?
NICが受け取るまでは一緒で、その上の処理が違うということでしょうか?

スイッチがブロードキャストを全ポートに送信するように、マルチキャストも全ポートに送信しているように思えます。ということは、受信したくない拠点でもマルチキャスト分の帯域は使用しているのでしょうか?

うまく説明できなくて申し訳ありませんが、マルチキャストについてお詳しい方、ご教授願えないでしょうか。
よろしくお願い致します。

投稿日時 - 2005-08-09 22:43:53

QNo.1570245

暇なときに回答ください

質問者が選んだベストアンサー

#3の回答者です。

> 視聴側が視聴ツールを起動したときをパケットをキャプチャしたところ224.0.0.24へパケットを送信してます。
> 239.x.x.xとの関係はなんなのでしょうか?

224.0.0.0/24をARIN(American Registry for Internet Numbers、http://www.arin.net/)のwhoisデータベースで検索すると、以下のようなデータが得られます。

> NetType: IANA Special Use

> Comment: This block is reserved for special purposes.
> Comment: Please see RFC 3171 for additional information.

で、RFC3171を見ると、

> 224.0.0.0 - 224.0.0.255 (224.0.0/24) Local Network Control Block

となっています。つまり、Multicastを配送するための特定のプロトコルというより、Local Networkの運用のためのControlパケットのためのマルチキャストです。例えばブロードキャストもLANのネットワーク自体の運用のために活躍していますが(例えばicmp floodなど)、同様にマルチキャストもネットワーク自身の維持・運用に大変役立つことから、LANマネジメントのための特定のプロトコルのために224.0.0.0/24を割り当てていると言うことになります。例えばルーティングプロトコルであるOSPFや、冗長性のためのプロトコルであるVRRPなどが224.0.0.0/24の特定のアドレスを利用します。

で、肝心の224.0.0.24ですが、ちょっとこれは分かりませんでした。ドキュメントによってはOSPF Traffic Engineeringのための予約となっているのですが、別のドキュメントではNot Assignedとなっていたりして、実際に今どんなプロトコルがこのアドレスを利用しているかを追えませんでした。マルチキャスト視聴用のアプリケーションの起動と関係あるということだと、その時点で何らかのネットワークマネジメントの必要があるということかもしれませんが、実際はよく分かりませんでした。

ご質問にお答えできず大変心苦しいのですが、上記の情報だけでも何かのご参考になれば。

投稿日時 - 2005-08-14 23:02:47

補足

早速のご回答ありがとうございます。

Etherealで確認したところIGMP Membership requestとなっていました。
この辺りを調べてみます。

>ご質問にお答えできず大変心苦しいのですが、上記の情報だけでも何かのご参考になれば。

とんでもありません。大変勉強になります。
ありがとうございます。

投稿日時 - 2005-08-15 11:02:15

お礼

補足をしてしまいました。

改めてお礼申し上げます。
ありがとうございます。

投稿日時 - 2005-08-15 11:04:16

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(4)

マルチキャストについては、以下のドキュメント(プレゼンテーション)が大変参考になります。ビデオもありますので、一読(一見)することをお薦めします。

http://www.soi.wide.ad.jp/iw2000/iw2000_tut/slides/13/1.html

> 実際にパケットをキャプチャしてみて確認しましたが、配信先が239.x.x.x宛て(マルチキャストアドレス)にパケットを送信しています。見たい人はどうやってパケットを受信するのですか?

ユニキャストの場合、視聴を希望するホストはサーバにリクエストを行い、そのリクエストに応じてUDPなどの方式でサーバがホストにデータを届けます。その際、サーバからホストに向かうUDPパケットのソースアドレスはサーバのIPアドレス、デスティネーションアドレスはホストのIPアドレスとなります(まあ、当然ですね)。

マルチキャストの場合、デスティネーションアドレスは目的ホストを表す訳ではありません。一つのパケットが複数台の視聴希望ホストに届けられる訳ですので、デスティネーションは単一の視聴ホストに紐付くアドレスであってはならないのです。マルチキャストパケットのデスティネーションアドレスは別の用途に使われます。それがグループの指定です。
マルチキャストの視聴を希望するホストは、サーバから送られてきた様々なマルチキャストパケットのうち、自分が視聴したいデータのみをグループ(つまりディスティネーションアドレス)で識別します。視聴したくないグループのマルチキャストパケットは破棄します。ユニキャストではディスティネーションアドレスはパケットを何処に届けるかという意味を持ちますが、マルチキャストの場合は番組のチャンネル番号に相当すると言えるでしょう。

> グループ配信とか書いてありましたが、受信しなくない人にもパケットは送付されているようです。

マルチキャストと言っても、全く視聴希望ホストがいないネットワークにまで無差別にパケットを送り込んでいたら、世界中に伝搬したマルチキャストパケットでインターネットは飽和してしまうでしょう。あくまで、視聴希望ホストがいる(少なくとも一台は)ネットワークに対してのみ、マルチキャストパケットを届ける仕組みが必要と言うことになります。
そのようなネットワーク間のマルチキャスト配送は、マルチキャストのルーティングプロトコルによって解決されます。例えばDVMRP、PIMなどが代表的なマルチキャストルーティングプロトコルです。このようなプロトコルのおかげで、そもそも視聴希望ホストが一台もいないネットワークにはマルチキャストパケットは配送されません。

ではネットワークの中ではどうかというと、基本的にはネットワークセグメントの全てのホストにマルチキャストは配送されます。ブロードキャストと同じです。スイッチングハブによっては、どのポートの先に視聴希望ホストがいるかを見て、必要なポートにしかマルチキャストパケットを送らないスイッチもありますが、安いスイッチの場合はマルチキャストについては全ポートにフラッドするものが多いようですね。

> ブロードキャストと何が違うのでしょうか?

・閉じたセグメントの中でしか伝搬しないブロードキャストに対し、マルチキャストパケットはマルチキャストルーティングプロトコルによってネットワーク間でも伝搬されます。
・スイッチで必ず全ポートにフラッドされるブロードキャストに対し、マルチキャストパケットは、スイッチによっては必要なホストのみに送られるよう制御されます(スイッチによります)。
・全ホストに対し見境なく送られるだけのブロードキャストに対し、マルチキャストには視聴希望ホストからのリクエストを受け、視聴希望ホストの有無によりデータ送信を制御するプロトコル(例えばIGMP)が存在します。

> スイッチがブロードキャストを全ポートに送信するように、マルチキャストも全ポートに送信しているように思えます。ということは、受信したくない拠点でもマルチキャスト分の帯域は使用しているのでしょうか?

はい、全ポートフラッド型のスイッチの場合は、少なくともそのネットワークに一台でも視聴希望ホストがいる場合は、全ポートにパケットがフラッドされますので、その分帯域が使用されます。
マルチキャストパケットを視聴希望ホストのいるポートにしか送らないという制御の出来るスイッチの場合(IGMP snoopingやCGMPに対応したスイッチ)、視聴希望ホストのいないポートにはデータは送られず、帯域資源が無駄に食われることはありません。
そもそもそのネットワークに一台も視聴希望ホストがいない場合、PIMやDVMRPによってそのネットワークはマルチキャストパケット配送木から切断されるため、マルチキャストパケットは配送されません。

投稿日時 - 2005-08-09 23:58:30

お礼

ご回答ありがとうございます。

プレゼンテーション(ビデオ)を一見してみます。
一見後、またご質問することがあるかもしれませんがよろしくお願い致します。

あと、No1の方にもご質問しておりますが、
以下について、ご存知でしたらご教授願います。
ありがとうございました。

視聴側が視聴ツールを起動したときをパケットをキャプチャしたところ224.0.0.24へパケットを送信してます。
239.x.x.xとの関係はなんなのでしょうか?
(双方ともマルチキャストアドレスであることは認識しております)
ご存知でしたら、ご教授願います。

投稿日時 - 2005-08-14 22:28:40

ANo.2

スイッチではマルチキャストはブロードキャストと同じようにすべてのポートに送信されるようです。
それを制御するためにはsnooping(IGMP snooping)という機能を有効にして、
どのポートのクライアントが受信するかを調べられるようにする必要があるようです。

参考URL:http://www.n-study.com/network/multicast/

投稿日時 - 2005-08-09 23:34:09

お礼

ご回答ありがとうございます。

snoopingについて調べてします。
ありがとうございました。

投稿日時 - 2005-08-14 22:26:29

ANo.1

マルチキャストアドレスは、その受け入れ準備が出来ているコンピュータのみが受信し、それ以外のコンピュータには無視(破棄)されます。
ローカルセグメント内では一見ブロードキャスト同様に思えますが、ブロードキャストはセグメント内の全クライアントが一旦受け入れるのに対してマルチキャストは受け入れ体制が整っていない(つまり、ソフトウェア側でマルチキャストの受け入れ準備が行われていない)クライアントは受け入れません。
また、ブロードキャストは一般的に別セグメントへ送信されませんが、マルチキャストはDVMRP,MOSPF,PIM,CBT等のマルチキャスト専用ルーティングプロトコルによって別セグメントへも送信されます。(もちろん、ルータがマルチキャストルーティングを行わない設定になっていればルーティングされません)
ルータはまず、そのセグメント内にマルチキャストアドレスの受け入れを行っているクライアントがいないか確認します。
セグメント内でマルチキャスト受け入れに応答したクライアントが存在した場合のみ、そのセグメントへマルチキャストトラフィックが送信されます。

こんな説明で理解して頂けるかどうか自信がありませんが、マルチキャストについて詳しく知りたい場合、CCNPのBCMSN試験に関する参考書をご覧になる事をお勧めします。

投稿日時 - 2005-08-09 23:09:14

お礼

回答ありがとうございます。

マルチキャストは奥が深いですね^^;

>CCNPのBCMSN試験に関する参考書をご覧になる事をお勧めします。
探してみます。
ありがとうございました。

>マルチキャストは受け入れ体制
これはどういう状況をいうのでしょうか?たとえばマルチキャスト視聴ツール(?)を起動している状態ということですよね?

もう一点、視聴側が視聴ツールを起動したときをパケットをキャプチャしたところ224.0.0.24へパケットを送信してます。
239.x.x.xとの関係はなんなのでしょうか?
(双方ともマルチキャストアドレスであることは認識しております)
ご存知でしたら、ご教授願います。

投稿日時 - 2005-08-14 22:25:43

あなたにオススメの質問