インターネットを利用した通信を行うとき、多くの場合は1対1のユニキャストを利用した通信が行われます。たとえば、メールやWebの通信はユニキャストが利用されます。
一方で、通常の1対1通信以外に、ブロードキャストやマルチキャストという通信方法も、インターネットプロトコルにあります。ブロードキャストは特定の範囲「全員」に対して送信される方式で、マルチキャストはデータを欲しいと思う任意のグループに対して送信される方式です。
ブロードキャストやマルチキャストは、さまざまな仕組みの基本となっています。この後、色々な仕組み(プロトコル)を説明するうえで避けては通れないため、ここでは、ブロードキャストとマルチキャストについて説明をします(なお、IPv6に関してはここでは説明しません。後ほどまとめて説明する予定です)。
IPアドレス
パケットがユニキャストの通信を行うのか、ブロードキャストの通信を行うのか、マルチキャストの通信を行うのかを決定するのは、パケットの宛先として記載されているIPアドレスの値です。
サブネット部分がすべて「1」になっているパケットはブロードキャストになりますし、最初の4ビットが「1110」になるパケットはマルチキャストとして扱われます。それ以外のIPアドレスを宛先として持つパケットはユニキャストです。
ブロードキャスト
ブロードキャストは、名前の通り、全てのノード(機器)に対して送信されます。現在接続されているサブネットにのみ送信される255.255.255.255が最も一般的です。自動的にIPアドレスが取得できる仕組みであるDHCP(Dynamic Host Configuration Protocol)など、多くのプロトコルが255.255.255.255を利用しています。
遠隔のサブネットに対するネットワークブロードキャストもあります。昔は一般的に利用可能でしたが、現在はセキュリティ上の理由からほとんど利用できなくなっています。
マルチキャスト
マルチキャストは、複数の必要な人に届きます。 IPアドレスの最初の4ビットが1110で始まるものはマルチキャストアドレスになります。具体的には、224.0.0.0~239.255.255.255がマルチキャストアドレスになります。
マルチキャストとは、「誰かがデータを送り、必要な人にだけデータが届けられる」という通信方法です。マルチキャストの送信者はどこに居ても良いことになっており、受信者は複数存在するという状況が想定されています。TCPなどによるユニキャストは1対1の通信と呼ばれますが、マルチキャストは多対多の通信と呼ばれます。
マルチキャスト受信者は、「マルチキャストグループ」と呼ばれるグループに「join」することにより、データを受け取れるようになります。データの配送方法は途中経路の各ルータが行います。データを受け取る必要がなくなった受信者は、グループから「leave」すればデータは届かなくなります。
マルチキャスト送信者が、送信するマルチキャストグループに参加していなくてもデータの送信が可能であるという点も、マルチキャストの面白さのひとつです。マルチキャスト送信者は、宛先を「マルチキャストアドレス」にしてルータに渡すだけです。それだけでマルチキャストグループに対してデータが送信されます。
このように機能を列挙すると非常に不思議なマルチキャストですが、広域網でマルチキャストを実現する技術は多少複雑です。今後どこかで解説するかも知れませんが、ここでは詳細は割愛します。
最後に
IPアドレスにはユニキャスト、ブロードキャスト、マルチキャストの3種類があります。これらは、インターネットを構成する非常に基本的な通信方式です。インターネット上で行われる全ての通信は、このうちのどれかを利用しています。
ただ、このように仕組みだけを説明されてもよくわからないと思います。そこで、次はブロードキャスト利用例も兼ねて、パソコン等に自動的にIPアドレスを割り当てるDHCPの説明をしたいと思います。