Express Path

Express Path(以前は サービス オフロードと呼ばれていました)は、サービス処理ユニット(SPU)ではなくネットワーク プロセッサで高速パス パケットを処理するメカニズムです。Express Path は、特定のトラフィックを SPU からネットワークプロセッサにオフロードすることで、パフォーマンスを向上させます。

ネットワークプロセッサ上でExpress Pathセッションを作成すると、フローの後続のパケットはネットワークプロセッサ上のセッションと一致します。次に、ネットワークプロセッサがパケットを処理して転送します。

ネットワークプロセッサは、TCPシーケンスチェック、TTL(Time-to-live)処理、ネットワークアドレス変換(NAT)、レイヤー2ヘッダー変換などの追加処理も管理します。IOC3 上のフロー テーブルは、フロー モジュールの SPU によって管理されます。SPUは、ポリシーマッチング結果に基づいて、フローテーブルにフローエントリーを挿入および削除します。Express Path は IPv6 をサポートしています。

図は、Express Path のパケットフローを示しています。

図1:パケットフローとExpress PathPacket flow architecture in a network device showing IOC, SCB, SPC, CP, and SPU with express, first, and fast packet paths.

Express Path のメリット

  • シングルフローおよびシャーシレベルのパフォーマンスが大幅に向上します。

  • SPUの使用率と遅延を削減します。

Express Pathの制限事項

Express Path は以下をサポートしていません。

  • 特長

    • 透過モード

    • 複数のファンアウトによるマルチキャストセッション

    • フラグメントパケット

    • IPsec VPN

    • 異なるMTUサイズ値

    • Jフロー

    • 柔軟なVLANタギング

  • アプリケーション層ゲートウェイ(ALG)データトラフィック:

    • DNS

    • IKEおよびESP

    • PPTP

    • SQL-NET

  • IPv6

    • NAT

    • 透過モード

    • 異なるMTUサイズ値

    • エグレスインターフェイスのサービスクラス(CoS)

ファイアウォールフィルターを使用してトラフィックを仮想ルーターに誘導する場合、エクスプレスパスとパケットオフロードは機能しません。

シャーシクラスターモードで動作するデバイスでExpress Pathを有効にした場合:

  • 非対称I/Oカード(IOC)は設定できません。

  • LACP対応のrethインターフェイスからの子リンクがダウンした場合、このリンク上のすべてのトラフィックは、インターフェイスの他のアクティブな子リンクに分散されます。子リンクが立ち上がってrethインターフェイスに再参加した場合、既存のトラフィックまたはセッションは、新しく再参加したこのアクティブな子リンク上で再分配されません。新しいセッションはこのリンクを通過します。

  • 新しい子リンクが LACP 対応の reth インターフェイスに追加された場合、既存のトラフィックまたはセッションはこの新しい子リンク上で再分配されません。新しいセッションはこのリンクを通過します。

自動化された Express Path

SRX4600、SRX4700、SRX5400、SRX5600、SRX5800デバイスでは、リリース21.2R1以降、自動エクスプレスパスJunos OSデフォルトで有効になっています。Junosリリース21.2R1以降にアップグレードすると、追加の設定やハードウェア投資なしで、比類のない次世代ファイアウォールのパフォーマンスを無料で利用できるようになります。デフォルトでは、自動Express Pathが有効になっています。

リリース21.2R1 Junos OSルールごとのExpress Pathを無効にするには、 set security policies from-zone [untrust] to-zone ptrust] policy [services-offload-pol1] then permit no-services-offload コマンドを使用します。

ルールごとにサービスオフロードを有効にして以前の動作に戻すには、 set security forwarding-options services-offload disable コマンドを使用します。

自動 Express Path では、次の機能がサポートされています。

  • ステートフルファイアウォール

  • ネットワークアドレス変換(NAT)

  • 統合ポリシー(動的アプリケーションとURLカテゴリを使用)

  • ユーザーファイアウォール

  • セキュリティインテリジェンス

  • 侵入検出および防止(IDP)

  • 拡張Webフィルタリング

  • アプリケーション層ゲートウェイ(ALG)

  • スクリーン(DDoS対策)

Express Path はトラフィックをどのように処理しますか?

最初のパケットがインターフェイスに到着すると、ネットワークプロセッサはそれを中央点(CP)に転送します。次に、中央点がパケットをSPUに転送します。次に、SPUはネットワークプロセッサ上でセッションを作成し、トラフィックがExpress Pathセッションまたは通常のセッションに適格かどうかを確認します。

トラフィックがExpress Path処理の対象となる場合、SPUでトラフィックのExpress Pathセッションが作成されます。Express Path セッションは、ネットワークプロセッサ内の高速パスパケットを処理し、ネットワークプロセッサから出るパケットを処理します。

トラフィックがExpress Path処理の対象でない場合、SPUは通常のセッションを作成します。通常のセッションでは、高速パス処理のためにネットワークプロセッサからSPUにパケットを転送します。

Express Pathをサポートするプラットフォーム

SRX4600、SRX4700、SRX5400、SRX5600、およびSRX5800デバイスは、Express Pathをサポートしています。

表1 は、さまざまなSRXシリーズカードでのExpress Pathサポートの詳細を示しています。

表1:SRXシリーズファイアウォールカードでのExpress Pathサポート

SRXシリーズファイアウォール

カード名とモデル番号

サポートされている最も古いリリース

SRX5600、SRX5800

SRX5K-40GE-SFP

Junos OSリリース11.4

SRX5600、SRX5800

SRX5K-4XGE-XFP

Junos OSリリース11.4

SRX5600、SRX5800

SRX5K-FPC-IOCには、次のいずれかのカードが含まれています。

  • SRX-IOC-16GE-TX

  • SRX-IOC-4XGE-XFP

  • SRX-IOC-16GE-SFP

Junos OSリリース11.4

SRX5400、SRX5600、SRX5800

以下のMICのいずれかを含むSRX5K-MPC:

  • SRX-MIC-10XGE-SFFP

  • SRX-MIC-2X40GE-OSFP

  • SRX-MIC-1X100GE-CFP

  • SRX-MIC-20GE-SFP

Junos OSリリース12.3X48-D10

SRX5400、SRX5600、SRX5800

以下のMPCのいずれかを含むSRX5K-MPC3(IOC3):

  • SRX5K-MPC3-40G10G (24x10GE + 6x40GE MPC)

  • SRX5K-MPC3-100G10G(2x100GE + 4x10GE MPC)

Junos OSリリース15.1X49-D10

SRX5400、SRX5600、SRX5800

SRX5K-IOC4-10G(IOC4)

SRX5K-IOC4-MRAT

Junos OSリリース19.3R1

SRX4600

適用外

Junos OSリリース19.2R1

SRX4700

適用外

Junos OSリリース24.4R1

Express Pathを有効にする方法

注:

Express Path は、Junos OS リリース 21.2R1 から自動化されています。

Express Pathモードを設定するには:

  • • IOCまたはフレックスIOCカードを備えたSRX5000シリーズデバイスでは、 set chassis fpc fpc-number pic pic-number services-offload コマンドを使用します。

  • MPC(モジュラーポートコンセントレータ)を搭載したSRX5000シリーズデバイス上で、 set chassis fpc fpc-number np-cache コマンドを使用してIOCのNPキャッシュを有効にします。

  • SRX4600デバイスでは、np-cacheオプションがデフォルトで有効になっています。したがって、 set chassis fpc fpc- number np-cache コマンドは適用されません。

Express Path を使用しない場合は、セキュリティ ポリシーで設定しないでください。

Express Path ネットワーク プロセッサー

ネットワークプロセッサを搭載したSRX4600、SRX5400、SRX5600、SRX5800デバイスでは、パケットプラグインやストリームプラグインを含むすべてのプラグインがセッションを無視する場合、サービスオフロードセッションと、ネットワークプロセッサにセッションをインストールします。パケットプラグインがセッションを無視する場合、無視フラグをマークします。ストリーミングプラグインがセッションを無視した場合、無視フラグをマークし、TCP-TとTCP-Iを短絡させます。次に、ネットワークプロセッサにセッションをインストールして、セッションをオフロードします。

I/O カード(IOC)ネットワークプロセッサは、スイッチファブリックやSPUを経由せずに高速パスパケットを処理します。これにより、パケット処理の遅延が短縮されます。

各フロー エントリには、Express Path ネットワーク プロセッサのウィングごとのカウンターがあります。カウンタは、ネットワークプロセッサがウィングを介して送信するバイト数をキャプチャします。

さまざまなシナリオでのネットワークプロセッサの動作は、以下のとおりです。

  • 最初のパスフロー—最初のパスフローは、現在のネットワークプロセッサフロープロセスと同じです。最初のパケットがネットワークプロセッサに到着すると、ネットワークプロセッサはTCPまたはUDPパケットを解析して5タプル鍵を抽出し、フローテーブルでセッション検索を実行します。次に、ネットワークプロセッサは最初のパケットを中央ポイントに転送します。これは最初のパケットであるため、現時点では中央点に一致するものを見つけることができません。中央点とSPUはセッションを作成し、それをユーザーが設定したポリシーと照合して、そのセッションが通常のセッションかサービスオフロードセッションかを判断します。

    Express Path で管理するセッションを指定すると、SPU はネットワーク プロセッサー フロー テーブルにセッション エントリーを作成します。これにより、セッションエントリーテーブルでExpress Pathフラグが有効になります。それ以外の場合、SPUはExpress Pathフラグなしでネットワークプロセッサに通常のセッションエントリを作成します。

  • 高速パスフロー—ネットワークプロセッサでセッションエントリーを作成すると、セッションの後続のパケットがセッションエントリーテーブルと一致します。

    1. Express Path フラグが設定されていない場合、ネットワークプロセッサは、セッションエントリーテーブルで指定されたSPUにパケットを転送します。パケットは通常のフロープロセスを通過します。

    2. ネットワークプロセッサは、セッションエントリテーブルでservices-offloadフラグを見つけると、パケットをローカルで処理し、パケットを直接送信します。

    3. ネットワークプロセッサの早送り機能は、ワンファンアウトのマルチキャストセッションをサポートします。また、セッション内のエグレスポートは、イングレスポートと同じネットワークプロセッサに関連付けられている必要があります。その他のマルチキャストケースは、通常のセッションとして管理する必要があります。

  • NATプロセス—SPUは、内部IPアドレスまたはポートと外部IPアドレスまたはポート間のマッピングを担当します。セッションの最初のパケットが到着すると、SPUはIPアドレスまたはポートマッピングを割り当て、その情報をネットワークプロセッサセッションエントリーに保存します。NATフラグが設定されている場合、ネットワークプロセッサはパケットを変更します。

  • セッションのエージアウト—サービスオフロードセッションのトラフィックスループットを改善するために、SPUのパケット処理の需要を減らすために、事前に定義された期間ごとにパケットのコピーがSPUに送信されます。SPUに送信されるパケットコピー数を制限するために、サービスオフロードセッションごとにタイムスタンプが実装されます。ネットワークプロセッサは、最後のセッション一致からの経過時間を計算します。経過時間が定義された期間より長くある場合、ネットワークプロセッサはパケットのコピーをSPUに送信し、セッションタイムスタンプを更新します。

  • セッションの終了と削除—ネットワークプロセッサは、FIN(終了データ)またはRST(接続のリセット)フラグを持つIPパケットを受信すると、パケットをSPUに転送します。その後、SPUはネットワークプロセッサ上のセッションキャッシュを削除します。ネットワークプロセッサは、状態遷移中もパケットの受信とSPUへの転送を継続します。

翼統計カウンタ

Express Path では、ネットワーク プロセッサによって、各フロー エントリーにウィングごとのバイト カウンターを保持するオプションが用意されています。カウンタは、ネットワークプロセッサがウィングを介して送信するバイト数をキャプチャします。

カウンターを有効にすると、ネットワークプロセッサはすべてのイングレスパケットのフローエントリー(セッションウィング)を検索します。パケットが確立されたフローエントリーに属している場合、ネットワークプロセッサはパケット内のフローエントリーのバイトカウンターを増やします。ネットワークプロセッサは、各フローエントリーのパケット(コピーパケット)を関連するSPUに定期的にコピーし、SPUがセッションを維持できるようにします。ネットワークプロセッサは、コピーパケットパケットのヘッダーにフローバイトカウンター値を送信します。SPUは、ウィングごとの統計カウンターを蓄積して保持します。

ライブセッションのライフサイクル中に統計設定を変更することはできません。セッションがネットワークプロセッサでアクティブ中にウィングごとの統計設定を無効または有効にすると、現在のセッションのセッション統計は無効になります。新しいセッション統計は、設定変更がコミットされた後にのみ有効になります。ネットワークプロセッサのウィングごとのカウンターはクリアできません。SRX5K-MPC(IOC2)、SRX 5K-MPC3(IOC3)、SRX5K-IOC4-10G(IOC4)を搭載したSRX5800デバイスでは、ウィング統計カウンター設定がデフォルトで有効になっています。SRX4600デバイスでは、ウィング統計カウンターを有効にします。

ウィングあたりのセッション数統計

ネットワークプロセッサは、セッションリソースに対応するため、SRAM(スタティックRAM)が大きくなっているため、PICあたりより多くのセッションをホストできます。 表2は 、Express Pathと非Express Pathの両方を含むセッションウィングの総数を示しています。SRX4600デバイスでは、IMIXスループットは400Gbpsです。

表2:ネットワークプロセッサExpress Path設定モードにおけるウィングごとのセッションの合計数

翼の総数

Express Path UDP ウィングの数

Express Path TCPウィングの数

カードとSRXシリーズファイアウォール 非Express Pathモードセッション 統計情報なし 統計情報付き 統計情報なし 統計情報付き

SRX5000シリーズデバイス、SRX5K-MPC(IOC2)

180万

180万

180万

180万

180万

SRX5000シリーズデバイス、SRX5K-MPC3(IOC3)

2,000万

2,000万

2,000万

2,000万

2,000万

SRX5000シリーズデバイス、SRX5K IOC4

1,000万

1,000万

1,000万

1,000万

1,000万

SRX4600

2,000万

2,000万

2,000万

2,000万

2,000万

IOCカードでのExpress Pathパケット処理

IOC カードの Express Path は、SPU ではなくネットワーク プロセッサ チップセットを介して高速パス パケットを処理することに基づき、一部の基本的なファイアウォール機能を IOC カードにオフロードします。

Express Path 機能を有効にしている場合、IOC カードは遅延を低くし、SPU のオーバーロードを取り除くことでスループットも向上させます。IOCカードは、カード内トラフィックフローとカード間トラフィックフローの両方をサポートします。最良の遅延結果を得るには、トラフィックフローのイングレスポートとエグレスポートの両方が、IOCカードの同じXMチップ上にある必要があります。

IOCカードは240Gbps FPCをサポートし、第3世代ネットワーク処理(NP)シリーズのチップセットを使用しています。この最新のルックアップおよびキューイングチップは、大容量向けに最適化されています。IOC カードは SCB2 および SCB3 と互換性があり、それ以前の SCB はサポートされていません。

電力と熱に制約があるため、IOCカード内の4つのPICすべての電源を同時にオンにすることはできません。偶数または奇数の順序で最大2つのPICの電源を入れます。 set chassis fpc <slot> pic <pic> power off コマンドを使用して、電源を入れるPICを選択できます。

システムログメッセージは以下の通りです。

  • XMCHIP_CMERROR_DDRIF_INT_REG_CHKSUM_ERR_MINOR

  • XMCHIP_CMERROR_DDRIF_INT_REG_CHKSUM_ERR_MAJOR

エラーメッセージは、フレキシブルPICコンセントレータ(FPC)上のXMチップがチェックサムエラーを検出し、パケットドロップを引き起こしていることを示しています。以下のエラーしきい値は、エラーを重大エラーまたは軽微なエラーに分類します。

  • 軽微なエラー - 毎秒> 5 エラー

  • 重大エラー —> 255 エラー/秒(最大カウント)

データプレーンでは、IOCカードがパケットを解析し、フローテーブルで検索します。IOCカードがフローテーブルに一致するものを見つけると、フローテーブルに示された指示に基づいてパケットを転送します。IOCカードは、NATを実行し、レイヤー2(L2)ヘッダーをカプセル化し、エグレスインターフェイスからパケットを転送できます。egressインターフェイスは、同じIOCカード(カード内ケース)または別のIOCカード(カード間ケース)に配置できます。

IOCカードが最初のパケットを受信すると、既存の早送りセッションと一致しません。デフォルトのハッシュベース転送が実行され、最初のパケットがSPUに送信されます。その後、SPUがセキュリティセッションを作成します。SPUが、トラフィックが高速転送に適しており、関連するIOCカードが高速転送をサポートしていることを検出した場合、IOCカードに高速転送セッションをインストールします。トラフィックに高速転送を適用できない場合、セッションメッセージは送信されず、IOCカードはデフォルトのハッシュベース転送を使用してパケットをSPUに転送します。

早送りIOCカード処理では、早送りセッションが一致した場合、セッションフローの結果に従ってパケットを直接転送できます。IOCカードは、パケットの転送、TTLチェックとNAT変換の減少、レイヤー2ヘッダーのカプセル化など、必要なすべてのアクションを実行します。

さらに、XLチップは、事前に定義された時間に転送パケットのコピーを1つSPUに送信します。このコピーは、SPUセッションの更新や、現在のXLチップの状態の検出などに使用されます。SPUはこのパケットを消費し、実際のパケットが処理および送信されているため、転送しません。

図2:IOC3 Intra-PFE Express Path Diagram of network architecture with sections IOC3, RE2, and SPC2 showing data flow paths between components and network configuration options.
図3:IOC3 Inter-PFE Express Path High-level block diagram of a networking system architecture with components: IOC3 for network interfaces, RE2 for control, and SPC2 for services processing.
図4:IOC3間のExpress PathArchitecture of Juniper Networks router showing Express Path Traffic flow. Highlights IOC3, RE2, SPC2 components, and traffic paths.

例:IOCカードを搭載したSRX5400、SRX5600、またはSRX5800デバイスでExpress Pathを設定します

この例では、SRX5400、SRX5600、または SRX5800 デバイス上の IOC カードで Express Path を設定する方法を示します。

Express Path は、SPU(サービス処理ユニット)ではなくネットワーク内で高速パス パケットを処理するメカニズムです。この方法により、パケットがネットワークプロセッサから処理のためにSPUに転送され、送信のためにIOCに戻されるときに発生する長いパケット処理遅延を短縮します。

Junos OSリリース15.1X49-D40以降、この設定はIPv6トラフィックで有効ですが、このリリース以前はIPv4トラフィックに対してのみサポートされていました。

要件

この例では、以下のハードウェアおよびソフトウェアコンポーネントを使用しています。

  • IOCカードを搭載したSRX5400、SRX5600、またはSRX5800デバイス1台

  • SRXシリーズファイアウォールのJunos OSリリース15.1X49-D40以降

注:

Express Path は、Junos OS リリース 21.2R1 から自動化されています。

概要

この例では、IPv6トラフィック用にSRX5000シリーズデバイス上のIOCカードにExpress Pathを設定します。

IOCカードに2つのインターフェイスを設定し、IPv6アドレスを割り当てます。次に、IPv6トラフィックのフローベース処理を有効にします。次に、ゾーンを設定し、ゾーンにインターフェイスを追加します。次に、2つのゾーン間のトラフィックを許可するようにセキュリティポリシーを設定することで、2つの異なるゾーン間の通信を提供します。また、セキュリティポリシーでExpress Pathを有効にして、トラフィックがExpress Pathの対象となるかどうかを指定することもできます

設定

手順

CLIクイックコンフィグレーション

この例を迅速に設定するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを[edit] 階層レベルでCLIにコピーアンドペーストして、設定モードから commit を入力します。

ステップバイステップの手順

IOCカードを搭載したSRX5400、SRX5600、またはSRX5800ラインデバイスでExpress Pathを設定するには:

  1. イーサネットインターフェイスを設定し、IPv6アドレスを割り当てます。

  2. IPv6トラフィックのフローベース処理を有効にします。

  3. セキュリティゾーンを設定し、インターフェイスを追加し、すべてのシステムサービスとインターフェイスを許可します。セキュリティゾーンを設定し、インターフェイスet-2/1/0.0で許可されるトラフィックとプロトコルのタイプを指定します。

  4. セキュリティゾーンを設定し、インターフェイスを追加し、すべてのシステムサービスとインターフェイスを許可します。セキュリティゾーンを設定し、インターフェイスet-2/3/0.0で許可されるトラフィックとプロトコルのタイプを指定します。

  5. ポリシーを作成し、そのポリシーの一致基準を指定します。一致基準は、デバイスがあらゆる送信元からあらゆる宛先、あらゆるアプリケーション上のトラフィックを許可できることを指定します。セキュリティポリシーでExpress Pathを有効にします。

    注:

    送信元アドレスと宛先アドレスの一致基準にワイルドカードany-ipv6を指定して、IPv6アドレスのみを含めることができます。送信元アドレスと宛先アドレスの一致基準に、IPv4 アドレスと IPv6 アドレスの両方を含む任意のオプションを指定します。

  6. IOCカードでExpress Pathモードを設定します。

結果

設定モードから、show chassisコマンドを入力して設定を確認します。出力に意図した設定が表示されない場合は、この例の手順を繰り返して設定を修正します。

デバイスの設定が完了したら、設定モードからコミットを入力します。

Express Path の IOC カードの設定の確認

目的

IOC カードが Express Path 用に正しく設定されていることを確認します。

アクション

動作モードから、show chassis fpc pic-statusコマンドを入力します

意味

出力は、Express Pathが有効になっているPICのステータスを提供します。

デバイス上のすべてのアクティブなセッションの検証

目的

デバイス上で現在アクティブなすべてのExpress Pathセッションに関する情報を表示します。

アクション

動作モードから、show security flow session services-offload コマンドを入力します。

意味

出力には、Express Path が有効になっているセッションのポリシー詳細が表示されます。