全3122文字
PR

正しい相手に渡すために三つの識別番号を使う

 では、具体的に各プロトコルがどのようにデータを処理しているのかを、確認してみよう。

 下図は、コンピューターAからコンピューターBにデータが流れる際の各プロトコルの処理内容を示している。

各階層では正しい相手にデータを渡すための情報を付加する
各階層では正しい相手にデータを渡すための情報を付加する
[画像のクリックで拡大表示]

 ここで重要な役割を持つのが、「ポート番号」、「IPアドレス」、「MACアドレス」の三つだ。

 コンピューターAでは、TCP処理ソフトは、アプリケーションが送出するデータにTCPヘッダーを付けてTCPパケットを作る(図の(1))。TCPヘッダーには、データを渡したいアプリケーションを示す「宛先ポート番号」と、応答データが送信元のアプリケーションに届くように指定する「送信元ポート番号」が書かれる。ポート番号の詳細については後述する。

 次にIP処理ソフトは、TCPパケットにIPヘッダーを付けてIPパケットを作る(同(2))。IPヘッダーには、IPネットワークの住所に当たるIPアドレスを使って、「宛先IPアドレス」と「送信元IPアドレス」が書かれる。

 さらにIP処理ソフトは、コンピューターBが同じネットワーク内にあるかどうかを確認し、あるときはコンピューターBのMACアドレスを、ないときは次にデータを渡すネットワーク機器のMACアドレスを調べる。MACアドレスとは、ネットワーク機器を識別するための固有の番号である。

 MACアドレスを調べたら、イーサネットはIPパケットからMACフレームを作る(同(3))。このときMACフレームには、先ほど調べた「宛先MACアドレス」と、「送信元MACアドレス」が記述される。そして、MACフレームは電気信号に変換されて、ケーブルに送り出される。

 MACフレームは、IPネットワークを通じて目的のコンピューターBに届く。コンピューターBでは、まずMACフレームからIPパケットが取り出される(同(4))。そしてIP処理プログラムがTCPパケットを(同(5))、TCP処理プログラムがアプリケーションデータを取り出し、目的のアプリケーションに渡す(同(6))。

 このように、アプリケーションデータは、IPアドレスとMACアドレスによって、宛先のコンピューターに届く。そして、ポート番号によって正しい相手であるアプリケーションにデータが渡されるようになっている。