マルチキャストはパケット送信方法の1つで、あらかじめ指定した複数の端末に一斉にパケットを送信すること。これに対して、端末を1つだけ指定してパケットを送信するのをユニキャスト、不特定多数の端末に一斉にパケットを送るのをブロードキャストと呼ぶ。

 マルチキャストは様々な通信で利用されるが、ここではIPでの例を見ていこう。

 複数の端末に一斉にパケットを届けるため、IPのマルチキャストでは特別なアドレスを用意する。例えばIPv4では、「224.0.0.0/4」の範囲を「マルチキャストアドレス」として利用する。マルチキャストの宛先となる複数の端末には、「224.0.0.0/4」の範囲内にあるIPv4アドレスの1つを割り当てる。これを「グループアドレス」と呼ぶ。送信元がグループアドレス宛てのパケットを1個送り出すと、通信経路の途中にあるルーターが必要な数だけパケットをコピーして、複数の端末に届ける。

 マルチキャストは特定の複数端末にパケットを送るので、同じ内容を一斉に送る動画配信などのサービスに向く。ユニキャストやブロードキャストより適している。

図●ユニキャストとマルチキャストの違い<br>ユニキャスト用のIPアドレスにパケットを送ると、1対1の通信になる。マルチキャスト用のアドレスに送信した場合、ルーターが必要に応じてパケットをコピーして転送する。
図●ユニキャストとマルチキャストの違い
ユニキャスト用のIPアドレスにパケットを送ると、1対1の通信になる。マルチキャスト用のアドレスに送信した場合、ルーターが必要に応じてパケットをコピーして転送する。
[画像のクリックで拡大表示]

 動画配信をユニキャストで行うと、受信する端末と同じ数だけ、同じ内容のパケットを送信元から一斉に送り出すので、サーバーやネットワークに負荷がかかる。

 一方、ブロードキャストで動画配信すると、同じサブネット上のすべての端末に、一斉にパケットを送る。これでは受信を求めない端末にもパケットが届いてしまう可能性があるし、異なるサブネット上の端末には届かない。

 マルチキャストならサブネットの範囲にかかわらず、指定した相手にだけ送信が可能となる。無駄な通信が減り、サーバーなどへの負荷も小さくなる。