パケット単位のロード バランシングの設定
Junos OS では、ルーティング ポリシー設定でパケット単位の負荷分散アクションを設定することで、フロー 単位 のロード バランシングを有効にします。Junosでは、 パケット単位の ロードバランシングは、他のベンダーが フロー単位 のロードバランシングと呼ぶものと機能的に同等であるため、この命名は直感に反するかもしれません。
パケットごとのロード バランシングを設定するには、 階層レベルで ステートメントのオプションとして route-filter
のいずれか ステートメントを含めload-balance per-packet
ます[edit policy-options policy-statement policy-name term term-name from]
。
[edit policy-options policy-statement policy-name term term-name from] route-filter destination-prefix match-type { load-balance per-packet; }
[edit policy-options policy-statement policy-name term term-name then]
または階層レベルで:
[edit policy-options policy-statement policy-name term term-name then] load-balance per-packet;
設定を完了するには、ルーティング テーブルから転送テーブルにエクスポートされるルートに、 ステートメントで指定された export
リストにポリシー名を含めて、ルーティング ポリシーを適用する必要があります。
export [ policy-names ];
以下の階層レベルでこのステートメントを含めることができます。
[edit routing-options forwarding-table]
[edit logical-systems logical-system-name routing-options forwarding-table]
デフォルトでは、Junos はフローを決定する際にポート データを無視します。フロー決定にポートデータを含めるには、 階層レベルで ステートメントを含め family inet
ます [edit forwarding-options hash-key]
。
[edit forwarding-options hash-key] family inet { layer-3; layer-4; }
レイヤー 3 とレイヤー 4 の両方のステートメントを含めると、デバイスは次のレイヤー 3 とレイヤー 4 の情報を使用してロードバランシングを行います。
送信元 IP アドレス
宛先 IP アドレス
プロトコル
送信元ポート番号
宛先ポート番号
受信インターフェイス インデックス
サービスのIPタイプ
レイヤー 3 と レイヤー 4 のパラメーターがすべて同一の場合、デバイスはフロー内のパケットを同じインターフェイスを介して送信し、TCP および UDP フローの配信が順不同になるのを防ぐのに役立ちます。
インターネット コントロール メッセージ プロトコル(ICMP)パケットは、フィールド ロケーション オフセットがチェックサム フィールドであり、各 ping パケットが個別の「フロー」になるため、異なる方法で処理されます。IP にカプセル化できるプロトコルには、32 ビット オフセットで変化する値を持つ他のプロトコルがあります。これらのプロトコルは別のフローと見なされるため、これも問題になる可能性があります。
M シリーズ(M120 ルーターを除く)および T シリーズ ルーターでは、最初のフラグメントはフラグメント化されていないパケットと同じ負荷分散された宛先にマップされます。他のフラグメントは、他の負荷分散された宛先にマップできます。
M120 ルーターの場合のみ、すべてのフラグメントが同じ負荷分散された宛先にマッピングされます。この宛先は、フラグメント化されていないパケットの宛先と必ずしも同じではありません。
デフォルトでは、またはレイヤー3ステートメントのみを含める場合、ルーターは着信インターフェイスインデックスとパケットヘッダー内の次の レイヤー3 情報を使用して、トラフィックを負荷分散します。
送信元 IP アドレス
宛先 IP アドレス
プロトコル
デフォルトでは、IP バージョン 6(IPv6)パケットは、次のレイヤー 3 およびレイヤー 4 の情報に基づいて自動的にロード バランシングされます。
送信元 IP アドレス
宛先 IP アドレス
プロトコル
送信元ポート番号
宛先ポート番号
受信インターフェイス インデックス
トラフィック クラス
パケット単位のロードバランシングの例
すべてのルートに対してパケット単位のロード バランシングを実行します。
[edit] policy-options { policy-statement load-balancing-policy { then { load-balance per-packet; } } } routing-options { forwarding-table { export load-balancing-policy; } }
パケット単位のロード バランシングは、限られたルート セットに対してのみ実行します。
[edit] policy-options { policy-statement load-balancing-polic { from { route-filter 192.168.10/24 orlonger; route-filter 10.114/16 orlonger; } then { load-balance per-packet; } } } routing-options { forwarding-table { export load-balancing-policy; } }
パケットごとのランダムスプレーロードバランシングを設定するには、 階層レベルで ステートメントを含め load-balance random
ます [edit policy-options policy-statement policy-name term term-name then]
。
[edit policy-options policy-statement policy-name term term-name then] load-balance random;
設定を完了するには、 階層レベルの ステートメント[edit routing-options forwarding-table]
で指定されたリストにexport
ポリシー名を含めて、ルーティング テーブルから転送テーブルにエクスポートされるルートにルーティング ポリシーを適用する必要があります
[edit routing-options forwarding-table] export [ policy-names ];