Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

TCP セッション数

ネットワーク内の TCP を使用してデータを送信するには、3 種類のハンドシェイク セッション確立プロセスに従います。セッションを開始するプロセスと、TCP セッションを終了するプロセスがあります。このトピックは、TCP セッションの処理に伴うプロセスを理解するのに役立ちます。

ポリシーごとの TCP セッション チェックについて

デフォルトでは、すべての TCP セッションで TCP SYN チェックとシーケンス チェック オプションが有効になっています。TCP セッションJunos オペレーティング システム(Junos OS)は、以下の操作を実行します。

  • セッションの最初のパケットで SYN フラグをチェックし、セッションの開始を試みる非 SYN フラグを使用する TCP セグメントを拒否します。

  • セッション中に TCP シーケンス番号をステートフル インスペクション。

ポリシーごとの TCP セッション チェック機能により、各ポリシーの SYN およびシーケンス チェックを設定できます。現在、TCP オプション フラグ(no-sequence-check および no-syn-check)は、サービス ゲートウェイの動作を制御するために、グローバル レベルで使用できます。ポリシー単位の TCP オプションをサポートするには、以下の 2 つのオプションを使用できます。

  • sequence-check-required: sequence-check-required値によって、グローバル値の no-sequence-check が上書きされます。

  • syn-check-required: syn-check-required値によって、グローバル値の no-syn-check が上書きされます。

ポリシー単位の TCP オプションを設定するには、それぞれのグローバル オプションをオフにする必要があります。そうしないと、コミット チェックが失敗します。グローバル TCP オプションが無効になり、SYN フラッド保護が最初のパケットを許可している場合、ポリシーごとに TCP オプションが SYN およびシーケンス チェックの実行を制御します。

注:
  • ポリシーごとのオプションは syn-check-required 、CLI コマンドの動作 set security flow tcp-session no-syn-check-in-tunnel をCLIしません。

  • グローバル SYN チェックを無効にすると、デバイスの有効性が低下します。 パケット フラッディングから防御します。

注意:

グローバル SYN チェックを無効にし、ポリシー検索後に SYN チェックを適用すると、ルーターが処理できるパケット数に大きく影響します。この結果、CPU の負荷が高くなります。グローバル SYN チェックを無効にし、ポリシーごとに SYN チェックを適用する場合、このパフォーマンスへの影響を認識する必要があります。

TCP パケット セキュリティ チェックの無効化

アプリケーション アプリケーション デバイスSRX シリーズ TCP パケットのセキュリティ チェックを無効にすることで、TCP 実装に障害が発生しているホストおよびデバイスとの相互運用性を確認できます。

この no-sequence-check オプションは、TCP シーケンス チェックを無効にします。スループットも向上します

コマンド set security flow tcp-session no-sequence-check は、デフォルト モードまたはハッシュベース モードのすべての TCP セッションで、TCP シーケンス チェックを無効にします。

例: ポリシーごとの TCP パケット セキュリティー チェックの設定

この例では、デバイス内の各ポリシーについて TCP パケット セキュリティ チェックを設定する方法を示しています。

要件

開始する前に、 、および グローバル レベルで設定されている tcp tcp-syn-check tcp-sequence-check オプションを無効にする必要があります。

概要

すべての TCP セッションで、デフォルトで SYN およびシーケンス チェック オプションが有効になっています。大規模なファイル転送をサポートする必要がある環境や、非標準アプリケーションを実行する環境では、ポリシーごとにシーケンスと同期チェックを異なる方法で設定する必要がある場合があります。この例では、ポリシーのシーケンスと同期チェックを設定します pol1

構成

手順

手順

ポリシー レベルで TCP パケット セキュリティ チェックを設定するには、次の手順に示します。

  1. セッションを作成する前に、TCP SYN ビットのチェックを設定します。

  2. 通信中に TCP セグメント内のシーケンス番号のチェックをステートフル インスペクション。

  3. デバイスの設定が完了したら、設定をコミットします。

検証

設定が正常に機能されていることを確認するには、 コマンドを入力 show security policies detail します。

例: サービス ゲートウェイの TCP パケット セキュリティー チェックSRX シリーズ無効にする

この例では、デバイスで TCP パケット セキュリティ チェックを無効にする方法を示しています。

要件

開始する前に、TCP パケット セキュリティー チェックを無効化する状況を理解してください。.

概要

Junos OS、TCP パケットのセキュリティ チェックを無効にするメカニズムを提供し、ホストおよびデバイスと TCP 実装に障害が発生しているデバイスとの相互運用性を確保します。SYN-CHECK がない場合、セッションJunos OS TCP SYN パケットを探す必要はありません。シーケンスチェックは、TCPシーケンスチェックの検証を無効にします。また スループットが向上しますSYNチェックとシーケンスチェックはデフォルトで有効になっています。set security flow コマンドは、すべての TCP セッションで TCP SYN チェックと TCP シーケンス チェックを無効にすることで、セキュリティーを低下します。これは、大きな転送ファイルのような顧客のシナリオや、標準と正しく動作しないアプリケーションで必要になる場合があります。

構成

手順

手順

次の例では、設定階層内のさまざまなレベルに移動する必要があります。その方法の詳細については、「 ネットワーク ユーザーガイド 」の CLI モードでの CLI CLI エディターの使用を参照してください

TCP パケット セキュリティ チェックを無効にするには、次の方法で行います。

  1. セッションを作成する前に、TCP SYN ビットのチェックを無効にします。

  2. 通信中の TCP セグメント内のシーケンス番号のチェックをステートフル インスペクション。

  3. デバイスの設定が完了したら、設定をコミットします。

検証

設定が正常に機能されていることを確認するには、 コマンドを入力 show security flow します。

例: サービス サービス ゲートウェイに対してすべての TCP セッションの最大セグメント SRX シリーズ設定

この例では、これらのデバイスに対してすべての TCP セッションの最大セグメント サイズSRX シリーズ示しています。

要件

開始する前に、最大セグメント サイズを設定する状況を理解してください。

概要

TCP 最大セグメント サイズ(TCP-MSS)を変更することで、すべての TCP セッションを終了できます。フラグメント化の可能性を低下させ、パケット ロスから保護するために、tcp-mss を使用して下位の TCP MSS 値を指定できます。これは、ルーターのイングレス インターフェイスを通過するすべての TCP SYN パケット(MSS 値が指定した MSS 値よりも高い)に適用されます。

DF ビットが設定されている場合、パケットはフラグメント化されません。Junos OS が ICMP エラー タイプ 3 コード 4 パケットをアプリケーション サーバーに送信します(宛先到達不能、フラグメント化が必要とされ、DFセットが必要)。この ICMP エラー メッセージには、アプリケーション サーバーが使用する正しい MTU(tcp-mss で定義されている)が含まれているこのメッセージを受信し、パケット サイズに応じて調整する必要があります。これは VPN で特に必要です。これは IPsec によってパケット オーバーヘッドが追加された場合です。したがって、tcp-mss は適切に低くする必要があります。

注:

パケット モードSRX シリーズを実行する場合、 を使用して set system internet-options tcp-mss TCP-MSS 値を調整します。すべてのポートは TCP-MSS 設定の影響を受ける。特定のポートを除外することはできません。フロー モードSRX シリーズデバイスを実行する場合、 を使用することもできますが、 を使用して TCP-MSS 値を調整する場合にのみ set system internet-options tcp-mss set security flow tcp-mss 使用することをお勧めします。両方のステートメントが設定されている場合は、2 つより低い値が有効になります。

構成

手順

手順

すべての TCP セッションの最大セグメント サイズを設定するには、次の手順に示します。

  1. すべての TCP セッションの TCP 最大セグメント サイズを設定します。

  2. デバイスの設定が完了したら、設定をコミットします。

結果

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

簡単に言えば、この show コマンド出力には、この例に関連する設定のみ含まれています。システム上のその他の構成は、入れ替え(... )

検証

設定が正常に機能されていることを確認するには、動作モード show configuration security flow から コマンドを入力します。

TCP アウトオブステート パケット ドロップ ロギングの概要

パケット交換ネットワーク内では、需要が使用可能な容量を超えると、パケットはキューに入れ込み、キューが満たされるまで過剰なパケットを保持してから、パケットが破棄されます。TCP は、このようなネットワーク全体で動作する場合、エラーの発生を知らされ、エンドツーエンドの通信を維持するために是正措置を実行します。

フロー モジュールは、セッション作成やセッション 終了などのセッションベース イベントに対する RTLOG の生成をすでにサポートしています。SRX シリーズデバイスは、セッションがなくてもパケット ドロップのようなパケットベース イベントの RTLOG の生成をサポートする必要があります。

SRX シリーズは、フロー モジュールによって破棄される、同期されていない TCP 状態外パケットのロギングをサポートしています。

TCP の状態外パケット ドロップ ロギング機能は、パケット ロスを回避し、エラーが発生しないように同期したパケットをロギングしてパケットを回復し、データベース サーバーの同期が一切行われるのを防ぐ機能です。この機能は、RTLOG(セキュリティ ログ)施設の上に構築されています。

TCP アウトオブステート パケット ドロップ ロギングでは、以下の条件下での TCP パケット ドロップ ログのキャプチャをサポートしています。

  • Session ages out:長い TCP セッション上で クラウドが実行されている場合、またセッションのタイムアウト後にこれらのアプリケーションが TCP セッションを更新しない場合、TCP パケットは破棄されます。この機能は、これらの破棄された TCP パケットのロギングをサポートしています。

  • Unsynchronized first packets due to attacks or asymmetric routes2 つのサイトで SRX シリーズ デバイスを導入する場合、ルーティングで非対称トラフィックが強制的に送信される場合は、1 つのサイトで同期(SYN)パケットが表示されますが、同期確認(SYN_ACK)パケットは別のサイトで見られます。

    つまり、デバイスSRX シリーズが、一致するステート テーブル エントリーを持らない TCP ACK パケットを確認します。これは、接続が一期間非アクティブだった、または接続テーブルがフラッシュされた(ポリシーのインストールや再起動などのために)発生する可能性があります。

    このSYN_ACK別のサイトで確認されたパケットの送信パケットは、デバイスによってSRX シリーズされましたが、ログに記録されません。この機能は、拒否されたパケットのSYN_ACKサポートしています。

  • Other out-of-state conditions (like TCP sequence check fail and synchronization packet received in FIN state):SRX シリーズ デバイスがシーケンス障害を検知した場合、デバイスが TCP 4 ウェイ閉じ状態で SYN パケットを受信している場合、または 3 ウェイ ハンドシェイク障害が発生した場合、SRX シリーズ デバイスが TCP パケットを破棄し、これらの破棄されたパケットがログに記録されます。

注:

非同期の TCP 状態外パケット ドロップ ログは、セッションベースのログではなく、パケットベースのログです。

TCP アウトオブステート パケット ドロップ ロギングは、CPU を攻撃から保護するために、スロット メカニズムを使用して設計されています。それぞれのスロット間隔内で、一部のログをドロップできます。

フロー モジュールによって破棄された TCP 状態外パケットだけがログに記録されます。TCP プロキシによって破棄された TCP パケットIDPログは記録されません。

TCP アウトオブステート パケット ドロップ ロギングについて

TCP 状態外パケット ドロップ ロギングの実装を理解するには、2 つのサイトに SRX シリーズ デバイスを導入し、同時にルーティングで非対称トラフィックを強制的に処理します。ここで、SYN パケットは 1 つのサイトで見られますが、SYN_ACK パケットは別のサイトで見られます。このSYN_ACKのパケットは拒否されますが、ログに記録されません。TCP の状態外パケット ドロップ ロギング機能は、これらの非同期パケット ドロップを可視化します。

データ センター内のデータベースが TCP ソケットをオープンに保ち、キープアキーを送信し続けるシナリオを考え出します。データが送信されない場合、デバイスのSRX シリーズがタイムアウトします。データベースは TCP ソケットを通じて何らかのデータを送信しますが、トラフィックが SRX シリーズ デバイスに到達すると、セッションが存在しなくなると、パケットは破棄されますが、ログは記録されません。ドロップされたこれらの状態外の TCP パケットは、現在、デバイスによってSRX シリーズされます。

サポートされている TCP アウトオブステート ロギング機能

TCP アウトオブステート ロギングでは、次の機能をサポートしています。

  • ターゲット トラフィックをフィルタリングするパケット フィルター コンポーネント。

  • ログ メッセージによる過負荷から CPU を保護するためのスロット コンポーネント。

  • ログ生成レートを柔軟に変更できます。

パケット フィルター コンポーネント

ロギング フィルターは、現在のフロー トレース フィルターを活用します。トラフィックをフィルターするさまざまな方法を提供します。パケット ログを生成するフィルタを設定する必要があります。それ以外の場合はログはトリガーされません。

このフィルター機能により、予期しないログの有効化を回避できます。最大フィルター数は 64 です。

コマンドを set security flow packet-log packet-filter <filter-name> 使用して、必要な関連フィルタ コンポーネントを有効にできます。

スロット コンポーネント

すべての TCP アウトオブステート パケットをログに記録すると、トラフィックの負荷が高い場合や攻撃が発生した場合に、デバイスの過負荷が発生する可能性があります。CPU がアイドル状態で、できる限り多くのメッセージをログに記録したい場合、これは CPU の過負荷につながる可能性があります。

スロット メカニズムにより、デバイスからスロット間隔を設定CLI、CPU が過負荷状態から保護できます。

ログに記録されたデータをマップするハッシュ テーブルが導入されます。ハッシュ 鍵は、送信元-IP アドレス、宛先 IP アドレス、送信元ポート、宛先ポートを使用して生成されます。

各スロット間隔内では、制限された数のメッセージ(複数)のみを RTLOG に送信します。残りのログ メッセージは抑制されます。

デフォルトのスロット間隔は1秒です。楽楽間隔(ミリ秒レベルでの)は、2 つまたはゼロ(0、1、2、4、8、16 )のパワーとして設定する必要があります。2^N)。

スロット間隔を 0 に設定すると、スロット メカニズムは関係されません。これは、トラフィックが非常に軽く、すべてのパケット ドロップ ログを記録するシナリオに適しています。

楽楽間隔を 2^N として設定すると、スロット メカニズムがロックレスになります。また、優れたログ キャプチャ パフォーマンスが提供されます。

ログ生成率を柔軟に変更

この設定に基づき、ログ生成レートを変更して管理できます。

これは、各 32 ミリ秒(ms)間隔で、限られた数のログを生成し、残りのログをドロップできる可能性を意味します。間隔は( 0、1、2、4、8、16、32 .)に設定することをお勧めします。2^N)。

入力値が 2^N に合わせされていない場合、フロー処理中に自動的に 2^N に調整されます。たとえば、10 ms 間隔を設定すると、8 ms 間隔に合わせて自動的に調整されます。

受信フラグメント化特性を保持してスループットを向上させる方法を理解する

このトピックでは、受信パケット フラグメントの特性をSRX シリーズデバイスを使用するメリットについて説明します。

データは、あるホストから別のホストに送信される際、一連のパケットとして送信されます。パフォーマンスが向上し、最大サイズのパケットがデータ パス内のリンクでフラグメント化されることなくソース ノードから宛先ノードへのパスを転送できる場合、ネットワーク リソースが節約されます。パケットがパス内のリンクを通過するために小さなパケットにフラグメント化する必要がある場合、そのリンクに対して確立された 最大送信単位(MTU)のパケットよりも大きいため、生成される各フラグメントには、ペイロードまたはデータに加えて、パケット ヘッダー情報も含まれている必要があります。オーバーヘッドが増加すると、スループットが低下し、ネットワーク パフォーマンスが低下する可能性があります。また、パケット フラグメントは宛先ノードで再構成する必要があります。このノードでは、追加のネットワーク リソースが消費されます。

一方、ホストがパス MTU(パス 最大送信単位)よりもはるかに小さいパケットを送信すると、ネットワーク リソースが無駄になります。その結果、スループットが最適化されません。検出プロセスMTUパスは、データ パスをソース ノードからセッションの宛先ノードに転送するフラグメントに最適な MTU サイズを検出するために動作します。最適なパケットサイズは パスのサイズMTU。フラグメント化は、パケットのサイズがパス パケットのサイズを超MTU。

SRX シリーズ デバイスでアプリケーション レイヤー サービスが設定されている場合、サービスを適用してコンテンツを検査する前に、イングレス インターフェイスのパケット フラグメントを再アセンブルする必要があります。これらの再構成されたパケット フラグメントは、データがエグレス インターフェイスから送信される前に再度分割する必要があります。通常は、エグレス インターフェイスMTUの最大サイズで、デバイスから次のリンクに送信されるフラグメントSRX シリーズサイズを決定します。SRX シリーズ デバイスのエグレス MTU サイズがパス MTU よりも大きい場合は、データ パスでパケットがフラグメント化される、パフォーマンスの低下、パケット 損失の原因になる可能性があります。パケット フラグメントは、送信元から宛先へのパス内のすべてのリンクを転送できるほど小さくする必要があります。

デフォルトでは、SRX シリーズ はエグレス インターフェイスに設定された MTU サイズを使用して、送信するパケット フラグメントのサイズを決定します。ただし、受信フラグメント特性を保持する機能を有効にした場合、SRX シリーズ デバイスは受信パケット フラグメントのサイズを検出して保存します。

データパスにおけるパケットフラグメント化の可能性を減らSRX シリーズ、そのフローに合わせて送信トラフィックを追跡MTU調整します。受信する全フラグメントの最大サイズを識別します。この情報をエグレス インターフェイスの既存のMTU一緒に使用して、エグレス インターフェイスから送信されたフラグメントパケットMTU適切なMTUサイズを判断します。デバイスのSRX シリーズ2つを比較します。小さい番号を使用し、エグレス インターフェイスのアドレス サイズに使用MTUします。

受信パケット フラグメントのサイズを考慮した機能を有効にするには、 コマンドを使用 set security flow preserve-incoming-frag-size してデバイスを設定します。

表 1 は、エ グレスSRX シリーズサイズMTU決定する方法をまとめたデータ です。

出たMTUの最終エグレス パケット サイズSRX シリーズ決定する方法
表 1:デバイスから

受信フラグメント サイズ

既存のエグレス MTU サイズ

最終エグレス MTU サイズ

最も大きなフラグメントが

既存の エグレス インターフェイスMTUよりも小さい

最大の受信フラグメント サイズが使用されます。

最も大きなフラグメントが

既存のエグレス トラフィック サイズMTU超え

既存のエグレス インターフェイス MTU使用されます。

注:

この機能は、複数のデバイスSRX シリーズサポートされています。トンネルを出るスルートラフィックとトラフィックをサポートします。これは、IPv4 と IPv6 の両方のトラフィックに適用されます。

次の 2 つの考慮事項は、フラグメント サイズに影響します。

  • UTM や ALG などのストリームベース アプリケーションでは、フラグメントが受信されなくても、アプリケーション自体がパケットを変更または再アセンブルできます。この場合、既存のエグレス インターフェイスMTU使用されます。

  • パスがMTUパケットがセッションに配信されると、そのセッションのパス MTU パスがパケットのパスによって確立された値MTUされます。

リリース履歴テーブル
リリース
説明
15.1X49-D100
セキュリティ フローの set preserve-incoming-frag-size コマンドを使用してデバイスを設定し、受信パケット フラグメントのサイズを考慮する機能を有効にします。