-
-
-
VMware ESX、Linux KVM、およびCitrix HypervisorでCitrix ADC VPXのパフォーマンスを最適化する
-
Linux-KVMプラットフォームへのCitrix ADC VPXインスタンスのインストール
-
-
-
-
-
-
-
-
-
-
-
-
-
This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
TCP の最適化
TCP は、次の最適化手法と輻輳制御戦略(またはアルゴリズム)を使用して、データ伝送におけるネットワークの輻輳を回避します。
輻輳制御方針
TCPは、インターネット接続の確立と管理、伝送エラーの処理、およびWebアプリケーションとクライアントデバイスのスムーズな接続に長い間使用されてきました。しかし、パケット損失はネットワークの輻輳だけに依存せず、輻輳が必ずしもパケット損失を引き起こすわけではないため、ネットワークトラフィックの制御が困難になっています。したがって、輻輳を測定するには、TCP アルゴリズムはパケット損失と帯域幅の両方に焦点を当てる必要があります。
比例レート回復(PRR)アルゴリズム
TCP 高速回復メカニズムは、パケット損失に起因する Web 遅延を低減します。新しい比例速度回復(PRR)アルゴリズムは、損失回復中に TCP データを評価する高速回復アルゴリズムです。輻輳制御アルゴリズムによって選択されたターゲットウィンドウに適した分数を使用して、Rate-Halving の後にパターン化されます。これにより、ウィンドウの調整が最小限に抑えられ、リカバリ終了時の実際のウィンドウ・サイズはSlow-Startしきい値(ssthresh)に近い値になります。
TCPファスト・オープン(TFO)
TCP ファストオープン (TFO) は、TCP の最初のハンドシェイク中に、クライアントとサーバー間で迅速かつ安全なデータ交換を可能にする TCP メカニズムです。この機能は、Citrix ADCアプライアンスの仮想サーバーにバインドされたTCPプロファイルでTCPオプションとして使用できます。TFOは、Citrix ADCアプライアンスが生成するTCP高速オープンクッキー(セキュリティクッキー)を使用して、仮想サーバーへのTFO接続を開始するクライアントを検証および認証します。この TFO メカニズムを使用すると、1 回のフルラウンドトリップに必要な時間だけアプリケーションのネットワーク遅延を減らすことができます。これにより、短い TCP 転送で発生する遅延が大幅に削減されます。
TFOの仕組み
クライアントが TFO 接続を確立しようとすると、それ自体を認証する最初の SYN セグメントで TCP ファストオープン Cookie が含まれます。認証が成功すると、Citrix ADCアプライアンスの仮想サーバーがスリーウェイハンドシェイクの最終ACKセグメントを受信していなくても、SYN-ACKセグメントにデータを含めることができます。これにより、通常の TCP 接続と比較して最大 1 回のラウンドトリップが節約されます。この場合、データを交換する前に 3 ウェイハンドシェイクが必要になります。
クライアントとバックエンドサーバーは、次の手順を実行してTFO接続を確立し、最初のTCPハンドシェイク中にデータを安全に交換します。
- クライアントが自身を認証するためのTCPファスト・オープンCookieを持っていない場合、SYNパケット内のファスト・オープンCookie要求をCitrix ADCアプライアンス上の仮想サーバーに送信します。
- 仮想サーバーにバインドされたTCPプロファイルでTFOオプションが有効になっている場合、アプライアンスはクッキーを生成し(シークレットキーでクライアントのIPアドレスを暗号化して)、生成された高速オープンCookieをTCPオプションフィールドに含むSYN-ACKでクライアントに応答します。
- クライアントは、アプライアンス上の同じ仮想サーバーへの将来の TFO 接続用に Cookie をキャッシュします。
- クライアントは、同じ仮想サーバーへの TFO 接続を確立しようとすると、HTTP データと共に (TCP オプションとして) キャッシュされた高速オープン Cookie を含む SYN を送信します。
- Citrix ADCアプライアンスはクッキーを検証し、認証に成功すると、サーバーはSYNパケット内のデータを受け入れ、SYN-ACK、TFOクッキー、HTTPレスポンスでイベントを確認します。
注:
クライアント認証が失敗した場合、サーバーはデータをドロップし、セッションのタイムアウトを示す SYN のみでイベントを確認応答します。
- サーバー側では、サービスにバインドされたTCPプロファイルでTFOオプションが有効になっている場合、Citrix ADCアプライアンスは、接続しようとしているサービスにTCP高速オープンCookieが存在するかどうかを決定します。
- TCPファスト・オープン・クッキーが存在しない場合、アプライアンスはSYNパケットでクッキー要求を送信します。
- バックエンドサーバーがCookieを送信すると、アプライアンスはCookieをサーバー情報キャッシュに保存します。
- アプライアンスが所定の宛先 IP ペアのクッキーをすでに持っている場合、古いクッキーを新しいものと置き換えます。
- 仮想サーバが同じ SNIP アドレスを使用して同じバックエンドサーバに再接続しようとしたときに、サーバ情報キャッシュで cookie が使用可能な場合、アプライアンスは SYN パケット内のデータを cookie と結合し、バックエンドサーバに送信します。
- バックエンドサーバーは、データと SYN の両方でイベントを確認します。
注: サーバーがSYNセグメントのみでイベントを確認した場合、Citrix ADCアプライアンスは、元のパケットからSYNセグメントとTCPオプションを削除した後、直ちにデータパケットを再送信します。
TCP ファーストオープーの設定
TCP ファストオープン(TFO)機能を使用するには、関連する TCP プロファイルで TCP ファストオープンオプションを有効にし、TFO Cookie タイムアウトパラメータにそのプロファイルのセキュリティ要件に適した値を設定します。
CLI を使用して TFO を有効または無効にする
コマンドプロンプトで、次のコマンドのいずれかを入力して、新規または既存のプロファイルで TFO を有効または無効にします。
注: デフォルト値は DISABLED です。
add tcpprofile <TCP Profile Name> - tcpFastOpen ENABLED | DISABLED
set tcpprofile <TCP Profile Name> - tcpFastOpen ENABLED | DISABLED
unset tcpprofile <TCP Profile Name> - tcpFastOpen
Examples
add tcpprofile Profile1 – tcpFastOpen
Set tcpprofile Profile1 – tcpFastOpen Enabled
unset tcpprofile Profile1 – tcpFastOpen
<!--NeedCopy-->
コマンドラインインターフェイスを使用して TCP ファストオープン cookie タイムアウト値を設定するには
コマンドプロンプトで入力します。
set tcpparam –tcpfastOpenCookieTimeout <Timeout Value>
Example
set tcpprofile –tcpfastOpenCookieTimeout 30secs
<!--NeedCopy-->
GUI を使用して TCP ファストオープンを構成するには
- [設定] > [システム] > [プロファイル] に移動し、[編集] をクリックして TCP プロファイルを変更します。
- [ TCPプロファイル の構成]ページで、[ TCP高速オープン] チェックボックスをオンにします。
- [ OK]、[ 完了]の順にクリックします。
GUI を使用して TCP ファストクッキーのタイムアウト値を設定するには
[設定] > [システム] > [設定] > [TCP パラメータの変更] に移動し、 [TCP パラメータの構成] ページに移動して、TCP ファストオープン Cookie タイムアウト値を設定します。
TCP HyStart
新しい TCP プロファイルパラメータ HyStartを使用すると、HyStartアルゴリズムが有効になります。HyStartアルゴリズムは、終了するセーフポイント(ssthresh)を動的に決定するスロースタートアルゴリズムです。これにより、大量のパケット損失を伴わずに、輻輳回避への移行が可能になります。この新しいパラメータは、デフォルトでは無効になっています。
輻輳が検出されると、HyStart は輻輳回避フェーズに入ります。これを有効にすると、パケット損失が大きい高速ネットワークのスループットが向上します。このアルゴリズムは、トランザクションの処理中に最大帯域幅に近い状態を維持するのに役立ちます。したがって、スループットを向上させることができます。
TCP HyStartの構成
HyStart機能を使用するには、関連するTCPプロファイルでCubic HyStartオプションを有効にします。
コマンドラインインターフェイス(CLI)を使用してHyStartを構成するには
コマンドプロンプトで、次のいずれかのコマンドを入力して、新規または既存のTCPプロファイルでHyStartを有効または無効にします。
add tcpprofile <profileName> -hystart ENABLED
set tcpprofile <profileName> -hystart ENABLED
unset tcprofile <profileName> -hystart
<!--NeedCopy-->
例:
add tcpprofile profile1 -hystart ENABLED
set tcpprofile profile1 -hystart ENABLED
unset tcprofile profile1 -hystart
<!--NeedCopy-->
GUIを使用してHyStartサポートを構成するには
- [設定] > [システム] > [プロファイル] に移動し、[編集] をクリックして TCP プロファイルを変更します。
- [TCP プロファイルの設定] ページで、[キュービックハイスタート] チェックボックスをオンにします。
- [ OK]、[ 完了]の順にクリックします。
TCP バーストレート制御
TCP 制御メカニズムは、高速モバイルネットワーク上でバーストなトラフィックフローにつながり、ネットワーク全体の効率に悪影響を及ぼす可能性があります。輻輳やデータのレイヤ2再送信などのモバイルネットワークの状態により、TCP確認応答が送信者に集中して到着し、送信のバーストをトリガーします。短いパケット間ギャップで送信されるこれらの連続したパケットのグループは、TCPパケットバーストと呼ばれます。トラフィックバーストを克服するために、Citrix ADCアプライアンスはTCPバーストレート制御技術を使用します。この方法では、データがバーストに送信されないように、ラウンドトリップ時間全体にわたってデータをネットワークに均等に配置します。このバーストレート制御技術を使用すると、スループットが向上し、パケットドロップレートが低下します。
TCP バーストレート制御の仕組み
Citrix ADCアプライアンスでは、この手法により、パケットの送信がラウンドトリップ時間(RTT)の全期間に均等に分散されます。これは、バーストを減らすために進行中の TCP セッションのパケットを出力するさまざまなネットワーク条件を識別する TCP スタックとネットワークパケットスケジューラを使用することによって実現されます。
送信側では、確認応答を受信した直後にパケットを送信する代わりに、送信側はスケジューラ(動的設定)または TCP プロファイル(固定設定)によって定義されたレートでパケットを拡散するようにパケットの送信を遅らせることができます。
TCP バーストレート制御の設定
関連する TCP プロファイルで TCP バーストレート制御オプションを使用し、バーストレート制御パラメータを設定します。
コマンドラインを使用して TCP バーストレート制御を設定するには
コマンドプロンプトで、新しい、または既存のプロファイルで、次の TCP バーストレート制御コマンドのいずれかを設定します。
注: デフォルト値は DABLED です。
add tcpprofile <TCP Profile Name> -burstRateControl Disabled | Dynamic | Fixed
set tcpprofile <TCP Profile Name> -burstRateControl Disabled | Dynamic | Fixed
unset tcpprofile <TCP Profile Name> -burstRateControl Disabled | Dynamic | Fixed
<!--NeedCopy-->
各項目の意味は次のとおりです。
無効 — バーストレート制御が無効になっている場合、Citrix ADCアプライアンスはmaxBurst設定以外のバースト管理を実行しません。
固定 — TCPバーストレート制御が「固定」の場合、アプライアンスは、TCPプロファイルに記載されているTCP接続ペイロード送信レート値を使用します。
Dynamic:バーストレート制御が「Dynamic」の場合、接続はさまざまなネットワーク条件に基づいて規制され、TCP バーストが減少します。このモードは、TCP 接続が ENDPOINT モードの場合にのみ機能します。ダイナミックバーストレート制御が有効の場合、TCP プロファイルの maxBurst パラメータは有効になりません。
add tcpProfile profile1 -burstRateControl Disabled
set tcpProfile profile1 -burstRateControl Dynamic
unset tcpProfile profile1 -burstRateControl Fixed
<!--NeedCopy-->
コマンドラインインターフェイスを使用して TCP バーストレート制御パラメータを設定するには
コマンドプロンプトで入力します。
set ns tcpprofile nstcp_default_profile –burstRateControl <type of burst rate control> –tcprate <TCP rate> -rateqmax <maximum bytes in queue>
T1300-10-2> show ns tcpprofile nstcp_default_profile
Name: nstcp_default_profile
Window Scaling status: ENABLED
Window Scaling factor: 8
SACK status: ENABLED
MSS: 1460
MaxBurst setting: 30 MSS
Initial cwnd setting: 16 MSS
TCP Delayed-ACK Timer: 100 millisec
Nagle's Algorithm: DISABLED
Maximum out-of-order packets to queue: 15000
Immediate ACK on PUSH packet: ENABLED
Maximum packets per MSS: 0
Maximum packets per retransmission: 1
TCP minimum RTO in millisec: 1000
TCP Slow start increment: 1
TCP Buffer Size: 8000000 bytes
TCP Send Buffer Size: 8000000 bytes
TCP Syncookie: ENABLED
Update Last activity on KA Probes: ENABLED
TCP flavor: BIC
TCP Dynamic Receive Buffering: DISABLED
Keep-alive probes: ENABLED
Connection idle time before starting keep-alive probes: 900 seconds
Keep-alive probe interval: 75 seconds
Maximum keep-alive probes to be missed before dropping connection: 3
Establishing Client Connection: AUTOMATIC
TCP Segmentation Offload: AUTOMATIC
TCP Timestamp Option: DISABLED
RST window attenuation (spoof protection): ENABLED
Accept RST with last acknowledged sequence number: ENABLED
SYN spoof protection: ENABLED
TCP Explicit Congestion Notification: DISABLED
Multipath TCP: DISABLED
Multipath TCP drop data on pre-established subflow: DISABLED
Multipath TCP fastopen: DISABLED
Multipath TCP session timeout: 0 seconds
DSACK: ENABLED
ACK Aggregation: DISABLED
FRTO: ENABLED
TCP Max CWND : 4000000 bytes
FACK: ENABLED
TCP Optimization mode: ENDPOINT
TCP Fastopen: DISABLED
HYSTART: DISABLED
TCP dupack threshold: 3
Burst Rate Control: Dynamic
TCP Rate: 0
TCP Rate Maximum Queue: 0
<!--NeedCopy-->
GUI を使用して TCP バーストレート制御を設定するには
- [設定] > [システム] > [プロファイル] に移動し、[編集] をクリックして TCP プロファイルを変更します。
- [TCP プロファイルの設定] ページで、ドロップダウンリストから [TCP バースト制御] オプションを選択します。
- BurstRateCntrl
- CreditBytePrms
- RateBytePerms
- RateSchedulerQ
- [ OK]、[ 完了]の順にクリックします。
ラップされたシーケンス(PAWS)アルゴリズムに対する保護
デフォルトのTCPプロファイルでTCPタイムスタンプオプションを有効にすると、Citrix ADCアプライアンスはラップされたシーケンス(PAWS)に対する保護アルゴリズムを使用して、シーケンス番号が現在のTCP接続の受信ウィンドウ内にある古いパケットを特定して拒否します(が最大値に達し、0から再起動しました)。
ネットワークの輻輳によって SYN 以外のデータパケットが遅延し、パケットが到着する前に新しい接続を開くと、シーケンス番号の折り返しにより、新しい接続がパケットを有効として受け入れ、データが破損する可能性があります。ただし、TCP タイムスタンプオプションが有効の場合、パケットは破棄されます。
デフォルトでは、TCP タイムスタンプオプションは無効です。これを有効にすると、アプライアンスはパケットのヘッダーにあるTCPタイムスタンプ(SEG.TSval)と最近のタイムスタンプ(Ts.recent)の値を比較します。SEG.TSval が Ts.recent 以上の場合は、パケットが処理されます。それ以外の場合、アプライアンスはパケットをドロップし、修正確認を送信します。
PAWS のしくみ
PAWS アルゴリズムは、同期接続のすべての着信 TCP パケットを次のように処理します。
-
SEG.TSval
<Ts.recent:
の場合 着信パケットは受け入れられません。PAWSは(RFC-793で指定されているように)確認応答を送信し、パケットをドロップします。注:ハーフオープン接続を検出して回復するためのTCPのメカニズムを保持するには、ACKセグメントを送信する必要があります。 - パケットがウィンドウ外にある場合:通常の TCP 処理と同様に、PAWS はパケットを拒否します。
-
SEG.TSval
>の場合Ts.recent: PAWS
パケットを受け入れ、それを処理します。 -
SEG.TSval
< =Last.ACK.sent
の場合(到着セグメントが満たす):PAWSはSEG.TSval
値をTs.recent
にコピーする必要があります(Tsにコピーされますか)。dbの最近のフィールド?。 - パケットが順番にある場合:PAWS はパケットを受け入れます。
- パケットが順番にない場合:パケットは、通常のウィンドウ内、アウトオブシーケンス TCP セグメントとして扱われます。たとえば、後で配信するためにキューに入れられる場合があります。
-
Ts.recent
値が24日を超えてアイドル状態の場合:PAWSタイムスタンプチェックが失敗した場合、Ts.recent
の有効性がチェックされます。Ts.recent値が無効であることが判明した場合、セグメントは受け入れられ、PAWS rule
はTs.recent
を新しいセグメントのTSval値で更新します。
コマンドラインインターフェイスを使用して TCP タイムスタンプを有効または無効にするには
コマンドプロンプトで入力します。
`set nstcpprofile nstcp_default_profile -TimeStamp (ENABLED | DISABLED)`
GUI を使用して TCP タイムスタンプを有効または無効にするには
[システム] > [プロファイル] > [TCP プロファイル] に移動し、デフォルトの TCP プロファイルを選択して [編集] をクリックし、[TCP タイムスタンプ] チェックボックスをオンまたはオフにします。
最適化テクニック
TCP は、フロー制御を最適化するために、次の最適化手法と方法を使用します。
ポリシーベースの TCP プロファイルの選択
今日のネットワークトラフィックは、かつてないほど多様で帯域幅が集中しています。トラフィックが増加すると、サービス品質(QoS)が TCP パフォーマンスに与える影響が大きくなります。QoS を強化するために、ネットワークトラフィックのクラスごとに異なる TCP プロファイルを使用して AppQoE ポリシーを構成できるようになりました。AppQoEポリシーは、仮想サーバーのトラフィックを分類して、3G、4G、LAN、WANなどの特定のタイプのトラフィックに最適化されたTCPプロファイルを関連付けます。
この機能を使用するには、TCP プロファイルごとにポリシーアクションを作成し、AppQoE ポリシーにアクションを関連付け、負荷分散仮想サーバーにポリシーをバインドします。
サブスクライバ属性を使用して TCP 最適化を実行する方法については、 ポリシーベースの TCP プロファイルを参照してください。
ポリシーベースの TCP プロファイル選択の設定
ポリシーベースの TCP プロファイル選択の設定は、次の作業で構成されます。
- AppQoEを有効にします。TCP プロファイル機能を設定する前に、AppQoE 機能を有効にする必要があります。
- AppQoEアクションを追加しています。AppQoE 機能を有効にした後、TCP プロファイルを使用して AppQoE アクションを設定します。
- AppQoE ベースの TCP プロファイル選択の設定。異なるクラスのトラフィックに対してTCPプロファイル選択を実装するには、Citrix ADCが接続を区別し、正しいAppQoEアクションを各ポリシーにバインドできるAppQoEポリシーを構成する必要があります。
- 仮想サーバーへの AppQoE ポリシーのバインド。AppQoEポリシーを構成したら、1つまたは複数の負荷分散、コンテンツスイッチング、またはキャッシュリダイレクト仮想サーバーにポリシーをバインドする必要があります。
コマンドラインインターフェイスを使用した構成
コマンドラインインターフェイスを使用して AppQoE を有効にするには
コマンドプロンプトで次のコマンドを入力して、機能を有効にし、有効になっていることを確認します。
enable ns feature appqoe
show ns feature
コマンドラインインターフェイスを使用して AppQoE アクションの作成中に TCP プロファイルをバインドするには
コマンドプロンプトで、 tcpprofiletobind
オプションを指定して次のAppQoEアクションコマンドを入力します。
add appqoe action <name> [-priority <priority>] [-respondWith ( ACS | NS ) [<CustomFile>] [-altContentSvcName <string>] [-altContentPath <string>] [-maxConn <positive_integer>] [-delay <usecs>]] [-polqDepth <positive_integer>] [-priqDepth <positive_integer>] [-dosTrigExpression <expression>] [-dosAction ( SimpleResponse |HICResponse )] [-tcpprofiletobind <string>]
show appqoe action
コマンドラインインターフェイスを使用して AppQoE ポリシーを構成するには
コマンドプロンプトで入力します。
add appqoe policy <name> -rule <expression> -action <string>
コマンドラインインターフェイスを使用して AppQoE ポリシーを負荷分散、キャッシュリダイレクト、コンテンツスイッチング仮想サーバーにバインドするには
コマンドプロンプトで入力します。
bind cs vserver cs1 -policyName <appqoe_policy_name> -priority <priority>
bind lb vserver <name> - policyName <appqoe_policy_name> -priority <priority>
bind cr vserver <name> -policyName <appqoe_policy_name> -priority <priority>
例
add ns tcpProfile tcp1 -WS ENABLED -SACK ENABLED -WSVal 8 -nagle ENABLED -maxBurst 30 -initialCwnd 16 -oooQSize 15000 -minRTO 500 -slowStartIncr 1 -bufferSize 4194304 -flavor BIC -KA ENABLED -sendBuffsize 4194304 -rstWindowAttenuate ENABLED -spoofSynDrop ENABLED -dsack enabled -frto ENABLED -maxcwnd 4000000 -fack ENABLED -tcpmode ENDPOINT
add appqoe action appact1 -priority HIGH -tcpprofile tcp1
add appqoe policy apppol1 -rule "client.ip.src.eq(10.102.71.31)" -action appact1
bind lb vserver lb2 -policyName apppol1 -priority 1 -gotoPriorityExpression END -type REQUEST
bind cs vserver cs1 -policyName apppol1 -priority 1 -gotoPriorityExpression END -type REQUEST
<!--NeedCopy-->
GUI を使用したポリシーベースの TCP プロファイルの設定
GUI を使用して AppQoE を有効にするには
- [ システム ] > [ 設定]に移動します。
- 詳細ペインで、[ 高度な機能の構成]をクリックします。
- [高度な機能の構成] ダイアログボックスで、[AppQoE] チェックボックスをオンにします。
- [OK] をクリックします。
GUI を使用して AppQoE ポリシーを構成するには
- 「アプリ エキスパート 」>「 AppQoE」>「アクション」 に移動します。
- 詳細ウィンドウで、次のいずれかの操作を行います。
- 新しいアクションを作成するには、[ 追加]をクリックします。
- 既存のアクションを変更するには、アクションを選択し、[編集] をクリックします。
- 「 AppQoE アクションの作成」 または「 AppQoE アクションの設定 」画面で、パラメーターの値を入力または選択します。ダイアログ・ボックスの内容は、「AppQoEアクションを構成するためのパラメータ」で説明されているパラメータに対応しています(アスタリスクは必須パラメータを示します)。
- 名前—name
- アクション・タイプ-respondWith
- プライオリティ—priority
- ポリシーキューの深さ:polqDepth
- キューの深さ:priqDepth
- DOS アクション:dosAction
- [作成] をクリックします。
GUI を使用して AppQoE ポリシーをバインドするには
- [トラフィック管理] > [負荷分散] > [仮想サーバー] に移動し、サーバーを選択して [編集] をクリックします。
- [ポリシー] セクションで、[+] をクリックして AppQoE ポリシーをバインドします。
- [ポリシー] スライダで、次の操作を行います。
- ドロップダウンリストから [AppQoE] としてポリシータイプを選択します。
- ドロップダウンリストからトラフィックタイプを選択します。
- [ポリシーのバインド] セクションで、次の操作を行います。
- [新規] をクリックして、新しい AppQoE ポリシーを作成します。
- [既存のポリシー] をクリックして、ドロップダウンリストから AppQoE ポリシーを選択します。
- バインドの優先順位を設定し、[仮想サーバにポリシーに バインド] をクリックします。
- [完了] をクリックします。
SACK ブロック生成
1 つのデータウィンドウで複数のパケットが失われると、TCP のパフォーマンスが低下します。このようなシナリオでは、選択的確認応答(SACK)メカニズムと選択的繰り返し再送信ポリシーを組み合わせると、この制限が克服されます。着信順不同パケットごとに、SACK ブロックを生成する必要があります。
順序外パケットが再構成キューブロックに収まる場合は、ブロックにパケット情報を挿入し、完全なブロック情報を SACK-0 に設定します。アウトオブオーダーパケットが再構成ブロックに収まらない場合は、パケットをSACK-0として送信し、前のSACKブロックを繰り返します。順序外パケットが重複していて、パケット情報が SACK-0 に設定されている場合は、ブロックを D-SACK します。
注: パケットは、受信確認されたパケット、またはすでに受信された順序どおりのパケットである場合、D-SACK と見なされます。
クライアントのリネージング
Citrix ADCアプライアンスは、SACKベースのリカバリ中にクライアントの再接続を処理できます。
PCB上のエンドポイントをマーキングするためのメモリチェックは、使用可能な合計メモリを考慮していません
Citrix ADCアプライアンスでは、メモリ使用量のしきい値が、使用可能なメモリの合計を使用する代わりに 75% に設定されている場合、新しいTCP接続はTCP最適化をバイパスします。
SACKブロックが欠落しているため、不必要な再送信
非エンドポイントモードでは、DUPACKS を送信するときに、順序どおりのパケットが少ない場合に SACK ブロックが欠落すると、サーバからの追加の再送信がトリガーされます。
過負荷のために最適化をバイパスした接続の SNMP
過負荷が原因でTCP最適化をバイパスした接続数を追跡するために、Citrix ADCアプライアンスに次のSNMP IDが追加されました。
- 1.3.6.1.4.1.5951.4.1.1.46.131 (tcpOptimizationEnabled). TCP 最適化で有効にされた接続の合計数を追跡します。
- 1.3.6.1.4.1.5951.4.1.1.46.132 (tcpOptimizationBypassed). 接続の総数を追跡するには、TCP 最適化をバイパスします。
動的受信バッファ
TCPパフォーマンスを最大化するために、Citrix ADCアプライアンスはTCP受信バッファサイズを動的に調整できるようになりました。
テールロスプローブアルゴリズム
再送信タイムアウト(RTO)は、トランザクションの末尾でのセグメントの損失です。RTO は、特に短い Web トランザクションで、アプリケーションの待ち時間の問題がある場合に発生します。トランザクションの終了時にセグメントの損失を回復するために、TCPはテール損失プローブ(TLP)アルゴリズムを使用します。 TLP は送信者専用アルゴリズムです。TCP接続が一定期間確認応答を受信しない場合、TLPは最後の確認応答されていないパケットを送信します(損失プローブ)。元の送信でテール損失が発生した場合、損失プローブからの確認応答によって SACK または FACK 回復がトリガーされます。
テールロスプローブの設定
Tail Loss Probe(TLP)アルゴリズムを使用するには、TCP プロファイルで TLP オプションを有効にし、パラメータにそのプロファイルのセキュリティ要件に適合する値を設定する必要があります。
コマンドラインを使用して TLP を有効にする
コマンドプロンプトで、次のコマンドのいずれかを入力して、新規または既存のプロファイルで TLP を有効または無効にします。
注:
デフォルト値は DISABLED です。
add tcpprofile <TCP Profile Name> - taillossprobe ENABLED | DISABLED
set tcpprofile <TCP Profile Name> - taillossprobe ENABLED | DISABLED
unset tcpprofile <TCP Profile Name> - taillossprobe
例:
add tcpprofile nstcp_default_profile – taillossprobe
set tcpprofile nstcp_default_profile –taillossprobe Enabled
unset tcpprofile nstcp_default_profile –taillossprobe
Citrix ADC GUIを使用してテールロスプローブアルゴリズムを構成します
- [設定] > [システム] > [プロファイル] に移動し、[編集] をクリックして TCP プロファイルを変更します。
- [ TCPプロファイル の構成]ページで、[ テールロスプローブ] チェックボックスをオンにします。
- [ OK]、[ 完了]の順にクリックします。
共有
共有
この記事の概要
- 輻輳制御方針
- 比例レート回復(PRR)アルゴリズム
- TCPファスト・オープン(TFO)
- TCP HyStart
- TCP バーストレート制御
- ラップされたシーケンス(PAWS)アルゴリズムに対する保護
- コマンドラインインターフェイスを使用して TCP タイムスタンプを有効または無効にするには
- 最適化テクニック
- ポリシーベースの TCP プロファイルの選択
- コマンドラインインターフェイスを使用して AppQoE を有効にするには
- SACK ブロック生成
- クライアントのリネージング
- PCB上のエンドポイントをマーキングするためのメモリチェックは、使用可能な合計メモリを考慮していません
- SACKブロックが欠落しているため、不必要な再送信
- 過負荷のために最適化をバイパスした接続の SNMP
- 動的受信バッファ
- テールロスプローブアルゴリズム
This Preview product documentation is Citrix Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Citrix Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Citrix product purchase decisions.
If you do not agree, select Do Not Agree to exit.