ユーザ用ツール

サイト用ツール


サイドバー

目次

ホーム










.

knowledge:multicast.html


Top#ネットワークの基礎知識に戻る

1. 金融取引でも使われるUDPマルチキャストの基礎



一般的なルーティングで使われている通信の方法は、「ユニキャスト」です。1対1の通信です。
このページでは、金融取引などで使われる1つのデータを複数のグループに送信するために使われる「マルチキャスト」を説明したいと思います。



ユニキャストとブロードキャストとマルチキャスト

マルチキャストを理解する前に、マルチキャスト以外の通信方法も理解しましょう。

ユニキャスト 1対1 の 一般的な通信。
別のセグメントとも通信可能
ブロードキャスト 1対全部
同じセグメントのみ
マルチキャスト 1対グループ
別のセグメントとも通信可能


マルチキャストとは

  • 1つの送信元から、複数の宛先グループへ送る通信。
  • 送信者は1回の送信で、ネットワーク機器でコピーされて送られる。
  • ルーティングは全く関係ない
  • UDPで片方向通信。(TCPは1対1を想定しているため使えない)
  • 受信端末(Receiver)は、そのマルチキャストアドレスの受信をIGMPというプロトコルで、同セグメントのルータに要求
  • OSで管理するユニキャスト用のIPとは別に、マルチキャストを受信したいアプリケーションが個別にマルチキャストアドレスを持ちます。
  • ルータはPIM等のマルチキャストルーティングプロトコルで他のルータと情報を交換し、どこにマルチキャスト通信を届ければよいかを知る


マルチキャストが使われるシーン

  • 金融のレート情報配信
  • 動画一斉配信


マルチキャストのメリット・デメリット

メリット

  • 送信元の負荷が低い
  • 回線負荷が低い

デメリット

  • 片方向通信(ただし、マルチキャストグループへの参加などは、レシーバー側からの通信)


マルチキャストの用語

IGMP(Internet Group Management Protocol)

ホスト(マルチキャストレシーバ)がルータ(ラストホップルータ)に対して、マルチキャストグループへの参加、維持、離脱を通知するためのプロトコルです。
IGMPで、Receiverの存在を通知するマルチキャストグループへ参加します。

マルチキャストグループ
への参加
レシーバから、ルータ(ラストホップルータ)にマルチキャストグループへの参加を通知します。
(Joinメッセージ)
マルチキャストグループ
の維持
ルータが定期的にIGMPクエリーを送信することで、
マルチキャストレシーバの存在を確認します。
Ciscoルータでは、デフォルトで60秒ごとにIGMPクエリーを送信します。
マルチキャストグループ
からの脱退
レシーバがグループから脱退するとき、それをラストホップルータに通知する。
(IGMPリーブメッセージ)
IGMPv1
IGMPv2 2が使われる場合が多い。
IGMPv3 PIM-SSM (Sousrce Specific Multicast) ではバージョン3のみが利用可能。


IGMP Snooping(スヌーピング)

非受信クライアントに対する無駄なトラフィック転送を防ぐためのスイッチの機能

L2スイッチのデフォルト設定では、ブロードキャストフレーム同様にマルチキャストフレームを同一のセグメント上の全てのポートにフラッディングします。
IGMPスヌーピング機能を利用すると、ICMPのパケットをスヌーピング(のぞき見)して、
Receiverが存在するポートにのみパケットを転送するようになります。

ほとんどのcisco機器ではデフォルトで有効になってます。

CiscoでのICMPスヌーピング設定例

## 設定確認
show ip igmp snooping

## 既存のすべての VLAN インターフェイスで、IGMP スヌーピングをグローバルにイネーブルに
ip igmp snooping

## VLAN インターフェイス上で IGMP スヌーピングをイネーブルにします。
ip igmp snooping vlan 10  


IGMPスヌーピングクエリア

Membership Queryを送信する機器をクエリアと呼びます。
一般的に、マルチキャストルーティング出来るルーターがクエリアです。

ルーターの代わりに、スイッチがMembership Query(グループ参加の確認)を送信することもできます。

注意点
クエリアはサブネットに1つだけのため、他のMembership Queryを受信すると、自身は送信を停止する可能性があります。
IGMPスヌーピングクエリアは、センダーに一番近いスイッチだけ有効にする事をお薦めします。

参考:IGMPスヌーピングクエリア - ネットワーク入門サイト


PIM(Protocol Independent Multicast)

マルチキャストルーティングプロトコルの一種で、デファクトスタンダード
マルチキャストルーティングプロトコルにより、Receiverの存在するインターフェースを通知します。
バージョンは1,2があるが、2が使われる場合が多い。

PIMのモード

PIM-SM(静的RP)が使われることが多いです。

PIM-DM PIM-Dense Mode
PIM-SM(静的RP) sparse-mode
PIM-SM(動的RP)
PIM-SSM Sousrce Specific Multicast
受信者が送信者のアドレスを指定した上でマルチキャストグループに参加する
PIM-SMと同時動作が可能
IGMPv3が必要
PIM-bidir PIM-bidirectional Mode


RP(Rendezvous Point : ランデブーポイント)

マルチキャストの中心となる装置。
SenderはRPにマルチキャストを送信して、RPを経由してRecevierへ流れる。
マルチキャストのトラフィックを受信したいホストが接続されているルータはRPにその情報が登録されます

送信元からRPまでが送信元ツリー、RPからマルチキャストグループまでが共有ツリー

ランデブーポイントを設定するときはループバックインターフェースのアドレスを使用してダウンしないようにするか、ランデブーポイントを複数用意して冗長化してください。

RPは、なるべくSender の近傍にいると効率がよい。


その他マルチキャストの用語

Sender マルチキャストを送信するサーバ
Reciver ・受信クライアント
・受信クライアントで、マルチキャストグループに参加する。
・マルチキャストグループに参加したタイミングで、
 参加したマルチキャストグループに対応するMACアドレスが割り与えられる
マルチキャストグループ マルチキャストのトラフィックを受信するホストの集まり
マルチキャストIPアドレス 下記参照
マルチキャストMACアドレス 先頭の25ビットが決まっています。
「01-00-5E」になります。
FHR (First Hop Router)
ファーストホップルータ
送信元サーバの最寄りルータ
LHR (Last Hop Router)
ラストホップルータ
Receiverのセグメント上に接続されているルータ


マルチキャストIPアドレス

宛先IPアドレスとしては、クラスDの「224.0.0.0〜239.255.255.255」が使われる
ユニキャストのようなサブネットマスクの概念はない。

名前 アドレス範囲 説明
リンクローカル 224.0.0.0 ~ 224.0.0.255 同じサブネット上のみ有効
TTL=1
224.0.0.10 EIGRPルータで利用
224.0.0.18 VRRPルータで利用
224.0.0.5 OSPFルータで利用
など
グローバルスコープ 224.0.1.0 ~ 238.255.255.255 企業が、組織間やインターネットで使用するためのアドレス。
インターネット上で利用するアプリケーション
プライベートスコープ 239.0.0.0 ~ 239.255.255.255 企業が、組織内で使用するためのアドレス。
プライベートネットワークのみで利用


マルチキャストのための設定

マルチキャストのためにネットワーク機器でどのような設定が必要か理解しましょう。

L3機器(L3スイッチ、ルーター)

マルチキャストはブロードキャストと同様にデフォルトでは転送されません。
パケットを転送するすべてのインターフェースで、マルチキャストルーティングを有効にしてあげる必要があります。
マルチキャストルーティングプロトコルにより、Receiverの存在するインターフェースを通知します。

PIM-SMを有効化するのは、INとOUTの両方必要です。
IGMPを有効化するのは、クライアント側のみで大丈夫です。

[Receiver] -----VLAN 20 --- [ SW ] ----VLAN 10 ---- [Sender]

SWの設定では、
・VLAN 20のインターフェースでIGMP有効する
・VLAN 20とVLAN 10 のインターフェースで、PIM-SMを有効化する必要がある


L2機器(L2スイッチ)

L2スイッチでは、ブロードキャストと同様にデフォルトでフラッディングされます。
同じセグメントに送信者(Sender)と受信者(Reciver)がいれば、通信できます。
(受信者クライアントがマルチキャストグループに参加している必要あり)


L2スイッチ同士が接続している場合の問題

ディストリビューションツリー

マルチキャストパケットをルーティングする取り決めです。
ディストリビューションツリーで、マルチキャストを受信すべきインターフェースとマルチキャストを転送すべきインタフェースの情報が形成されます。

送信元ツリー(Souce Tree, SPT:Shortest Path Tree)

マルチキャストソースごとに個別のディストリビューションツリーを作成します。
マルチキャストソースがルート(根)となりレシーバまで達するパスを形成します。
マルチキャストトラフィックが最短パスでレシーバに配信されることから SPT(Shortest Path Tree)とも呼ばれます。

共有ツリー(Shared Tree, RP Tree)

特定のルータ(RP) を中心として、複数のマルチキャストソースで共通のディストリビューションツリーを作成します。

PIM-DMの場合

マルチキャストソースからのパケット配信が開始されると、マルチキャストソースを根源とした送信元ツリーが作成され、マルチキャストトラフィックはいったんネットワーク全体に配信(Flooding)されます。その後、レシーバが存在しないルータについてはツリーから離脱(Prune)する流れになります。

PIM-SMの場合

マルチキャストトラフィックは明示的に要求した特定のネットワークにのみ送信されます。
レシーバが存在するルータが RP に結合(Join)することで RP を根源とした共有ツリーが作成され、マルチキャストトラフィックがレシーバに配信されます。




マルチキャストアプリケーションのSenderとReceiverの例

Sender

送信元IP :  192.168.10.5
宛先マルチキャストアドレス : 239.1.1.5
ベースポート: 5004

SenderのNICが複数の場合

複数インターフェースがある機器の場合、出力インターフェースを指定しないと、意図していないインターフェースから出力されてしまう可能性があります。
特定のインターフェースを指定する場合には、インターフェースに設定されたIPアドレスを指定します。


Receiver

ホスト名 : receiver-1
受信サーバIP :  192.168.10.11
rtp://239.1.1.5
ホスト名 : receiver-2
受信サーバIP :  192.168.10.12
rtp://239.1.1.5

ReciverのNICが複数の場合

マルチキャストアドレスと利用するネットワークインターフェースを指定しなくてはなりません。







参考




knowledge


knowledge/multicast.html.txt · 最終更新: 2022/05/05 23:46 by kurihara

ページ用ツール