今回は通信の流れとしてユニキャスト、ブロードキャスト、マルチキャストについて書きたいと思います。iphone、Windowsノートパソコン等の複数のデバイスに向けてノートパソコンからのデータストリームを受信することが可能です。一つのデータストリームをネットワークに送信しており、これをマルチキャストと呼びます。マルチキャストとして使われるルーティングプロトコルとしてOSPFやEIGRPなどがあります。通常の通信は1対1です。例えばウェブサイトを開いてgoogle.comにアクセスするとコンピュータからGoogleへセッションが設定されます。これはTCPを使用したあるデバイスから別のデバイスへの単一通信です。ユニキャストは1対1、マルチキャストは1対多、ブロードキャストは1対すべてです。



LAN内でブロードキャストアドレスにトラフィックを送信するとルーターによって別のサブネットへの送信がブロックされてそのサブネット内だけに送信します。

そのため、Smurf攻撃(リクエストの送信元IPアドレスに標的のアドレスを設定し、標的の所属するネットワークのブロードキャストアドレス当てに大量に送りつける)を阻止することもできます。例外としてARPリクエストは別のデバイスのMACアドレスを検出するためにLAN内で使用されます。

IPアドレスについて昔はクラスA、クラスB、クラスCというカテゴリになっていたが最近はCIDRのため、実際には使用されません。クラスAのアドレスの最初は数値は「10」、クラスBアドレスは172、クラスCは192になります。マルチキャストはクラスDアドレス224~239までなります。例えばルーティングプロトコルであるOSPFは224.0.0.5と224.00.6を使用してこのマルチキャストはローカルのネットワークを対象とします。239は通常マルチキャストに使用するアドレスです。ブロードキャストは希望するか否かに関係なく受信してしまいます。CPUに影響を与えることは明らかです。ルーターはプロトコルに依存しないマルチキャスト専用のPIMなどの特別なルーティングプロトコルを使用します。今回は触れませんがPIMにもモードがPIM Dense Mode・PIM Sparse Modeとあります。PCはルータにマルチキャストの受信を要求していることを伝え、スイッチはそれらのメッセージをリッスンし、マルチキャストに加入しているクライアントがいるポートからのみマルチキャストを送信できます。マルチキャストツリーというものを使用するとルーティングプロトコルによって構築されたツリーに基づいでトラフィックをその範囲のみ転送します。マルチキャストを受け取りたいときは登録すると受信されますが、登録していない人は受信しません。

まとめ

VLCを使ってマルチキャストのストリーミングをしたかったのですがうまくできませんでした。使いこなせるようになりたいです。