パケット単位のロード バランシングの設定
Junos OSでは、ルーティングポリシー設定で パケットごとの負荷分散 アクションを設定することで、フローごとのロードバランシングを有効にします。Junosでは、 パケット単位 のロードバランシングは、他のベンダーが フロー単位の ロードバランシングと呼ぶものと機能的に同等であるため、この命名は直感に反するかもしれません。
パケット単位のロードバランシングを設定するには、[edit policy-options policy-statement policy-name term term-name from]階層レベルでroute-filterステートメントのオプションとしてload-balance per-packetステートメントを含めます。
[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はフローを決定する際にポートデータを無視します。フロー決定にポートデータを含めるには、[edit forwarding-options hash-key]階層レベルでfamily inetステートメントを含めます。
[edit forwarding-options hash-key]
family inet {
layer-3;
layer-4;
}
レイヤー3とレイヤー4の両方のステートメントを含める場合、デバイスは以下のレイヤー3とレイヤー4の情報を使用して負荷分散を行います。
送信元IPアドレス
宛先IPアドレス
プロトコル
送信元ポート番号
宛先ポート番号
受信インターフェイスインデックス
IPサービスの種類
レイヤー3とレイヤー4のすべてのパラメーターが同一の場合、デバイスは同じインターフェイスを介してフローでパケットを送信し、TCPおよびUDPフローの順序外れの配信を防ぐのに役立ちます。
ICMP(Internet Control Message Protocol)パケットは、フィールドロケーションのオフセットがチェックサムフィールドであるため、処理方法が異なります。これにより、各pingパケットは個別の「フロー」になります。IPにカプセル化できるプロトコルは他にも、32ビットオフセットで異なる値を持つことがあります。これらのプロトコルは別のフローと見なされるため、これも問題となる可能性があります。
デフォルトでは、または レイヤー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;
}
}
パケットごとのランダムスプレーロードバランシングを設定するには、[edit policy-options policy-statement policy-name term term-name then]階層レベルでload-balance randomステートメントを含めます。
[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 ];