最近、TCP、UDP、およびその他のプロトコルを含むパケット交換ネットワークについて「自己学習」しています。パケットは複数のルーター (WAN) を経由して移動する傾向があるため、送信者の MAC アドレスを受信者に直接送信できないことを確認しました。
しかし、LAN では、同様のシナリオを想定しました。2 つの端末に対して 1 つのルーターがあり、それらが Java で設計された単純な「TCP チャット」に接続しているとします。(私はそれのコードを与えるつもりはありません)。各「パケットヘッダー」からMACアドレスを抽出し、次のようにテキストファイルに入れる単純な「パケットスニファー」をJavaで(jpcapを使用して)設計しました...
Destination MAC: ##:##:##:##:##:## /*My Terminal's MAC*/
Source MAC: ##:##:##:##:##:## /*Sender's Terminal's MAC*/
わかった。?さて...私の疑問は...上記のデータには、ルーターのMACが含まれていないことがわかりました...! 私の端末がそのパケットスニファを備えた受信者の場合、上記の送信者のMACアドレスを直接見ることができます..!
しかし、私の主張は...送信者と受信者の間にルーター(LAN内)があります..?では、なぜ上記のコードは、送信者の MAC を表示する代わりにそのルーターの MAC を表示しないのでしょうか?
しかし、ブラウザ経由で Google に接続しているときに「パケット スニファ」を実行すると、上記のデータが次のように表示されることがわかりました...
Destination MAC: ##:##:##:##:##:## /* My LAN-Router's MAC */
Source MAC: ##:##:##:##:##:## /* My Terminal's MAC */
ここに私の LAN ルーターの MAC が表示されます...!
LAN 内のピアと TCP チャットを介して接続するときに、LAN ルーターの MAC が表示されない理由を誰か説明できますか?
前もって感謝します..!