TCP/IPにおけるデータ送信の方法
TCP/IP(IPv4)でデータを送信するには、次の3つの方法があります。
- ユニキャスト
- ブロードキャスト
- マルチキャスト
まずは、3つのデータ送信方法の概要について。
ユニキャストは1対1のデータ送信で、あて先は1つのホストのみです。一方、
ブロードキャスト、マルチキャストは1対多のデータ送信です。ブロードキャ
ストはあて先が同じサブネット上のすべてのホストになります。マルチキャス
トのあて先は特定のグループに所属するホストです。
マルチキャストによるデータ送信の特徴を明らかにするため、まずユニキャス トとブロードキャストによるデータ送信を考えていくことにします。特にそれ ぞれのデータのアドレス情報とレイヤ2スイッチでの扱いに注目します。
※ネットワークの階層ごとに「パケット」「フレーム」などデータの呼び方が 変わりますが、ここでは「データ」として統一することにします。
ユニキャストのデータ送信
ユニキャストは1対1のデータ送信を意味します。あて先は1つのホストです。
ユニキャストのデータのアドレス情報を考えましょう。アドレス情報は階層ご
とに捉える必要があり、ユニキャストのデータのアドレス情報は次のようにな
ります。
- レイヤ3のアドレス情報
クラスA~クラスCのユニキャストIPアドレス
データを送信したいルータやホストのインタフェースに設定されているユニ キャストIPアドレスを送信先IPアドレスに指定。
- レイヤ2のアドレス情報
NIC(イーサネットインタフェース)のMACアドレス
送信先ホストが同じサブネットの場合-送信先ホストのMACアドレス
送信先ホストが違うサブネットの場合-デフォルトゲートウェイのMACアドレス
(レイヤ2のアドレス情報は、イーサネット環境に限定して考えています)
下記のネットワーク構成をサンプルにしてユニキャストによるデータ送信を考 えて見ます。イーサネットの環境はよくバス型のトポロジで表されますが、現 在はほぼスイッチを中心としたスター型トポロジです。そのため、スイッチを 中心としたスター型トポロジのネットワーク構成で考えます。
このネットワーク構成のホストAからホストDにユニキャストでデータを送信す るとき、アドレス情報は次のようになります。
- レイヤ3のアドレス情報
送信先IPアドレス:192.168.1.4
送信元IPアドレス:192.168.1.1 - レイヤ2のアドレス情報
送信先MACアドレス:D
送信元MACアドレス:A
ホストAからホストDのユニキャストによるデータ送信を図に表すと次のように なります。
この図では、レイヤ2スイッチですでにMACアドレステーブルが完成していると 仮定しています。ホストAから送信されたユニキャストのパケットは、レイヤ2 スイッチで送信先MACアドレスを参照してホストDが接続されているポートにの み転送されていきます。
ブロードキャストのデータ送信
次にブロードキャストのデータ送信を考えます。ブロードキャストは同じサブ ネット上の全ホスト宛にデータを送信します。ホストAからブロードキャスト する場合のデータのアドレス情報は次のとおりです。
- レイヤ3のアドレス情報
送信先IPアドレス:255.255.255.255
送信元IPアドレス:192.168.1.1 - レイヤ2のアドレス情報
送信先MACアドレス:FF-FF-FF-FF-FF-FF
送信元MACアドレス:A
ホストAからデータをブロードキャストしている様子は次の図のようになります。
ホストAから送信されたブロードキャストはレイヤ2スイッチでフラッディング
されます。フラッディングとは受信したポート以外のすべてのポートに転送す
ることです。フラッディングするためには元々1つのデータを複数にコピーし
なければいけません。レイヤ2スイッチがデータを必要な数分だけコピーして
転送します。
転送されたデータは、ホストB、ホストC、ホストDに伝わります。このデータ
の送信先MACアドレスや送信先IPアドレスがブロードキャストアドレスなので、
各ホストは受信してデータを処理します。
マルチキャストのデータ送信
最後にマルチキャストのデータ送信について見てみましょう。マルチキャスト
は、特定のマルチキャストグループに所属するホスト宛にデータを送信します。
マルチキャストグループはクラスDのIPアドレスで定義します。
たとえば、ホストC、ホストDでマルチキャストグループ239.1.1.1というグル
ープを作成し、ホストAから239.1.1.1へのマルチキャストする場合のアドレス
情報は次のようになります。
- レイヤ3のアドレス情報
送信先IPアドレス:239.1.1.1
送信元IPアドレス:192.168.1.1 - レイヤ2のアドレス情報
送信先MACアドレス:239.1.1.1に対応したMACアドレス
送信元MACアドレス:A
※マルチキャストで利用するレイヤ3、レイヤ2のアドレス情報の詳細は、 「マルチキャストアドレス」の項目で解説します。
ホストAから239.1.1.1へマルチキャストでデータを送信する様子を表すと次の 図になります。
ホストAから送信されたマルチキャストのデータはレイヤ2スイッチによってフ
ラッディングされます。つまり、レイヤ2スイッチはブロードキャストもマル
チキャストも同じように取り扱います。
フラッディングによってホストB、ホストC、ホストDにマルチキャストのデー
タが届きます。ホストBは、マルチキャストグループに参加していないので、
届いたマルチキャストのデータを受信しません。一方、マルチキャストグルー
プに参加しているホストC、ホストDは届いたマルチキャストを受信して処理を
行っていきます。
以上のようにユニキャスト、ブロードキャスト、マルチキャストのデータ送信 はそれぞれレイヤ3、レイヤ2のアドレス情報やレイヤ2スイッチでの転送の様 子が異なっています。








