アダプティブトランスポート

はじめに

アダプティブトランスポートは、Citrix Virtual Apps and Desktopsのデータ転送メカニズムです。高速で拡張性が高く、アプリケーションの対話機能が向上し、厳しい長距離のWANとインターネット接続でのインタラクティブ性を高めます。アダプティブトランスポートでは、サーバーの高スケーラビリティと帯域幅の使用効率が維持されます。アダプティブトランスポートを使用すると、ICA仮想チャネルはネットワーク状況の変化に自動的に対応します。Enlightened Data Transport(EDT)と呼ばれるCitrixプロトコルとTCPとの間で、基になるプロトコルをインテリジェントに切り替えて、最適なパフォーマンスを実現します。これにより、Thinwireディスプレイリモート、ファイル転送(クライアントドライブマッピング)、印刷、マルチメディアリダイレクトなど、すべてのICA仮想チャネルのデータスループットが向上します。同じ設定をLANとWANの両方の条件に適用できます。

ネットワークスタック

[優先] に設定すると、EDT経由のデータ転送がプライマリとして使用され、TCPにフォールバックします。Windows向けCitrix Workspaceアプリバージョン1808以降またはCitrix Receiver for Windowsバージョン4.10以降、およびセッション画面の保持機能を有効にすると、初期接続、セッション信頼性再接続、および自動クライアント再接続中にEDTとTCPが同時に試行されます。そうすることで、EDT設定が [優先] であるにもかかわらず、必要な基礎となるUDPトランスポートが利用できなくなり、TCPを使用する必要がある場合に、接続時間が短縮されます。デフォルトでは、TCPにフォールバックした後、アダプティブトランスポートは5分ごとにEDTを検索し続けます。

重要

EDTとTCPには、以下が必要です。

  • Windows向けCitrix Workspaceアプリバージョン1808以降およびセッション画面の保持機能。
  • Citrix Receiver for Windowsバージョン4.10以降およびセッション画面の保持機能。
  • Mac向けCitrix Workspaceアプリバージョン1808以降およびセッション画面の保持機能。
  • Citrix Receiver for Macバージョン12.8以降およびセッション画面の保持機能。

デフォルトでは、アダプティブトランスポートが有効になり([優先])、可能な場合はEDTが使用されて、TCPにフォールバックします。

テスト目的で、[診断モード]に設定できます。このモードでは、EDTのみが使用され、TCPへのフォールバックは無効になります。

アダプティブトランスポートの画像

Citrix SD-WAN WAN最適化との互換性

Citrix SD-WAN WAN最適化(WANOP)は、URLベースのビデオキャッシュを含むセッションを越えたトークン化圧縮(データ重複排除)を提供します。WANOPにより大幅に帯域幅を削減できます。オフィスで2人以上のユーザーが同じクライアントが取得したビデオを見たり、同じファイルまたはドキュメントの大部分を転送または印刷する場合に、削減できます。さらに、支社にあるアプライアンス上でICAデータ削減および印刷ジョブ圧縮プロセスを実行することにより、VDAサーバーのCPU負荷を軽減し、Citrix Virtual Apps and Desktopsサーバーでより高いスケーラビリティを実現します。

重要

TCPがデータ転送プロトコルとして使用される場合、Citrix WANOPは前の段落で説明した最適化をサポートします。ネットワーク接続でCitrix WANOPを使用する場合は、TCPを選択してEDTを無効にします。WANOPは、TCPフロー制御と輻輳制御を使用することにより、低速で中程度のパケット損失がある状況でEDTと同等の対話機能を提供できます。

要件および考慮事項

  • Citrix Virtual Apps and Desktops:バージョン7 1808以降
  • XenAppおよびXenDesktop:バージョン7.13以降。
  • デスクトップOS用VDA:バージョン7.13以降。
  • サーバーOS用VDA:バージョン7.13以降。
  • StoreFront:バージョン3.9以降
  • Windows向けCitrix Workspaceアプリ:バージョン1808以降
  • Citrix Receiver for Windows:バージョン4.7以降(EDTとTCPでは同時にバージョン4.10以降およびセッション画面の保持機能が必要です)
  • Mac向けCitrix Workspaceアプリ:バージョン1808以降
  • Citrix Receiver for Mac:バージョン12.5以降(EDTとTCPでは同時にバージョン12.8以降およびセッション画面の保持機能が必要です)
  • iOS向けCitrix Workspaceアプリ:バージョン1808以降
  • Citrix Receiver for iOS:バージョン7.2以降
  • Linux向けCitrix Workspaceアプリ:バージョン1808以降
  • Citrix Receiver for Linux:Direct VDA接続のみの場合はバージョン13.6以降。NetScaler Gatewayを使用するDTLSサポート(またはDirect VDA接続用のDTLS)の場合は13.7以降。
  • Android向けCitrix Workspaceアプリ:バージョン1808以降
  • Citrix Receiver for Android:Direct VDA接続のみの場合はバージョン3.12.3以降
  • IPv4 VDAのみIPv6およびIPv6とIPv4の混在構成はサポートされません。
  • Citrix Gatewayバージョン1808以降
  • NetScaler:最小バージョン11.1ビルド51.21、12.0ビルド35.6。DTLSの断片化に関する重要な修正が含まれているため、少なくともバージョン11.1ビルド55.10または12.0ビルド53.6をお勧めします。NetScaler構成について詳しくは、こちらの記事を参照してください。

構成

  1. Citrix Virtual Apps and Desktopsをインストールします。
  2. StoreFrontをインストールします。Citrix Gatewayを使用している場合は、セッション画面の保持機能が有効であることを確認します。[Studio]>[StoreFront]>[NetScaler Gatewayの管理] で使用中のNetScalerを選択し、[Secure Ticket Authority]>[セッション画面の保持を有効にする] で確認します。
  3. VDA(for Desktop OSまたはfor Server OS)をインストールします。
  4. Windows向けCitrix Workspaceアプリ、Mac向けCitrix Workspaceアプリ、iOS向けCitrix Workspaceアプリ、Android向けCitrix Workspaceアプリ、またはLinux向けCitrix Workspaceアプリをインストールします。
  5. Citrix Gatewayを使用している場合は、Studioポリシーでセッション画面の保持機能を有効にします。また、フロントエンドVPN仮想サーバーでDTLSを有効にします。
  6. Studioで、ポリシー設定「HDXアダプティブトランスポート」を有効にします(デフォルトでは有効)。
    • ポリシー設定を有効にするには、値を[優先]に設定し、[OK] をクリックします。
      • 優先する:可能な場合、Adaptive transport over EDTが使用され、TCPにフォールバックします。
      • 診断モード。EDTが強制的にオンになり、TCPへのフォールバックは無効になります。この設定はトラブルシューティングでのみお勧めします。
      • Off。TCPが強制的にオンになり、EDTが無効になります。
  7. [次へ]をクリックし、ウィザードの手順を完了します。
  8. ユーザーがICAセッションに再接続するときに新しいポリシーが有効になります。任意で gpupdate /force を実行してポリシー設定をサーバーにプルできますが、ユーザーはやはりICAセッションを再接続する必要があります。
  9. サポートされているCitrix Workspaceアプリからセッションを起動し、アダプティブトランスポートを使用して接続を確立します。
  10. 外部アクセスをセキュリティで保護するために、Citrix Gateway上でDTLS暗号化を構成します。詳しくは、こちらの記事を参照してください。

ポリシー設定の有効化を確認するには:

  • netstat -a を使用して、ICAユーザーデータグラムプロトコル(UDP)サービスがVDA上で有効であることを確認します。
  • Director、またはVDAで利用できる CtxSession.exe コマンドラインユーティリティを使用して、仮想チャネルがEDT経由で実行されていることを確認します。

Directorの使用例:

Directorの [セッション詳細]>[接続の種類] に、ポリシー設定が表示されます。[接続の種類]で [HDX] を探します。[プロトコル]が [UDP] の場合、EDTはこのセッションでアクティブです。[プロトコル]が [TCP] の場合、セッションはフォールバックしているか、デフォルトのモードです。[接続の種類]が [RDP] の場合、ICAは使用されておらず、[プロトコル]は [なし] です。詳しくは、「セッションの監視」を参照してください。

Directorのプロトコルの画像

CtxSession.exeの例:

この例は、UDP経由のEDTがアクティブなセッションを示しています。コマンドラインで「CtxSession.exe」と入力します。

C:\Program Files (x86)\Citrix\System32>CtxSession

セッション2のトランスポートプロトコル: UDP -> CGP -> ICA

詳細な統計情報を参照するには、-vスイッチを使用します。

>CtxSession -v

EDT接続のトラブルシューティング

要件および考慮事項

  • サーバーOS VDA 7.13
  • デスクトップOS VDA 7.13
  • Receiver for Windows 4.7(4.6は試験段階)
  • Receiver for Linux:
    • 13.6(直接接続)
    • 13.7(DTLS対応)
  • Receiver for Mac 12.5
  • Receiver for iOS 7.2
  • Receiver for Android:
    • 3.12.3(直接接続)
    • 3.13(DTLS対応)
  • StoreFront 3.9
  • NSGリリース11.1~51.21/12.0.53.6以降

並行接続

Receiver for Windows 4.10、Receiver for Mac 12.8、Receiver for iOS 7.5には、EDT接続とTCP接続を並行して試行できるコードが含まれています。UDPを優先するため、EDTの方が500ミリ秒早く開始されます。EDTに対応したVDAではすべて、並行接続もサポートされています。

EDT接続のトラブルシューティングについては、次の手順を参照してください:

  1. 製品およびコンポーネントの最低バージョン要件を確認します。「要件および考慮事項」を参照してください。
  2. Studioで、[HDXアダプティブトランスポート] ポリシーが [未構成] または [優先] に設定されているか確認します。

    注:

    XenAppおよびXenDesktop 7.16では、HDXアダプティブトランスポートがデフォルトで[優先]に設定されるため、Studioポリシーの構成に関する明示的な要件はありません。

  3. オプションのReceiver GPO管理用テンプレートが使用されているか確認します。このテンプレートを使用している場合は、[Receiverのトランスポートプロトコル][未構成] または [優先] に設定されていることを確認します。Receiver for Windowsg側の構成はオプションです。
  4. VDAでUDPソケットがリスンしていることを確認します。VDAでコマンドプロンプトを開き、「netstat –a –p udp」と入力します。詳しくは、「HDX Enlightened Data Transportプロトコルの確認方法」を参照してください。
  5. NetScaler Gatewayをバイパスする:EDTをテストする最善の方法は、NetScaler Gatewayをバイパスして、内部ネットワークから直接StoreFrontでアプリを起動することです。VDAのコマンドプロンプトで「ctxsession」を実行して、セッションでUDPが使用されていることを確認します。UDPが使用されていれば、VDAは外部からのEDT接続にも対応できます。
  6. NetScaler Gatewayを介してセッションを起動しますが、その前にまずICAファイルを調べます。このファイルに、「HDXoverUDP = Preferred」というエントリがあることを確認します。この値がOffに設定されている場合は、StudioポリシーでHDXアダプティブトランスポートが [優先] に設定されていないか、またはグループポリシーの更新がまだVDAに反映されていないことになります。また、「CGPSecurityTicket=On」というエントリがあることも確認します。CGPは、NetScaler Gatewayを利用してEDTを機能させるために必要になります。
  7. NetScaler GatewayのVDAコマンドプロンプトで「ctxsession」を実行して、セッションでUDPが使用されていることを確認します。この値がTCPに設定されている場合は、Citrix ReceiverとNetScaler Gatewayのフロントエンド仮想サーバーとの間に問題がある可能性があるため、接続はTCPにフォールバックされています。
  8. バージョン12.0.56.20より前のNetScaler Gatewayでは、フロントエンドVPN仮想サーバー上で、DTLSを手動で有効にする必要があります。
  9. Cisco AnyConnectのようなVPNや、ネットワーク内のMTUを変更するソリューションを使用している場合、EDT接続は失敗する可能性があります。VPNベンダーからもたらされるオーバーヘッドを計算し、StoreFrontのICAファイルテンプレートを変更して2つのエントリを追加します。また、Citrix Receiver側でも変更を行います。詳しくは、CTX231821を参照してください。

その他のトラブルシューティングツール

  • Wireshark:問題を特定できない場合には、NetScaler GatewayのWiresharkトレースを使用してトラブルシューティングを行います。Wireshark Dissectorでは、EDTがQUICと解釈されてしまうことがあります。WiresharkのDecode As機能を使用することで、QUICをDTLSとしてデコードできます。
  • NMAP:UDPパケットが仮想サーバーに到達できているかをテストするには、nmap -sU -p 443 <IP Address of your NSG>を使用します。動作中のトレースと動作していないトレースを比較して確認します: NMAPの画像

  • Director[Citrix Director]>[セッション詳細]>[プロトコル]>[UDP] での確認もお勧めします。
  • CDFトレース:問題を再現しながら、XenAppおよびXenDesktopコンポーネント上のEDTロジックを確認して、CDFトレースを生成することもお勧めします。 CDFトレースの画像