同じIP/MACから複数のTCP接続を取得して、LACP構成のすべての物理リンクを使用する方法はありますか?
これが私の設定です:
中央スイッチ(Meraki MS42P)には、1つのサーバーへの10GbEリンクと、建物の反対側にあるアクセススイッチ(Cisco 2960-CX)への10GbEリンクがあります。 2番目のサーバーは、アクセススイッチのLACP構成で4 x1GbEを使用しています。
ネットワーク内の任意の場所にある複数の1GbEクライアントからそれぞれ1つの接続を開くと、4 x 1GbE集約リンクを飽和させることができます(つまり、最大4つのクライアントが同時に完全な1Gbを取得します)。ただし、最初のサーバーから2番目のサーバーへの4つの同時TCP接続(スイッチへの単一の10GbEリンク))を開くと、それらは常に単一の1GbEリンクを共有します。
これは、どの接続が常に同じワイヤ上にあるべきかを決定するロードバランシングアルゴリズムに依存します。
私はこの点でMerakiに精通していませんが、Ciscoの場合、デフォルトはsource-dest-mac
です。これは、同じ送信元MACアドレスからの接続であり、宛先MACアドレスは同じワイヤを経由します。
source-dest-port
のようなものが必要です。ここでは、異なるポートまたは異なるポートへのすべての接続が、それぞれLAGGグループの別のワイヤを経由します。
LACPをラウンドロビンボンディングモードに置き換えます(mode=0
)。 Ciscoポートチャネルモードをon
に変更します。すべての前に、このポートチャネルグループからすべてのインターフェイスを削除します。
なぜRR(ラウンドロビン)を使用するようにアドバイスするのですか? LACPは、スイッチ間の距離が長い場合や接続が損傷する可能性がある場合に、スイッチ間に頻繁に適用されます。 LinuxはLACPにlevel3 + level4負荷分散アルゴリズムを使用できますが、魔女がそれを実行できるスイッチやルーターはありません。レベル4は、送信元IPポートと宛先IPポートが送信ハッシュの計算に使用されることを意味します。 2つのサーバー間でLACPを直接使用する場合は、1つのIP接続ごとに1Gbit/sを提供します。 RRを使用すると、4Gbit/sのフルスピード接続が得られます。ただし、4つのリンクのいずれかが損傷すると、25℅のパケット損失が発生します。サーバーとスイッチが1つの部屋にある場合、どのくらいの頻度で発生する可能性がありますか?それは私の15年間の練習ではありませんでした。