web-dev-qa-db-ja.com

スイッチがMACアドレスを認識しているが、送信側PCが宛先MACのMACを認識していない場合の動作

4台のPCがスイッチに接続されており、このスイッチはそれらのMACアドレスを認識しています(4台すべてのPC)。コンピュータAとコンピュータDはこれまで通信したことがないため、どちらもARPテーブルが互いのMACアドレスで更新されていません。

コンピュータAはコンピュータDと通信しようとしているため、コンピュータDのMACアドレスに対するARP要求を送信します。このARPはブロードキャストメッセージになります(ARPパケットの宛先MACとしてFF:FF:FF:FF:FF:FFを使用)。

コンピューターDのMACを既に認識しているが、コンピューターAは認識していないため、スイッチがどのようにそれを使用するかを理解したいと思います。スイッチは、コンピューターDがARPメッセージ(ブロードキャスト)に応答するようにしますか、それともそのARP要求をドロップし、コンピューターAのパケットをコンピューターDに直接ルーティングしますか(スイッチはコンピューターDのMACを既に認識しているため)?

12
Aniruddha

もちろん、ARP要求は通過します。

スイッチはARPを認識していません。イーサネット(つまり、イーサネットフレームのMACアドレス)についてのみ認識し、その上のプロトコルについては認識しません。 (一部のスイッチはIGMPスヌーピングなどの高度な機能を提供しますが、ここでは関係ありません。)

ブロードキャストメッセージであるため、すべての(接続された)ポートに配信する必要があります。スイッチが気にするのはそれだけです。それが本当にコンピュータDに向けられているかどうかはわかりません。

24
Daniel B

ARP要求は、「IPにあります何でも!MACアドレスは何ですか?」というメッセージです。 ARPはレイヤー2アドレスの検出を処理しますが、IPアドレスに送信されるため、本質的にレイヤー3要求です。スイッチはレイヤ3では動作しません。

あなたが与えた例では、あなたはスイッチが知らないことを知っています。 ARP要求のIPアドレスがコンピューターDに属していること。宛先MACアドレスはブロードキャストであり、スイッチが認識または認識しているのはそれだけです。スイッチがブロードキャストMACを検出すると、そのパケットをプレーンで単純にブロードキャストします。

はい、そこにはレイヤー3スイッチがあり、ARPは技術的にはレイヤー3プロトコルではないことを衒学者は指摘しますが、この例ではそれは重要ではありません。

11
Wes Sayeed