web-dev-qa-db-ja.com

イーサネット:ネットワークトポロジ

標準のGigEネットワークスイッチについて考えてみます。切り替えを行うには、おそらく、ネットワーク上に存在するすべてのもののMACアドレスの(スイッチの)ポート番号へのマップを維持する必要があります。

  • そのようなマップをどのように維持しますか?
  • 関係するプロトコルは何ですか?
  • ネットワークの一部のトポロジを変更した場合、ネットワーク全体に通知が届きますか、それとも「怠惰に」(つまり、最初に必要になったときに)検出されますか?
2
NPE

スイッチは、各着信パケットの送信元MACアドレスを調べることにより、MACポートマッピングを学習します。したがって、スイッチはMACテーブルを徐々に構築できます。

パケットを転送する必要がある場合、宛先MACアドレスを調べて、MACテーブルに従って適切なポートに転送します。エントリが見つからなかった場合は、すべてのポート(送信ポートを除く)にパケットを送信します。

MACテーブルに有効なエントリのみを保持するために、スイッチは特定のタイムアウト後に未使用のエントリをフラッシュします。

ネットワークトポロジが変更されると、スイッチは新しいパケットを受信したときにMACアドレスの新しい場所を学習できます。このMACアドレスの古いマッピングを上書きします。

詳細については、 このリンク を参照してください。

8
Khaled

これはMACアドレステーブルと呼ばれ、portMAC address、およびtimestampが含まれています。一部のケーブルを切断するため、トポロジを変更すると、その時点で、関連するポートを含むすべてのエントリがMACアドレステーブルから破棄されます。新しいエントリは、最初のパケットが機器から受信されるたびに学習されます。機器が直接接続されていない場合、一部のエントリは間違ったポートに残りますが、通常、ブロードキャストのためにすぐに学習されます。機器からのトラフィックがない場合は、エントリが破棄されるまでタイムアウトを通過する必要があります。タイムアウトは通常120秒です。

0

このシナリオをとった:

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とそれに関連するポートのリストになります。
  • 最も単純なモデルでは、レベル2 OSIで発生することを除いて、プロトコルは実際にはありません。
  • トポロジを変更すると、スイッチは古いエントリを削除し、新しいエントリで更新します(Host_1 mac1は1ではなくポート10にあるため)。

私が言ったことは、アンマネージドスイッチにも当てはまり、マネージドスイッチにも当てはまりますが、さらに複雑になります。たとえば、シスコはどのMacがどのポートに来るかを設定でき、ISLまたはオープンdot1qとして独自のプロトコルを実行します http://en.wikipedia.org/wiki/IEEE_802.1Qリンクテキスト

0
silviud