Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

SRX シリーズ デバイスでのトラフィック処理の概要

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

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

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

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

  • パケットがデバイスに許可されるかどうか

  • パケットに適用するファイアウォールスクリーン

  • パケットが宛先に到達するために必要なルート

  • パケットに適用するCoS(存在する場合)

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

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

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

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

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

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

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

このトピックには、以下のセクションが含まれています。

フローベースの処理について

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

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

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

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

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

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

  • 送信元アドレス

  • 宛先アドレス

  • 送信元ポート

  • 宛先ポート

  • プロトコル

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

ゾーンとポリシー

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

フローとセッション

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

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

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

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

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

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

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

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

  • ALG と認証の管理。

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

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

パケットベースの処理は、ステートレス ファイアウォール フィルター、CoS 機能、一部のスクリーンを個別のパケットに適用します。

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

  • パケットがデバイスを離れる前に、パケットベースのフィルター、一部の CoS 機能、インターフェイスに関連付けられたいくつかの画面がパケットに適用されます。

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

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

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

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

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

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

サービス クラスの機能

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

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

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

画面

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

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

ゾーン、スクリーン、ファイアウォール ポリシーなどのセキュリティ機能を機能させるには、フローベースの処理モードが必要です。デフォルトでは、SRXシリーズデバイスは、ドロップモードに設定されているSRX300シリーズおよびSRX550Mデバイスとは別に、すべてのデバイスでIPv4トラフィックのフローベース転送に有効になっています。Junos OS リリース 15.1X49-D70 および Junos OS リリース 17.3R1 以降、SRX1500 シリーズ、SRX4100、SRX4200、SRX5400、SRX5600、SRX5800、vSRX デバイスでは、フロー モード、パケット モード、ドロップ モードの間でモードを切り替しているときにデバイスを再起動する必要 はありません 。SRX300シリーズおよびSRX550Mデバイスでは、フローモード、パケットモード、ドロップモードを切り替える際にデバイスを再起動 する必要があります

SRX300 Series and SRX550M

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

メモ:

ドロップモード処理では、トラフィックは直接ドロップされ、転送されません。トラフィックが処理されるパケットモード処理とは異なり、セキュリティプロセスは適用されません。

Configuring an SRX Series Device as a Border Router

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

メモ:

前述のように、SRX300 シリーズおよび SRX550M デバイスでは、処理モードを変更するたびに、デバイスを再起動する必要があります。

SRX210 および SRX320 デバイスでのトラフィック処理について

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

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

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

このトピックでは、フローを構成するパケットを処理するためにセッションがどのように設定されるかについて説明します。以下のトピックでは、SPU は SRX210 または SRX320 サービス ゲートウェイのデータ プレーン スレッドを指します。

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

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

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

  • 送信元アドレス

  • 宛先アドレス

  • 送信元ポート

  • 宛先ポート

  • プロトコル

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

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

セッション作成について

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

  • 画面

  • ルート ルックアップ

  • ポリシーのルックアップ

  • サービス ルックアップ

  • NAT(必要な場合)

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

ファストパス処理を理解する

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

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

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

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

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

  2. SPU はパケットを転送するための準備をし、それを送信します。

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

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

    • トラフィックの優先度設定が適用されます。

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

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

SRX3000 シリーズおよび SRX1400 デバイスでのトラフィック処理について

SRX1400、SRX3400、SRX3600サービスゲートウェイ向けJunos OSは、ジュニパーネットワークスの世界クラスのネットワークセキュリティおよびルーティング機能を統合しています。これらのサービスゲートウェイ向けJunos OSには、ポリシー、スクリーン、ネットワークアドレス変換、サービスクラス分類子、およびサービスゲートウェイの他のデバイスでもサポートされる豊富で豊富なフローベースサービスなど、幅広いセキュリティサービスが含まれています。

SRX1400、SRX3400、SRX3600デバイスの分散型並列処理アーキテクチャには、セッションを管理し、セキュリティやその他のサービス処理を実行する複数のプロセッサが含まれています。このアーキテクチャは柔軟性を高め、高スループットと高速パフォーマンスを実現します。

以下のセクションでは、SRX3400およびSRX3600デバイスを使用した処理アーキテクチャを例に説明します。

このトピックには、以下の情報が含まれています。

セッションの設定に含まれるコンポーネント

以下は、パケットのセッションを設定し、SRX3400およびSRX3600デバイスを通過する際にパケットを処理する際に必要となる主なコンポーネントの概要です。

  • サービス処理ユニット(SPU):SRX3400およびSRX3600デバイスのメインプロセッサは、サービス処理カード(SPC)に存在します。トラフィック フローを確立して管理し、デバイスを通過するパケット上でほとんどのパケット処理を実行します。各 SPU は、高速セッション ルックアップのためのハッシュ テーブルを維持します。SPU は、セキュリティ サービス、分類子、トラフィック シェーパーの適用を含め、パケットのすべてのフローベースの処理を実行します。同じフローに属するすべてのパケットは、同じ SPU によって処理されます。

    SPU は、確立したすべてのセッションと、そのパケットが処理するすべてのセッションに対するエントリーを持つセッションテーブルを維持します。SPUがNPUからパケットを受信すると、そのセッションテーブルをチェックして、パケットが属していることを確認します。

    SRX3400 および SRX3600 デバイスでは、1 台の SPU が通常のセッション管理およびフロー処理機能を実行し、セッションをアービトレージし、リソースを割り当てる一元的なポイントとして機能します。この方式でSPUを実行するとコンボモードと言います。

  • 中央ポイント— 中央ポイントは、負荷分散基準に基づいてセッション管理を SPU に割り当てるために使用されます。複数の SPU が同じフローを誤って処理する可能性がある状況を回避するために、インテリジェントな方法でセッションを分散します。中心点は、SPU へのセッション割り当ての負荷分散基準に従います。セッションが存在する場合、中央ポイントはそのフローのパケットを、それをホストする SPU に転送します。また、NPU が失敗した場合、パケットを正しい SPU にリダイレクトします。

    SRX3400およびSRX3600デバイスでは、1つのSPUが常にコンボモードと呼ばれるモードで実行され、中央ポイントの機能とフローおよびセッション管理機能の両方が実装されます。コンボ モードでは、SPU と中央ポイントは、同じ負荷分散スレッド(LBT)とパケット順序スレッド(POT)インフラストラクチャを共有します。.

  • ルーティング エンジン(RE)—ルーティング エンジンはコントロール プレーンを実行し、CPP(制御プレーン プロセッサー)を管理します。

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

SRX3400 および SRX3600 サービス ゲートウェイ向け Junos OS は、高スループットとハイパフォーマンスの分散並列処理システムです。このトピックでは、デバイスを通過するフローに属するパケットのセッションを確立するプロセスについて説明します。

以下の例では、セッション確立と、フローのパケットにサービスが適用されるポイントを含むパケット「ウォーク」を説明するために、ユニキャスト セッションのシンプルなケースを使用しています。このパケット「ウォーク」は、Junos OSがパケットに対して実行するパケットベースの処理とフローベースの処理を組み合わせています。

セッションルックアップとパケット一致条件

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

  • 送信元アドレス

  • 宛先アドレス

  • 送信元ポート

  • 宛先ポート

  • プロトコル

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

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

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

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

    IOC はパケットをキューに入れ、通信相手の NPU に送信します。

  2. NPU は IOC からパケットを受信し、それを処理します。

    • NPU は、パケットに基本的なサニティー チェックを実行し、インターフェイス用に設定されたいくつかの画面をパケットに適用します。

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

    例:パケット(->b)は、IOC1からNPU1に到着します。NPU1 はサニティー チェックを実行し、DoS 画面をパケットに適用します。NPU1 はセッション テーブルでタプル一致をチェックし、既存のセッションは見つかりません。NPU1 は、SPU に割り当てるために、パケットを SPU1 の中央ポイントに転送します。

  3. 中央ポイントは、「保留中」状態のセッションを作成します。

    中央ポイントは、デバイス上のすべてのSPUに存在するすべてのセッションのエントリーを含むグローバルセッションテーブルを維持します。セッション作成に参加し、セッション リソースの割り当てを代行し、アービトレージを行います。

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

    1. 中央ポイントは、セッション テーブルとゲート テーブルをチェックして、NPU から受信したパケットに対してセッションまたはゲートが存在するかどうかを判断します。(NPU は、テーブルがセッションがないことを示しているため、パケットを中央ポイントに転送しました。中央ポイントでは、セッションにSPUを割り当てる前に、この情報を検証します。

    2. どちらのテーブルにもパケットと一致するエントリーがない場合、中央ポイントはセッションに保留中のウィングを作成し、ロードバランシングアルゴリズムに基づいてセッションに使用するSPUを選択します。

    3. 中央ポイントは、フローの最初のパケットを選択した SPU に転送し、パケット フローに使用するセッションをローカルに設定するように伝えます。

      例:中央ポイントは、セッションの保留ウィング(->b)を作成します。セッションに使用する SPU1 を選択します。SPU1(a->b)パケットをメッセージとともに送信し、そのセッションを作成します。(SPU1がコンボモードで動作するSPUである場合があります。そのため、セッション管理サービスとフロー処理サービスがセッションに使用されます。

  4. SPUがセッションを設定します。

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

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

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

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

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

    例:SPU1 は(->b)のセッションを作成し、保留中のセッションをインストールするように伝えるメッセージを中央ポイント(同じ SPU に実装)に戻します。

  5. 中央ポイントがセッションをインストールします。

    • セッションの保留中のウィングの状態をアクティブに設定します。

    • セッションのリバース ウィングがアクティブ なウィングとして設置されます。

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

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

  6. SPU は、イングレスとエグレスの NPU でセッションを設定します。

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

  7. 高速パス処理が行われます。

    パケット処理に含まれる残りの手順については、「高速パス処理を理解する」のステップ 1 に進みます。

ファストパス処理を理解する

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

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

SRX1400、SRX3400、SRX3600のデバイスでは、 rethなどの集約されたインターフェイスではiflset機能はサポートされていません。

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

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

このトピックには、以下の内容が含まれています。

SRX4600 サービス ゲートウェイの導入シナリオとその機能について

SRX4600 サービス ゲートウェイは、さまざまな領域に導入して、環境とそのリソースを保護できます。データセンターのエッジとコアを以下のように保護するためによく使用されます。

  • SRX4600サービスゲートウェイをデータセンターエッジファイアウォールとして導入

    SRX4600 サービス ゲートウェイは、データ センターのエッジに導入して、ホストするアプリケーションとサービスを最適な保護で提供できます。すべてのデータ センターには、クライアントがデータ センターのサービスにアクセスするためのイングレス ポイントがありますが、悪意のある攻撃を利用してこれらのサービスに対する攻撃を開始できます。データセンターに入ってくる大量のトラフィックは、イングレスインターネットトラフィックです。このため、データ センターエッジに堅牢なマルチレイヤーセキュリティを導入することが不可欠です。SRX4600 サービス ゲートウェイは、攻撃を効果的かつ信頼性の高い方法でブロックし、特定の種類の攻撃を阻止するようにシステムを構成できます。SRX4600 サービス ゲートウェイは、自動化された実用的なインテリジェンスを中心に構築された Sky ATP(Sky ATP)など、ジュニパーの Software-Defined Secure Network(SDSN)フレームワークをサポートしており、脅威を迅速に認識して防御できます。 図 2 は、MX480 ルーターおよび EX シリーズ スイッチとともにデータ センター エッジに導入された SRX4600 サービス ゲートウェイを示しています。

    図 2:データ センター エッジでの SRX4600 サービス ゲートウェイの導入 Deploying the SRX4600 Services Gateway at the Data Center Edge
  • データセンターコアにSRX4600サービスゲートウェイを導入

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

    図 3:データ センター コアでの SRX4600 サービス ゲートウェイの導入 Deploying the SRX4600 Services Gateway at the Data Center Core

SRX4600 サービス ゲートウェイは、高度なアンチマルウェア機能に加え、以下の機能をサポートします。

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

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

  • UTM(Sophos AV、Web フィルタリング、アンチスパム)

  • Idp

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

    • デュアル HA コントロール ポート(10G)

    • HA ポートの MACsec サポート

  • QSFP28(100G/40G/10G モード x 4)、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サービスゲートウェイのフローアーキテクチャが改善され、SRX4600デバイスの高度なマルチコアXeon™プロセッサの使用が最適化されました。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 で実行される他の種類のサービスに関して明確に明確に示されていません。.)

例えば:

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

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

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

システムの個々の連携部分(中央点を含む)は、各セッションがパケットのストリームに存在するかどうかを識別する情報と、パケットが一致した情報を保存して、既存のセッションに属しているかどうかを判断します。

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

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

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

図 4 は、フロー内の最初のパケットがデバイスに入る際に実行するパスを示しています。NPU は、パケットにセッションが存在しないことを判断し、NPU がパケットを分散型セントラル ポイントに送信して、分散セントラル ポイント セッションを設定します。その後、分散型の中央ポイントからアプリケーション の中央ポイントにメッセージを送信し、SPU を選択してパケットのセッションを設定し、パケットを処理します。そして、分散型の中央ポイントは、その SPU にパケットを送信します。SPU はパケットを処理し、デバイスから送信するために NPU に送信します。(この高レベルの説明は、パケットへの機能の適用には対応しません。

図 4:ファースト パケット処理 First-Packet Processing

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

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

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

ファストパス処理を理解する

以下のセクションでは、セッションがどのように作成され、パケットがデバイスを通過する際に処理されるかについて説明します。

図 5:高速パス処理 Fast-Path Processing

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

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

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

    NPU は、セッションテーブルに対してパケット情報をチェックすることで、パケットに対してセッションが存在するかどうかを判断します。パケットが既存のセッションに一致する場合、NPU はパケットとそのメタデータを SPU に送信します。セッションがない場合、NPU はハッシュ アルゴリズムを使用して計算された 1 つの 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」の例を使用します。フローのパケットの送信元から宛先への方向は(->b)と呼ばれます。宛先から送信元への方向を(b->a)と呼びます。

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

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

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

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

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

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

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

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

ステップ 2:分散セントラルポイントは、「保留中」状態のセッションを作成します。

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

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

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

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

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

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

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

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

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

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

  2. SPUは、分散型セントラルポイントにメッセージを送信し、セッションをインストールするよう指示します。

    メモ:

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

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

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

ステップ 4:分散型セントラルポイントがセッションをインストールします。

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

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

  2. 分散型中央点は、セッションのリバース ウィングをアクティブなウィングとして設置します。

    メモ:

    NATなどの場合によっては、逆翼は、init翼分散型中央点とは異なる分散型中央点に設置され得る。

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

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

ステップ 5:SPU は、イングレスとエグレスの NPU でセッションを設定します。

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

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

パケット処理に含まれる残りの手順については、 高速パス処理についてのステップ 1 に進みます。

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

図 6:セッション作成:ファーストパケット処理 Session Creation: First-Packet Processing

ファストパス処理を理解する

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

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

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

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

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

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

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

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

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

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

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

パケットの処理のほとんどは、セッションが割り当てられている SPU で発生します。パケットは、ステートレスファイアウォールフィルター、トラフィックシェーパー、分類子(該当する場合)などのパケットベースの機能に対して処理されます。設定されたフローベースのセキュリティと、ファイアウォール機能、NAT、ALG などの関連サービスがパケットに適用されます。(セッションのセキュリティ サービスの決定方法に関する情報。

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

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

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

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

  2. NPU は、インターフェイスに関連付けられた該当する画面をパケットに適用します。

Example: SPU1 はパケット(->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 シリーズ デバイスでは、 reth などの集約されたインターフェイスでは iflset 機能はサポートされていません。

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

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

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

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

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

  • ネットワーク プロセッサー バンドリングにより、バンドルあたり合計 16 の PIC と 8 つの異なるネットワーク プロセッサー バンドル システムが可能です。

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

  • ネットワーク プロセッサー バンドリングは、アーキテクチャ全体の reth インターフェイスの下にあります。ネットワーク プロセッサー バンドルから 1 つまたは両方のインターフェイスを選択して、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)は、セッション キャッシュをサポートし、セッション キャッシュの選択的インストールをサポートします。

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

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

IOCのセッションキャッシュは、Express Path(以前は サービスオフロードと呼ばれる)機能を活用し、高レイテンシやIPsecパフォーマンス低下などの問題を回避するのに役立ちます。

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

  • 変換のトラフィックを転送するSPU

  • 変換のトラフィックを Express Path モードで転送するエグレス ポート

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

Junos OS リリース 15.1X49-D10 および Junos OS リリース 17.3R1 以降では、IOC 内のセッションのセッション キャッシュが特定のパフォーマンス問題の解決に役立ちます。SPU は、後続のトラフィックを特定のアンカー SPU に転送するように IOC セッション キャッシュに指示できるようになりました。

Junos OS リリース 15.1X49-D10 以降、SRX5K-MPC(IOC2)と IOC3 は、改善されたフロー モジュールとセッション キャッシュによる VPN セッション アフィニティをサポートします。Junos OSリリース12.3X48-D30以降、IOC2では、セッションキャッシュを介したVPNセッションアフィニティがサポートされています。

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

セッション キャッシュ テーブルが IOC で拡張され、NP セッションがサポートされるようになりました。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%

使用率< 75% < 100%

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

はい

はい

はい

はい

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

はい

はい

はい

いいえ

NAT/SZ トラフィック

はい

はい

いいえ

いいえ

その他のトラフィック

はい

いいえ

いいえ

いいえ

IOC 上のセッション エントリーを節約するために、フロー モジュールは IOC にセッションを選択的にインストールします。セッションインストールの選択を容易にするために、IOCは対応するしきい値を維持してフローモジュールに指示します(IOC上のセッションキャッシュテーブルのフル量に関する)。現在のキャッシュ・テーブルの使用率を示すために、メタ・ヘッダーの 2 ビットが追加されます。SPU に向かうすべてのパケットは、この 2 つのステータス ビットを伝送して、IOC 上のキャッシュ テーブルの使用率をフロー モジュールに通知します。

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

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

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

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

メモ:

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

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

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

メモ:

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

IOC から NPC へのマッピングを設定するには、次の手順にしたがっています。

オプションの説明については、 表 2set chassis ioc-npc-connectivity 参照してください。

表 2:IOC から NPC への接続オプション

オプション

説明

Ioc slot-number

IOC スロット番号を指定します。SRX3400デバイスでは0~7、SRX3600デバイスでは0~12の範囲です。

Npc slot-number

NPC スロット番号を指定します。SRX3400デバイスでは0~7、SRX3600およびSRX 4600デバイスでは0~12の範囲です。

なし

シャーシ プロセスは、特定の IOC の接続をマッピングします。

メモ:

コマンドをコミットした後、シャーシコントロールを再起動する 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カードではサポートされていません。

Junos OS リリース 18.2R1-S1 以降、SRX5000 シリーズ デバイスに新しいサービス処理カード(SPC3)が導入されました。新しいカードを導入すると、デバイスの拡張性とパフォーマンスが向上し、シャーシ クラスター機能を維持したまま信頼性を維持できます。SPC3 カードは、より高いスループットと拡張性をサポートしてサービス処理を行います。

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

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

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%を利用します。3 つ以上の SPC3 をインストールすると、トラフィック処理は最初の SPC の 50% を利用します。

IOC がフローを処理するパケットをハッシュする方法が変更されます。図は、SPC3 を搭載した SRX デバイスのパケット フローを示しています。

図 8:SPC3 Packet flow on SPC3 のパケット フロー

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

図 9:フローされたスレッド Packet flow through flowd threadを通過するパケット フロー

負荷分散の理解

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

表 3: 負荷分散 - ハッシュメソッド

プロトコル

ポート

ハッシュメソッド

Tcp

L4 src ポートと dst ポート

5タプルでハッシュ

Udp

通常

L4 src ポートと dst ポート

5タプルでハッシュ

Gtp

L4 src ポートと dst ポート

5タプルでハッシュ

Ike

L4 src ポートと dst ポート

IP ペアによるハッシュ

Icmp

  1. ICMP バージョン 4 info message 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タプルでハッシュ

特に

Spi

IP ペアによるハッシュ

ああ

Spi

IP ペアによるハッシュ

Gre

PPTP alg が有効な場合、スポーツ = 呼び出し id;dport = 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でサポートされています。

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

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

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

  • カウント

  • ダンプ

  • トレース

  • トレース サマリー

フラグメント化処理、ISSU、ISHU サポートの理解

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

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

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

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

リリース履歴テーブル
リリース
説明
18.4R1
Junos OS リリース 18.4R1 以降、SPC3 カードと SPC2 カードの混在が SRX5000 シリーズ デバイスでサポートされています。
18.2R1-S1
Junos OS リリース 18.2R1-S1 以降、SRX5000 シリーズ デバイスに新しいサービス処理カード(SPC3)が導入されました。新しいカードを導入すると、デバイスの拡張性とパフォーマンスが向上し、シャーシ クラスター機能を維持したまま信頼性を維持できます。SPC3 カードは、より高いスループットと拡張性をサポートしてサービス処理を行います。
15.1X49-D70
デフォルトでは、SRXシリーズデバイスは、ドロップモードに設定されているSRX300シリーズおよびSRX550Mデバイスとは別に、すべてのデバイスでIPv4トラフィックのフローベース転送に有効になっています。Junos OS リリース 15.1X49-D70 および Junos OS リリース 17.3R1 以降、SRX1500 シリーズ、SRX4100、SRX4200、SRX5400、SRX5600、SRX5800、vSRX デバイスでは、フロー モード、パケット モード、ドロップ モードの間でモードを切り替しているときにデバイスを再起動する必要 はありません 。SRX300シリーズおよびSRX550Mデバイスでは、フローモード、パケットモード、ドロップモードを切り替える際にデバイスを再起動 する必要があります
49-D10 x 15.1
Junos OS リリース 15.1X49-D10 および Junos OS リリース 17.3R1 以降では、IOC 内のセッションのセッション キャッシュが特定のパフォーマンス問題の解決に役立ちます。
49-D10 x 15.1
Junos OS リリース 15.1X49-D10 以降、SRX5K-MPC(IOC2)と IOC3 は、改善されたフロー モジュールとセッション キャッシュによる VPN セッション アフィニティをサポートします。
48-D30 x 12.1
Junos OS リリース 12.3X48-D30 以降、IOC2 では、セッション キャッシュを介した VPN セッション アフィニティがサポートされています。