マルチキャスト
マルチキャストって実際に構築したことがないと
なかなかイメージがつかめないですよね。
まず、端末側には何をするのか?
サーバ側には何をするのか?
ルータには何をするのか?
識者のかた詳しく教えてください。
特に、マルチキャストアドレスがよくわかりません。
ひとつのアドレスでマルチキャストに参加している端末に
データが配信されると思いますが
このときのアドレスって通常はプライベートアドレスが振ってある端末に
どのようにして認識させるんでしょうか?>まず、端末側には何をするのか?
マルチキャストを使用するアプリケーションを入れましょう。
>サーバ側には何をするのか?
同上。
>ルータには何をするのか?
マルチキャストパケットをルーティングできるようにします。
マルチキャストルーティングプロトコル(長)は色々あるので、
#現時点ではデファクトスタンダードは存在しない(と思う)
その辺の勉強からした方が良いかと。
>ひとつのアドレスでマルチキャストに参加している端末に
>データが配信されると思いますが
正確に言うと
「"その"マルチキャストグループ(アドレス)に参加している端末」
です。
>このときのアドレスって通常はプライベートアドレスが振ってある端末に
>どのようにして認識させるんでしょうか?
プライベートかグローバルかは関係ありませんよ。
# ちょっと不正確。
ルーティング専門なので、上位層のことは良く知らない(^^;読み直すと、なんか感じ悪いですね(汗
そっけない回答は良く知らないからです(^^;
# 「同上。」 はねぇよなぁ・・・
ルーティングに関してはもうちょっと深く突っ込んでもらえると
知っている範囲で答えられると思います。NATとマルチキャストの関係についてはどうですか?>>4
うわ、いい質問。NAT とは相性悪いんだよね。
IP multicast じゃなくて RealAuido がやっているような
上位層な multicast だといいんだけど。
とっとと v6 な世界になって NAT を撃滅しないことにはなぁ。マルチキャストも通してくれるようなNATの実装はないんでしょうか.
>>6
NAT しているところでマルチキャストルーティングすれば良いだけじゃないの?
# それとも別のマルチキャストアドレスにNAT しているということなのだろうか? マルチキャストの実際の構築例はおおいんですか?
概念先行のおためし規格という感じしかないだけど...実際に動いてるのってあるんでしょうか??
XCASTとかのほうが有望なのでは?>>8
社内とか大学内だったら事例はありますね
Internet経由とかは、まだ実験レベルみたいだけど PIMでDMしてるひといます?
みなさんSMですか? 実はアレってかなり貴重な体験だったのか。見てるだけだったのはもったいなかったかな.. >>7
マルチキャストフォワーディングキャッシュはソースIPアドレスを持つから、それが #書いてる途中で間違えて書き込みボタン押してしまった、、、スマソ
マルチキャストルーティングはソースIPを見て転送先のインタフェースを決めるから、そこがNATと相性悪いのかな? XCASTってなに?
普通のマルチキャスト(IP層でやってる)と何が違うの? インターネット全体にわたってマルチキャストIPで巨大なストリームを流しつづけるとかはほんとにできるのか疑問だと思う。
帯域とか不均一すぎるような気が。
Forward Correction とかやったり、TCP みたくエラー訂正やるとしても。あ、後者の場合は NAK をまとめるのは必須として。 >20
eaccess内部ネットワークで誰かのライブ流してたよね。台湾か香港あたりの。
あのへんが現実なのかな。 すみません、質問なんですけれど、
クライアント側でバッファの設定の数値を高くすれば、
切断されにくくなるのでしょうか?
WindowsMediaエンコーダで配信している音楽を
WindowsMediaプレーヤーで受信しているのですが、
たまに、切断されてしまうことがあるのですが・・。
ADSL⇔ADSLにて32Kbpsで送受信しあっています。
バッファリングで音楽が止まることは2,3時間に一回あるくらいなのですが、
たまに接続自体が切れてしまっていることがあります。
「切断」をできるだけなくしたいのですが、
なにか良い方法はありませんでしょうか? >>19
XCASTは標準のグループIPアドレス指定型のマルチキャストではなくて、
メンバーのIPアドレスをすべてパケットに列挙する方式。
/⌒ヽ /⌒ヽ
/ ヽ / ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄
| | | | < >>1の母です
| | | i⌒i.__.| \_______
| | (_`○´__)
| V L人__!ヽ
/ \ / ̄ヽ / ̄\
/ ヽ | | | |
| | | | | i⌒i.__|
| ● ● | | |__(_`○´__) / ̄ ̄ ̄ ̄ ̄ ̄ ̄
ヽ / / L人__i, < >>1の妹です
\ × / ./ ヽ \_______
-、、,,,,,___,,,,,、、- | ● ● |
/::/::::`ー―'o`ー―':;:ゝ、 '、 × /
(__ン:::::::::::::::::::::::::::::::::::::::ヽ__) >┬―‐,、―‐┬<
/::::::::::::::::::::::::::::::::::::::::::::::ヽ (_ヽ/` ̄´ o゚ ̄^ヽ/_)
/:::::::::::::::::::::::::::::::::::::::::::::::::::::\ /:::::::::::::::::::::::::::::ヽ ∩∩
/~`〜〜〜〜〜〜〜〜〜〜'~\ /:::::::::::::::::::::::::::::::::::ヽ (・x・) ミナミハルヲデゴザイマチュ
`ー、_,、_,、_,、_,、_,、_,;--'~´ く~'~"~~~~"~~"~'~'~~,ゝ /;;゜;Y゜
~~"~'~~"'~~~'~'"~~" ~~~~
Multicast なネットワークの運用経験を積みたいのですが、
mbone-jp って企業や個人でも接続できるものなんでしょうか? >>30
全拠点にトラフィックは流れ、カスタマのルータやL3スイッチで
LAN側に通るか通らないか決定される。
全拠点の帯域消費は避けられない。 >>31
配信元が中央だけの論理的にはHUB & Spoke構成だったら
ひたすら中央から拠点間にGREトンネルを掘るという手もある。
素人にはおすすめできないが。 LAN 内想定でマルチキャスト使ったアプリケーション作ってみてるんだが、
マルチキャストのグループって適当に決めちゃって良いのかな?
それと、パケットがルーター超せるかどうかはルーターの設定しだいで変え
られる (つまりアプリケーションの作りや設定と無関係) と考えててオケ? http://www.bbcable.tv/
これってマルチキャスト使っているモデルだろ?
日経コミュニケーションでは、Y!BBのインフラすべてに120Mbpsほどの
マルチキャストのトラフィックがかかると書いてあったが。
昔のバックボーンであれば120Mbpsって大変かもしれないが
現状でいうとむしろ、たったそれくらいで配信できるのかという認識。
これから流行るんじゃないかな。 UPnPルーターを発見しようと思ってマルチキャストを送信しようと思ってるんですが、
ソケットオプションの設定に失敗してしまいます。が、失敗を無視して送信すると
なんとなくマルチキャスト送信できてるっぽい・・・。
ソケットオプションの設定って必須ではないのでしょうか?
ちゃんとこのようなパケットが飛んでいますか?
M-SEARCH * HTTP/1.1
HOST: 239.255.255.250:1900
MAN: "ssdp:discover"
MX: 3
ST: urn:schemas-upnp-org:service:WANIPConnection:1 >>41
そのようなパケットを送信しています。
マルチキャスト送信を行う場合は、送信先のIPアドレス・ポートにマルチキャスト用のを指定して
送ると勝手にマルチキャストってことになるのでしょうか?(たとえば、239.255.255.250:1900)
あと、マルチキャストをサポートするイーサネットドライバを作ろうとした場合は、
送信する場合はマルチキャストかユニキャストか特に意識する必要はなく、
マルチキャストを受信する場合の処理だけを組み込めばいいのでしょうか?
ブロードキャストマルチキャストの違いを教えてください >>42
例えばこんな感じの流れ
s = socket(AF_INET, SOCK_DGRAM, 0)
setsockopt(s, IPPROTO_IP, IP_MULTICAST_LOOP, &loop, 1)
setsockopt(s, IPPROTO_IP, IP_MULTICAST_TTL, &ttl, 1)
setsockopt(s, IPPROTO_IP, IP_MULTICAST_IF, &ifaddr, sizeof(ifaddr))
connect(s, (struct sockaddr *)&sa, sizeof(sa))
send(s, buf, len, 0) >43
broadcast=そのセグメントでの同報パケット(全端末へ問い合わせ)
malticast=そのマルチキャストアドレスグループへの通信
<<マルチキャストの仕組み(▼▼メ){細かいとこはつっこみなしで>>
[条件]IPテレビ放送用サーバソフトの1CH=>[239.255.255.250]とする
クライアント192.168.0.2の受信ソフトが1CHを選ぶとPCから
IGMPメンバーシップリポートを出す。マルチキャストルータやSWは
それを受け取り192.168.0.2が、239.255.255.250のグループに
参加したことを登録する。マルチキャストルータ間はPIM-DMなどの
ルーティングプロトコルで、どのルータ配下に239.255.255.250の
グループ参加者がいるかを知っている。IPテレビ放送用サーバソフト
が宛先239.255.255.250(1CHのH番組)のマルチキャストパケットを
配信するとマルチキャストルータは受け取り、上記仕組みによりネット
ワーク全体のマルチキャストアドレスグループ参加者への配信を可能
とする。
なお同一スイッチ内ではマルチキャストパケットであっても一般的に
IGMPSnooping機能により、グループ参加者がいる物理ポートにしか
配信しない仕組みになっている。
あくまでも一例です。。PIM-DMしかしらないし
>>50
IGMP Snooping機能を提供していないスイッチでは
実質ブロードキャストですね・・・。 スイッチ側でみると動作は同じ(全ポートに出力)と思われますが、
受ける方(PC)は、ブロードキャストは全端末対象で自分への問い合わせか
受け取って分析せねばならないパケットであり、
マルチキャスト機能?を動作してない端末とか参加マルチキャストグループ
以外パケットの場合は無視。。。
PC側はBroadcastのほうが若干負荷がかかるのではないでしょうか(根拠無御免)
蛇足マルチキャストをしらないバカスイッチやバカHUBも数年前にありました(笑)
MACアドレスが「FFFFFFFFFFFF]の場合のみ全ポートへ出力する仕様だそうで、、
>>45
Xcast対応のルータをISPが持つ事はないでしょうね。
仲間内とか、社内システムとかでは使う事もあるかもね。 >>53
なんで?
ネットワークリソースの有効活用とサーバの負荷低減など利点が大きいのに。
これだけインターネットが普及したらマルチキャストで放送ってのもそんな
未来の話じゃないんなない? >50
PIM-DMやDVMRPなら逆かな、と。
マルチキャストのルーティングプロトコルって、送信元情報を持つんです
よね。
この場合、ルータ達はどのルータの配下にどんなマルチキャスト参加者
(配信サーバ)がいるのかを知っている。
受信したいクライアントはIGMPでグループ参加要求をあげると、それを
受け取ったルータは、送信元の方向(情報を受け取るはずのポート)に
「このグループの情報くれ!」と要求する。
「情報くれ!」を受け取ったルータも、自分の知っている送信元に「くれ!」
と言うことを繰り返す。
やがてマルチキャストデータを受けているルータにたどり着くと、「OK」と了解
して、「くれ!」と言われた方向に転送を始める。
こんな感じで合ってるでしょうか。
ちょっと不安なので間違っていたら指摘お願いします。
>>55
プロトコルによっても違うが、そんなに大変な事はしていないよ。
どのプロトコルも送信者と受信者の方向しか管理していません。 >54
どうですかね。
個人的には現在のマルチキャストプロトコルはMBONEの設計思想を引きずっているので、本質的にはやはり通信コストが高いところで、利用されることを前提としていると思うのですが?
でもそのために、クライアント側のソフトウェアの負担は結構多いし、配信のためのトポロジーとしてツリー構造しか使えないなどの制限がありますからね。
今は基幹網のトポロジーはリング(RPR)やメッシュなども可能だし、帯域は十分ありすぎるくらいだし、QoSサポートなどができないのでIPマルチキャストというプロトコルにこだわるのは???と思います。
個人的にはJ*****R社の提唱しているVPLSのファンなので、頑張ってほしい。ただC社を筆頭に反J*****R連合を作ったので気になりますね。 >56
ありがとうございます。ルーティングプロトコルとルータの動作が混同してました。
ルータの動作としては>55 でいいですよね? >55 意味がわからん
IGMPでクライアント「くれ!」ってのは何なのか?
クライアントもサーバも上位mcastルータに対し単にグループに参加(Join)するだけだと思う。
<PIM-DMマルチキャストルータ>
・マルチキャストルーティングテーブル(★マルチキャストグループアドレス vs 参加者IPアドレス)を管理
・IPルーティングテーブルを管理
マルチキャストパケットが流れ出す契機は、サーバが該当マルチキャストグループアドレスのパケットを
配信すれば上位Mcastルータは上記★を見れば参加者IPアドレスがわかるので、
IPルーティングテーブルを見て必要な方向へマルチキャストパケットを転送するだけ..
クライアントが要求するのはもっと上位の放送アプリ(HTTPによるTVスイッチON)とかでの
話かと思う。(ciscoIP-TV)などでは。。。
PIM-DMは、ルータ間で★をアナウンス交換するものだったと記憶
>59
読み返してみると、確かにわかんない文でした。すみません。
たぶん、50と同じことを言ってます。
>受信したいクライアントはIGMPでグループ参加要求を・・・
はIGMP Report
>受け取ったルータは、・・・くれ!」と要求する。
は隣のルータにGraft
>、「くれ!」と言われた方向に転送を始める。
はPrune→Forward
というつもりでした。 本では分からなかったのでご存知の方いたら教えていただきたいのですが、
joinとgraftってメッセージの中身は違うんでしょうか。
PIM-joinとPIM-graftを使う場合の説明はいくつかあるんですが、動作は同じ
ように思えます。
用法はあるけど詳細まで解説したものは見つけられませんでした。
手元に実機でもあればいいんですが、残念ながら確認できません。
名前が違うだけなのかな。
「くれ!」というのは、
IGMPやPIMに関係ないのでは?と言いたかったのですが。。。
サーバの本意でマルチキャストパケットを送信開始するか、
クライアントがアプリケーションレベルで転送要求をサーバへ投げるのであって
マルチキャスト配送ツリーの形成を維持するために、join(参加)やPrune(刈込み)や
Graft(再接続)でルータ間の交換を行うだけ。。。
<参考>日立さんの解説書 Vol.1
http://www.hitachi.co.jp/Prod/comp/network/gr2000/manual/html_c/kaisetsu/0257.htm
イメージ、どうでしょうか?
>>57
>クライアント側のソフトウェアの負担は結構多いし
そんなことは全くありません。
ルータにチャンネル参加要求したら、垂れ流されるUDPパケットを受け取るだけです。
IGMPもたいしたことしてないし…
>配信のためのトポロジーとしてツリー構造しか使えないなどの制限がありますからね。
リングやメッシュでも大丈夫のはずです。
PIM-DMだと効率が悪くなりますがPIM-SM(SSM)だと問題ないはずです。
何よりもインターネット放送で1万人にサービスする場合、ユニキャストだと送信サーバは、
1万本のセッションを接続しなければなりませんが、マルチキャストは1本でよいです。
(ユニキャスト放送見たことあるけど、サーバ過負荷でぶちぶち切れていました)
サーバリソースや遅延の問題も一気に解消すると思います。
ただしVODには向いていませんが。 マルチキャストを通さない網を通す時、
Cisco対向でGREトンネルを張ってPIMと言う
解があると思いますが、この場合のPIMは
PIM-SMとPIM-DMのどちらも可能ということでしょうか?
テストした範囲だと、PIM-DMでは正常に
マルチキャストパケットが通るのですが、
PIM-SMではRP情報が正常に伝わらないため
当然マルチキャストパケットが通りません。
IOSは12.3、12.2T。12.2Sと3種類くらい試したのですが
だめでした。
[まとめ]
GRE上でPIM-SMが動くかどうか教えてください>偉い人 具体的に、マルチキャストでファイル転送をする仕組み/ツール/Suiteって何かありますか?
DVMRPでもPIMでも方法は問わないです。 質問なんですが、データ(動画や各種データ)を送信して
マルチキャストとユニキャストでの違いを実験してみようと思っているんですが、
何かお勧めのツールやソフトはありませんか?
ちなみにHelix Serverを初めは使ってみましたが、バグかどうか分かりませんが
webページが開けなくなり実験続行不可能に(設定等の問題かもしれませんが・・・
次に使ってみたのは
・Session Directory(SDR):セッション管理
・Robust Audio Tool(RAT):音声転送
・Videoconferencing Tool(VIC):ビデオ転送
ですが、知人に
「これはユニキャストは使えないっぽい」
って言われて八方塞です。
その道に詳しい方。または、上記に上げたツールの使い方に詳しい方。
情報お願いします。 >> 65
Digital Fountainとか、TibcoのPGMあたりかな。
>> 57
リングなんかはむしろMulticast向きなんじゃない?DPT(RPR)みたいなやつ。
帯域もアクセスラインは余裕があるけど、コアは別に有り余ってる訳
じゃないよね?それにサーバーの負荷は結構クリティカルだと思うんだけどね。
まあ、だからってそう通信事業者のコンシューマサービスでMulticastが
普及するとは俺も思ってないんだけどね。 >>69
目的からいって、Windows Media で間に合うように思える。
Windows MediaはUnicast,multicastのどちらもたいおうしている。
Windows 2000 か 2003 serverがあれば無償で使えるよ。
http://www.microsoft.com/japan/windows/windowsmedia/default.aspx
>>71
OS書き忘れていました・・・。
WinxpProです。
情報ありがとうございます。
色々いじって頑張ってみます。
また何かありましたらよろしくお願いします。