socket通信、マルチキャストについて

このQ&Aのポイント
  • socket通信の勉強中です。マルチキャスト通信を試していますが、マルチキャストのアドレスについて疑問があります。
  • イントラネットでの利用が前提なのか、インターネット上でも利用できるのかについて知りたいです。
  • マルチキャストの使用例を見る限り、インターネットでも利用できる可能性があります。アドレスの決め方についても知りたいです。
回答を見る
  • ベストアンサー

socket通信、マルチキャストについて

socket通信の勉強中です。 http://www.katto.comm.waseda.ac.jp/~katto/Class/GazoTokuron/code/multicast.html 上記のサイトを参考に、マルチキャスト通信を試しています。 LAN内では、正常に通信できています。 ここで疑問なんですが、マルチキャストのアドレスは、 適当に決めてしまっていますが(224.1.1.1で試しています) これはイントラネットでの利用が前提なのでしょうか? それとも、インターネット上でも利用できるのでしょうか? 勝手に決めたアドレスでは、重複する可能性があると思うのですが・・・ しかし、マルチキャストの使用例として、インターネット会議や、 インターネット放送が挙げられているところを見ると、 インターネットでも利用できそうな印象を受けます。 利用できる場合、アドレスをどのように決めているのでしょうか? ご存知の方いらっしゃいましたら、よろしくお願いします。

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

  • ベストアンサー
回答No.1

手元の資料によれば、 プライベートアドレスのように使える、マルチキャストアドレスは 239.192.0.0 ~ 239.195.255.255 組織内 239.255.0.0 ~ 239.255.255.255 最小サブネット(ルータを介さない通信範囲、同一セグメント内) です。 尚、ルータを介して、マルチキャストを行うのは、かなり、めんどくさいとのことです。 ちなみにインターネットで使うためには、IANAからマルチキャスト用のアドレスを取得しなければならないようです。

venzou
質問者

お礼

回答ありがとうございます。 やっぱりインターネット上で使う場合は、 管理している団体があるのですね。 教えて頂いた、IANAを検索した所、 予約アドレスの一覧らしき物を見つけることが出来ました。 http://www.iana.org/assignments/multicast-addresses 英語は苦手なので、内容はよく分かりませんが・・・(^^; 何れにせよ、個人で気軽に使える感じではないみたいですね。 貴重な情報ありがとうございました。

関連するQ&A

  • マルチキャストアドレスについて教えて下さい。

    マルチキャストアドレスについて教えて下さい。 マルチキャストアドレスって重複しないのでしょうか? マルチキャストアドレスは、クラスDを使用する。とありますが、 例えば 世界中の人が一斉に動画配信をした場合、^マルチキャストアドレスは、重複してしまうのではないでしょうか?

  • マルチキャストの使い方

    こんにちは。りょうと申します。 よろしくお願いします。 今、マルチキャストについていろいろ情報を集めているのですが、なかなか集まらず、根本的なところからわからなくて困っています。 まずわからないことその(1) 世の中にはマルチキャストアドレスというものがありますが(クラスD:224.0.0.0~239.255.255.255 )これっていわゆるグローバルIPアドレス、プライベートIPアドレスという概念はあるのでしょうか?まただれが管理しているのでしょうか?やはりどっかに申請してアドレスを取得し、全世界に唯一という形で使用するのでしょうか?(いろいろなWebページをみましたがどうもそんな感じはしないのですが・・・) その(2) (1)と関連するのですが、マルチキャストネットワークをプライベート網を使って設計するときに使用できるアドレスってあるのですか? その(3)インターネットを介してマルチキャスト配信をやっているところはまだ少ないのかと思いますが、プロバイダ等がお金を取ってブロードバンドTVのような形でマルチキャスト放送を提供しているのは多くなってきていうように思いますが、どうもアドレス(チャネル)設計はそのプロバイダごとに自由にやっているように思われます。ということはやはりマルチキャストアドレスというのは勝手に割り振ってつかっていいのですかね?でもそれをインターネットの世界でやってしまうとどうにもこうにもならなくなってしまうと思うのですが・・。 この辺の情報、しくみ、参考ページ等を教えていただければと思いますのでなにとぞよろしくお願いします。

  • マルチキャストってどうやって使うのですか?

    IPマルチキャストについて調べていまして、いくつかのサイトをまわった結果 IPマルチキャストは複数のホスト(特定のグループ)に向けた通信であるということは分かりました。 しかし、IPマルチキャストの具体的な使い方(設定?の仕方)が よく分かりません。 ビデオオンデマンドや音声データの配信などに使われるそうですが 具体的に何をどうしているのでしょうか? 一つのサブネット内で2つのホストが同じIPアドレスを使用することはできませんが マルチキャスト用に予約されたIPアドレス(224.0.0.0~239.255.255.255)なら 2つ以上のホストが同一のIPアドレスを使用できるということでしょうか? ※ なんか全然違う気がするのですが‥) それともハブかルータか何かにマルチキャストグループとやらを登録するのですか? ※ 224.0.10.1のグループは192.168.1.1と192.168.1.2を設定みたいな どなたか手解きのほどよろしくお願いします。

  • マルチキャストについて

    マルチキャストって最近、TV会議システムとかで使われてますが、いまいちよく理解できません。 まず、マルチキャストってグループ配信とか言われてますがどういうことですか? 実際にパケットをキャプチャしてみて確認しましたが、配信先が239.x.x.x宛て(マルチキャストアドレス)にパケットを送信しています。見たい人はどうやってパケットを受信するのですか?グループ配信とか書いてありましたが、受信しなくない人にもパケットは送付されているようです。(パケットをキャプチャして確認しました)ってことは、ブロードキャストと何が違うのでしょうか? NICが受け取るまでは一緒で、その上の処理が違うということでしょうか? スイッチがブロードキャストを全ポートに送信するように、マルチキャストも全ポートに送信しているように思えます。ということは、受信したくない拠点でもマルチキャスト分の帯域は使用しているのでしょうか? うまく説明できなくて申し訳ありませんが、マルチキャストについてお詳しい方、ご教授願えないでしょうか。 よろしくお願い致します。

  • IPマルチキャストについての質問

    マルチキャストアドレスで送信先を絞り込む為には、 ポート番号か何かの識別子が利用されているのでしょうか? IPマルチキャストを実施しますと、 同じネットワークアドレスのセグメントに所属している全ノード・ホストへと『マルチキャストアドレス』宛てのパケット群が届くのではないか、 と私には思われますので、学習の進展が此処で行き詰まっていますから、 もし支障が御座いませんでしたら、教えて下さいませ。

  • マルチキャストとは

    ある通信機器(IPアドレスを持てるもの)をLAN経由で一括管理したいのですが、出荷時にIPアドレスの設定がされていなかったものや、中古で前のアドレス設定が残っているものが混在しています。 マルチキャストという手法で、ひとまずそれらの機器のリストを作る方法があると聞きましたが、それはどういう仕組みなのでしょうか。 理論や実装方法の概要がわかれば、それを使った監視プログラムを外注で作ってもらえるのですが、簡単なことは何を読めば書いているのでしょうか。

  • rubyでマルチキャスト受信するには

    WinXP、ruby1.8.6環境で、マルチキャスト受信するプログラムを作ろうと思い、Webの情報を探して以下のようにしてみました。 require "socket" require "ipaddr" s = UDPSocket.open() s.bind("0.0.0.0", 10000) mreq = IPAddr.new("X.X.X.X").hton + IPAddr.new("0.0.0.0").hton s.setsockopt(Socket::IPPROTO_IP, Socket::IP_ADD_MEMBERSHIP, mreq) p s.recv(65535) s.close X.X.X.Xはマルチキャストアドレスです。しかし、これを実行すると、「uninitialized constant Socket::IP_ADD_MEMBERSHIP (NameError)」となってしまい、実行できません。 なにか設定が必要なのでしょうか。

  • UDPのマルチキャストについて。

    趣味でネットワークゲームを作成しているのですが、質問があります。 リアルタイム性が強く比較的失われても構わない情報をUDP通信にてLinuxサーバーから複数のクライントに送信しています。 今回、このようなケースの場合マルチキャストを利用するとネットワーク負担が減るのではないか?と考えました。 そこで調べてみたのですが、サンプルがどれも同一ネットワーク内のものばかりです。 動画配信などで利用されているという記事を見たのでできると考えているのですが、実際問題どうなのでしょうか? またルーターを超える場合はルーターが対応していなければならないと知りました。 知りたい内容は以下です。 ・一般家庭にあるルーターはマルチキャストに対応しているのかどうか? ・そもそものマルチキャストの考え方はあっているのか? ・もし対応していないルーターがあった場合このようなシステムを利用しているプログラムはどうしているのか? 用語を知ったばかりで的を外れた質問をしていたらすいません。 自分でも調べてみますが、参考URLや用語などをいただけると大変助かります。 よろしくお願いいたします。

  • winsockについて

    http://www.katto.comm.waseda.ac.jp/~katto/Class/GazoTokuron/code/socket.html こちらのTCPのサンプルを使ってみたのですがうまくいきません。 クライアントを実行しても、サーバにメッセージが表示されません。 クライアントの dstAddr.sin_addr.s_addr にサーバのグローバルIPを指定したのですが、それであっていいますか?

  • マルチキャストアプリケーションをJavaで作成

    課題でUDPソケットを使って、 マルチキャストアプリケーションをJavaで作成するのですが、何からはじめればよいのかわかりません。 条件は次のとおりです。 プログラムがスタートしたら、グループの参加者をつなぐ。 ユーザーはメッセージを記入してそのメッセージをグループの参加者全員に配る(自分も含め)。 メッセージを受け取ったそれぞれの参加者はそのメッセージをディスプレイする。 UDPソケットを使う。 下記の4個のメッセージを使う GUIは何を使っても良い 1. “HELLO username” アプリはgroup IP multicast addressとportに自分がグループのメンバーであることをほかの全部の参加者にしらせるために周期的にこのメッセージを送る。このメッセージはリライアブルではない。 2. “LEAVE username” 参加者がチャットセッションから離れることを示す。このメッセージはreliableではない. 3. “HI username seq-number message” seq-numberでは新しいメッセージは番号がふえていき、messageはマルチキャストセッションの参加者の一人である受信者へ送信者から送られる文章である。 4. “YES seq-number” seq-numberは HI messageの番号である。このメッセージは上のHI messageを付随するsequence numberと一緒に受け取ったことを知らせるacknowledgementの役割をする。 付随するHI messageのsource IP address and portに送られる。 YESはHI messageのreliable delivery を実行するために使われる 1と2は1人対全員でreliable である必要はないが、3と4は1対1のメッセージのやり取りであるためtimeout, retransmissions, acknowledgments (“YES message”)を使ってこのメッセージをreliable に届けるようにしなければならない。 このようなプログラムを作るにあたって何から初めて、何をどのようにすればよいのか手順を教えてください。ヒントでもよいのでよろしくお願いします。

専門家に質問してみよう