UDPのMACアドレスの精度は重要ですか?

UDPのMACアドレスの精度は重要ですか?

私の本番環境でtcpdumpUDP専用ファイルを使用して作成しています。pcap

次に、ツールを使用してtcprewriteUDPパケットのdst IPとMAC​​アドレスをvm2に更新し、src IPをvm1に更新しましたが、src MACアドレスは00:00:00:00:00:00。チェックサムを再計算します。

その後、vm1でファイルを作成してtcpreplayvm2を確認し、vm2は実際にUDPパケットを受信しましたが、src MACがネットワークゲートウェイのMACに更新されたことを確認しました。pcaptcpdump

PS:私が使ったユンユン、vm1、vm2 は次の場所にあります。同じサブネット。

|-----|            |-----|
| vm1 | ---|gw|----| vm2 |
|-----|            |-----|

その後、tcpdumpvm1で実行するとUDPパケットがMACアドレスに送信されるため、ルータ00:00:00:00:00:00(ゲートウェイ)はそれを受け入れ(「間違っている」にもかかわらず)、MACを更新してvm2に転送します。

だから私にIPアドレスとパケットチェックサムが良いなら、MACアドレスは重要ではありません。それ以外の場合、ルータはなぜMACアドレスを削除しないのですか?

答え1

vm1-gw接続にvm2-gwとは異なるIPネットワークがあることを正しく理解していますか?

その場合、ゲートウェイはL3ルーターのように動作します。 MACアドレスは、レイヤ2にのみバインドされる値で、パケットがルータを通過するときは常に失われます。説明したMACアドレスを変更するのは通常の動作です。ルータは両方のインターフェイスで異なるブロードキャストドメインを持ちます。 MACアドレスは、L2レイヤ値(つまりMACアドレス(ARPを除く))が通信に十分なブロードキャストドメイン内でのみ一定に保たれます。 ARPプロトコルは、ブロードキャストドメインのノードがIPアドレスを使用して互いのMACアドレスを見つけるのに役立ち、ノード間の接続はMACを介してのみ行われます。

ゲートウェイをファイアウォールとして使用して異なるIPネットワーク間の接続をフィルタリングするには、MACではなくIPアドレスを使用する必要があります。

他の目的がある場合は、質問を明確にしてください。

関連情報