インター博士 今日は、ネットワーク経由でデータを送る際の「宛先」について考えてみよう。
ネット君 ということはIPアドレスですね。IPアドレスで宛先を指定するには…。
インター博士 まぁ待ちたまえ。そもそも「宛先」とは1つではないぞ。
階層ごとに宛先がある
データの宛先、つまりデータをやりとりする相手というと「データの送り先の機器」を指すのが一般的だ。だが、通信プロトコルは階層構造で成り立っており、階層(レイヤー)ごとに宛先がある。
例えばOSI参照モデル▼で考えてみよう(図1)。まず、第5層(セッション層)から第7層(アプリケーション層)の上位レイヤーでは、データをやりとりするのはアプリケーション同士になる。アプリケーションの場合、データの宛先はポート番号で指定する。
次に第3層(ネットワーク層)および第4層(トランスポート層)では、データをやりとりするのはOS(ホスト)になり、宛先はIPアドレスで指定することになる。
そして第1層(物理層)および第2層(データリンク層)の下位レイヤーでは、宛先はハードウエアつまりNIC▼などの物理インターフェースになる。この宛先はMACアドレス▼で指定する。
ネット君 なるほど。階層によって役割が異なるので、通信相手を決める宛先もそれぞれ異なる、と。
インター博士 そういうことだ。
以下では、3種類の宛先であるポート番号、IPアドレス、MACアドレスを順に解説する。