- ベストアンサー
イーサネットヘッダは特別なのでしょうか
ネットワークの勉強をはじめたばかりです。 ある本を讀んでいたら、TCP/IPに関して次のようなことが書かれていました。(多少表現は変えています。) 「アプリケーションで作られたデータは、アプリケーション層からトランスポート層のTCPに渡される。 ここでパケットに小分けされ、エラーチェックなどに使うTCPヘッダを付けられてTCPパケットになる。 TCPパケットはインターネット層のIPに渡され、宛て先のIPアドレスなどを含むIPヘッダを付けてIPパケットになる。 續いてIPパケットはイーサネットに渡ってイーサネットヘッダが付くと自然だが、実はそうではない。 イーサネットのためのヘッダもIPが付ける。 つまりIPでは、IPヘッダとイーサネットヘッダの2つを付けるのである。」 この本によると、イーサネットヘッダはIPが付けることになっているようですが、 他の本(とは言っても、そんなに何冊も讀んでいるわけではありませんが。)でこのような記述は見たことがありません。 「イーサネットヘッダはIPが付ける」というのは本当なのでしょうか。 そうだとすると、なぜこのような、「自然でない」仕組みになっているのでしょうか。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
OSI参照モデルでの話ですが、 イーサネットヘッダが生成されるのは、「レイヤ3:ネットワーク層」ではないです。 「レイヤ2:データリンク層」になります。 TCP/IPモデルですと「ネットワークインタフェース層」になります。 ちなみに読まれた本の内容は、イーサネットヘッダの宛先MACアドレスの取得方法がレイヤ3のARPによって取得しているので、ARPと同じレイヤ3であるIPで付けている、ということになっているのではないでしょうか。 あと、ネットワークについて詳しく?面白く勉強できるサイトがあるので、紹介しますね。 http://www5e.biglobe.ne.jp/~aji/3min/index.html
その他の回答 (2)
- you_sei
- ベストアンサー率30% (102/338)
まあ、間違ってはないかもしれません。 参考URLの通り、OSI7層構造モデルと、TCP/IPの実装は、TCP/IPの方が先にあった(実現されてしまった)ため、OSI7階層には合わないところが出てきています。 参考URLから次の項目に行ったページでは、データリンク層(PPP, LANボードの各種デバイスドライバ)がEthernet Header を付ける事になっていますが、MS-TCP/IP なんかは、IPヘッダ生成時に、Ethernet Headerまで作っちゃう(Etherのドライバが付けてくれないので)場合がある,ということです。 基本的には、Data Link Layerで、Ethernet Headerが付く,と覚えていて問題はないです。
お礼
ありがとうございます。
- asuca
- ベストアンサー率47% (11786/24626)
ルータなどで管理するときに必要となってくるわけです。 そしてインターネットなどほかのLANなどから帰ってきたデータがどのPCむけのデータなのかもこれをつけないとわからないのでは?
- 参考URL:
- IPヘッダとイーサネットヘッダ
お礼
ありがとうございます。
お礼
ありがとうございます。