SRXシリーズファイアウォールでのトラフィック処理の概要

セキュリティデバイス向けJunos OSは、ジュニパーネットワークスのネットワークセキュリティとルーティング機能を統合します。デバイスに出入りするパケットは、パケットベースとフローベースの両方の処理を受けます。

セキュリティデバイス上のトラフィック処理について

セキュリティデバイス向けJunos OSは、ジュニパーネットワークスが提供する世界クラスのネットワークセキュリティ機能とルーティング機能を統合します。Junos OSには、パケットベースのフィルタリング、サービスクラス(CoS)分類子、トラフィックシェーピング機能に加え、ポリシー、スクリーン、ネットワークアドレス変換(NAT)、その他のフローベースのサービスなど、豊富で広範なフローベースのセキュリティ機能が含まれています。

セキュリティデバイスに出入りするトラフィックは、パケットフィルター、セキュリティポリシー、スクリーンなど、設定した機能に従って処理されます。たとえば、ソフトウェアは以下を決定できます。

  • パケットをデバイスに許可するかどうか

  • パケットに適用するファイアウォール画面

  • パケットが宛先に到達するまでのルート

  • パケットに適用するCoSがあれば

  • パケットのIPアドレスを変換するためにNATを適用するかどうか

  • パケットにアプリケーション層ゲートウェイ(ALG)が必要かどうか

デバイスに出入りするパケットは、パケットベースとフローベースの両方の処理を受けます。

  • フローベースのパケット処理では、関連するパケットまたはパケットのストリームを同じように処理します。パケット処理は、フローと呼ばれるパケットストリームの最初のパケットに対して確立された特性に依存します。

    サービスゲートウェイの分散処理アーキテクチャでは、すべてのフローベースの処理がSPUで行われ、サンプリングはマルチスレッドを認識します。サンプリングされたパケットに対してパケットシーケンスが維持されます。

  • パケットベース(ステートレス)パケット処理では、パケットを個別に処理します。各パケットは、治療のために個別に評価されます。

    サービス ゲートウェイの分散処理アーキテクチャでは、トラフィックシェーピングなどの一部のパケットベース処理が NPU で行われます。パケットへの分類子の適用など、一部のパケットベースの処理は、SPUで行われます。

このトピックでは、次のセクションについて説明します。

フローベースの処理を理解する

パケットは、パケットベースのフィルターといくつかの画面が適用された後、フローベースの処理を受けます。単一フローに対するすべてのフローベースの処理は、単一のサービス処理ユニット(SPU)で発生します。SPUは、セッションに設定されたセキュリティ機能やその他のサービスに従って、フローのパケットを処理します。

図1は、フローベースのトラフィック処理がサービスゲートウェイでどのように行われるかの概念を示しています。

図1:フローベース処理のトラフィックフロー Traffic Flow for Flow-Based Processing

フローとは、同じ一致基準を満たし、同じ特性を共有する関連パケットのストリームです。Junos OSは、同じフローに属するパケットを同じ方法で処理します。

パケットに適用されるセキュリティポリシー、アプリケーション層ゲートウェイ(ALG)が必要かどうか、パケットの送信元および/または宛先IPアドレスの変換にNATが適用される場合など、パケットの運命を決定する構成設定は、フローの最初のパケットについて評価されます。

NPU は、パケットにフローが存在するかどうかを判断するために、以下の一致基準に基づいて、パケットの情報を既存のセッションの情報と照合しようとします。

  • 送信元アドレス

  • 宛先アドレス

  • 送信元ポート

  • 宛先ポート

  • プロトコル

  • 特定のゾーンと仮想ルーターの一意のセッショントークン番号

ゾーンとポリシー

フローの最初のパケットに使用されるセキュリティポリシーは、同じフローおよび密接に関連するフローで使用するためにフローテーブルにキャッシュされます。セキュリティポリシーはゾーンに関連付けられています。ゾーンは、セキュリティ境界を定義するインターフェイスの集合です。パケットが到着したインターフェイスによって決定される受信ゾーンと、転送ルックアップによって決定される発信ゾーンが一緒になって、フローのパケットに使用されるポリシーが決まります。

フローとセッション

ステートフルなフローベースのパケット処理では、セッションの作成が必要です。セッションは、以下の目的でフローの最初のパケットに対して作成されます。

  • フローのパケットに適用されるセキュリティ対策のほとんどを保存します。

  • フローの状態に関する情報をキャッシュします。

    例えば、フローのロギングとカウント情報は、そのセッションにキャッシュされます。(一部のステートフルファイアウォール画面は、個々のセッションまたはすべてのセッションに関連するしきい値に依存しています。)

  • NATなどの機能のフローに必要なリソースを割り当てます。

  • ALGやファイアウォール機能などの機能のフレームワークを提供します。

ほとんどのパケット処理は、以下を含むフローのコンテキストで発生します。

  • ポリシー、NAT、ゾーン、およびほとんどの画面の管理。

  • ALGと認証の管理。

パケットベース処理について

パケットは、入力インターフェイスのキューから削除されたとき、および出力インターフェイスのキューに追加される前に、パケットベースの処理を受けます。

パケットベースの処理では、ステートレスファイアウォールフィルター、CoS機能、および一部の画面が個別パケットに適用されます。

  • パケットがインターフェイスに到着すると、サニティーチェック、パケットベースのフィルター、いくつかのCoS機能、およびいくつかの画面が適用されます。

  • パケットがデバイスから出る前に、パケットベースのフィルター、一部の CoS 機能、およびインターフェイスに関連する一部の画面がパケットに適用されます。

フィルターとCoS機能は通常、1つ以上のインターフェイスに関連付けられ、システムを通過できるパケットに影響を与え、必要に応じてパケットに特別なアクションを適用します。

次のトピックでは、トランジットトラフィックに設定および適用できるパケットベースの機能の種類について説明します。

ステートレスファイアウォールフィルター

ACL(アクセスコントロールリスト)とも呼ばれるステートレスファイアウォールフィルターは、アクセスを制御し、トラフィックレートを制限します。送信元から宛先にデバイスを通過するパケット、またはルーティングエンジンから発信されたパケットまたは宛先宛てのパケットの内容を静的に評価します。ステートレス ファイアウォールフィルター は、フラグメントパケットを含むすべてのパケットを評価します。

ステートレスファイアウォールフィルターは、入力インターフェイスまたは出力インターフェイス、またはその両方に適用できます。フィルターには 1 つ以上の条件が含まれ、各条件は一致条件とアクションの 2 つのコンポーネントで構成されます。デフォルトでは、ファイアウォールフィルターに一致しないパケットは破棄されます。

ステートレスファイアウォールフィルターは、トラフィックを特定のプロトコル、IP送信元または宛先アドレス、データレートに制限するなど、さまざまな目的で使用する計画と設計を行うことができます。ステートレスファイアウォールフィルターは、NPUで実行されます。

サービスクラス機能

CoS機能を使用すると、トラフィックを分類およびシェーピングできます。CoS機能はNPUで実行されます。

  • BA(動作集約)分類子—これらの分類子は、デバイスに入るパケットに対して動作します。デバイスは、動作集約分類子を使用して、異なるタイプのトラフィックを単一の転送クラスに集約し、同じ転送処理を受けます。BA 分類子では、差別化されたサービス(DiffServ)値に基づいてパケットの転送クラスと損失の優先度を設定することができます。

  • トラフィックシェーピング—特定のトラフィックフローが提供する特定のアプリケーションに、遅延、 ジッター、およびパケット損失特性が異なるサービスレベルを割り当てることで、トラフィックをシェーピングできます。トラフィックシェーピングは、音声や映像の伝送などのリアルタイムアプリケーションに特に役立ちます。

画面

サービス拒否(DoS)画面などの一部の画面は、フロープロセス外のパケットに適用されます。これらはネットワーク処理ユニット(NPU)で実行されます。

IPv4トラフィックのデフォルトの処理動作を理解する

フローベースの処理モードは、ゾーン、スクリーン、ファイアウォールポリシーなどのセキュリティ機能を機能させるために必要です。ドロップモード処理の場合、トラフィックは直接ドロップされ、転送されません。トラフィックは処理されますが、セキュリティプロセスは適用されないパケットモード処理とは異なります。

機能エクスプローラーを使用して、特定の機能のプラットフォームとリリースのサポートを確認します。

プラットフォームに関連する注意事項については、「 IPv4トラフィックのデフォルトの処理動作について」 セクションを参照してください。

Configuring an SRX Series Device as a Border Router

任意のタイプのSRXシリーズファイアウォールでフローベース処理またはドロップモードが有効になっている場合、デバイスをボーダールーターとして設定するには、モードをMPLSのパケットベース処理に変更する必要があります。この場合、SRXシリーズファイアウォールをMPLSのパケットモードに設定するには、 set security forwarding-options family mpls mode packet-based ステートメントを使用します。

プラットフォーム固有のIPv4トラフィックの動作

機能エクスプローラーを使用して、特定の機能のプラットフォームとリリースのサポートを確認します。

お使いのプラットフォームに固有の動作を確認するには、以下の表を使用して下さい:

プラットフォーム

違い

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

  • IPv4トラフィックをサポートするSRX300シリーズデバイスでは、フローモード、パケットモード、ドロップモードを切り替えるときにデバイスを再起動する必要があります。

    IPv4トラフィックをサポートするSRX300シリーズデバイスでは、メモリの制約により、デフォルトの処理モードはドロップモードに設定されています。この場合、処理モードをドロップモードのデフォルトからフローベース処理モードまたはパケットベース処理モード(つまり、これらのデバイス上のモード間)に変更した後、デバイスを再起動する必要があります。

  • IPv4トラフィックをサポートするSRX4100、SRX4200、SRX5400、SRX5600、SRX5800、vSRX仮想ファイアウォールデバイスでは、フローモード、パケットモード、ドロップモードを切り替えるときにデバイスを再起動する必要はありません。

SRX320デバイス上のトラフィック処理について

このトピックでは、デバイスを通過するフローに属するパケットのセッションを確立するために SRX320 サービス ゲートウェイが実行するプロセスについて説明します。SRX320デバイスのフローサービスは、シングルスレッドで非分散型です。この点で他のSRXシリーズファイアウォールとは異なりますが、同じフローモデルに従い、同じコマンドラインインターフェイス(CLI)が実装されています。

フローのパケットにサービスが適用されるポイントを含めて、セッションの確立とパケットの「ウォーク」を説明するために、次のセクションで説明する例では、ユニキャストセッションの単純なケースを使用します。

フロー処理とセッション管理について

このトピックでは、フローを構成するパケットを処理するためにセッションを設定する方法について説明します。次のトピックで、SPUはSRX320ファイアウォールのデータプレーンスレッドを指します。

最初に、データプレーンスレッドがパケットを取得し、それに対して基本的なサニティーチェックを実行します。次に、ステートレス フィルターと CoS 分類子のパケットを処理し、いくつかの画面を適用します。

ファーストパケット処理について

パケットが既存のフローに属しているかどうかを判断するために、デバイスは以下の 6 つの一致基準に基づいて、パケットの情報を既存のセッションの情報と一致させようとします。

  • 送信元アドレス

  • 宛先アドレス

  • 送信元ポート

  • 宛先ポート

  • プロトコル

  • 特定のゾーンと仮想ルーターからの一意のトークン

SPUは、パケットの既存のセッションがないかセッションテーブルをチェックします。存在するセッションが見つからない場合、SPUはフローのセッションを設定します。セッションに一致するものが見つかった場合、セッションはすでに作成されているため、SPUはパケットに対して高速パス処理を実行します。

セッション作成について

セッションを設定する際、SPUはパケットに対して以下のサービスを実行します。

  • 画面

  • ルート検索

  • ポリシールックアップ

  • サービスルックアップ

  • NAT(必要な場合)

セッションが設定されると、フローに属するすべてのパケットに使用されます。フローのパケットは、そのセッションのパラメーターに従って処理されます。パケット処理の残りの手順については、「高速パス処理」のステップ1に進みます。すべてのパケットは高速パス処理を受けます。

高速パス処理について

パケットがセッションに一致する場合、Junos OS は次の手順で説明するように高速パス処理を実行します。フローの最初のパケットに対してセッションが設定された後、ファストパス処理も行われます。すべてのパケットは高速パス処理を受けます。

  1. SPUは、フローベースのセキュリティ機能をパケットに適用します。

    • 設定された画面が適用されます。

    • TCPチェックが実行されます。

    • 必要に応じて、NAT、ALG、IPsecなどのフローサービスが適用されます。

  2. SPUはパケットを転送用に準備し、送信します。

    • ルーティングパケットフィルターが適用されます。

    • トラフィックシェーピングが適用されます。

    • トラフィックの優先順位付けが適用されます。

    • トラフィックスケジューリングが適用されます。

    • パケットが送信されます。

SRX4600デバイス上のトラフィック処理について

ジュニパーネットワークスのSRX4600ファイアウォールは、高度なセキュリティと脅威の緩和、従来のステートフルファイアウォールセキュリティなど、フローベースのセキュリティとルーティングサービスを統合します。Junos OSフローベースのインフラストラクチャは、レイヤー4からレイヤー7までのアプリケーションベースのサービスの基盤とフレームワークを提供します。SRX4600ファイアウォールは、大企業のデータセンターエッジとデータセンターコア、キャンパスエッジに統合ファイアウォールとして導入するように設計されています。LTEセキュリティゲートウェイやGi/SGiファイアウォールとしても導入できます。

このトピックには、次のコンテンツが含まれています。

SRX4600ファイアウォールとその機能の導入シナリオについて

SRX4600ファイアウォールは、多くのエリアに展開して、環境とそのリソースを保護することができます。多くの場合、次のような方法でデータセンターのエッジとコアを保護するために使用されます。

  • データセンターエッジファイアウォールとしてのSRX4600ファイアウォールの導入

    データセンターのエッジにSRX4600ファイアウォールを導入して、データセンターがホストするアプリケーションとサービスに最適な保護を提供できます。すべてのデータセンターには、クライアントがデータセンターのサービスにアクセスできるようにするイングレスポイントがありますが、悪意のある攻撃者はそれを利用してこれらのサービスに対して攻撃を仕掛けることができます。データセンターに入る大量のトラフィックは、イングレスインターネットトラフィックです。そのため、データセンターのエッジに堅牢なマルチレイヤーセキュリティを展開することが不可欠です。SRX4600ファイアウォールは、攻撃を効果的かつ信頼性に優れてブロックし、特定の種類の攻撃を阻止するようにシステムを設定できます。SRX4600ファイアウォールは、脅威を認識して軽減するために迅速に共有できる自動化された実用的なインテリジェンスを中心に構築されたジュニパー Advanced Threat Prevention Cloud(ATP Cloud)を含む、ジュニパーのSoftware-Defined Secure Network(SDSN)フレームワークをサポートします。 図2 は、MX480ルーターおよびEXシリーズスイッチと組み合わせてデータセンターエッジに導入されたSRX4600ファイアウォールを示しています。

    図2:データセンターエッジData center network architecture diagram showing data flow from the internet through MX480 router firewall, SRX Series L2L3 gateway, EX Series switches, to servers.でのSRX4600ファイアウォールの導入
  • データセンターのコアに SRX4600 ファイアウォールを導入

    データセンターのコアにSRX4600ファイアウォールを導入することで、セキュリティを強化し、コンプライアンス要件を確実に満たすことができます。データセンターの処理はますます動的になっており、明確なネットワーク定義とコンプライアンス要件の適用が必要とされています。コンプライアンスを確保するために、SRX4600ファイアウォールを使用して、ネットワーク全体を個々のサーバーネットワークにセグメント化し、その中のトラフィックを保護することができます。SRX4600ファイアウォールは、高可用性と自動化を提供し、その高性能レイヤー3およびレイヤー4サービスはデータセンターコアのセキュリティ要件を満たします。 図3 は、データセンターコアにマルチレイヤーファイアウォールとして導入されたSRX4600ファイアウォールを示しています。

    図3:データセンターコアDiagram showing Data Center Core connected to SRX4600 Firewall, illustrating network architecture setup.でのSRX4600ファイアウォールの導入

SRX4600ファイアウォールは、高度なマルウェア対策機能に加えて、以下の機能もサポートしています。

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

  • アプリケーションセキュリティスイート

  • コンテンツセキュリティ(Sophos AV、Webフィルタリング、アンチスパム)

  • IDP

  • 高可用性(シャーシクラスター)

    • デュアルHA制御ポート(10G)

    • HAポートのMACsecサポート

  • QSFP28(100G/40G/4x10Gモード)、QSFP+(40G/4x10Gモード)、SFP+(10Gモード)を介したイーサネットインターフェイス

  • IPsec VPN(AutoVPN およびグループ VPNv2 を含む)

  • QoSとネットワークサービス

  • J-Web

  • マルチキャストを使用したルーティングポリシー

フローベースの処理とセッションの基礎

SRX4600ファイアウォール上のフロー処理を理解するには、フローの基本を理解することが重要です。

フローとは、同じ一致基準を満たし、同じ特性を共有する関連パケットのストリームです。Junos OSは、同じフローに属するパケットを同じ方法で処理します。SRXシリーズサービスゲートウェイのアーキテクチャと、パケットフローの処理方法は緊密に連携しています。その結果、アーキテクチャの違いにより、SRXシリーズファイアウォールのファミリーではフローの実装方法が部分的に異なります。

ステートフルなフローベースのパケット処理では、 セッションの作成が必要です。セッションは、ルーティングやその他のトラフィック分類情報に基づいて作成され、情報を保存し、フローにリソースを割り当てます。セッションはフローの状態に関する情報をキャッシュし、フローのパケットに適用されるセキュリティ対策のほとんどを保存します。デバイスによってアーキテクチャが異なるため、セッションの管理方法もデバイスによって異なります。

これらの違いに関係なく、概念的には、フロープロセスはすべてのサービスゲートウェイで同じであり、セッションは同じ目的を果たし、同じ機能を持っています。

SRXシリーズファイアウォールに実装されたフローとセッションの基盤となるコンポーネント

SRXシリーズファイアウォールは、同じインフラストラクチャコンポーネントを使用してフローをサポートし、セッションを管理しますが、すべてのデバイスがすべてを実装しているわけではありません。

フローを理解するには、以下のコンポーネントとその使用方法を理解することが不可欠です。

  • サービス処理ユニット(SPU)

    SPUは、パケットフローのセッションを管理します。セキュリティ機能やその他のサービスをパケットに適用します。また、パケットベースのステートレスファイアウォールフィルター、分類子、トラフィックシェーパーをパケットに適用します。

  • 中心点(CP)

    中央点は、SPU間でリソースを割り当て、セッション管理を分散するためにシステムが使用するSPUです。フローの最初のパケットが処理されると、中央点がそのパケットのセッションに使用するSPUを決定します。SRX4600ファイアウォールは、中央点を実装していません。

  • ネットワーク処理ユニット(NPU)とネットワーク処理セッション

    NPU は、I/O カード(IOC)上で動作し、パケットを個別に処理するプロセッサです。フローが作成されると、フローの後続のパケットがNPU上のセッションと一致します。NPUは、TCPシーケンスチェック、TTL(Time-to-Live)処理、レイヤー2ヘッダー変換などの追加処理を処理します。NPUは、セッションSPUとハッシュSPU間の余分なパケット転送を回避するという点で、パフォーマンスを向上させます。SRX4600ファイアウォールはNPUを実装しています。

SRX4600デバイスの高度なマルチコアXeon™プロセッサの使用を最適化するために、SRX4600ファイアウォールのフローアーキテクチャが改善されました。SRX4600ファイアウォールは、専用のセッションスレッドを使用して、フロー内の順序外れパケットの管理などの問題を回避することを実装しています。ネットワーク処理セッションを利用して、パケットが適切な専用スレッドに転送されるようにします。パケットは、ハッシュベースのセッション配布モデルに従って、異なるスレッドに配布されます。

SRX5000ラインデバイス上のトラフィック処理について

SRX5000 デバイスのJunos OSは、分散型並列処理、高スループット、高性能システムです。SRX5000シリーズサービスゲートウェイの分散型パラレル処理アーキテクチャには、セッションを管理し、セキュリティやその他のサービス処理を実行するための複数のプロセッサが含まれています。このアーキテクチャは柔軟性を高め、高スループットと高速パフォーマンスを可能にします。

注:

SRX1400、SRX3400、SRX3600、SRX5400、SRX5600、およびSRX5800デバイスでは、ネゴシエーション中にIKEパケットの送信元IPアドレスを変更するNATデバイスの背後にIKEピアがある場合、NATトラバーサルを含むIKEネゴシエーションは機能しません。たとえば、NATデバイスがDIPで設定されている場合、IKEプロトコルがUDPポートを500から4500に切り替えるため、送信元IPが変更されます。

SRX5000シリーズデバイスのI/Oカード(IOC)とサービス処理カード(SPC)には、デバイスを通過するパケットを処理する処理ユニットが含まれています。IOCは1つ以上のネットワーク処理ユニット(NPU)を持ち、SPCは1つ以上のサービス処理ユニット(SPU)を持っています。

これらの処理ユニットには、さまざまな責任があります。パケットのすべてのフローベースサービスは、単一のSPUで実行されます。これらのNPUの責任は、それら上で実行される他の種類のサービスに関して明確に定義されていません。.)

次に例を示します。

  • NPU はパケットを個別に処理します。サニティーチェックを実行し、サービス拒否(DoS)画面など、インターフェイスに設定された一部の画面をパケットに適用します。

  • SPUは、パケットフローのセッションを管理し、セキュリティ機能やその他のサービスをパケットに適用します。また、パケットベースのステートレスファイアウォールフィルター、分類子、トラフィックシェーパーをパケットに適用します。

  • NPUは、ハッシュアルゴリズムを使用してパケットをSPUに転送します。ただし、ALGなどの一部のアプリケーションでは、パケットを処理するSPUを決定するために、システムがアプリケーションの中央点にクエリーを行う必要があります。

中央点を含むシステムのこれらの個別の協調部分には、それぞれが、パケットのストリームに対してセッションが存在するかどうかを特定する情報と、パケットが既存のセッションに属しているかどうかを判断するためにパケットが照合される情報を格納します。

このアーキテクチャにより、デバイスはすべてのセッションの処理を複数のSPUに分散できます。また、NPU がパケットにセッションが存在するかどうかを判断し、パケットをチェックし、パケットに画面を適用することもできます。パケットの処理方法は、それがフローの最初のパケットであるかどうかによって異なります。

以下のセクションでは、SRX5400、SRX5600、SRX5800デバイスを例に、処理アーキテクチャについて説明します。

ファーストパケット処理について

図4は、フローの最初のパケットがデバイスに入るまでのパスを示しています。NPUはパケットにセッションが存在しないと判断し、NPUはパケットを分散中央点に送信して分散中央点セッションを設定します。次に、分散された中央点がアプリケーション中央点にメッセージを送信して、SPUを選択してパケットのセッションを設定し、パケットを処理します。次に、分散された中央点がパケットをそのSPUに送信します。SPUはパケットを処理し、デバイスから送信するためにNPUに送信します。(この概要は、パケットへの機能の適用については説明していません。)

図4:最初のパケット処理 Simplified flow diagram of packet processing: First Packet enters NPU, then SPU for security, interacts with DCP, APPCP for application logic, and final NPU.

フローの最初のパケットがシステムを通過し、そのセッションが確立された後、高速パス処理が行われます。

フロー内の後続のパケットも高速パス処理を受けます。この場合、各パケットがセッションに入り、NPUがセッションテーブルでそのパケットに一致するものを見つけた後、NPUはそのセッションを管理するSPUにパケットを転送します。

図5は、高速パス処理を示しています。これは、関連するパケットに対してフローがすでに確立されている場合にパケットがたどるパスです。(これは、パケットが開始したフローのセッションが設定された後に、フローの最初のパケットがたどるパスでもあります。)パケットがデバイスに入ると、NPUはセッションテーブルでパケットに一致するものを見つけ、パケットのセッションを管理するSPUにパケットを転送します。パケットは中央点との相互作用をバイパスすることに注意してください。

高速パス処理について

次のセクションでは、セッションの作成方法と、パケットがデバイスを通過するプロセスについて説明します。

図5:高速パス処理 Simplified flow diagram of packet processing in a network system featuring APPCP, NPU, DCP, and SPU with dashed blue arrows indicating packet flow.

ここでは、パケットのセッションを設定し、SRX5400、SRX5600、SRX5800デバイスを通過する際に個別に、またはフローの一部としてパケットを処理する際に関与する主要コンポーネントの概要を示します。

  • ネットワーク処理ユニット(NPU)—NPUはIOC上に存在します。パケットの健全性チェックと一部の画面の適用を処理します。NPU は、セッション テーブルを維持し、受信パケットまたはリバース トラフィックに対してセッションが存在するかどうかを判断するために使用します。

    NPUセッションテーブルには、以前にインターフェイスを介してデバイスに入り、このNPUによって処理されたパケットに対して、セッションがSPUで確立されている場合のセッションのエントリーが含まれます。SPUは、セッションの作成時にNPUテーブルにセッションをインストールします。

    NPU は、パケット情報をセッション テーブルと照合することにより、パケットにセッションが存在するかどうかを判断します。パケットが既存のセッションと一致する場合、NPUはパケットとそのメタデータをSPUに送信します。セッションがない場合、NPUはパケットを1つのSPUに送信します。SPUはハッシュアルゴリズムを使用して計算されます。

  • SPU(サービス処理ユニット)—SRX5400、SRX5600、SRX5800デバイスのメインプロセッサはSPCに常駐しています。SPUは、トラフィックフローを確立および管理し、デバイスを通過するパケットのパケット処理のほとんどを実行します。各SPUは、高速セッション検索のためのハッシュテーブルを維持しています。SPUは、ステートレスファイアウォールフィルター、分類子、トラフィックシェーパーをトラフィックに適用します。SPUは、パケットのすべてのフローベースの処理とほとんどのパケットベースの処理を実行します。各マルチコアSPUは、同じSPCまたは異なるSPC上のSPU間の相互作用を最小限に抑えて、独立してパケットを処理します。同じフローに属するすべてのパケットは、同じSPUによって処理されます。

    SPUは、確立したすべてのセッションと、処理するパケットのエントリーを含むセッションテーブルを維持します。SPUがNPUからパケットを受信すると、そのセッションテーブルをチェックして、パケットがそのものであることを確認します。また、分散された中央点からパケットを受信するともセッション テーブルをチェックし、そのパケットのセッションを確立するメッセージを送信して、パケットにセッションが存在しないことを確認します。

  • 中央ポイント—中央ポイントアーキテクチャは、アプリケーションの中央ポイントと分散中央ポイントの2つのモジュールに分かれています。アプリケーションの中央点はグローバルなリソース管理とロードバランシングを担当し、分散された中央点はトラフィックの識別(グローバルセッションマッチング)を担当します。アプリケーションのセントラルポイント機能は専用のセントラルポイントSPUで実行され、分散セントラルポイント機能は残りのSPUに分散されます。これで、中央ポイントセッションは専用の中央ポイントSPUではなく、他のフローSPU上の分散中央ポイントと共に行われます。

  • ルーティングエンジン—ルーティングエンジンがコントロールプレーンを実行します。

ユニキャスト セッションのデータ パスについて

このセクションでは、デバイスを通過するフローに属するパケットのセッションを確立するプロセスについて説明します。

フロー内のパケットにサービスが適用されるポイントを含め、セッションの確立とパケットの「ウォーク」を説明するために、この例ではユニキャストセッションの単純なケースを使用します。

このパケットの「ウォーク」は、Junos OSがパケットに対して実行するパケットベースの処理とフローベースの処理をまとめたものです。

セッションルックアップとパケット一致基準

パケットが既存のフローに属しているかどうかを判断するために、デバイスは以下の 6 つの一致基準に基づいて、パケットの情報を既存のセッションの情報と一致させようとします。

  • 送信元アドレス

  • 宛先アドレス

  • 送信元ポート

  • 宛先ポート

  • プロトコル

  • 特定のゾーンと仮想ルーターからの一意のトークン

セッション作成について:初回パケット処理

このセクションでは、フローを構成するパケットを処理するためにセッションを設定する方法について説明します。このプロセスを説明するために、このセクションでは、ソース「a」と宛先「b」を持つ例を使用します。フローのパケットの送信元から宛先への方向は、(a ->b)と呼ばれます。宛先から送信元までの方向は、(b->a)と呼ばれます。

ステップ1.パケットがデバイス上のインターフェイスに到着し、NPUがそれを処理します。

このセクションでは、パケットがSRXシリーズファイアウォールイングレスIOCに到着したときにどのように処理されるかについて説明します。

  1. パケットはデバイスのIOCに到着し、IOC上のNPUによって処理されます。

  2. NPU は、パケットに対して基本的なサニティー チェックを実行し、インターフェイスに設定された一部の画面をパケットに適用します。

  3. NPU は、パケットの既存のセッションがないかセッション テーブルをチェックします。(パケットのタプルを、セッションテーブル内の既存のセッションのパケットのタプルと照合します。)

    1. 既存のセッションが見つからない場合、NPUはパケットをハッシュSPUに転送します。

    2. セッションに一致するものが見つかった場合、そのセッションは割り当てられたSPUですでに作成されているため、NPUはセッションIDとともにパケットをSPUに転送して処理します。

Example: パケット(a ->b)はNPU1に到着します。NPU1 はサニティー チェックを実行し、パケットに DoS 画面を適用します。NPU1 は、セッションテーブルでタプルの一致を確認し、既存のセッションが見つかりません。NPU1 はパケットを SPU に転送します。

ステップ 2.分散された中央点は、「保留中」状態のセッションを作成します。

NPUがパケットを受信すると、NPUはハッシュアルゴリズムに基づいて分散された中央点にパケットを送信します。次に、分散中央点が分散中央点セッションテーブルを検索し、必要に応じてエントリーを作成します。

このプロセスには、次の部分が含まれます。

  1. 分散された中央点は、セッションテーブルをチェックして、NPU から受信したパケットに対してセッションが存在するかどうかを判断します。(NPUは、パケットの既存のセッションが見つからないため、パケットを分散された中央点に転送します)

  2. 分散中央点セッションテーブルにパケットと一致するエントリーがない場合、分散中央点はセッションの保留中のウィングを作成します。次に、分散された中央点がアプリケーション中央点にクエリメッセージを送信して、セッションに使用するSPUを選択します。

  3. クエリメッセージを受信すると、アプリケーション中央ポイントはゲートテーブルをチェックして、パケットにゲートが存在するかどうかを判断します。ゲートが一致するか、他のセッション配信アルゴリズムがトリガーされた場合、アプリケーション中央点はパケットを処理する別のSPUを選択します。それ以外の場合は、SPU(つまり分散中央点SPU)が選択されます。最後に、アプリケーションの中央点は、分散された中央点にクエリ応答を送信します。

  4. クエリー応答を受信すると、分散された中央点は、パケットフローに使用するセッションをローカルに設定するようにSPUに指示するメッセージで、フローの最初のパケットを選択したパケットフローに転送します。例えば、分散された中央点は、セッションの保留中のウィング(a ->b)を作成します。アプリケーションの中央点は、それに使用するSPU1を選択します。分散された中央点は、分散された中央点のセッションを作成するためのメッセージとともに、(a->b)パケットをSPU1に送信します。

Example: 分散された中央点は、セッションの保留中のウィング(a ->b)を作成します。使用するSPU1を選択します。SPU1に(a->b)パケットを、セッションを作成するためのメッセージとともに送信します。

ステップ 3.SPUがセッションを設定します。

各SPUにも、セッションに関する情報を含むセッションテーブルがあります。SPUは、分散された中央点からセッションを設定するメッセージを受信すると、セッションテーブルをチェックして、パケットにセッションがまだ存在しないことを確認します。

  1. パケットに既存のセッションがない場合、SPUはセッションをローカルで設定します。

  2. SPUは、セッションをインストールするように指示するメッセージを分散された中央点に送信します。

    注:

    最初のパケット処理中に、NATが有効になっている場合、SPUはNATにIPアドレスリソースを割り当てます。この場合、NAT割り当てプロセスが完了するまで、セッションの最初のパケット処理は中断されます。

SPUは、セッションがインストールされるまで受信する可能性のあるフローの追加パケットをキューに追加します。

Example: SPU1 は、(a ->b) のセッションを作成し、保留中のセッションをインストールするように指示するメッセージを分散中央ポイントに送り返します。

ステップ 4.分散された中央点がセッションをインストールします。

分散された中央点は、SPUからインストールメッセージを受信します。

  1. 分散された中央点は、セッションの保留中のウィングの状態をアクティブに設定します。

  2. 分散された中央点は、セッションのリバース ウィングをアクティブ ウィングとしてインストールします。

    注:

    NAT などの一部のケースでは、リバース ウィングをイニット ウィングの分散中心点とは異なる分散中心点に設置する場合があります。

  3. セッションがインストールされていることを示す確認(ACK)メッセージをSPUに送信します。

Example: 分散された中央点は、SPU1から(a->b)ウィングのセッションをインストールするためのメッセージを受信します。(a->b)ウィングのセッション状態をアクティブに設定します。セッション用のリバースウィング(b->a)を取り付けてアクティブにします。これにより、フローの逆方向、つまり宛先(B)を送信元(A)に配信するパケットの配信が可能になります。

ステップ 5.SPUは、イングレスおよびエグレスNPUでセッションを設定します。

NPU は、パケット転送と配信のためにセッションに関する情報を維持します。セッション情報は、エグレスとイングレスのNPU(同じ場合もあります)に設定され、パケットをリダイレクトのための分散された中央ポイントではなく、フローを管理するSPUに直接送信できるようにします。

ステップ 6.高速パス処理が行われます。

パケット処理の残りのステップについては、「 高速パス処理について」のステップ1に進んでください。

図6は、フローの最初のパケットがデバイスに到達した後に行うプロセスの最初の部分を示しています。この時点で、パケットとそのフローに属する残りのパケットを処理するセッションが設定されます。その後、それとフロー内の残りのパケットは高速パス処理を受けます。

図6:セッション作成:最初のパケット処理 Sequence diagram showing network system flow: Ingress IOC for packet entry, HASH SPU for hashing and CP session creation, SESS SPU for session management, CP for session facilitation, and Egress IOC for packet exit.

高速パス処理について

すべてのパケットは高速パス処理を受けます。ただし、パケットにセッションが存在する場合、パケットは高速パス処理を受け、最初のパケットプロセスをバイパスします。パケットのフローのセッションがすでに存在する場合、パケットは中央点を通過しません。

高速パス処理の仕組みは次のとおりです。 エグレスおよびイングレスインターフェイスのNPUには、パケットのフローを管理するSPUの識別を含むセッションテーブルが含まれています。NPU にはこのセッション情報があるため、リバース トラフィックを含むすべてのフローのトラフィックは、処理のためにその SPU に直接送信されます。

このセクションでは、高速パス プロセスを説明するために、ソース "a" と宛先 "b" の例を使用します。フローのパケットの送信元から宛先への方向は、(a->b)と呼ばれます。宛先から送信元までの方向は、(b->a)と呼ばれます。

ステップ1.パケットがデバイスに到着し、NPU がそれを処理します。

このセクションでは、パケットがサービスゲートウェイのIOCに到着したときにどのように処理されるかについて説明します。

  1. パケットはデバイスのIOCに到着し、カード上のNPUによって処理されます。

    NPUはサニティーチェックを実行し、サービス拒否(DoS)画面など一部の画面をパケットに適用します。

  2. NPU は、パケットが一致するセッション テーブル内の既存セッションのエントリーを識別します。

  3. NPUは、セッションIDやパケットタプル情報などのセッションテーブルのメタデータとともに、フローのセッションを管理し、ステートレスファイアウォールフィルターやCoS機能をパケットに適用し、パケットのフロー処理とセキュリティなどの機能の適用を処理するSPUにパケットを転送します。

Example: パケット(a ->b)はNPU1に到着します。NPU1 はパケットに対してサニティー チェックを実行し、パケットに DoS 画面を適用して、セッション テーブルでタプルの一致をチェックします。一致するものを見つけ、SPU1上のパケットにセッションが存在することを確認します。NPU1 は、処理のためにパケットを SPU1 に転送します。

ステップ 2.セッションのSPUがパケットを処理します。

パケットの処理の大部分は、そのセッションが割り当てられているSPUで行われます。パケットは、ステートレスファイアウォールフィルター、トラフィックシェーパー、分類子(該当する場合)などのパケットベースの機能のために処理されます。設定されたフローベースのセキュリティおよびファイアウォール機能、NAT、ALGなどの関連サービスがパケットに適用されます。(セッションのセキュリティサービスを決定する方法については。

  1. パケットを処理する前に、SPUはセッションテーブルをチェックして、パケットがいずれかのセッションに属していることを確認します。

  2. SPUは、該当する機能とサービスのパケットを処理します。

Example: SPU1は、NPU1からパケット(a->b)を受信します。SPU1 は、セッション テーブルをチェックして、パケットがいずれかのセッションに属していることを確認します。次に、入力フィルターと入力インターフェイスに適用されるCoS機能に従ってパケット(a ->b)を処理します。SPUは、ゾーンとポリシーに基づいて、パケットのフローに設定されたセキュリティ機能とサービスをSPUに適用します。設定されている場合は、出力フィルター、トラフィックシェーパー、追加の画面がパケットに適用されます。

ステップ 3.SPUはパケットをNPUに転送します。
  1. SPUはパケットをNPUに転送します。

  2. NPU は、インターフェイスに関連付けられた適用可能なすべての画面をパケットに適用します。

Example: SPU1はパケット(a ->b)をNPU2に転送し、NPU2はDoS画面に適用します。

ステップ 4.インターフェイスは、デバイスからパケットを送信します。

Example: インターフェイスは、デバイスからパケット(a->b)を送信します。

ステップ 5.リバーストラフィックパケットがエグレスインターフェイスに到着し、NPUがそれを処理します。

このステップは、ステップ1をまったく逆に反映しています。詳細については、このセクションのステップ1を参照してください。

Example: パケット(b->a)はNPU2に到着します。NPU2 は、セッションテーブルでタプルが一致するかどうかをチェックします。一致するものを見つけ、SPU1上のパケットにセッションが存在することを確認します。NPU2 は、処理のためにパケットを SPU1 に転送します。

ステップ 6.セッションのSPUは、リバーストラフィックパケットを処理します。

このステップは、リバーストラフィックに適用される点を除けばステップ2と同じです。詳細については、このセクションのステップ2を参照してください。

Example: SPU1は、NPU2からパケット(b->a)を受信します。セッションテーブルをチェックして、パケットがNPU2によって識別されるセッションに属していることを確認します。次に、NPU1のインターフェイス用に設定されたパケットベースの機能をパケットに適用します。パケット(b->a)は、ゾーンとポリシーに基づいて、フローに設定されたセキュリティ機能やその他のサービスに従って処理します。

ステップ 7.SPUは、リバーストラフィックパケットをNPUに転送します。

このステップは、リバーストラフィックに適用されることを除けばステップ3と同じです。詳細については、このセクションのステップ3を参照してください。

Example: SPU1は、パケット(b->a)をNPU1に転送します。NPU1 は、インターフェイスに設定されたすべての画面を処理します。

8. インターフェイスは、デバイスからパケットを送信します。

このステップは、リバーストラフィックに適用されることを除けばステップ4と同じです。詳細については、このセクションのステップ4を参照してください。

例:インターフェイスは、デバイスからパケット(b->a)を送信します。

図7は、パケットがデバイスに到達し、パケットが属するフローに対してセッションが存在するときに通過するプロセスを示しています。

図7:高速パス処理のためのパケットウォーク Packet Walk for Fast-Path Processing

サービス処理ユニットについて

特定の物理インターフェイスについて、SPUは、物理インターフェイスに関連付けられたネットワークプロセッサバンドル内のすべてのネットワークプロセッサからイングレスパケットを受信します。SPUは、物理インターフェイスからネットワークプロセッサバンドル情報を抽出し、同じ5タプルハッシュアルゴリズムを使用してフローをネットワークプロセッサインデックスにマッピングします。ネットワークプロセッサを特定するために、SPUはネットワークプロセッサバンドル内のネットワークプロセッサインデックスを検索します。SPUは、外部トラフィック用に物理インターフェイスのローカルPIM(物理インターフェイスモジュール)にエグレスパケットを送信します。

注:

ネットワークプロセッサとSPUは、同じ5タプルハッシュアルゴリズムを使用してパケットのハッシュ値を取得します。

スケジューラの特性について

SRX5400、SRX5600、SRX5800デバイスの場合、IOCは以下の階層スケジューラ特性をサポートします。

  • IFL – ネットワークプロセッサバンドルの設定は、物理インターフェイスのデータ構造に保存されます。例えば、SRX5400、SRX5600、SRX5800デバイスのPIMは最大48個です。物理インターフェイスは、48ビットビットマスクを使用してPIMを示すことができます。または、この物理インターフェイスからのネットワークプロセッサトラフィックは、物理インターフェイスのプライマリネットワークプロセッサに加えて分散されます。

    SRX5000シリーズのデバイスでは、iflset機能は rethなどの集約型インターフェイスではサポートされていません。

  • IFD – ネットワークプロセッサバンドルの物理インターフェイスに関連付けられた 論理インターフェイス は、ネットワークプロセッサバンドル内にPIMを持つすべてのIOCに渡されます。

ネットワークプロセッサのバンドリングについて

ネットワークプロセッサのバンドリング機能は、SRX5000シリーズのデバイスで使用できます。この機能により、パケット処理のために、1つのインターフェイスから複数のネットワークプロセッサにデータトラフィックを配信できます。プライマリネットワークプロセッサは、イングレストラフィックを受信し、他のいくつかのセカンダリネットワークプロセッサにパケットを配信するインターフェイスに割り当てられます。単一のネットワークプロセッサは、プライマリネットワークプロセッサとして動作することも、複数のインターフェイスに対するセカンダリネットワークプロセッサとして動作することもできます。1つのネットワークプロセッサは、1つのネットワークプロセッサバンドルにのみ参加できます。

ネットワークプロセッサのバンドリングの制限

ネットワークプロセッサのバンドリング機能には、以下の制限があります。

  • ネットワークプロセッサのバンドリングにより、バンドルごとに合計16のPIMと8つの異なるネットワークプロセッサバンドルシステムを使用できます。

  • バンドルの設定変更を適用するには、デバイスを再起動する必要があります。

  • ネットワークプロセッサのバンドリングは、アーキテクチャ全体のrethインターフェイスの下にあります。ネットワークプロセッサバンドルから一方または両方のインターフェイスを選択して、rethインターフェイスを形成できます。

  • IOCがネットワークプロセッサバンドルから削除されると、そのIOC上のPIMに転送されたパケットは失われます。

  • ネットワークプロセッサバンドルを有効にすると、ICMP、UDP、TCP同期フラッディングしきい値がインターフェイスに適用されなくなります。パケットは、処理のために複数のネットワークプロセッサに分配されます。これらのしきい値は、ネットワークプロセッサバンドル内の各ネットワークプロセッサに適用されます。

  • ネットワークプロセッサのバンドリングは、レイヤー2モードではサポートされていません。

  • ネットワークプロセッサのメモリ制約により、PIM ごとにサポートされるネットワークプロセッサバンドルポートの数は制限されています。ネットワークプロセッサバンドル内では、各ポートにグローバルポートインデックスが必要です。グローバルポートインデックスは、以下の式を使用して計算されます。

    Global_port_index = (global_pic * 16) + port_offset

  • シャーシクラスター実装におけるリンクアグリゲーショングループ(LAG)と冗長イーサネットインターフェイスLAGは、ネットワークプロセッサのバンドリングと共存できます。ただし、LAGも冗長イーサネットインターフェイスLAGも、物理リンクをネットワークプロセッサバンドルと重複させたり、共有したりすることはできません。

セッションキャッシュについて

概要

SRX5400、SRX5600、およびSRX5800デバイス上のSRX5K-MPC(IOC2)、SRX5K-MPC3-100G10G(IOC3)、SRX5K-MPC3-40G10G(IOC3)は、セッションキャッシュとセッションキャッシュの選択的インストールをサポートしています。

セッションキャッシュは、IOC上のネットワークプロセッサ(NP)とSPU間の会話をキャッシュするために使用されます。会話は、セッション、GTP-U トンネル トラフィック、IPsec VPN トンネル トラフィックなどです。会話には2つのセッションキャッシュエントリがあり、1つは受信トラフィック用、もう1つはリバーストラフィック用です。トラフィックのイングレスポートとエグレスポートの場所に応じて、2つのエントリーが同じネットワークプロセッサに存在するか、異なるネットワークプロセッサに存在する場合があります。IOCは、IPv6セッションのセッションキャッシュをサポートします。

セッションキャッシュエントリは、 セッションウィングとも呼ばれます。

IOCのセッションキャッシュは、Express Path(以前は サービスオフローディングと呼ばれていました)機能を活用して、高遅延やIPsecパフォーマンスの低下などの問題を防ぐのに役立ちます。

セッションキャッシュエントリーは以下を記録します。

  • 変換のトラフィックをどのSPUに転送する必要があるか

  • Express Pathモードで、変換のトラフィックをどの出口ポートに転送する必要があるか

  • Express PathモードでのNAT変換など、エグレストラフィックに対して行う処理

その他のトラフィックは、5タプルの鍵情報に基づいてSPUにハッシュされました。VPN トラフィックにはアンカー SPU の概念が採用されていましたが、これは必ずしもフロー SPU の機能と一致するわけではありませんでした。ネットワークプロセッサは、5タプルハッシュに基づいて、フローSPUにパケットを転送することしかできませんでした。その後、フローSPUはパケットをアンカーされたSPUに転送しました。これにより、VPNトラフィックに余分なホップが生じ、スイッチファブリック帯域幅を浪費し、VPNススループットを約半分に低下させました。このパフォーマンスの低下は、アンカーされたSPUで処理した後も、トラフィックがフローSPUに戻る必要があったために発生しました。

セッションキャッシュテーブルが、NPセッションをサポートするためにIOCで拡張されるようになりました。Express Path トラフィックと NP トラフィックは、IOC 上で同じセッションキャッシュテーブルを共有します。Express Path トラフィックは、SPU からのサービスを必要としないため、IOC 自体によってローカルまたは別の IOC に転送されます。NPトラフィックは、さらなる処理のためにセッションキャッシュで指定されたSPUに転送されます。すべてのセッションキャッシュエントリは、Express PathセッショントラフィックとNPトラフィックの両方で共有されます。

IOCでセッションキャッシュを有効にするには、 set chassis fpc <fpc-slot> np-cache コマンドを実行する必要があります。

注:

IOC2 と IOC3 は、遅延セッション削除メカニズムを利用します。削除された後すぐに再インストールされた同じセッション(同じ 5 つのタプルを持つセッション)は、IOC にキャッシュされません。

選択的セッションキャッシュのインストール

高い遅延を回避し、IPSec のパフォーマンスを向上させ、貴重なリソースをより有効に活用するために、フロー モジュールと IOC の両方に特定の優先メカニズムが適用されます。

IOCは、セッションキャッシュ使用しきい値レベルを維持および監視します。また、IOCはセッションキャッシュの使用状況をSPUに通知するため、特定のセッションキャッシュ使用量のしきい値に達した場合、SPUは選択的で優先度の高いトラフィックセッションに対してのみセッションキャッシュインストール要求を送信します。

IDP、ALGなどのアプリケーションは、パケットを順番に処理する必要があります。1つのSPUには、1つのセッションに属するパケット、ロードバランシングスレッド(LBT)、およびパケット順序スレッド(POT)パケット順序を処理する複数のフロースレッドがあり、トラフィックが順番にファイアウォールを通過するようにすることができますが、アプリケーションが同じセッションに属するパケットを順番に処理することを保証することはできません。フローシリアル化は、一度に1つのSPUフロースレッド処理パケットのみが同じセッションに属するようにするため、アプリケーションはパケットを順番に受信、処理、送信できます。他のフロースレッドは、他のセッションのフローシリアル化処理を同時に実行できます。

IOCにセッションキャッシュをインストールできるトラフィックのタイプを決定するには、次の4つの優先度レベルを使用します。

  • Priority 1 (P1)— IPSecおよびExpress Path適格なトラフィック

  • Priority 2 (P2)— フラグメント化順序付け

  • Priority 3 (P3)— NAT/SZ(セッションシリアル化)トラフィックトラフィック

  • Priority 4(P3)— その他のすべてのタイプのトラフィック

IOCは、セッションキャッシュ使用量のしきい値レベルを維持および監視し、現在のリアルタイムセッションキャッシュ使用量をSPUに更新します。SPUは、特定の優先度の高いトラフィックセッション用のセッションキャッシュをインストールするようIOCに要求します。優先度の高いトラフィックセッションのセッションキャッシュ使用量を表に示します。

表1:セッションキャッシュのインストールバー

トラフィックタイプ

<使用率0%<25%

<使用率25%<50%

<使用率50%<75%

100%<75%<使用率

IPsecおよびExpress Pathトラフィック

はい

はい

はい

はい

フラグメント化 順序付けトラフィック

はい

はい

はい

いいえ

NAT/SZトラフィック

はい

はい

いいえ

いいえ

その他のトラフィック

はい

いいえ

いいえ

いいえ

IOC のセッション エントリーを保存するために、フロー モジュールは IOC にセッションを選択的にインストールします。セッション インストールの選択を容易にするために、IOC は対応するしきい値を維持し、(IOC 上のセッション キャッシュ テーブルがどれだけいっぱいであるかについて)フロー モジュールに表示します。メタヘッダーに2ビットが追加され、現在のキャッシュテーブルの使用状況を示します。SPUに送信されるすべてのパケットは、これら2つのステータスビットを伝送し、IOC上のキャッシュテーブルの使用状況をフローモジュールに通知します。

セッションキャッシュを使用したIPsec VPNセッションアフィニティの強化

SRXシリーズファイアウォールは完全に分散されたシステムであり、IPsecトンネルが割り当てられ、特定のSPUに固定されます。IPsecトンネルに属するすべてのトラフィックは、トンネルアンカーSPUで暗号化および復号化されます。IPsecパフォーマンスを向上させるために、IOCはフローモジュールを改善して、トンネルアンカーSPUでIPsec トンネルベースのトラフィックのセッション(暗号化前と復号化後)を作成し、セッション用のセッションキャッシュをインストールして、IOCがパケットを同じSPUに直接リダイレクトできるようにして、パケット転送のオーバーヘッドを最小限に抑えることができます。Express Path トラフィックと NP トラフィックは、IOC 上で同じセッションキャッシュテーブルを共有します。

IOCでセッションキャッシュを有効にし、セキュリティポリシーを設定して、選択したフレキシブルPICコンセントレータ(FPC)でセッションがExpress Path(以前は サービスオフロードと呼ばれていました)モード用かどうかを判断する必要があります。

IPsec VPNアフィニティを有効にするには、 set security flow load-distribution session-affinity ipsec コマンドを使用します。

注:

IPsec VPNアフィニティを有効にするには、 set chassis fpc <fpc-slot> np-cache コマンドを使用してIOCのセッションキャッシュを有効にする必要があります。

NPセッションキャッシュを使用したフラグメント化パケットの順序付け

セッションは、通常のパケットとフラグメント化されたパケットの両方で構成される場合があります。ハッシュベースの配信では、5 タプル鍵と 3 タプル鍵を使用して、通常のパケットとフラグメント化されたパケットをそれぞれ異なる SPU に配信できます。SRXシリーズファイアウォールでは、セッションのすべてのパケットが処理SPUに転送されます。転送と処理の遅延により、処理SPUがセッションのパケット順序を保証しない場合があります。

IOCのセッションキャッシュは、フラグメントパケットを含むセッションのパケットの順序を確実に決定します。セッションキャッシュエントリは、セッションの通常のパケットに割り当てられ、3タプルキーを使用してフラグメントパケットを検索します。セッションの最初のフラグメントパケットを受信すると、フローモジュールにより、IOCはセッションキャッシュエントリを更新して、SPUのフラグメントパケットを記憶できます。その後、IOCはセッションの後続のすべてのパケットをSPUに転送し、フラグメントパケットを含むセッションのパケットの順序を確認します。

IOC から NPC へのマッピングの設定

入出力カード(IOC)からネットワーク処理カード(NPC)へのマッピングでは、1つのIOCを1つのNPCにマッピングする必要があります。ただし、複数のIOCを1つのNPCにマッピングすることはできます。SRX3400およびSRX3600サービスゲートウェイ上のNPCの処理能力のバランスをとるために、シャーシプロセス(デーモン)はマッピングを実行するアルゴリズムを実行します。IOCは、マップされているIOCの数が最も少ないNPCにIOCをマップします。コマンドラインインターフェイス(CLI)を使用して、特定のIOCを特定のNPCに割り当てることもできます。マッピングを設定すると、シャーシ プロセスは最初に設定を使用し、次に残りの IOC に最小数 NPC アルゴリズムを適用します。

注:

プラットフォームのサポートは、インストールされた Junos OS リリースによって異なります。

IOCからNPCへのマッピングを設定するには:

注:

set chassis ioc-npc-connectivityコマンドをコミットした後、シャーシ制御を再起動する必要があります。

SRX5K-SPC3 デバイス上のフロー処理について

サービス処理カードSRX5K-SPC3は、SRX5000セキュリティサービスゲートウェイ上のセキュリティサービスのパフォーマンスを向上させるために導入されました。SPC3 カードは、より高いスループットをサポートし、シャーシ クラスターの機能とサービス処理のための拡張性を維持するため、信頼性を維持します。

SPC3カードは、以下のセキュリティ機能をサポートしています。

SPC2カードでサポートされている既存のセキュリティ機能すべてでSPC3カードをサポートするようにセキュリティフローが強化されています。

注:

Junos OSリリース18.2R1-S1のSPC3カードには、以下の制限が適用されます。

  • SPC3カードとSPC2カードの相互運用性はサポートされていません。

  • IPsec VPN機能はSPC3カードではサポートされていません。

SRX5000シリーズデバイスでは、SPC3カードはI/Oカード(IOC2、IOC3)、スイッチコントロールボード(SCB2、SCB3)、ルーティングエンジン、SPC2カードと相互運用が可能です。

Junos OSリリース18.4R1以降、SRX5000シリーズデバイスではSPC3カードとSPC2カードの混在がサポートされています。

SRX5000シリーズのデバイスにSPC3カードを追加する場合、新しいSPC3カードはSPCの中で番号が最も小さいスロットにインストールする必要があります。SPC3カードは元の最小番号スロットに取り付けられており、混合モードで中央ポイント(CP)機能を提供します 例えば、サービスゲートウェイにSPC2カードとSPC3カードが混在している場合、SPC3はシャーシ内のSPCの中で番号が最も小さいスロットを占める必要があります。この設定により、混合モードの中央点(CP)機能がSPC3カードによって確実に実行されます。

混合モードで動作するSRX5000シリーズデバイスでは、フロー処理はSPC3カードとSPC2カード間で共有されます。セントラルポイント処理は、SPC3カードがインストールされている最も低い番号のSPCスロットで実行されます。

注:

SRXシリーズファイアウォールがシャーシクラスターモードで動作している場合、SPC3カードとSPC2カードは各シャーシの同じスロット位置にインストールする必要があります。

SPC3 ソフトウェア アーキテクチャについて

SPC3フローアーキテクチャは、CP-Liteアーキテクチャと同じです。SPC3は物理的に2つのサービス処理ユニット(SPU)を持ち、各SPUには2つのCPUがあります。

1つまたは2つのSPC3をインストールすると、トラフィック処理は最初のSPCの75%を使用します。SPC3を3台以上インストールする場合、トラフィック処理は最初のSPCの50%を使用します。

IOCがパケットをハッシュしてフローを処理する方法が変更されました。図は、SPC3を使用するSRXシリーズファイアウォールのパケットフローを示しています。

図8:SPC3Schematic diagram of a system with two SPUs: SPU1 with CPU1 and CPU2; SPU2 with CPU3 and CPU4.のパケットフロー

SPC3では、パケットはIOCから各コアに直接配信されます。IOCはパケットをフローRTスレッドに直接ハッシュするため、元のLBTスレッドは削除されます。これでパケットは、SPUではなくフロースレッドに配信されます。セキュリティフローがNPセッションをインストールする場合、SPU IDではなくセッションスレッドIDがIOCによって使用され、セッションに関連付けられた正しいスレッドにパケットを転送します。

図9:フロースレッドDiagram of a system architecture showing blue IOC blocks on sides and green FLOWD RT Threads in middle with SPC3 label at bottom and arrows indicating data flow.を通るパケットフロー

負荷分散の理解

収益ポートを通過するすべてのパケットは、CP-Liteアーキテクチャに基づく既存のSRX5000 Lineデバイスのハッシュと同じハッシュアルゴリズムに基づいて、異なるSPUに分配されます。ハッシュ方法は、トラフィックのタイプによって異なります。以下の表に、ハッシュ方式を示します。

表2:負荷分散 - ハッシュ方式

プロトコル

ポート

ハッシュ方式

TCP

L4 srcポートとdstポート

5タプルによるハッシュ化

UDP

通常

L4 srcポートとdstポート

5タプルによるハッシュ化

GTP

L4 srcポートとdstポート

5タプルによるハッシュ化

IKE

L4 srcポートとdstポート

IPペアでハッシュ

ICMP

  1. ICMP バージョン 4 情報メッセージ ICMP_ECHO/ICM_ECHOREPLY ID/Seq ICMP_TSTAMP/ICMP_TSTAMPREPLY ID/Seq ICMP_IREQ/ICMP_IREQREPLY ID/Seq ICMP_MASKREQ/ICMP_MASKREPLY 0x00010001

  2. ICMP バージョン 6 情報メッセージ ICMP6_ECHO_REPLY/ICMP6_ECHO_REQUEST ID/seq

  3. ICMPエラーメッセージ 埋め込みIPによる一致

  4. その他すべて0x00010001

ICMP情報は5タプルでハッシュされます。

ICMPエラーは3タプルでハッシュされます(ポート情報なし)

SCTP

L4 srcポートとdstポート

5タプルによるハッシュ化

ESP

SPI

IPペアでハッシュ

AH

SPI

IPペアでハッシュ

GRE

PPTP algが有効になっている場合、sport = call id;ポート = 0

デフォルトでは、ポートは0x00010001です

3タプルによるハッシュ化

PIM

デフォルトでは、PIM ポート0x00010001

3タプルによるハッシュ化

フラグメント

最初のフラグメントには、通常のポートがあります

最初のフラグメントなし、ポートなし

3タプルによるハッシュ化

その他のIPパケット

ポート0x00010001

3タプルによるハッシュ化

IP なし

適用外

Macアドレスとイーサネットタイプ(VLAN ID)でハッシュ化

NPセッションおよびサービスオフロード(SOF)について

ネットワークプロセッサ(NP)セッションは、SPUセッションを許可および確立するIOCベースのセッションです。NPセッションを通過するパケットには、以下のような利点があります。

  • パフォーマンスを向上させるために、SPUでのセッションルックアップを回避します。

  • セッションSPUとハッシュSPU間の余分なパケット転送を回避します。

サービスオフロードは、基本的なファイアウォールサービスを必要とするセッションに低遅延機能を提供する特別なタイプのNPセッションです。IOCのSOFセッションにヒットしたパケットは、SPUのパケット処理をバイパスし、IOCによって直接転送されます。以下のトラフィックタイプは、サービスオフロードをサポートしています。

  • 基本的なファイアウォール(プラグインとフラグメントなし)、IPv4およびIPv6 TCP、UDPトラフィック

  • IPv4 NAT

  • 1ファンインおよび1ファンアウトマルチキャスト

  • FTPデータセッションなどのALG

SPC3 での J-Flow サポートについて

J-Flowは、業界標準のトラフィック監視メカニズムのジュニパーバージョンです。ネットワークの監視とさらなるデータ処理のために、ネットワークトラフィック統計のスナップショットをリモートサーバーにエクスポートする機能を提供します。J-Flowは、v5、v8、v9フォーマットをサポートしています。これら 3 つのバージョンはすべて SPC3 でサポートされています。

DatapathデバッグSPUサポート(E2E)について

データパスデバッグは、SRX5000ラインデバイスでフィルターベースのエンドツーエンド(E2E)パケットデバッグ機能を提供します。パケットパスをトレースし、パケットの内容をダンプします。

SPC3では、JEXECがサポートされる唯一のE2Eイベントタイプであり、以下のE2Eアクションタイプがサポートされています。

  • カウント

  • ダンプ

  • トレース

  • trace-summary

フラグメント化処理、ISSU、ISHUサポートについて

SPC3 では、フラグメント化されたパケットは、ヘッダータプル値に基づいて特定の PFE 内の「フラグメントコア」に転送されます。フラグメント化されたパケットを受信した後、フローは最適化を実行し、パケットをセッションコアに転送します。フローロジックは変更されず、同じままです。

ISSUを実行している間、仮想SPUは関連する仮想SPU IDに同期されます。ISHUのサポートは、CP-Liteアーキテクチャに基づいています。基本的に、2つのISHU操作がサポートされています。

  • 新しいSPCをセカンダリノードに挿入します。

  • セカンダリノードのSPCを交換し、SPCの数はプライマリノードの数と同じにする必要があります。

変更履歴テーブル

サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がお使いのプラットフォームでサポートされているかどうかを確認します。

リリース
説明
18.4R1
Junos OSリリース18.4R1以降、SRX5000シリーズデバイスではSPC3カードとSPC2カードの混在がサポートされています。
18.2R1-S1
Junos OSリリース18.2R1-S1以降、SRX5000シリーズデバイスに新しいサービス処理カード(SPC3)が導入されます。新しいカードの導入により、デバイスの拡張性とパフォーマンスが向上し、シャーシ クラスターの機能が維持されながら信頼性も維持されます。SPC3 カードは、サービス処理のためのより高いスループットと拡張性をサポートします。
15.1X49-D70
15.1X49-D10
Junos OSリリース15.1X49-D10およびJunos OSリリース17.3R1以降、IOC内のセッションのセッションキャッシュは、特定のパフォーマンスの問題の解決に役立ちます。
15.1X49-D10
Junos OSリリース15.1X49-D10以降、SRX5K-MPC(IOC2)とIOC3は、改善されたフローモジュールとセッションキャッシュを通じてVPNセッションアフィニティをサポートします
12.1X48-D30
Junos OSリリース12.3X48-D30以降、IOC2では、セッションキャッシュを介したVPNセッションアフィニティがサポートされています