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を既に認識しているため)?
もちろん、ARP要求は通過します。
スイッチはARPを認識していません。イーサネット(つまり、イーサネットフレームのMACアドレス)についてのみ認識し、その上のプロトコルについては認識しません。 (一部のスイッチはIGMPスヌーピングなどの高度な機能を提供しますが、ここでは関係ありません。)
ブロードキャストメッセージであるため、すべての(接続された)ポートに配信する必要があります。スイッチが気にするのはそれだけです。それが本当にコンピュータDに向けられているかどうかはわかりません。
ARP要求は、「IPにあります何でも!MACアドレスは何ですか?」というメッセージです。 ARPはレイヤー2アドレスの検出を処理しますが、IPアドレスに送信されるため、本質的にレイヤー3要求です。スイッチはレイヤ3では動作しません。
あなたが与えた例では、あなたはスイッチが知らないことを知っています。 ARP要求のIPアドレスがコンピューターDに属していること。宛先MACアドレスはブロードキャストであり、スイッチが認識または認識しているのはそれだけです。スイッチがブロードキャストMACを検出すると、そのパケットをプレーンで単純にブロードキャストします。
はい、そこにはレイヤー3スイッチがあり、ARPは技術的にはレイヤー3プロトコルではないことを衒学者は指摘しますが、この例ではそれは重要ではありません。