比較的ばかげた質問があります。スイッチが起動したばかりで、MACアドレステーブルにないネットワークデバイスの宛先MACアドレスを含むフレームを受信したとします。
次に何が起こりますか?ブロードキャスト(MACアドレスff:ff:ff:ff:ff:ff
)し、接続されたデバイスからの応答を受信しますか、それとも使用されるプロトコル専用のプロトコルがありますか?スイッチがARP(アドレス解決プロトコル)を使用していないと思いますか?
比較的ばかげた質問があります。スイッチが起動したばかりで、MACアドレステーブルにないネットワークデバイスの宛先MACアドレスを含むフレームを受信したとします。
次に何が起こりますか?ブロードキャスト(MACアドレスff:ff:ff:ff:ff:ff
)し、接続されたデバイスからの応答を受信しますか、それとも使用されるプロトコル専用のプロトコルがありますか?スイッチがARP(アドレス解決プロトコル)を使用していないと思いますか?
回答:
良い質問。アニメーションでお答えします。
ホストAがフレームを送信するとき、スイッチのMACアドレステーブルには何もありません。フレームを受信すると、ホストAのMACアドレスとスイッチポートのマッピングを記録します。宛先MACアドレスの場所がわからないため、フレームがすべてのポートにフラッディングされます。
この分確保はという場合には、ホストBは、(この時点では、スイッチはまだ知らない)が存在し、それはそれを受け取ること。うまくいけば、フレームを受信すると、ホストBが応答フレームを生成し、スイッチが戻りフレームからMACアドレスマッピングを学習できるようになります。
Switchがどのように機能するかについては、こちら(アニメーションを作成した場所)を参照してください。また、一連の記事全体を読んで、パケットがネットワークをどのように移動するかを詳しく確認することをお勧めします。
フラッディング対ブロードキャストという用語に関する最後の注意事項。スイッチは決して放送していない、フレームをブロードキャストはスイッチが取ることができるアクションではありません。スイッチはフレームをフラッディングすることしかできません。放送は、単にの宛先MACアドレスを持つフレームですffff.ffff.ffff
。最終結果は同じなので混乱することがよくありますが、実際には異なります。
スイッチはフレームを受信すると、送信元MACアドレスとフレームを受信したポートでMACアドレステーブルを更新します。宛先MACアドレスがMACアドレステーブルにない場合(不明なユニキャスト)、フレームを受信したポートを除くすべてのポートにフレームをフラッディングします。
スイッチはARPを使用しませんが、次の2つの理由により、ARPは最初にこの状況が発生するのを防ぐのに役立ちます。
ノードAがARPキャッシュにないIPパケットをノードBに送信する場合、最初にARP要求を送信します(これはブロードキャストパケットであり、スイッチによってすべてのポートに自動的にフラッディングされます)。ノードBがARP応答を送信すると、スイッチはMACアドレスを学習します。したがって、実際のデータ転送が行われるときには、スイッチは参加者のMACアドレスをすでに認識しており、データパケットをフラッディングする必要はありません。
多くのデバイスは、リンクがアップすると、無償のARPパケットを送信します。GARPは、ネットワーク上の他のノードのARPキャッシュを更新するだけでなく、スイッチのMACアドレステーブルも埋めます。
IPv6はARPを使用しませんが、NDPは同様の目的を果たします。
したがって、全体として、スイッチは確かに学習していないユニキャストアドレスにフレームをフラッディングしますが、通常は事前にブロードキャストフレームからノードのアドレスを学習する機会があるため、思ったほど頻繁には必要ありません。ただし、MACテーブルがオーバーフローしているか、リブートしたばかりのスイッチで、確実にそれを観察できます。