見出し画像

緻密なアドレス分類で誰に届くかを上手に制御!IPv6のマルチキャスト

「特定のグループだけに情報を届けたいとき、微妙な調整が必要ですね。」

はい、こんにちは!松井真也です。シリーズ「着実に普及していくIPアドレスの進化版:IPv6」の第8回でございます。

前回は、ユニキャストアドレスのうち、リンクローカルアドレスについて取り上げました。IPv6環境では自動的に設定され、ルータを超えないセグメントの範囲でのデータ伝送を可能にするのでした。また、「fe80::」から始まるのも特徴的でしたね!

さて、今回は、IPv6におけるマルチキャストです。マルチキャストとは、簡単に言えば、特定の複数の受信者に対して同じデータを一斉に送信する通信方式です。

これにより、データの送信者は一度の送信で済み、通信ネットワークを効率的に利用することが可能になります。では、IPv6ではそれをどう実現するのでしょうか?

早速見ていきましょう!

ユニキャストとブロードキャストの違い

まずは、他の「~キャスト」との違いを見てみますか。

ユニキャストは、もっとも典型的な通信ですね。一対一でデータを送信します。

ユニキャストでは複数の受信者にデータを送れないのでしょうか?いえ、不可能ではないでしょう。しかし、送信者は受信者の数だけデータを繰り返し送る必要がありまし、帯域を大きく消費します。通信効率が悪いです。

ブロードキャストはどうでしょうか?ネットワーク上の全デバイスにデータを送信する方式ですね。この方法では、特定の受信者を選ばずに全員にデータを送るため、不要な通信が多くなりがちです。意図しない受信者にまで届いてしまいますから、セキュリティ上もよくありません。

対照的に、マルチキャストは、特定の複数の受信者に対して同じデータを一斉に送信できますから、より効率的です!

マルチキャストの存在意義は分かりました!

IPv6でのマルチキャストアドレス構成

マルチキャストアドレスがどのようの構成されているか見てみましょう。

1)先頭8ビット(アドレスの種類の識別)

まず先頭の8ビットですが、実はこれは固定されています。「ff00::/8」です。この表記法、分かりにくいですね…。「f=1111」であり、残りのビットはすべて「0」、プレフィックス長が8です。

つまり、先頭8ビットはすべて1(11111111)と言っています。

アドレスの先頭が「ff」なら「マルチキャストなんだな~」というわけです。ちなみに「2」で始まれば「グローバルユニキャスト」、「fd」で始まれば「ユニークローカル」、「fe」で始まれば「リンクローカル」でした。IPv4に比べたらアドレスの種類を識別するのが簡単ですね!

2)フラグ(4ビット)

次の4ビットは「フラグ」と呼ばれ、永続的なアドレスなのか、一時的なアドレスなのかを識別します。

永続的なアドレスは、「0000」即ち、16進数表記なら「0」となります。一方、一時的なアドレスは「0001」即ち、16進数表記なら「1」となります。

そう、「ff0」で始まるマルチキャストアドレスは永続的(予約されている)アドレス、「ff1」で始まるマルチキャストアドレスは一時的と判別できるのです。うん、システマチック!

3)スコープ(4ビット)

続く4ビットは「スコープ」と呼ばれます。これによってマルチキャストの「通信範囲」が定められています。では、代表的なスコープの値を確認しましょう。

例えば「2」(0010)であれば、リンクローカル(同一の物理リンク内)、 「5」(0101)はサイトローカル(同一のサイト内)といった具体的な範囲が指定されます。

4)グループID

最後の112ビットは「グループID」として利用され、これにより特定のマルチキャストグループが一意に識別されます。それにしても、グループを識別するのに、112ビットを使えるって贅沢すぎますね…。

IANAによって予約されている代表的なマルチキャストアドレス

IANAは、特定のマルチキャストアドレスを予約し、特定の用途に割り当てています。これらのアドレスは特定のプロトコルやサービスで使用され、効率的なネットワーク運用を支えています。では、具体的にどんな種類あるでしょうか。

  • ff02::1:このアドレスは「All Nodes Address」と呼ばれます。同一リンク上にあるIPv6対応デバイスであれば、誰もがこのアドレスをリスニングしています。

  • ff02::2:これは「All Routers Address」として知られます。同一リンク上にある全てのルータにパケットが送信されるよう設計されています。これにより、特定のルータだけに情報を送る必要がある場合に有効です。

これ以外にもいくつかありますが、ルーティングの細かい話になりますので、やめておきましょう。私もよく分かりません。


はい、本日はここまで。今回は、特定の複数のデバイスに向けて一斉に発信する「マルチキャスト」についてご紹介しました。も少し勉強して詳しく説明できるようにしたいと思います。

次回は、エニーキャストアドレスです。これでこのシリーズを締めくくることにしましょう!

では!

この記事が気に入ったらサポートをしてみませんか?