web-dev-qa-db-ja.com

1つのケーブルを使用して2つのスイッチを接続するとボトルネックが発生しますか?

これは馬鹿げた質問かもしれませんが、私はいつも疑問に思っていました。

2つのギガビットスイッチがあり、ネットワーク上のすべてのデバイスもギガビットであるとします。

スイッチAに接続されている10台のコンピューターが大量のデータをスイッチB上のサーバーに(同時に)転送する必要がある場合、各接続の最大転送速度は2つのスイッチ間の接続の帯域幅によって制限されますか?

言い換えれば、各コンピュータは、スイッチ間の「ブリッジ」を使用しようとする10台のマシンで割った1ギガビットの速度でのみ転送できますか?

もしそうなら、すべてのデバイスがポイントからポイントへの最大速度を使用できるようにするための回避策はありますか?

33
Nick

はい。単一のケーブルを使用して複数のイーサネットスイッチを「カスケード」すると、ボトルネックが発生します。ただし、これらのボトルネックが実際にパフォーマンスの低下を引き起こしているかどうかは、それらのリンク上のトラフィックを監視することによってのみ判断できます。 (ポートごとのトラフィック統計を実際に監視する必要があります。これが、これが良いアイデアであるもう1つの理由です。)

イーサネットスイッチには制限付きですが、通常、非常に大きな内部帯域幅があり、その内部で作業を実行できます。これはスイッチングファブリック帯域幅と呼ばれ、非常にローエンドのギガビットイーサネットスイッチでも非常に大きくなる可能性があります(たとえば、Dell PowerConnect 6248には184 Gbpsスイッチングファブリックがあります)。同じスイッチのポート間でトラフィックフローを維持するとは、通常、(最新の24および48ポートイーサネットスイッチでは)スイッチ自体が、接続されたデバイス間でフルワイヤスピードで流れるフレームを「ブロック」しないことを意味します。

ただし、常に、単一のスイッチで提供できるよりも多くのポートが必要になります。

クロスオーバーケーブルを使用してスイッチをカスケード(または、 "ヒープ"と呼ぶ)する場合、スイッチファブリックをスイッチから相互に拡張することはありません。あなたは確かにスイッチを接続しており、トラフィックは流れますが、スイッチを接続するポートによって提供される帯域幅でのみ流れます。 1つのスイッチから別のスイッチに流れる必要のあるトラフィックが1本の接続ケーブルでサポートできるよりも多い場合、フレームはドロップされます。

スタッキングコネクタは通常、より高速なスイッチ間相互接続を提供するために使用されます。このようにして、スイッチ間の帯域幅制限が大幅に緩和された複数のスイッチを接続できます。 (例として再びDell PowerConnect 6200シリーズを使用すると、スタック接続の長さは0.5メートル未満に制限されますが、40Gbpsで動作します)。これでもスイッチングファブリックは拡張されませんが、通常、スイッチ間の単一のカスケード接続と比較してパフォーマンスが大幅に向上します。

スタックコネクタを介してスイッチ間のスイッチングファブリックを実際に拡張したスイッチがいくつかありました(Intel 500シリーズ10/100スイッチが頭に浮かびます)が、今日そのような機能を持つものは知りません。

他の投稿者が述べた1つのオプションは、リンク集約メカニズムを使用して複数のポートを「結合」することです。これにより、各スイッチでより多くのポートが使用されますが、スイッチ間の帯域幅を増やすことができます。異なるリンク集約プロトコルは異なるアルゴリズムを使用して集約グループ内のリンク間でトラフィックを「分散」することに注意してください。集約が実際に行われていることを確認するには、集約グループ内の個々のインターフェースのトラフィックカウンターを監視する必要があります。 (通常、送信元/宛先アドレスのある種のハッシュが「バランシング」効果を達成するために使用されます。これは、単一の送信元と宛先の間のフレームが常に同じインターフェイス間で移動するため、イーサネットフレームが同じ順序で到着するように行われます。また、アグリゲーショングループメンバーポートでのトラフィックフローのキューイングやモニタリングを必要としないという利点もあります。

ポート間のスイッチング帯域幅に関するこのすべての懸念は、シャーシベースのスイッチを使用するための1つの議論です。たとえば、Cisco Catalyst 6513スイッチのすべてのラインカードは、同じスイッチングファブリックを共有します(ただし、一部のラインカードは、それ自体が独立したファブリックを備えている場合があります)。多数のポートをそのシャーシに詰め込んで、カスケード接続またはスタック接続のディスクリートスイッチ構成よりも多くのポート間帯域幅を取得できます。

53
Evan Anderson

短い答え:はい、ボトルネックになる可能性があります

少し良い答え:ポートトランキングを試して、スイッチ間にリンクを追加してください。

より個人的な答え:...それを必要としない可能性が非常に高いです。 たくさんは、ユーザーが行った作業の種類によって異なります。しかし、100%の時間で多くのユーザーがデータをプッシュすることはめったにありません。多くの場合、各リンクは95%の確率でアイドル状態になります。つまり、10人のユーザーが共有するリンクは約50%の時間アイドル状態になり、2人のユーザーが1.8%の時間だけアクティブに共有します。

6
Javier

1 Gb /秒ポートの1つを使用して2つのスイッチをリンクする場合、はい、使用可能な総帯域幅は1 Gb/10 +ある程度のオーバーヘッドになります。したがって、スループットは合計で約0.8 Gb/sになります。

スイッチでサポートされている場合は、スタッキングモジュールを使用できます。これにより、通常、スイッチバックプレーンのほとんどの速度で、はるかに高いスループットレートが可能になります。

スイッチがサポートしている場合は、 リンク集約 も使用できます。

ただし、ここにも別の問題があります。サーバーが1Gbポートに接続されている場合、サーバーは1Gb/sでしかデータを送受信できないため、別の方法でスイッチをスタックするかどうかは問題ではありません。

最善のオプションは、スイッチにスタッキングモジュールを使用して、サーバーを10Gbリンクに配置することです。これは、サーバーがその量のデータを処理できることも前提としています。一般的なサーバーRAIDセットアップは、長期間にわたって約700Mb/sの持続スループットのみをサポートします。

4

あなたが提供した例では、スイッチAに10台のクライアントがあり、スイッチBにサーバーがあること。すべての接続(クライアントからスイッチ、スイッチからスイッチ、サーバーからスイッチ)はすべて1GBであり、すべてのトラフィックが1つのポートに集中するボトルネックが発生します。サーバーの接続が1 GBより速い場合を除いて、スイッチからサーバーへの最終的な接続がまだ1 GBしかない場合、スイッチからスイッチへの接続が何であるかは重要ではありません。

理想的な構成順序は次のとおりです。すべてのデバイスに1つのスイッチ。複数のスイッチを使用している場合、使用可能な場合は、スイッチをスイッチに接続して帯域幅を増やすように設計されたポートを使用します。複数のスイッチと相互接続ポートを使用できない場合は、複数のポートを結合して、スイッチ間の帯域幅を増やすことができます。

3
Jeff

管理されたスイッチ(なんらかの方法でログインできるスイッチ)を使用している場合は、複数のスイッチポートを組み合わせて、より多くの帯域幅を取得できます。

既製のギガビットスイッチの多くは、同じスイッチのポート間に制限がありません。つまり、10個のスイッチポートがある場合、それらすべてを問題なくフルスピードで使用できます。

これらのポートの1つを使用して別のスイッチに接続する場合、はい、これらの2つのスイッチ間の通信が遅くなります。ただし、単一のスイッチを共有するコンピューターが遅くなることはありません。トラフィックがその単一のスイッチ間ケーブルを通過するときにのみ、人々は帯域幅を争うようになります。

制限が多すぎる場合は、両端でマネージドスイッチを使用し、スイッチポートをまとめて2、3、4の速度にする必要があります。または、非常にハイエンドのスイッチを購入し、スイッチ間で10ギガを使用します。多くの1ギガポートを組み合わせると安価になる可能性があります。

2
Michael Graff

IFのみで、両方のスイッチが複数のポートのラグ/トランク接続をサポートして単一の幅の接続を作成する場合は、2から最大許容ポート数まで接続してリンク集約を作成できます。

警告、ケーブルを接続するだけでなく、準備が整いました!両側でポートを設定してから、それらを接続する必要があります。そうしないと、両方のスイッチをダウンさせる可能性のある確実なブロードキャストストームのリスクがあります。

2
thedp

これがボトルネックの可能性があります。一部のスイッチでは、複数のポートを使用して帯域幅を集約できるため、3X 1gbpsまたは4X1Gbpsになります。スイッチのOSにはこれを行う方法があり、各ベンダーが独自の方法で行うため、スイッチのOSによって異なります。この機能の名前が異なることもあります。これがサポートされているかどうかを確認するには、メーカーとモデルのマニュアルを確認してください。

1
Dave M

答えはイエスです。

考えられる回避策には、スイッチ間の複数のギガビットリンクの使用、またはスイッチ間の高速リンクの使用が含まれます。どちらのオプションもスイッチからのサポートが必要であり、複数のリンクを集約すると、リンク間で負荷を偶然に分割することが問題になる場合があります。

1
af.

言い換えれば、各コンピュータは、スイッチ間の「ブリッジ」を使用しようとする10台のマシンで割った1ギガビットの速度でのみ転送できますか?

はい

あなたが自問しなければならないのは、それが実際に起こる頻度です。あなたの特定のネットワークには、これが実際の問題を引き起こしていない理論上のボトルネック、または解決のために多大なお金を費やす価値のある実際のボトルネックがあります。

また、すべてのコンピューターが同じサーバーにアクセスしている場合、サーバーへの接続は、スイッチ間接続と同じくらいボトルネックになります。

もしそうなら、すべてのデバイスがポイントからポイントへの最大速度を使用できるようにするための回避策はありますか?

解決策はありますが、それらの解決策はあなたに費用がかかります。汚れの安いアンマネージドギガビットスイッチに別れを告げます。

まず、効果的に大きい単一のスイッチを試して構築できます。多くのスイッチファミリには、通常のイーサネットインターフェイスよりも高速な「スタック」コネクタがありますが、場合によってはボトルネックになる可能性があります。より高価なものにすると、シャーシスイッチがあり(価格で)、非常に高速な相互接続で複数のラインカードに多数のポートを配置できます。結局のところ、1つのスイッチにさらにポートを追加しても、必要なポートが多すぎるか、別の場所にポートが必要で、ケーブルの山が不要なため、問題が解決しない場合があります。

次に、イーサネットのより高速なバリアントを確認できます。 10ギガビットイーサネットが広く利用可能になりました。 40ギガビットと100ギガビットも価格で入手できます。

3番目に、リンク集約を確認できます。リンク集約は便利なツールですが、設計上の制限により、集約グループ内のすべてのポートの使用率が100%になることはほとんどありません。

3つ以上のスイッチが必要な場合は、非ツリートポロジの調査も開始できます。残念ながら、イーサネットは実際にはこれのために設計されていなかったため、それをサポートするための解決策はやや「ボルトオン」です。

0
Peter Green