• ベストアンサー

イーサネットヘッダは特別なのでしょうか

ネットワークの勉強をはじめたばかりです。 ある本を讀んでいたら、TCP/IPに関して次のようなことが書かれていました。(多少表現は変えています。) 「アプリケーションで作られたデータは、アプリケーション層からトランスポート層のTCPに渡される。 ここでパケットに小分けされ、エラーチェックなどに使うTCPヘッダを付けられてTCPパケットになる。 TCPパケットはインターネット層のIPに渡され、宛て先のIPアドレスなどを含むIPヘッダを付けてIPパケットになる。 續いてIPパケットはイーサネットに渡ってイーサネットヘッダが付くと自然だが、実はそうではない。 イーサネットのためのヘッダもIPが付ける。 つまりIPでは、IPヘッダとイーサネットヘッダの2つを付けるのである。」 この本によると、イーサネットヘッダはIPが付けることになっているようですが、 他の本(とは言っても、そんなに何冊も讀んでいるわけではありませんが。)でこのような記述は見たことがありません。 「イーサネットヘッダはIPが付ける」というのは本当なのでしょうか。 そうだとすると、なぜこのような、「自然でない」仕組みになっているのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • sunrize
  • ベストアンサー率60% (32/53)
回答No.3

OSI参照モデルでの話ですが、 イーサネットヘッダが生成されるのは、「レイヤ3:ネットワーク層」ではないです。 「レイヤ2:データリンク層」になります。 TCP/IPモデルですと「ネットワークインタフェース層」になります。 ちなみに読まれた本の内容は、イーサネットヘッダの宛先MACアドレスの取得方法がレイヤ3のARPによって取得しているので、ARPと同じレイヤ3であるIPで付けている、ということになっているのではないでしょうか。 あと、ネットワークについて詳しく?面白く勉強できるサイトがあるので、紹介しますね。 http://www5e.biglobe.ne.jp/~aji/3min/index.html

参考URL:
http://www5e.biglobe.ne.jp/~aji/3min/index.html
noname#6089
質問者

お礼

ありがとうございます。

その他の回答 (2)

  • you_sei
  • ベストアンサー率30% (102/338)
回答No.2

まあ、間違ってはないかもしれません。 参考URLの通り、OSI7層構造モデルと、TCP/IPの実装は、TCP/IPの方が先にあった(実現されてしまった)ため、OSI7階層には合わないところが出てきています。 参考URLから次の項目に行ったページでは、データリンク層(PPP, LANボードの各種デバイスドライバ)がEthernet Header を付ける事になっていますが、MS-TCP/IP なんかは、IPヘッダ生成時に、Ethernet Headerまで作っちゃう(Etherのドライバが付けてくれないので)場合がある,ということです。 基本的には、Data Link Layerで、Ethernet Headerが付く,と覚えていて問題はないです。

参考URL:
http://www.net-newbie.com/tcpip/stack/osi7layer.html
noname#6089
質問者

お礼

ありがとうございます。

  • asuca
  • ベストアンサー率47% (11786/24626)
回答No.1

ルータなどで管理するときに必要となってくるわけです。 そしてインターネットなどほかのLANなどから帰ってきたデータがどのPCむけのデータなのかもこれをつけないとわからないのでは?

参考URL:
IPヘッダとイーサネットヘッダ
noname#6089
質問者

お礼

ありがとうございます。

関連するQ&A