宛先の前に別のスイッチがある場合、スイッチはパケットをルーティングする場所をどのようにして知るのですか?


8

私は、スイッチが別のスイッチの背後に「隠されている」宛先にパケットをルーティングする方法をどのように知っているのかと思っています。私の理解では、スイッチには、各ハードウェアポートを正確に1つのMACアドレスにマップするテーブルがあります。これまでのところ、パケット/フレーム(?)が到着すると、パケットをルーティングするポートを決定できます。

しかし、これらのポートの1つに接続されている別のスイッチがあり、この2番目のスイッチに複数のデバイスが接続されている場合はどうなりますか?

私はこれが実際に機能する(?)と思うので、スイッチがこれをどのように解決できるのか(OSIレイヤー2ではルーターなし)と思います。

この質問がすでに存在する場合は申し訳ありませんが(そう思うので、それほど珍しいことではないはずです)、適切な検索クエリに自分の考えを反映させることができませんでした。


関連:スイッチはどのようにスイッチテーブルを学習しますか?。2つのスイッチ、3つのスイッチ、または任意の数のスイッチがある場合、1つのスイッチがMACアドレステーブルにデータを入力するのと同じプロセスが使用されます。
エディ

回答:


15

レイヤー2スイッチは、他のエンドポイントの場所に関するほとんどの情報を、入力フレームへの「リッスン」を介してflooding学習し、場所を認識していない場合は、その情報を使用して学習します。トポロジは次のとおりです。

(ホストA)<->(スイッチA)<->(スイッチB)<->(ホストB)。

また、L2スイッチは転送するため、ルーティングされないことに注意してください。つまり、カプセル化されたフレームを受信すると、それをインターフェースに転送します。

  • ホストAはホストBに到達しようとしています。ホストAはホストBのMACアドレスを知っています。したがって、ホストAはスイッチAにフレームを送信します。
  • スイッチAのMACアドレステーブルにホストBがありません。次に、スイッチAは、ホストAが配置されているポートを除いて、すべてのポートでフレームをフラッディングします。これらすべてのポートには、スイッチBが接続されているポートがあるため、スイッチBはフレームを受信します。
  • 次に、スイッチBはそのフレームをすべてのポートにフラッディングします(スイッチBのMACアドレステーブルにホストBがないことを考慮してください)。
  • ホストBはフレームに応答し、スイッチBはホストBのMACアドレスを記録して、スイッチAに応答を送信します。スイッチAは、ホストBのMACアドレスをテーブルに記録し、ホストAに応答を送信します。

関連する質問は次のとおりです。スイッチはどのようにスイッチテーブルを学習しますか?


まことにありがとうございます!ブロードキャストについて考えましたが、特に多くのスイッチがチェーニングされている場合は、オーバーヘッドが大きくなりすぎると考えました。
Jonas Eschmann、2015

2
@ sh4kesbeerスイッチが「追加の」L2ブロードキャストを生成しない場合もあります。ホストAがホストBにパケットを送信する前に、通常はとにかく、指定されたIPアドレスに属するMACアドレスを要求するarpリクエストブロードキャストを送信します。 。そのクエリを処理する理由は、すべてのスイッチがAのMACが入る場所から学習することです。したがって、彼らはすでにarp応答を正しく指示でき、(少なくともBからAへのパスに沿ったもので)BのMACがどこから入るかを学習できます。-したがって、スイッチによって引き起こされる「追加の」ブロードキャストは、通常、トポロジーの変更後にのみ発生します
Hagen von Eitzen '25 / 08/25

これは完全に正確ではなく、混乱を引き起こす可能性があります。スイッチが宛先ホストが存在するポートを認識していない場合、ブロードキャストではなく、すべてのポート(元のポートを除く)でフレームをFLOODします。フレームはまだすべてのポートでフラッディングされているユニキャストフレームであり、ブロードキャストではありません。
JFL

4

スイッチは、複数のMACアドレスをポートにマッピングできます。

したがって、2番目のスイッチ上のすべてのデバイスMACは、最初のスイッチから1つのポートに属していると見なされます。

すべてのパケットにはソースMACが含まれているため、パケットを受信するとテーブルを更新します。変更する前に別のポートにMACがあった場合は、MACアドレステーブル(MACからポートへのマップ)です。

Macの位置がポート間で頻繁に変わる場合、それはMacフラップとして報告されます。


1

トポロジが説明どおりの場合:ホストA-スイッチA-スイッチB-ホストB

理想的には、ホストAはホストB(通信先の宛先)のIPアドレスを知っています。2つのホストのIPアドレスが同じネットワークにあると仮定すると、ホストAはARPを使用して宛先のMACアドレスを取得します。これは、スイッチAおよびスイッチBのポートからホストBに転送されるブロードキャストフレームであり、ホストBが目的の受信者であることを確認し、独自のMACアドレスで応答します。

ホストAは後でこのMACアドレスを使用して、パケットをスイッチAに送信します。

スイッチAはMACアドレスを確認し、独自のMACテーブルを参照して、このパケットを適切なインターフェイスから転送します。スイッチBでも同様の操作が行われ、後で宛先ホストBに到達します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.