Citrix ADC

TCP構成

Citrix ADCアプライアンスのTCP構成は、TCP設定の集まりであるTCPプロファイルと呼ばれるエンティティで指定できます。TCP プロファイルは、これらの TCP 設定を使用するサービスまたは仮想サーバに関連付けることができます。

デフォルトの TCP プロファイルを設定して、すべてのサービスおよび仮想サーバにグローバルに適用される TCP 設定を設定できます。

TCP パラメータがサービス、仮想サーバ、およびグローバルに異なる値を持つ場合、最も具体的なエンティティ(サービス)の値が最も優先されます。Citrix ADCアプライアンスは、TCPを構成するための他のアプローチも提供します。詳細については、以下をお読みください。

サポートされている TCP 設定

Citrix ADCアプライアンスは、次のTCP機能をサポートしています。

スプーフィング攻撃に対する TCP の防御

ウィンドウ減衰 のCitrix ADC実装 は、RFC 4953に準拠しています。

明示的な輻輳通知(ECN)

アプライアンスは、ネットワークの輻輳状態の通知をデータの送信者に送信し、データの輻輳またはデータ破損に対する修正措置を講じます。ECNのCitrix ADC 実装は、RFC 3168に準拠しています。

タイムスタンプオプションを使用したラウンドトリップ時間測定(RTTM)

TimeStamp オプションが機能するためには、接続の少なくとも片側(クライアントまたはサーバ)がそれをサポートしている必要があります。Citrix ADC タイムスタンプ実装オプションは、RFC 1323に準拠しています。

不適切な再送信の検出

これは、TCP 重複選択応答(D-SACK)およびフォワード RTOリカバリ(F-RTO)を使用して実行できます。スプリアス再送信がある場合、輻輳制御設定は元の状態に戻ります。D-SACKのCitrix ADC 実装はRFC 2883に準拠しており、F-RTOはRFC 5682に準拠しています。

輻輳制御

この機能は、New-Reno、BIC、CUBIC、Nile、および TCP ウェストウッドアルゴリズムを使用します。

ウィンドウの拡大・縮小

これにより、 TCP 受信 ウィンドウサイズが最大値 65,535 バイトを超えます。

ウィンドウの拡大/縮小を設定する前に考慮すべきポイント

  • スケール係数には大きな値を設定しないでください。これは、アプライアンスとネットワークに悪影響を及ぼす可能性があるためです。
  • ウィンドウサイズを変更する理由を明確に把握していない限り、ウィンドウスケーリングは設定しません。
  • TCP 接続の両方のホストは、接続の確立中にウィンドウスケールオプションを送信します。接続の片側のみでこのオプションが設定されている場合、ウィンドウの拡大/縮小は接続に使用されません。
  • 同じセッションの各接続は、独立したウィンドウスケーリングセッションです。たとえば、クライアントの要求とサーバーの応答がアプライアンスを通過する場合、アプライアンスとサーバーの間でウィンドウスケーリングを行わずに、クライアントとアプライアンスの間でウィンドウスケーリングを行うことができます。

TCP 最大輻輳ウィンドウ

ウィンドウサイズは、ユーザーが構成できるサイズです。デフォルト値は 8190 バイトです。

選択的確認応答(SACK)

これは、データ受信機(Citrix ADCアプライアンスまたはクライアント)を使用して、正常に受信されたすべてのセグメントを送信者に通知します。

転送確認応答(FACK)

この機能により、ネットワーク内で未処理の総データバイト数を明示的に測定し、送信者(Citrix ADCまたはクライアント)が再送信タイムアウト時にネットワークに挿入されるデータ量を制御できるため、TCP輻輳を回避できます。

TCP 接続の多重化

この機能により、既存の TCP 接続の再利用が可能になります。Citrix ADCアプライアンスは、確立されたTCP接続を再利用プールに保存します。クライアント要求を受信するたびに、アプライアンスは再使用プール内の使用可能な接続をチェックし、接続が利用可能であれば新しいクライアントにサービスを提供します。使用できない場合、アプライアンスはクライアント要求の接続を作成し、その接続を再利用プールに保存します。Citrix ADCは、HTTP、SSL、およびDataStream 接続タイプの接続多重化をサポートしています。

動的受信バッファリング

これにより、受信バッファをメモリとネットワークの状態に基づいて動的に調整できます。

MPTCP コネクション

クライアントとCitrix ADC間のMPTCP接続。Citrix ADCとバックエンドサーバー間では、MPTCP接続はサポートされていません。MPTCPのCitrix ADC 実装は、RFC 6824に準拠しています。

コマンドラインインターフェイスを使用して、アクティブな MPTCP 接続やアクティブサブフロー接続などの MPTCP 統計情報を表示できます。

コマンドプロンプトで、次のコマンドのいずれかを入力して、MPTCP 統計情報の概要または詳細な概要を表示するか、統計情報の表示をクリアします。

  1. Stat MPTCP

  2. Stat mptcp –detail

  3. Clearstats basic

MPTCP接続を確立するには、クライアントとCitrix ADCアプライアンスの両方が同じMPTCPバージョンをサポートしている必要があります。Citrix ADCアプライアンスをサーバーのMPTCPGateway として使用する場合、サーバーはMPTCPをサポートする必要はありません。クライアントが新しいMPTCP接続を開始すると、アプライアンスはSYNパケット内のMP_CAPABALEオプションからクライアントのMPTPCバージョンを識別します。クライアントのバージョンが、アプライアンスでサポートされているバージョンよりも高い場合、アプライアンスは SYN-ACK パケットの MP_CAPABALE オプションで最上位のバージョンを示します。その後、クライアントは下位バージョンにフォールバックし、ACK パケットの MP_CAPABALE オプションでバージョン番号を送信します。そのバージョンをサポートできる場合、アプライアンスは MPTCP 接続を継続します。それ以外の場合、アプライアンスは通常の TCP にフォールバックします。Citrix ADCアプライアンスは、サブフロー(MP_JOIN)を開始しません。アプライアンスは、クライアントがサブフローを開始することを想定しています。

TCP/IP パスオーバーレイオプションの抽出とクライアント IP HTTP ヘッダーの挿入

TCP/IP パスオーバーレイを抽出し、クライアント IP HTTP ヘッダーを挿入します。オーバーレイネットワークを介したデータトランスポートでは、多くの場合、接続終了または NAT (ネットワークアドレス変換) が使用されます。ネットワークアドレス変換 (NAT) では、ソースクライアントの IP アドレスが失われます。これを回避するために、Citrix ADCアプライアンスはTCP/IPパスオーバーレイオプションを抽出し、ソースクライアントのIPアドレスをHTTPヘッダーに挿入します。ヘッダーに IP アドレスが含まれていると、Web サーバーは接続を確立したソースクライアントを識別できます。抽出されたデータは、TCP 接続の存続期間にわたって有効であるため、ネクストホップホストがオプションを再度解釈する必要がなくなります。このオプションは、client-IP 挿入オプションが有効になっている Web サービスに対してのみ適用できます。詳細については、「バックエンドでのクライアントの挿入」を参照してください。

TCP セグメンテーションオフロード

クライアントとTCPハンドシェイクのためのクッキーの同期

MSS の学習により、アプライアンスに設定されているすべての仮想サーバーで MSS ラーニングが有効になります

サポート可能な TCP パラメータ

次の表に、Citrix ADCアプライアンス上で構成されているTCPパラメータとそのデフォルト値のリストを示します。

パラメーター デフォルト値 説明
ウィンドウ管理    
TCP 遅延 ACK タイマー 100ミリ秒 TCP 遅延 ACK のタイムアウト(ミリ秒単位)。
TCP 最小再送信タイムアウト (RTO) (ミリ秒) 1000ミリ秒 10 ミリ秒単位で指定された最小再送信タイムアウト(ミリ秒単位)(10 で割った場合は整数である必要があります)
Keep-Aliveプローブを開始するまでの接続のアイドル時間 秒単位 アイドルタイムアウト時にTCP確立された接続をサイレントにドロップするアイドルタイムアウト時に確立された接続
TCP タイムスタンプオプション 有効 タイムスタンプオプションを使用すると、正確な RTT 測定が可能になります。[TCP タイムスタンプ] オプションを有効または無効にします。
マルチパス TCP セッションタイムアウト 0秒 MPTCP セッションタイムアウト(秒単位)。この値が設定されていない場合は、アイドル状態になります。MPTCP セッションは、仮想サーバーのクライアントアイドルタイムアウト後にフラッシュされます。
アイドルタイムアウト時に半閉じた接続をサイレントにドロップ 0秒 アイドルタイムアウト時に閉じた TCP 接続をサイレントにドロップします。
アイドルタイムアウト時に確立された接続をサイレントにドロップ 無効 アイドルタイムアウト時に確立された TCP 接続をサイレントにドロップする
メモリ管理    
TCP バッファサイズ 131072 バイト TCPバッファサイズは、Citrix ADC 受信バッファサイズです。このバッファサイズは、Citrix ADCからクライアントとサーバーに通知され、Citrix ADCにデータを送信する機能を制御します。デフォルトのバッファサイズは 8K です。通常、内部サーバファームと通信するときに、これをインクリメントしても安全です。バッファサイズは、Citrix ADC 実際のアプリケーション層にも影響します。SSLエンドポイントの場合、40Kに設定され、圧縮の場合は96Kに設定されています。 注意: 動的な調整を行うには、バッファサイズ引数を設定する必要があります。
TCP 送信バッファサイズ 8190 バイト TCP 送信バッファサイズ
TCP 動的受信バッファリング 無効 動的受信バッファリングを有効または無効にします。有効にすると、受信バッファをメモリとネットワークの状態に基づいて動的に調整できます。注意: 動的調整を行うには、バッファサイズ引数を設定する必要があります。
TCP 最大輻輳ウィンドウ(CWND) 524288 バイト TCP 最大輻輳ウィンドウ
ウィンドウの拡大/縮小状態 ENALBED ウィンドウの拡大/縮小を有効または無効にします。
Window Scaling factor 8 新しいウィンドウサイズの計算に使用される係数。この引数は、ウィンドウのスケーリングが有効な場合にのみ必要です。
接続のセットアップ    
Keep-Alive 無効 定期的な TCP Keep-Alive(KA)プローブを送信して、ピアがまだアップしているかどうかを確認します。
Keep-Aliveプローブを開始するまでの接続のアイドル時間 秒単位 Keep-Alive(KA)プローブを送信するまでの接続がアイドル状態になるまでの時間(秒単位)。
Keep-Aliveプローブ間隔 75 秒 ピアが応答しない場合に、次の Keep-alive(KA; Keep-Alive)プローブの時間間隔(秒単位)。
接続を切断する前に失われるKeep-Aliveプローブの最大数。 3 確認応答がない場合に送信される Keep-alive(KA; Keep-Alive)プローブの数(ピアがダウンしていると見なされます)。
RST ウィンドウ減衰 (スプーフィング保護)。 無効 スプーフィングから保護するために、RST ウィンドウ減衰を有効または無効にします。有効にすると、シーケンス番号が無効な場合に、は訂正 ACK で応答します。
最後に確認応答されたシーケンス番号で RST を受け入れます。 有効  
データ転送    
PUSH パケットの即時 ACK 有効 PUSH フラグを使用して TCP パケットの受信時に即時肯定応答(ACK)を送信します。
MSS あたりの最大パケット数 0 TCP データセグメントで許容される最大オクテット数
ネーグルのアルゴリズム 無効 Nagleのアルゴリズムは、TCP伝送における小さなパケットの問題と戦います。Telnet などのリアルタイムエンジンなどのアプリケーションでは、すべてのキーストロークを反対側に渡す必要があるため、小さなパケットが作成されることがよくあります。Nagle のアルゴリズムで Citrix ADC は、このような小さなパケットをバッファリングし、接続効率を高めるために一緒に送信することができます。このアルゴリズムは、Citrix ADCの他のTCP最適化手法と連携する必要があります。
バーストで許可される TCP セグメントの最大数 10 MSS バーストで許可される TCP セグメントの最大数
キューイングする順序外パケットの最大数 300 順序外パケットキューの最大サイズ。値 0 は、制限がないことを意味します。
輻輳制御    
TCP フレーバ CUBIC  
初期輻輳ウィンドウ(cwnd)設定 4 MSS サーバへの TCP リンクで未処理にできる TCP パケット数の初期最大上限
TCP 明示的輻輳通知 (ECN) 無効 明示的輻輳通知(ECN)は、パケットをドロップすることなく、ネットワーク輻輳のエンドツーエンド通知を提供します。
TCP 最大輻輳ウィンドウ(CWND) 524288 バイト TCP は輻輳ウィンドウ(CWND)を維持し、エンドツーエンドで送信される可能性のある未確認応答パケットの総数を制限します。TCPでは、輻輳ウィンドウは、いつでも未処理のバイト数を決定する要因の1つです。輻輳ウィンドウは、送信者と受信者の間のリンクが多すぎるトラフィックで過負荷にならないようにする手段です。これは、リンク上に存在する輻輳の量を推定することによって計算されます。
TCPハイブリッド・スタート(HYSTART) 8 バイト  
TCP 最小再送信タイムアウト (RTO) (ミリ秒) 1000 10 ミリ秒単位で指定された最小再送信タイムアウト(ミリ秒単位)。10 で割った場合は整数である必要があります。
TCP dupack しきい値 無効  
バーストレート制御 3 TCP バーストレート制御がDISABLED/FIXED/DYNAMIC。FIXED では、TCP レートを設定する必要があります。
TCP レート 無効 TCP 接続ペイロード送信レート(Kb/s)
TCP レート最大キュー 0 BurstRateControl が使用されている場合の接続キューの最大サイズ(バイト単位)。
MPTCP    
マルチパス TCP 無効 マルチパス TCP (MPTCP) は、マルチパス TCP サービスを提供するために、通常の TCP に対する拡張のセットです。これにより、トランスポート接続が複数のパスで同時に動作できるようになります。
事前確立されたサブフロー上のマルチパス TCP ドロップデータ 無効 Pre-Established サブフローでのデータのサイレントドロップを有効または無効にします。有効の場合、DSS データパケットは、事前に確立されたサブフローでデータを受信したときに、接続をドロップするのではなく、サイレントにドロップされます。
マルチパス TCP ファストオープン 無効 マルチパス TCP ファストオープンを有効または無効にします。有効にすると、DSS データパケットは、SYN ハンドシェイクの第 3 の ACK を受信する前に受け入れられます。
マルチパス TCP セッションタイムアウト 0秒 MPTCP セッションタイムアウト(秒単位)。この値が設定されていない場合、アイドル状態のMPTCPセッションは、仮想サーバーのクライアントのアイドルタイムアウト後にフラッシュされます。
セキュリティ    
SYN スプーフィング保護 無効 スプーフィングから保護するために、無効な SYN パケットのドロップを有効または無効にします。無効にすると、SYN パケットを受信すると、確立された接続がリセットされます。
TCP Syncookie 無効 これは、SYN フラッド攻撃に抵抗するために使用されます。クライアントとの TCP ハンドシェイクの SYNCOOKIE メカニズムを有効または無効にします。SYNCOOKIEを無効にすると、Citrix ADCアプライアンスでのSYN攻撃保護が防止されます。
損失の検出と回復    
重複選択応答(DSACK) 有効 Citrix ADCアプライアンスは、重複選択応答(DSACK)を使用して、再送信がエラーで送信されたかどうかを判断します。
フォワードRTOリカバリ(FRTO) 有効 不適切なTCP 再送信タイムアウトを検出します。タイムアウトによってトリガーされた最初の未確認セグメントを再送信した後、TCP 送信者のアルゴリズムは着信確認応答を監視し、タイムアウトが偽であるかどうかを判断します。次に、新しいセグメントを送信するか、未確認のセグメントを再送信するかを決定します。このアルゴリズムは、不要な再送信を効果的に回避し、スプリアスタイムアウトの場合に TCP パフォーマンスを向上させます。
TCP 転送確認応答(FACK) 有効 FACK(転送ACK)を有効または無効にします。
選択的確認応答 (SACK) ステータス 有効 TCP SACK は、全体的なスループット容量を減らす複数のパケット損失の問題に対処します。選択的確認応答では、受信機は、失われたセグメントのみを再送信する送信者を可能にするために、正常に受信されたすべてのセグメントについて送信者に通知することができます。この手法は、Citrix ADCが全体的なスループットを向上させ、接続待ち時間を短縮するのに役立ちます。
再送信あたりの最大パケット数 1 Citrix ADCが1回の試行で再送信するパケット数を制御できるようにします。Citrix ADCが部分的なACKを受信し、再送信を行う必要がある場合、この設定が考慮されます。これは、RTO ベースの再送信には影響しません。
TCP 遅延 ACK タイマー 100ミリ秒 TCP 遅延 ACK のタイムアウト(ミリ秒単位)
TCOの最適化    
TCP 最適化モード TRANSPARENT TCP 最適化モードTRANSPARENT/ENDPOINT
アダプティブ TCP 最適化の適用 無効 アダプティブ TCP 最適化の適用
TCP セグメンテーションオフロード AUTOMATIC TCP セグメンテーションを NIC にオフロードします。AUTOMATIC に設定すると、NIC がサポートしている場合、TCP セグメンテーションは NIC にオフロードされます。
ACK アグリゲーション 無効 ACK 集約を有効または無効にする
TCP 待機時間(または待機時間) 40秒 閉じた TCP 接続を解放するまでの経過時間

グローバル TCP パラメータの設定

Citrix ADCアプライアンスでは、すべてのCitrix ADCサービスと仮想サーバーに適用可能なTCPパラメーターの値を指定できます。これは以下を使用して行うことができます:

  • デフォルトの TCP プロファイル
  • グローバル TCP コマンド
  • TCP バッファリング機能

set ns tcpParam コマンドの recvBuffSize パラメータは、リリース 9.2 以降では推奨されていません。それ以降のリリースでは、set ns tcpProfile コマンドの bufferSize パラメータを使用してバッファサイズを設定します。recvBuffSize パラメータが推奨されないリリースにアップグレードすると、bufferSize パラメータはデフォルト値に設定されます。

デフォルトの TCP プロファイル

nstcp_default_profile という名前の TCP プロファイルは、サービスレベルまたは仮想サーバーレベルで TCP 構成が提供されていない場合に使用する TCP 構成を指定するために使用されます。

注意事項:

  • すべての TCP パラメータをデフォルトの TCP プロファイルで設定できるわけではありません。一部の設定は、グローバル TCP コマンドを使用して実行する必要があります(後述のセクションを参照)。

  • デフォルトのプロファイルは、サービスまたは仮想サーバーに明示的にバインドする必要はありません。

デフォルトの TCP プロファイルを設定するには

  • コマンド・ライン・インタフェースを使用して、コマンド・プロンプトに次のように入力します。

    nstcpプロファイルのデフォルトプロファイルの設定…

  • GUI で、[システム] > [プロファイル] に移動し、[TCP プロファイル] をクリックして、nstcp_default_profile を更新します。

グローバル TCP コマンド

グローバル TCP パラメータを設定するために使用できるもう 1 つの方法は、グローバル TCP コマンドです。このコマンドでは、一意のパラメータに加えて、TCP プロファイルを使用して設定できるいくつかのパラメータが複製されます。これらの重複するパラメータに対して行われた更新は、デフォルト TCP プロファイルの対応するパラメータに反映されます。

たとえば、このアプローチを使用して SACK パラメータが更新された場合、その値はデフォルトの TCP プロファイル (nstcp_default_profile) の SACK パラメータに反映されます。

このアプローチは、デフォルトのTCPプロファイルでは使用できないTCPパラメータに対してのみ使用することをお勧めします。

グローバル TCP コマンドを設定するには

  • コマンド・ライン・インタフェースを使用して、コマンド・プロンプトに次のように入力します。

    set ns tcpParam …

  • GUI で、[システム] > [設定] に移動し、[TCP パラメータの変更] をクリックして、必要な TCP パラメータを更新します。

TCP バッファリング機能

Citrix ADCには、TCPバッファリングと呼ばれる機能があり、これを使用してTCPバッファサイズを指定できます。この機能は、グローバルに有効にすることも、サービスレベルで有効にすることもできます。

注。バッファサイズは、デフォルトの TCP プロファイルで設定することもできます。TCP バッファリング機能とデフォルトの TCP プロファイルでバッファサイズの値が異なる場合は、大きい値が適用されます。

TCP バッファリング機能をグローバルに設定するには

  • コマンドプロンプトで、次のように入力します。

    enable ns mode TCPB

    set ns tcpbufParam -size <positiveInteger> -memLimit <positiveInteger>

  • GUI で、[システム] > [設定] に移動し、[モードの構成] をクリックして [TCP バッファリング] を選択します。

    [システム] > [設定] に移動し、[TCP パラメータの変更] をクリックして、[バッファサイズ] と [メモリ使用制限] の値を指定します。

サービスまたは仮想サーバ固有の TCP パラメータの設定

TCP プロファイルを使用して、サービスおよび仮想サーバの TCP パラメータを指定できます。TCP プロファイルを定義し(または組み込み TCP プロファイルを使用する)、プロファイルを適切なサービスおよび仮想サーバに関連付ける必要があります。

また、要件に従ってデフォルトプロファイルの TCP パラメータを変更することもできます。

TCP バッファリング機能で指定されたパラメータを使用して、サービスレベルで TCP バッファサイズを指定できます。

コマンドラインインターフェイスを使用してサービスレベルまたは仮想サーバーレベルの TCP 構成を指定するには

コマンドプロンプトで、次の手順を実行します。

  1. TCP プロファイルを設定します。

    set ns tcpProfile <profile-name>...

  2. TCP プロファイルをサービスまたは仮想サーバにバインドします。

set service <name> ....

**例**:

`> set service service1 -tcpProfileName profile1`

TCP プロファイルを仮想サーバにバインドするには、次の手順を実行します。

`set lb vserver <name> ....`

**例**:

`> set lb vserver lbvserver1 -tcpProfileName profile1`

GUI を使用してサービスレベルまたは仮想サーバレベルの TCP 構成を指定するには

GUIで、次の操作を実行します。

  1. TCP プロファイルを設定します。

    [システム] > [プロファイル] > [TCP プロファイル] に移動し、TCP プロファイルを作成します。

  2. TCP プロファイルをサービスまたは仮想サーバにバインドします。

    トラフィック管理 」>「 ロードバランシング 」>「 サービス/仮想サーバー 」に移動し、サービスまたは仮想サーバーにバインドする TCP プロファイルを作成します。

組み込みの TCP プロファイル

構成の便宜上、Citrix ADCにはTCPプロファイルがいくつか組み込まれています。以下に示す組み込みプロファイルを確認し、プロファイルを選択してそのまま使用するか、要件に合わせて変更します。これらのプロファイルを、必要なサービスまたは仮想サーバーにバインドできます。

組み込みプロファイル 説明
nstcp_default_profile アプライアンスのデフォルトのグローバルTCP設定を表します。
nstcp_default_tcp_lan これらのサーバがアプライアンスと同じ LAN 上にあるバックエンドサーバ接続に便利です。
nstcp_default_WAN WAN 展開に便利です。
nstcp_default_tcp_lan_thin_stream nstcp_default_tcp_lan プロファイルに似ています。ただし、設定は小さすぎるサイズのパケットフローを調整しています。
nstcp_default_tcp_interactive_stream nstcp_default_tcp_lan プロファイルに似ています。ただし、遅延ACKタイマーと PUSHパケット 設定のACKは減少しています。
nstcp_default_tcp_lfp クライアント側の長太いパイプネットワーク (WAN) に便利です。長太いパイプネットワークには、遅延が長く、帯域幅が広く、パケットドロップが最小限に抑えられます。
nstcp_default_tcp_lfp_thin_stream nstcp_default_tcp_lfp プロファイルに似ています。ただし、この設定は小さいサイズのパケットフローに合わせて調整されます。
nstcp_default_tcp_lnp クライアント側の細長いパイプネットワーク (WAN) に便利です。細長いパイプネットワークでは、パケット損失がかなり長くなることがあります。
nstcp_default_tcp_lnp_thin_stream nstcp_default_tcp_lnp プロファイルに似ています。ただし、この設定は小さいサイズのパケットフローに合わせて調整されます。
nstcp_internal_apps アプライアンス上の内部アプリケーション(GSLBサイトの同期など)に役立ちます。これには、希望するアプリケーションの調整されたウィンドウスケーリングと SACK オプションが含まれます。このプロファイルは、内部アプリケーション以外のアプリケーションにバインドしないでください。
nstcp_default_Mobile_profile モバイルデバイスに便利です。
nstcp_default_XA_XD_profile XenAppまたはXenDesktop ktopの展開に便利です。

TCP 設定の例

以下を設定するコマンドラインインターフェイスのサンプル例:

スプーフィング攻撃に対する TCP の防御

Citrix ADCを有効にして、なりすまし攻撃からTCPを守ります。デフォルトでは、「rstWindowAttenuation」パラメータは無効になっています。このパラメータは、なりすましからアプライアンスを保護するために有効になっています。有効にすると、無効なシーケンス番号に対する修正確認(ACK)で応答します。有効な値は、[有効]、[無効] です。

ここで、RST ウィンドウ減衰パラメータは、なりすましからアプライアンスを保護します。有効にすると、シーケンス番号が無効な場合に、は訂正 ACK で応答します。

```
> set ns tcpProfile profile1 -rstWindowAttenuate ENABLED -spoofSynDrop ENABLED
Done
> set lb vserver lbvserver1 -tcpProfileName profile1
Done
```

明示的な輻輳通知(ECN)

Enable ECN on the required TCP profile

```
> set ns tcpProfile profile1 -ECN ENABLED
Done
> set lb vserver lbvserver1 -tcpProfileName profile1
Done
```

選択的確認応答 (SACK)

必要な TCP プロファイルで SACK を有効にします。

```
> set ns tcpProfile profile1 -SACK ENABLED
Done
> set lb vserver lbvserver1 -tcpProfileName profile1
Done
```

Forward ACKnowledgment (FACK)

必要な TCP プロファイルで FACK を有効にします。

> set ns tcpProfile profile1 -FACK ENABLED > set lb vserver lbvserver1 -tcpProfileName profile1

ウィンドウのスケーリング (WS)

ウィンドウスケーリングを有効にし、必要な TCP プロファイルでウィンドウスケーリング係数を設定します。

set ns tcpProfile profile1 –WS ENABLED –WSVal 9 Done set lb vserver lbvserver1 -tcpProfileName profile1 Done

最大セグメントサイズ (MSS)

MSS 関連の設定を更新します。

> set ns tcpProfile profile1 –mss 1460 - maxPktPerMss 512 Done > set lb vserver lbvserver1 -tcpProfileName profile1 Done

仮想サーバーの MSS を学習する Citrix ADC

Citrix ADCがVSSを学習し、その他の関連構成を更新できるようにします。

> set ns tcpParam -learnVsvrMSS ENABLED –mssLearnInterval 180 -mssLearnDelay 3600 Done

TCP keep-alive

TCP Keep-Aliveを有効にし、その他の関連設定をアップデートします。

> set ns tcpProfile profile1 –KA ENABLED –KaprobeUpdateLastactivity ENABLED -KAconnIdleTime 900 -KAmaxProbes 3 -KaprobeInterval 75 Done > set lb vserver lbvserver1 -tcpProfileName profile1 Done

バッファサイズ-TCP プロファイルの使用

バッファサイズを指定します。

> set ns tcpProfile profile1 –bufferSize 8190 Done > set lb vserver lbvserver1 -tcpProfileName profile1 Done

バッファサイズ-TCP バッファリング機能を使用

TCP バッファリング機能(グローバルまたはサービス用)を有効にし、バッファサイズとメモリ制限を指定します。

> enable ns feature TCPB Done > set ns tcpbufParam -size 64 -memLimit 64 Done

MPTCP

MPTCP を有効にし、オプションの MPTCP 構成を設定します。

> set ns tcpProfile profile1 -mptcp ENABLED Done > set ns tcpProfile profile1 -mptcpDropDataOnPreEstSF ENABLED -mptcpFastOpen ENABLED -mptcpSessionTimeout 7200 Done > set ns tcpparam -mptcpConCloseOnPassiveSF ENABLED -mptcpChecksum ENABLED -mptcpSFtimeout 0 -mptcpSFReplaceTimeout 10 -mptcpMaxSF 4 -mptcpMaxPendingSF 4 -mptcpPendingJoinThreshold 0 -mptcpRTOsToSwitchSF 2 -mptcpUseBackupOnDSS ENABLED Done

輻輳制御

必要な TCP 輻輳制御アルゴリズムを設定します。

set ns tcpProfile profile1 -flavor Westwood Done > set lb vserver lbvserver1 -tcpProfileName profile1 Done

動的受信バッファリング

必要な TCP プロファイルでダイナミック受信バッファリングを有効にします。

> set ns tcpProfile profile1 -dynamicReceiveBuffering ENABLED Done > set lb vserver lbvserver1 -tcpProfileName profile1 Done

マルチパス TCP (MPTCP) での TCP ファストオープン (TFO) のサポート

Citrix ADCアプライアンスは、マルチパスTCP(MPTCP)接続を確立し、データ転送を高速化するためのTCP高速オープン(TFO)メカニズムをサポートするようになりました。このメカニズムにより、SYN および SYN-ACK パケットでの初期 MPTCP 接続ハンドシェイク中にサブフローデータを伝送できます。また、MPTCP 接続の確立中に受信ノードによってデータが消費されることも可能になります。

詳細については、TCP ファーストオープンを参照してください。

MPTCP の可変 TFO クッキーサイズのサポート

Citrix ADCアプライアンスでは、TCPプロファイルで最小サイズ4バイト、最大サイズ16バイトの可変長TCPファスト・オープン(TFO)Cookieを構成できるようになりました。これにより、アプライアンスは SYN-ACK パケットで設定された TFO cookie サイズでクライアントに応答できます。

コマンドラインインターフェイスを使用して TCP プロファイルで TCP ファストオープン (TFO) クッキーを構成するには

コマンドプロンプトで、次のように入力します。

set tcpProfile nstcp_default_profile -tcpFastOpenCookieSize <positive_integer>

set tcpProfile nstcp_default_profile -tcpFastOpenCookieSize 8

GUI を使用して TCP プロファイルで TCP ファストオープン (TFO) クッキーを構成するには

  1. [設定] > [システム] > [プロファイル] に移動します。
  2. 詳細ペインで、[TCP プロファイル] タブに移動し、TCP プロファイルを選択します。
  3. [TCP プロファイルの設定] ページで、 TCP ファストオープン クッキーサイズを設定します。
  4. [OK] をクリックし、[完了] をクリックします。

Citrix ADCアプライアンスでは、デフォルトでは、SYN攻撃に対してTCPプロファイルのSYNクッキーパラメータが有効になっています。仮想サーバに対する攻撃を検出し、SYN-ACK 再送信レートを確認する場合、SYN cookie 値は [有効] から [無効] に切り替わります。ただし、クッキーの有効状態から無効状態への切り替え効果、およびその逆により、クラスター展開内のノード間で構成の不整合が発生します。これを解決するには、アプライアンスの各仮想サーバで維持されている 2 番目の SYN cookie パラメータを使用します。SYN 攻撃が検出されると、TCP プロファイルの SYN クッキーは無効になり、サーバの 2 番目の SYN クッキー値は [無効] から [有効] に切り替わります。自動同期タイムアウト間隔を指定できる場合、cookie は Enabled 状態のままになります。タイムアウト間隔の間に、仮想サーバは SYN Cookie モードの SYN 攻撃と対戦します。間隔がタイムアウトした後、仮想サーバーの SYN-ACK 再送信レートがしきい値を下回ると、SYN Cookie 値が無効状態に切り替わります。それ以外の場合、レートがしきい値を上回っている場合は、そのレートが SYN 攻撃であることを示し、指定したタイムアウト期間にわたって cookie が再び有効状態に切り替わります。

コマンドラインインターフェイスを使用して SYN ACK 再送信の最大しきい値を構成するには

コマンドプロンプトで、次のように入力します。

```
set ns tcpparam [-maxSynAckRetx <positive_integer>]

Set ns tcpparam [-maxSynAckRetx 150]
```

コマンドラインインターフェイスを使用して自動 SYN cookie タイムアウト間隔を構成するには

コマンドプロンプトで、次のように入力します。

set ns tcpparam [-autosyncookietimeout <positive_integer>]

``` Set ns tcpparam [-autosyncookietimeout 90]
\`\`\`

TCP構成