2台のコンピューターが全二重スイッチの3台目のコンピューターに同時に送信するとどうなりますか?


14

次のシナリオを検討してください。

全二重イーサネットスイッチでPC3に同時に送信したい2台のPC(PC1とPC2)があります。すべてのポートが同じVLANにあると考えてみましょう。スイッチの内部で何が起こるのでしょうか?誰が最初にPC3に送信しますか?

以前にCSMA / CDが使用されたことを読みましたが、それは半二重で動作する以前のイーサネットバージョンでのみ使用され、スイッチの各ポートはコリジョンドメインであり、2台のマシンが同時に送信を試みた場合、アルゴリズムは、衝突の問題を送信して解決するために各コンピューターにランダムな時間を与えるために実行されました。しかし、全二重スイッチでは、衝突の可能性が排除されていると読んだので、2台のPCが同時に送信しようとすると、スイッチの内部で何が起こりますか?スイッチは、誰が最初に送信するかを選択するアルゴリズムを実行しますか?

回答:


14

スイッチは、2つの送信システムからの着信データフレームをそのバッファに完全にロードします。どのフレームが後続の転送のためにキューの最初になるかをどのように決定するのかわかりません。ただし、おそらくフレームの先頭の最初の受信時間に基づいています。次に、スイッチは送信バッファキューを介して動作し、フレームを1つずつ宛先ポート/セグメントに送信します。

「互いにぶつかり合う」フレームには問題はありません。本当の問題は、究極のポート/セグメントが十分な速度でフレームを受け入れることができるかどうかです。(そしてもちろん、スイッチは十分な速度でバッファ/キューを処理できます。)


9
はい、カットスルーおよびフラグメントフリースイッチングがあります。主に高速取引環境で使用されます。カットスルーは、DST MACが認識されるとすぐに送信を開始します。Fragment freeは、フレームがコリジョンフラグメントではないことを確認します。したがって、送信前に64バイトを受信する必要があります。
ダニエルディブ

2
はい、ストアアンドフォワードではなく、一部ではカットスルーフォワーディングと呼ばれます。カットスルーアプローチでは、スイッチは宛先MACを受信して​​ルックアップするとすぐに転送を開始できますが、IPを見て発信ACLをチェックできるなど、少し長く待機するハイブリッドアプローチが存在します。 。(Ethertypeフィールドは、フレームにIPアドレスが存在するかどうかを示します)。
ゲルベン

1
^^^これ。これがNEが揺れる理由です。
クレイグコンスタンティン

4
誰もそれを言及しなかったので、カットスルーの欠点はフレームエラーの奇妙なケースです。カットスルーは初期フレームのレイテンシーをわずかに短縮しますが(フレームが大きくなるほど影響が大きくなります)、フレームが有効かどうかに関係なく、フレーム全体を受信せずにFCSを検証できるため、フレームを転送します。ストアアンドフォワードスイッチはフルフレームを受信し、転送前にFCSをチェックできるため、無効なフレームをドロップできます。
YLearn

2
ほとんどのスイッチはストアアンドフォワードのみで、カットスルーは数年前に復活しました。これは、金融業界への販売が容易だからです。10Gでのストアアンドフォワードでは、遅延が1.2us、つまり235mになります。また、カットスルーで入力と出力を異なる速度にすることはできません。
ytti

6

正確な解決策はハードウェアごとに異なるため、残念ながら正しい答えはありません。非常に興味深い質問です。

ただし、この問題については、コンピュータネットワーク-システムアパロク231〜232ページで明示的に説明されています。

「Sunshine Switch」と呼ばれる設計ソリューションの要点は、ダイアグラム入力--batcher--trap--selector == banyan === outputsと、セレクターをバッチャーに接続する遅延ボックスがあることです。そして私は引用します:

l(ed。size of banyan)パケットが同じサイクルで単一の出力に向けられている場合、それらは遅延ボックスを介して再循環され、次のサイクルでスイッチに再送信されます。

そしてさらに:

トラップネットワークは、バニヤンを介してスイッチを出ることができるパケット(出力ポートごとに最大l個)を識別し、残りを再循環用にマークします。


3

2台のコンピューターが3台目に送信するときは常に多少の違いがあります。スイッチで特別な操作を行っていない限り、FIFOベースで送信されるため、最初に到着したフレームが最初に送信されます。


1
PC [23]が独自のワイヤ上にあるため、HWが実行されている「モーメント」(周波数)の精度で正確に同時に到着するためのフレームを妨げるものはありません。その場合に実行しますが、ポートのフレームをラウンドロビン方式で読み取ると思います。
ytti

2
良い点は、2つのフレームがまったく同時に到着する可能性がかなり低いことを意味していました。おっしゃるように、おそらくASICの設計次第であり、アカウントチームと一連のフープをたどらない限り、どこにも文書化されないでしょう。
デビッドロテラ

他のすべてが等しいと仮定して、最初に中断した人が勝ちます。
generalnetworkerror

0

スイッチはスイッチに入るときに一度に1つのパケットを転送するため、衝突は発生しません。その後、PC3はCPU時間を分割してPC1とPC2からのパケットを処理します。ウィンドウ処理とバッファリングは、通信フローを制御します。

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