IPマルチキャスト
金融業界におけるIPマルチキャストの利用例として、株価ティッカーのようなアプリケーション、常時接続通話(hoot-n-holler)システムなどがある。
このようにIPマルチキャストはこれらの領域で一定の成功を収めたが、平均的なエンドユーザが利用できるサービスとして広く展開されているとは言えない。広く展開されない大きな理由は少なくとも2つあり、互いに関連している。
特に双方向通信においては、マルチキャストトラフィックの転送のために、高度に複雑化されたプロトコルが必要である。また、広くマルチキャストネットワークを展開するための運用上の懸念はいくつもある。例えば広く展開された実装が複雑であること、そして実装の複雑化に伴うサービス拒否攻撃などのリスクである。RFC 3170 (IP Multicast Applications: Challenges & Solutions)はマルチキャスト展開における問題の概観を示している。
IPマルチキャストは1986年に最初に標準化された。以降、その仕様はグループ管理と管理用アドレススコープを含めるために改訂された。
送信者(ソース)と受信者は、マルチキャストメッセージの送受信のためにIPマルチキャスト グループアドレスを用いる。送信者は、グループアドレスをデータパケットの宛先IPアドレスとする。受信者は、「当該グループアドレス宛て」に送信されたパケットの受信を希望することを通知するため、グループアドレスを使う。例として、データがグループ 239.1.1.1に関連づけられているとき、送信者はパケットを239.1.1.1宛てに送信する。このパケットは送信者の所属するネットワークのデフォルトゲートウェイルーターに到達し、受信者がマルチキャストグループに加入するまで他のルーターへは到達しない。当該データの受信者はグループ 239.1.1.1に送信されたデータパケットの受信を希望することを近傍のルーターへ所定のプロトコルで通知し、受信者が239.1.1.1のアドレスを有するマルチキャストグループに加入するきっかけを作る。マルチキャストグループへの加入を通知するためのプロトコルは、典型的にはInternet Group Management Protocol (IGMP)が用いられる。
qpimd - PIM Daemon for Quagga - Quagga Routing Suite用PIMモジュール。
GateD - マルチキャストを含むルーティングプロトコルのUNIXにおける実装。
PIM-DM code for GateD
NORM - アメリカ海軍研究所のNack-Oriented Reliable Multicast。C++のオープンソース実装も含まれている。
ecmh (Easy Cast du Multi Hub) - IPv6マルチキャストデーモン。 PIMを使わずにIPv6マルチキャストを利用できる。
MRD6 - IPv6マルチキャストルーティングデーモン。
UFTP - マルチキャストを利用したFTPで、暗号化UDPをベースにしている。
GStreamer - マルチキャストビデオストリーミングをサポートするマルチメディアフレームワーク。フリーソフトウェア。
0.2.255である。IPv6ではブロードキャストアドレスは実装されず、代わりに特に定義された「全ノードマルチキャストアドレス」へのマルチキャストが使われる。
マルチキャスト: マルチキャストアドレスは、データの受信を希望する受信者のグループに関連づけられる。IPv4では、アドレス224.0.0.0から239.255.255.255 (クラスフルネットワークにおけるClass Dアドレス)がマルチキャストアドレスとして指定されている。 IPv6では、ff00::/8で始まるアドレスブロックをマルチキャストアプリケーションのために予約している。どの場合でも、送信者が単一のデータグラムを、送信者のユニキャストアドレスからマルチキャストグループアドレスに宛てて送信し、経由するルータがデータグラムの複製と、それに対応するマルチキャストグループに所属する全ての受信者への送信を担当する。
エニーキャスト: エニーキャストは、1対多のルーティングトポロジである点がブロードキャストやマルチキャストと似ている。しかし、データストリームが全ての受信者に送信されるわけではなく、ルータがネットワークで「最も近い」と判断した相手にのみ送信される点が異なる。 エニーキャストはグローバルな負荷分散を図る上で便利であり、DNSの通信で広く使われる。