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

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

標準的な GigE ネットワーク スイッチについて考えてみましょう。スイッチングを行うには、ネットワーク上に存在するすべてのものの MAC アドレスとスイッチのポート番号のマップを維持する必要があると考えられます。

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

答え1

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

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

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

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

詳細については、このリンク

答え2

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

答え3

このシナリオを考えてみましょう:

ホスト_a - ポート 1 ホスト_b - ポート 2

host_a が host_b にパケットを送信する場合、スイッチにアクセスして host_a の MAC アドレスを記録します。host_b はまだ何も送信していないため、すべてのポートでフレームがブロードキャストされます。host_b は自分宛に送信されたことを認識し、ポート b で応答します。

この時点で、スイッチは、host_a がポート 1 に mac1 を持ち、host_b がポート 2 に mac2 を持っていることを認識しています。以降の通信は、ブロードキャストではなく、これらのポートを介してのみ行われます。

  • マップの維持方法はベンダーによって異なりますが、最終的には Mac とそれに関連付けられたポートのリストになります。
  • 最も単純なモデルでは、すべてがOSIレベル2で行われることを除いて、実際にはプロトコルはありません。
  • トポロジを変更すると、スイッチは古いエントリを削除し、新しいエントリに更新します (host_1 mac1 はポート 1 ではなくポート 10 にあるため)。

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

関連情報