標準のGigEネットワークスイッチについて考えてみます。切り替えを行うには、おそらく、ネットワーク上に存在するすべてのもののMACアドレスの(スイッチの)ポート番号へのマップを維持する必要があります。
スイッチは、各着信パケットの送信元MACアドレスを調べることにより、MACポートマッピングを学習します。したがって、スイッチはMACテーブルを徐々に構築できます。
パケットを転送する必要がある場合、宛先MACアドレスを調べて、MACテーブルに従って適切なポートに転送します。エントリが見つからなかった場合は、すべてのポート(送信ポートを除く)にパケットを送信します。
MACテーブルに有効なエントリのみを保持するために、スイッチは特定のタイムアウト後に未使用のエントリをフラッシュします。
ネットワークトポロジが変更されると、スイッチは新しいパケットを受信したときにMACアドレスの新しい場所を学習できます。このMACアドレスの古いマッピングを上書きします。
詳細については、 このリンク を参照してください。
これはMACアドレステーブルと呼ばれ、port
、MAC address
、およびtimestamp
が含まれています。一部のケーブルを切断するため、トポロジを変更すると、その時点で、関連するポートを含むすべてのエントリがMACアドレステーブルから破棄されます。新しいエントリは、最初のパケットが機器から受信されるたびに学習されます。機器が直接接続されていない場合、一部のエントリは間違ったポートに残りますが、通常、ブロードキャストのためにすぐに学習されます。機器からのトラフィックがない場合は、エントリが破棄されるまでタイムアウトを通過する必要があります。タイムアウトは通常120秒です。
このシナリオをとった:
Host_a-ポート1Host_b-ポート2
host_aがHost_bにパケットを送信したい場合、Host_aのMACアドレスを記録するスイッチを押すと、Host_bはまだ何も送信していないため、すべてのポートでフレームをブロードキャストします-Host_bは、自分に送信されたことに気づき、応答しますポートb。
この時点で、スイッチはHost_aのポート1にmac1があり、Host_bのポート2にmac2があることを認識しています。それ以上の通信は、ブロードキャストではなく、このポートを介して行われます。
私が言ったことは、アンマネージドスイッチにも当てはまり、マネージドスイッチにも当てはまりますが、さらに複雑になります。たとえば、シスコはどのMacがどのポートに来るかを設定でき、ISLまたはオープンdot1qとして独自のプロトコルを実行します http://en.wikipedia.org/wiki/IEEE_802.1Qリンクテキスト