送信元のMACアドレスは、受信元のサーバに伝わっていないのか?

補足

その考えだと「私のMACアドレスはFF:FF:FF:FF:FF:FFです 」というメッセージをサーバに送ったら、「私のMACアドレスは(直近のMACアドレスor消去)です」に勝手に書き換えられる事になります。 ヘッダー部分でなく、送り込むデータ部分を勝手に改変はできないのでは? でいいたいのは、「そういう都合でMACアドレスが相手サーバ側に渡ってるケースも多いのでは?」 と、思いまして。

LAN6,890閲覧xmlns="http://www.w3.org/2000/svg">100

ベストアンサー

0

ThanksImg質問者からのお礼コメント

>>nobumichiharasawaさん おお!? そうなのですか。これは知らなかった。ありがとうございます。 本件はこれをベストアンサーにします。ありがとうございます。 >>ocho1031さん 丁寧でわかりやすい説明ありがとうございます。 これもベストアンサーにしたい所だったんですが、質問の趣旨が伝わってない気がしますので、改めてocho1031さんに質問を出します。 他の方もありがとうございました。

お礼日時:2013/2/24 20:05

その他の回答(2件)

1

送信元とあて先のMACアドレスがヘッダー内に記述されているのは、データリンク層のみで、他の層のヘッダーやデータ部には含まれていません。 たとえば、HTTPでの通信を例に取ると、実際にネットワーク経由でやり取りをするのは、Webページの本体であるHTMLファイルになります。これをデータとして扱い、アプリケーション層ではこのデータにHTTPヘッダを付け加えます。このHTTPヘッダ内にはHTTPのバージョンやHTTPのステータスコードなどの情報が記述されます。 詳しくは↓を見てみてください。 http://www.atmarkit.co.jp/fnetwork/rensai/netpro01/header-fields.html そして、データにHTTPヘッダを加えた状態でTCPに渡します。 TCPではデータにHTTPヘッダを加えた状態のものをデータとして扱い、更にそれにTCPヘッダを付け加えます。TCPヘッダにはシーケンス番号や送信元・あて先ポート番号が格納されてます。そしてこれをIPに渡します。 IPはデータ+HTTPヘッダ+TCPヘッダの状態を丸々データとして扱い、更に先頭にIPヘッダを加えます。この中にはあて先・送信元IPアドレスなどが格納されてます。ちなみに、この状態がIPパケットです。そして、これをイーサネットに渡します。 イーサネットでは、IPから受け取ったIPパケット(データ+HTTPヘッダ+TCPヘッダ+IPヘッダ)にイーサネットヘッダを加えます。そして、この中にあて先・送信元MACアドレスが記述されてます。これがイーサネットフレームです。そして、やっとネットワークへと送出されます。 そして、あて先までの間に存在するルータでは、イーサネットフレームのイーサネットヘッダだけを取り外し、一度IPパケットを取り出して、再びイーサネットヘッダをつけてフレームに直し、送信します。この段階で、ルータがヘッダを付け直すため、送信元MACが元のアドレスからルータのMACに変わるんです。 補足で仰っているように、ネットワーク層で動作するルータは「送り込むデータ部分を勝手に改変」はしません。間違えているのは、MACアドレスの情報が各層のヘッダやデータ部に含まれているのでは?というところです。 ちなみに、「MACアドレスもログに残せと規定する」ためには、少なくともルータが関与するよりも上位でMACアドレスを格納するようにプロトコルの仕組みをかえなくてはいけません。そして、それを行うためには「国」という規模ではなく、「全世界」の規模で同時に行う必要がありますし、もともとインターネットの仕組みは学者や学生が研究・提案・合意を繰り返して作り上げていったもので、法律などで決められているわけではありません。

1人がナイス!しています

0

伝わっていません。 そもそもTCP/IPパケットにはmacアドレスは含まれていません。イーサネットパケットに含まれるのは、直近の機器のmacアドレスだけです。