フロー配信とパケット順序設定
このトピックでは、SRX5000 Lineデバイスでの負荷分散とパケットの順序について説明します。
SRX5000 ライン デバイスの負荷分散の理解
SRX5800、SRX5600、SRX5400デバイスでサポートされている負荷分散アルゴリズムは、セッション容量と処理能力に基づいて調整されます。(実際のプラットフォーム サポートは、インストールされた Junos OS リリースによって異なります)。
ハッシュベースのセッション配信では、ハッシュテーブルを使用します。SPUセッションウェイトテーブルは、セッション分散ハッシュテーブル内の各ハッシュインデックスにSPU IDを割り当てるために使用されます。このようにして、ハッシュベースの分散を使用して各SPUで作成されたセッションの数は、SPUセッションの重みテーブルにおけるSPUの重みに比例します。また、各NPUは、NPUセッションに一致しないパケットを転送するSPUを選択するために使用する同一のSPUセッション重みテーブルとセッション分散ハッシュテーブルを保持します。
SPUに障害が発生した場合、ルーティングエンジンは、セッション配信のハッシュテーブルの一貫性を維持するために、IOCやNPCを含むデータプレーン上のすべてのカードをリセットします。
ハッシュベースのセッション配信では、重みはセッション容量に基づきます。高いセッション容量が必要な場合は、ハッシュセッション配信モードをお勧めします。
SRX5000シリーズデバイスでの負荷分散は常にハッシュベースです。
SPCを挿入および削除すると、挿入後にシャーシを再起動する必要があるため、中央点の初期化時にSPUセッションの重みテーブルが再計算されます。
セントラルポイントアーキテクチャの強化により、トラフィック管理をSPUにオフロードすることで、データパケットがセントラルポイントを通過するのを防ぎます。中央ポイントのセッション制限がなくなると、システムセッションの容量が拡張されます。
SPU IDの計算
SRX3K-SPC-1-10-40、SRX5K-SPC-2-10-40、またはSRX5K-SPC3サービス処理カード(SPC)を搭載したデバイスのSPU IDは、次のように計算されます。
SPU ID = (FPC ID X 4) + PIC ID
SRX5K-SPC-2-10-40およびSRX5K-SPC3には、カードごとにそれぞれ2つのPIC、カードあたり4つのPIC(FPC)、カードごとに2つのPICが含まれています。例えば、デバイスがスロット1(FPC ID 0)とスロット2(FPC ID 1)に2枚のカードが含まれている場合、予想されるSPU IDは次のようになります。
SPC1の場合:(0、1)および(4、5)、2枚のカードに合計4つのSPUがあります。
SPC2の場合:(0、1、2、3)および(4、5、6、7)、2枚のカードに合計8つのSPUがあります。
SPC3の場合:(0、1)および(4、5)、2枚のカードに合計4つのSPU。
FPC1(2 枚目のカード)および PIC1(カード内の 2 番目の PIC)の場合、SPU ID は次のように計算されます。
SPU ID = (FPC ID X 4) + PIC ID
= (1 X 4) + 1
= 4 + 1
= 5
CLIとSNMPのSPU IDを参照する際には、この規則を使用します。
SRX5K-MPC、SRX5K-MPC3-40G10G(IOC3)、SRX5K-MPC3-100G10G(IOC3)でのハッシュベースの転送
これらのSRXシリーズファイアウォールでは、パケットはingress処理からegress処理に進むにつれて、さまざまなコンポーネントが関与する一連のイベントを通過します。データパスパケット転送機能を使用すると、SRX 5000シリーズのデバイスを介してI/Oトラフィックを迅速に配信できます。
SRX5K-MPC、SRX5K-MPC3-40G10G(IOC3)、SRX5K-MPC3-100G10G(IOC3)は、SRX5400、SRX5600、SRX5800デバイスでサポートされているインターフェイスカードです。MPC(モジュラーポートコンセントレータ)は、ハッシュベースの転送方式を使用して、SPU(サービス処理ユニット)にロードバランシングサービスを提供します。
ハッシュベース転送では、パケットはMPCによって中央ポイントではなく、選択されたSPU(DCP)に転送される場合があります。このアプローチにより、セッションのスケーリングが強化され、中央点の過負荷が防止されます。
ハッシュ値の計算には、以下の手順が含まれます。
IPv4パケットの場合、ハッシュベースの転送モジュールは、異なるレイヤー4プロトコルタイプに応じて、レイヤー3とレイヤー4の情報に基づいてハッシュ値を生成します。
ストリーム制御伝送プロトコル(SCTP)、TCP、UDP、認証ヘッダー(AH)、エッジサービスプロバイダ(ESP)、インターネット制御メッセージプロトコル(ICMP)プロトコルの場合、ハッシュモジュールはレイヤー4情報を利用してハッシュ値を生成します。その他のプロトコルでは、ハッシュ生成にはレイヤー3情報のみが使用されます。
IPv4フラグメントパケットの場合、ハッシュ値はレイヤー3情報のみを使用して計算されます。これは、パケットの最初のフラグメントにも当てはまります。
非IPパケットの場合、ハッシュベース転送モジュールはレイヤー2情報を使用してハッシュ値を計算します。
パケットのレイヤー2、レイヤー3、またはレイヤー4情報に従ってハッシュ値が計算されると、セッション分散ハッシュテーブル内の各ハッシュインデックスにSPU IDが割り当てられます。
SRX5K-MPC(IOC2)、SRX5K-MPC3-40G10G(IOC3)、SRX5K-MPC3-100G10G(IOC3)は、ハッシュベースのセッション配信用に設定されたSRX5400、SRX5600、SRX5800デバイスでのみ使用できます。
ハッシュベースのセッション配信モードが有効になっている場合、SRX5K-MPC、SRX5K-MPC3-40G10G(IOC3)、SRX5K-MPC3-100G10G(IOC3)がデバイスにインストールされると、システムはその動作を高セッション容量ベースのモードに変更します。
SRX5K-MPC、SRX5K-MPC3-40G10G(IOC3)、またはSRX5K-MPC3-100G10G(IOC3)がインストールされたSRX5000シリーズデバイスでは、システム再起動中またはSPUの再起動中に、ハッシュベースのセッション配信モードが有効になっている場合、再起動後にすべてのSPUが起動している場合にのみトラフィックが通過します。
IOC3上のMPCは、ハッシュベースのデータパスパケット転送を実行して、既存のすべてのIOCおよびSPCと相互接続することで、SPUに負荷分散サービスを提供します。
IOC3は、ingressパケットとegressパケットを処理します。IOC3 はイングレス パケットを解析し、フロー セッション ルックアップ、ゾーンとポリシーのチェック、VPN、ALG などのさらなるセキュリティ処理のために SPU に送信します。
IOC3は、パケットデータ、メモリ、ファブリックキューイングを管理し、パケット検索とカプセル化機能を実現します。
IOC3 は、鍵、結果テーブル、パケット メモリを含むセキュリティ フロー テーブル(IPv4 および IPv6)を設定します。
フローテーブルには、以下の機能が用意されています。
フロールックアップ
フローの挿入と削除
セキュリティフローのエージングアウト
セキュリティフロー統計
SRX5000 ライン デバイスでのパケット順序付け機能の理解
SRX5400、SRX5600、SRX5800デバイスおよびvSRX仮想ファイアウォールでサポートされているパケット順序付け機能は、アプリケーション中央点のXLPプロセッサ上のパケット順序付けエンジンの組み込みパケット順序付け機能をアクティブにすることで、デバイスのパフォーマンスを向上させます。
パケット順序付けモードには、ハードウェアとソフトウェアの2種類があります。
パケット順序付け機能が ハードウェアに設定されている場合、負荷分散スレッド(LBT)とパケット順序スレッド(POT)がパケット順序付けエンジンにオフロードされ、リソースが解放され、パケット処理が実行できるようになります。パケット順序付け機能が ソフトウェアに設定されている場合、SPU上で負荷分散スレッド(LBT)とパケット順序スレッド(POT)が動作します。デフォルトでは、パケット順序エンジン(ハードウェア)を使用したパケット順序モードがデバイスで有効になっています。再起動が必要な設定変更によって無効にすることができます。
フロースレッドはパケットを受信し、処理し、送信またはドロップします。順序付けを必要としないパケットの場合、フロースレッドはネットワークアクセラレーションエンジン(NAE)エグレスにパケットの送信またはドロップを通知します。順序付けが必要なパケットの場合、フロー スレッドは、順序付けリストからパケットをデキューし、パケットを順番に送信またはドロップするようにパケット順序付けエンジンに通知します。
SRX5000ラインデバイスでのパケット順序付けモードの変更
パケット順序エンジンを使用したパケット順序付け機能は、次世代SPCを搭載したSRX5400、SRX5800、SRX5600デバイスでサポートされています。(プラットフォームのサポートは、インストールされたJunos OSリリースによって異なります)。デフォルトでは、パケット順序エンジンを使用したパケット順序モードが有効になっています。パケット順序エンジンを使用してパケット順序付け機能を無効にするには、デバイスのパケット順序付けモードを更新する必要があります。
以下のパケット順序付けモードがサポートされています。
ソフトウェア—パケット順序エンジンを使用したパケット順序付けモードを無効にします。
ハードウェア—パケット順序エンジンを使用してパケット順序モードを有効にします。これはデフォルトのオプションです。
パケット順序エンジンを使用してパケット順序モードを無効にするには:
CLI設定プロンプトで次のコマンドを入力して、パケット順序モードを指定します。
[edit] user@host# set security forwarding-process application-services packet-ordering-mode software
show security forwarding-processコマンドを使用して、設定を確認します。[edit] user@host# show security forwarding-process application-services{ packet-ordering-mode software; }コミットする前に、設定への変更を確認してください。
[edit] user@host# commit check
warning: System packet ordering mode changed, reboot is required to take effect. If you have deployed a cluster, be sure to reboot all nodes. configuration check succeeds
設定をコミットします。
[edit] user@host# commit
warning: System packet ordering mode changed, reboot is required to take effect. If you have deployed a cluster, be sure to reboot all nodes. commit complete
適切なタイミングでデバイスを再起動します。
show security flow statusコマンドを使用して、パケット順序付けモードを検証します。user@host> show security flow statusFlow forwarding mode: Inet forwarding mode: flow based Inet6 forwarding mode: drop MPLS forwarding mode: drop ISO forwarding mode: drop Flow trace status Flow tracing status: off Flow session distribution Distribution mode: RR-based Flow packet orderingOrdering mode: Software (reboot needed to change to Software)
アダプティブモードにおけるSRX5000回線デバイスでのセッション配布を理解する
Junos OSリリース15.1X49-D30およびJunos OSリリース17.3R1以降、アダプティブモードのセッション配信は、セントラルポイントアーキテクチャの強化に置き換えられました。
アダプティブモードセッション配信は、Junos OSリリース15.1X49-D30およびJunos OSリリース17.1R1より前の混合モードで実行されているSRX5000シリーズデバイスに実装されます。アダプティブモードセッション配信では、サービス処理ユニット(SPU)の容量と利用可能なリソースを考慮して、システムリソースを最大限に活用します。これは、XLR/XLP混合モードで動作するSRX5000シリーズデバイス、つまり、さまざまなタイプのSPUが異なる組み合わせで使用されるシャーシ導入でのみ有効になります。SRX5800、SRX5600、または SRX5400 デバイスに、次世代サービス処理カード(SPC)と既存の SPC が混在している場合、アダプティブモードのセッション配信がデフォルトと見なされます。混合モードで動作していないSRX5000シリーズデバイスの場合、ハッシュベースのロードバランシングがデフォルトです。
サービス処理カード(SPC)には1つ以上のSPUが含まれており、各SPUは、中央点(CP)によって配信されるセッションに設定されたセキュリティ機能やその他のサービスに従って、フローのパケットを処理します。SPUのCPU負荷は随時変化します。変更する利用可能な容量を最大限に活用し、それに応じてセッションの配信を適応させるために、適応モードでは、すべてのSPUに動的に重みを割り当てます。セッションの配信を決定するのはSPUの重みです。
各SPUは、CPU使用率情報を定期的に中央点(CP)に送信します。中央点はこれらの値をチェックし、1秒ごとに重みを計算し、システム全体のパフォーマンスを最大化するようにセッションを分散します。言い換えれば、アダプティブモードでは、セッションの配信はリアルタイムで計算される 動的 加重割り当てシステムに基づいて行われるため、タイプに関係なく、すべてのSPUのCPUの容量を最大限に活用できます。
適応モードセッション配信とWRR(重み付きラウンドロビン)セッション配信を区別するのは、重みの動的計算です。WRRは、異なるタイプのSPUに重みを計算して割り当てることでSPUとそのCPU容量を区別しますが、計算と割り当ては静的です。つまり、初期化時に1回だけ行われます。適応モードは、WRRの固定比率のセッション配布プロセスを改善します。WRRは、使用可能な処理能力を考慮せず、SPUのタイプとそのCPU容量に基づいてセッション処理制限が設定されるため、システムリソースの使用率が低下します。
アダプティブモードセッション配布では、SPUに割り当てられた重みを計算するために次の式が使用されます。
Wi = Sum(W1-n)*Ci*Si/Sum(C1-n*S1-n)
場所:
Wi— SPUに割り当てられた重み。Sum(W1-n)—システムの総重量。この値は一定です。n—SPU の総数。Ci—SPUの利用可能なCPU計算能力。Si—SPUの使用可能なセッション容量。
アダプティブモードでは、1つのSPUのCPU使用率が高いと、そのSPUに配布されるセッションの数が少なくなります。次の例では、計算について説明します。
2つのSPUを持つデバイスがあるとします。各SPUのセッション容量は100万です。
一定期間:
SPU1に500,000のセッションがある場合、CPU使用率は10%です。
SPU1(C1)の使用可能なCPU容量 = 1-10パーセント = 90(パーセント)。
SPU1(S1)の利用可能なセッション容量 = 1-500,000/1M = 50(パーセント)。
SPU2に400,000のセッションがある場合、CPU使用率は20%です。
SPU2(C2)= 1-20パーセント= 80(パーセント)の使用可能な容量。
SPU2(S2)= 1-400,000/1M= 60(パーセント)の利用可能なセッション容量
システム全体の重みが100の場合、各SPUの個別の重み値は次のようになります。
SPU1の重量(W1)= 100*90*50/(50*90+80*60)= 48
SPU2の重量(W2)= 100*80*60/(50*90+80*60)= 52
着信セッションでは、セッションの 48% が SPU1 に割り当てられ、パケットの 52% が SPU2 に割り当てられます。
重み付けされた数値は、中央点がランタイム使用情報をチェックし、重みを新しい値に調整する前に、短期間内にシステムに有効になる可能性があります。
変更履歴テーブル
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がお使いのプラットフォームでサポートされているかどうかを確認します。