質問: ネットワークの勉強をはじめたばかりです。 ある本を讀んでいたら、TCP/IPに関して次のようなことが書かれていました。(多少表現は変えています。) 「アプリケーションで作られたデータは、アプリケーション層からトランスポート層のTCPに渡される。 ここでパケットに小分けされ、エラーチェックなどに使うTCPヘッダを付けられてTCPパケットになる。 TCPパケットはインターネット層のIPに渡され、宛て先のIPアドレスなどを含むIPヘッダを付けてIPパケットになる。 續いてIPパケットはイーサネットに渡ってイーサネットヘッダが付くと自然だが、実はそうではない。 イーサネットのためのヘッダもIPが付ける。 つまりIPでは、IPヘッダとイーサネットヘッダの2つを付けるのである。」 この本によると、イーサネットヘッダはIPが付けることになっているようですが、 他の本(とは言っても、そんなに何冊も讀んでいるわけではありませんが。)でこのような記述は見たことがありません。 「イーサネットヘッダはIPが付ける」というのは本当なのでしょうか。 そうだとすると、なぜこのような、「自然でない」仕組みになっているのでしょうか。
回答: OSI参照モデルでの話ですが、 イーサネットヘッダが生成されるのは、「レイヤ3:ネットワーク層」ではないです。 「レイヤ2:データリンク層」になります。 TCP/IPモデルですと「ネットワークインタフェース層」になります。 ちなみに読まれた本の内容は、イーサネットヘッダの宛先MACアドレスの取得方法がレイヤ3のARPによって取得しているので、ARPと同じレイヤ3であるIPで付けている、ということになっているのではないでしょうか。 あと、ネットワークについて詳しく?面白く勉強できるサイトがあるので、紹介しますね。 参考URL: