【IPアドレスとは その2】ユニキャスト・マルチキャスト・ブロードキャスト 通信方式解説

about-ip-address-part2

この記事のポイント
  • ユニキャスト:”1対1”の通信

  • マルチキャスト:”1対特定グループ”の通信

  • ブロードキャスト:”1対不特定多数”の通信

IPアドレスについては一通り理解できたしバッチリね!これでネットワークエンジニアとしてやっていけるわね。

チャーチルさん

ポン先生

IPアドレスについてはまだまだ伝えてない情報もあるよ。今日は前回の続きで教えるよ。

前回の記事ではIPアドレスの基本を解説しました。本記事では第2弾として通信方式についてまとめます。

送信方式

送信方式

例えば皆さんが人と会話するときに、 1人 の人と話したり、複数人のグループ内で話したりしますよね。これと同じでコンピュータの世界でもどういった相手と話すかで方式が変わります。具体的にはユニキャスト・マルチキャスト・ブロードキャストの3種類が挙げられます。ここではそれぞれの特徴を解説します。

  • ユニキャスト:”1対1”の通信
  • マルチキャスト:”1対特定グループ”の通信
  • ブロードキャスト:”1対不特定多数”の通信

ユニキャスト

ユニキャストは1台のコンピュータから1台のコンピュータへ送信する方式です。単純に「通信」と言った場合には一番イメージしやすいでしょう。一般的に、インターネット通信でも一番多く使われていると言われています。

ユニキャスト

ユニキャスト通信では宛先となるコンピュータのIPアドレスを指定し通信を行います。また、宛先IPアドレスが同セグメント内か外部セグメントかは問いません。

一点注意が必要なのはこれはあくまでも通信方式の話であり、アプリ上の見た目の通信相手とは一致しないことがあるということです。例えば複数の相手にチャットする時やメールを出す際は、1人の差し出し人から複数の宛先へ通信しているように見えますが、実際は

        差し出し人 ⇔ アプリサーバ
                アプリサーバ ⇔ 宛先の人①
                アプリサーバ ⇔ 宛先の人②

という関係になっていることが一般的です。

つまり直接宛先の人に送る訳ではなく、アプリサーバを介してそれぞれ通信しており、一つ一つはユニキャストになっているということです。

いずれにしても、特定の一つの宛先に対し通信する方式と覚えておけば問題ないでしょう。

マルチキャスト

マルチキャストは1台のコンピュータから特定のグループへ送信する方式です。

同じデータを複数のコンピュータに送信する場合、1台ずつ宛先IPアドレスを指定して送るのは効率が悪いですね。そこでマルチキャストでは特定の用途毎にグループを決め、グループの代表IPアドレスへ送信します。該当グループに属するするコンピュータのみデータを受信するため効率的に通信可能となります。
※イメージ的にはメーリングリストに近いです。部署やプロジェクト等のメーリングリストにメールを送信すると登録された人のみ受信します。メール送信者はメーリングリスト1本に送るだけなので楽になります。

マルチキャスト

利用シーンとしては、テレビ会議やビデオストリーミング等で利用されます。

また、マルチキャストの用途/宛先によって以下3種類に分けられます。

種類アドレス帯特徴
リンクローカル224.0.0.0 ~ 224.0.0.255同セグメント宛て通信
グローバル224.0.1.0 ~ 238.255.255.255他セグメント宛て通信、インターネット利用
プライベート239.0.0.0 ~ 239.255.255.255他セグメント宛て通信、社内利用

また、ルチキャストは片方向通信でしか利用できません。これは元々1対複数を想定して作られた仕組みだからです。ものによっては、上位プロトコルで受信有無を確認し、受信していない場合はユニキャストで要求する、といった工夫で実装は可能ですがデメリットの一つにはなるでしょう。

また、ユニキャストと比べて理論や設計・設定が複雑だと誤解されやすく、実装されることが少ないです。

一方で、宛先アドレスが固定で決まっているため管理が容易になります。通常デバイスのIPアドレスを変更した場合、対向機器の設定変更や管理資料の更新等が必要ですがマルチキャストの場合はそういった心配が有りません。

また送信が1回で済むため、送信データ量や宛先が多い通信ほど回線の負荷が圧縮されるメリットもあります。

ブロードキャスト

ブロードキャストは1台のコンピュータから不特定多数のコンピュータに送信する方式です。具体的にはセグメント内全体に対して送信します。マルチキャスト同様1台ずつ宛先を指定する訳ではなく、特殊なアドレス宛に送信することでセグメント内の全ての機器へ送信します。

利用シーンとしては例えばDHCPで利用されます。DHCPはIPアドレスの自動取得のための仕組みです。簡単に並べると以下のような動作です。

  1. PCはネットワークに接続した際に、DHCPリクエスト(ブロードキャスト)を送信
  2. DHCPサーバはDHCPリクエスト(ブロードキャスト)に応答しIPアドレス情報をPCへ返信
  3. PCはDHCPサーバから回答があったIPアドレスを利用する旨返信する
  4. DHCPサーバもこれを了解
DHCPリクエスト

ここで不思議に思うかもしれませんが、最初このPCはIPアドレスが無い状態ですが通信できています。IPアドレス無し→DHCPの通信→IPアドレス取得の順番です。実はこれを可能にしているのもブロードキャストです。具体的な仕組み等はまた別記事で解説しますが、同じセグメント内だからこそこういった通信が可能になります。

また、一般的にブロードキャストと言えば自身と同じセグメント内全体へ対する通信を指す場合が多いですが、他セグメントへ対して送信することが可能です。前者をリミテッドブロードキャスト、後者をディレクテッドブロードキャストと言います。

ブロードキャスト

ブロードキャストアドレス(正確には リミテッドブロードキャスト )は255.255.255.255になります。これはどのようなアドレス帯のセグメントでも不変のアドレスです。2進数で言うとオール1のIPアドレスがブロードキャストになります。

一方、 ディレクテッドブロードキャストはホスト部がオール1のIPアドレスになります。上図の172.16.100.0/24のセグメントで言うと172.16.100.255です。このように指定すれば他セグメントから送信することも可能になります。

因みに、PC1(192.168.1.1)から192.168.1.255と指定して同セグメント内にブロードキャストを発信することも可能です。

ただしブロードキャストはセグメント全体へ対する通信のため、ネットワークループが発生している場合、パケットが破棄されず永遠に回り続けネットワークを逼迫させる恐れがあります。ブロードキャスト自体は良く使われる通信のため、企業ネットワークにおいてはループの検知・防止対策が必要となります。このあたりも別記事で今後作成しようと思います。

まとめ
  • ユニキャスト:”1対1”の通信

    • インターネットで一番多く使われる通信
  • マルチキャスト:”1対特定グループ”の通信

    • テレビ会議やビデオストリーミング等で利用
  • ブロードキャスト:”1対不特定多数”の通信

    • 利用されることが多いがループに注意

今回はユニキャスト・マルチキャスト・ブロードキャストについてまとめました。慣れればさほど意識することもなくなるかもしれませんが、設計やトラブルシューティングではこういった基本的な知識が役に立つことが多いです。最低限、どういった通信なのか、どういった特徴があるのかレベルでは押さえておきましょう。