全4326文字
PR

インター博士 今日は、ネットワーク経由でデータを送る際の「宛先」について考えてみよう。

ネット君 ということはIPアドレスですね。IPアドレスで宛先を指定するには…。

インター博士 まぁ待ちたまえ。そもそも「宛先」とは1つではないぞ。

階層ごとに宛先がある

 データの宛先、つまりデータをやりとりする相手というと「データの送り先の機器」を指すのが一般的だ。だが、通信プロトコルは階層構造で成り立っており、階層(レイヤー)ごとに宛先がある。

 例えばOSI参照モデルで考えてみよう(図1)。まず、第5層(セッション層)から第7層(アプリケーション層)の上位レイヤーでは、データをやりとりするのはアプリケーション同士になる。アプリケーションの場合、データの宛先はポート番号で指定する。

図1●階層によって指定する宛先は異なる
図1●階層によって指定する宛先は異なる
通信プロトコルは階層構造で、階層(レイヤー)ごとにデータの宛先(送信先)の指定方法が異なる。アプリケーションはポート番号、OS(ホスト)はIPアドレス、ハードウエアはMACアドレスで指定する。
[画像のクリックで拡大表示]

 次に第3層(ネットワーク層)および第4層(トランスポート層)では、データをやりとりするのはOS(ホスト)になり、宛先はIPアドレスで指定することになる。

 そして第1層(物理層)および第2層(データリンク層)の下位レイヤーでは、宛先はハードウエアつまりNICなどの物理インターフェースになる。この宛先はMACアドレスで指定する。

ネット君 なるほど。階層によって役割が異なるので、通信相手を決める宛先もそれぞれ異なる、と。

インター博士 そういうことだ。

 以下では、3種類の宛先であるポート番号、IPアドレス、MACアドレスを順に解説する。