【初心者わかりやすく】マルチキャストをスッキリ理解する第1歩

 

マルチキャストは、1台の配信サーバから複数の受信端末へ、同じデータをまとめて届ける「1対多」の通信です。はじめて聞くと、マルチキャストアドレスが通常の IP アドレスと何が違うのか、わかりにくいかもしれません。この記事では、マルチキャストを「テレビのチャンネル」にたとえて、考え方の第1歩をつかみます。

この記事でわかること
  1. ユニキャストと比べて、マルチキャストでは配信サーバやネットワークの負担が減ること
  2. マルチキャストアドレスは、1台の機器ではなく「チャンネル番号」を表すこと
  3. 見たい端末の要求が、IGMP と PIM で配信サーバの方向へ伝わる流れ

マルチキャストとは

マルチキャストのトラフィックは、機器どうしの1対多の通信です。受信端末が複数あっても、配信サーバは1つのビデオ動画(下の図では 10Mbps)を1つだけ送ります。ルータの間では、必要なリンクにだけ動画が1つずつ流れ、枝分かれする地点(下の図では R2)でルータがコピーします。最後のルータのセグメントでは、その動画を見たい端末だけが受け取り、それ以外の端末は破棄します。

10Mbps R2 で分かれる R1 R2 R3 R4 R5 配信サーバ 受信 破棄 受信 受信
図1 マルチキャストでは、配信サーバが送る動画は1つだけ

もしユニキャストで同じことをすると、配信サーバは受信者の数だけ同じ動画を送らなければいけません。受信者が3台なら 10Mbps × 3 = 30Mbps です。受信者が増えるほど、配信サーバとネットワークの負担が大きくなります。

10Mbps × 3 = 30Mbps R1 R2 R3 R4 R5 配信サーバ 受信 不要 受信 受信
図2 ユニキャストでは、受信者の数だけ同じ動画を送る

マルチキャストの考え方

マルチキャストアドレス

マルチキャストの通信では、宛先にマルチキャストアドレスを使います。IPv4 では、クラス D のアドレス空間 224.0.0.0/4(224.0.0.0〜239.255.255.255)がマルチキャストアドレスです。例えば、配信サーバはマルチキャストアドレス 239.1.1.1 宛てにビデオ動画を送り、受信端末は 239.1.1.1 宛ての通信が来たら受け取ります。

マルチキャストアドレスは「チャンネル番号」

192.168.1.1/24 のような通常の IP アドレスは、1台の機器(のインターフェース)を表します。マルチキャストアドレスも IP アドレスの一種ですが、1台の機器ではなく、「このデータを受け取りたい機器のグループ」を表します。そのため、通常の IP アドレスとは扱いが違います。

項目通常の IP アドレス
(ユニキャスト)
マルチキャストアドレス
表すもの1台の機器受信したい機器のグループ
端末への設定インターフェースに設定するインターフェースのアドレスとしては設定しない
送信元アドレスなるならない(宛先にだけ使う)
サブネットマスク・ブロードキャストアドレスあるない

イメージをつかむには、テレビのチャンネル番号を思い浮かべるとわかりやすいです。例えば関東では、日本テレビは4チャンネル、フジテレビは8チャンネル、というように、番号はどの番組を見るかを選ぶためのものです。マルチキャストアドレス 239.1.1.1 での配信なら、「239.1.1.1 チャンネル」だと思ってください。

配信サーバ 239.1.1.1 宛て 239.1.1.1 = チャンネル番号 見たい端末 見たい端末 1台の機器ではなく「グループ」を表す宛先 端末自身のアドレスにはならず、送信元にも使わない
図3 マルチキャストアドレスはチャンネル番号のようなもの

ではなぜ、チャンネル番号に IP アドレスの形を使うのでしょうか。マルチキャストのデータも IP パケットとしてルータを経由して届けるので、宛先が IP アドレスの形をしていれば、ルータは通常の IP パケットと同じように宛先を読み取って転送できるからです。

見たいチャンネルが届くまで

配信サーバが、4チャンネル(239.1.1.1)で動画を流している場合を考えます。

まだ誰も見ていない

4チャンネルを見たい端末は、まだ1台もありません。このときは、ルータは動画を先へ流しません。

239.1.1.1 受信したい端末がいないので、ここで止まる 配信サーバ R1 R2 R3 R4
図4 見たい端末がいないので、動画は先へ流れない

見たい端末が要求する

ここで、1台の端末が4チャンネルを見たくなったとします。テレビならリモコンで4チャンネルのボタンを押すところです。端末は、一番近いルータ(R4)に「4チャンネルを配信してください」と要求します。

要求を受けた R4 には、まだ4チャンネルの動画が流れてきていません。そこで R4 は、配信サーバの方向にある R3 へ「4チャンネルを配信してください」と要求します。同じように、要求は R3 から R2、R2 から R1 へと、配信サーバの方向へ順に伝わります。

このとき、端末からルータへの要求には IGMP、ルータどうしの要求には PIM というプロトコルを使います。

239.1.1.1 IGMP PIM(ルータどうしの要求) 「239.1.1.1 を配信してください」を配信サーバの方向へ伝える 配信サーバ R1 R2 R3 R4 見たい端末
図5 端末からは IGMP、ルータどうしは PIM で要求が伝わる

動画が届く

要求が R1 まで届くと、R1 には4チャンネルの動画が流れてきているので、R1 はそれを R2 へ転送します。同じように R3、R4 へと転送され、最後に要求した端末まで届きます。

239.1.1.1 の動画 配信サーバ R1 R2 R3 R4 見たい端末
図6 要求をたどって、動画が端末まで届く

このように、ルータを経由してマルチキャストを流すことを、マルチキャストルーティングといいます。

配信サーバの場所がわからないとき

ここでは、ルータが配信サーバの方向を知っている前提で説明しました。実際には、どの配信サーバが流しているのかがわからない場合もあります。そのときは、まず「ランデブーポイント(RP)」という待ち合わせ場所のルータへ要求を送り、配信サーバのアドレスがわかったあとで、配信サーバの方向へ改めて要求する方法(PIM-SM)を使います。

まとめ

項目内容
マルチキャスト1対多の通信。配信サーバは受信者の数に関係なく、データを1つだけ送る
マルチキャストアドレス224.0.0.0/4。1台の機器ではなく、グループ(チャンネル番号)を表す。宛先にだけ使う
IGMP端末が一番近いルータに、受信したいグループを伝える
PIMルータどうしで、配信サーバの方向へ要求を伝える

マルチキャストの通信では、イーサネットヘッダの宛先 MAC アドレスも、マルチキャストアドレスから決まった規則で作ります。これは次の記事で説明しています。

>> 参考:【マルチキャスト】MACアドレスへのマッピング

コメント