0

最近、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 が表示されない理由を誰か説明できますか?

前もって感謝します..!

4

1 に答える 1

0

Web ブラウジングとチャットの接続方法は (一般的に) 異なります。Google に接続したとき、Google の IP アドレスに直接接続することはできませんでしたが (接続することもできます)、おそらく www.google.com -- これには、HTTP 要求の IP アドレスを決定するために DNS が必要です。に送信された。TCP チャットを使用すると、他の人のマシンの TCP チャットに直接向かうことになります。

于 2014-04-27T08:50:24.030 に答える