web-dev-qa-db-ja.com

イーサネットフレーム:送信元および宛先MACアドレスは何ですか?

このように構成されたネットワークがあると想像してください

+-----+   +------+   +------+   +-----+
|comp.|---|bridge|---|router|---|comp.|
|  A  |---|   B  |---|   C  |---|  D  |
+-----+   +------+ ^ +------+   +-----+
                   |
                    -- Here!

コンピュータAがイーサネットパケットをコンピュータDに送信した場合...

  1. ソースIPはAになり、宛先IPはDになります。
  2. マークされたセグメントのMACアドレスはどうなりますか?

2つの可能性に絞り込んだと思います:

  • 可能性1:
    • 送信元MACはB
    • 宛先MACはC
  • 可能性2:
    • ソースMACはA
    • 宛先MACはD

どちらが正しいですか?

御時間ありがとうございます?

PS:私は、ASCIIアートスキルで表彰されることを期待しています。必ずコメントを残してください。

7
F. P.

ソースMAC = A

宛先MAC = C

理由:Aが別のホストにデータを送信する必要がある場合、Aはまず宛先ホストがローカルネットワーク上にあるかどうかを判断します。宛先がローカルではないと判断すると、Aはデータを構成されたデフォルトゲートウェイであるCに送信します。

どうしてBじゃないの?レイヤー2で動作するスイッチ(ブリッジ)は、送信元または宛先MACアドレスを変更しないためです。一方、ルーターは、送信元MACアドレスを変更し、元の送信元MACアドレスを独自のMACアドレスに置き換えます。

なぜDじゃないの? Aは、Dがローカルネットワーク上になく、直接到達できないことを知っているからです。 AはデータをDGに送信する必要があることを知っており、Dに対してARPを実行するのではなく、DGに対してARPを実行します。

15
joeqwerty

一般的に、図のポイントで:

ソースMAC:[〜#〜] a [〜#〜]-通常、ブリッジとスイッチは何も書き換えないため、これは変更されません。

宛先MAC:これは[〜#〜] c [〜#〜]であると思います。コンピューターが意図的に(IPおよびサブネットマスクから)知っているデフォルトのゲートウェイにパケットを故意に送信するからです。コンピュータがネットワークセグメント上にないこと。

送信元MACがCでなかった場合、ブリッジは送信先を知らないため、Cに到達することはありません。ブリッジは、ルーターの向こう側のMACアドレスを認識しません。

編集:手で確認する必要はありませんが、Ciscoのパケットトレーサーは、このステップのパケットステップを表示するため、この種の質問には最適です。

余談ですが、私はブリッジを忘れて、用語を切り替えることに専念します。それらは基本的に同じで、ブリッジは今どこにも存在しません。

4
Dan

可能性2.ソースMAC Aはブリッジによって変更されません。両方のコンピューターが同じブロードキャストドメインにある場合、宛先MACはDです。

0
Nils