動的ラウンドトリップ時間 (RTT) は、クライアントのローカル DNS サーバーとデータリソース間のネットワークにおける時間または遅延の尺度です。動的RTTを測定するために、Citrix ADCアプライアンスはクライアントのローカルDNSサーバーを検査し、RTTメトリック情報を収集します。次に、アプライアンスはこのメトリックを使用して、ロードバランシングの決定を行います。グローバルサーバロードバランシングは、ネットワークのリアルタイムのステータスを監視し、RTT 値が最も小さいデータセンターにクライアント要求を動的に送信します。
ドメインに対するクライアントのDNS要求が、そのドメインの権限のあるDNSとして構成されたCitrix ADCアプライアンスに届くと、アプライアンスはRTT値を使用して最適なパフォーマンスのサイトのIPアドレスを選択し、DNS要求に対する応答として送信します。
Citrix ADCアプライアンスは、ICMPエコー要求または応答(PING)、UDP、TCPなどのさまざまなメカニズムを使用して、ローカルDNSサーバーと参加サイト間の接続のRTTメトリックを収集します。アプライアンスは、最初に ping プローブを送信して RTT を決定します。ping プローブが失敗した場合は、DNS UDP プローブが使用されます。このプローブも失敗した場合、アプライアンスは DNS TCP プローブを使用します。
これらのメカニズムは、Citrix ADCアプライアンスでは負荷分散モニターとして表され、「ldns」プレフィックスを使用しているため、簡単に識別できます。3 つのモニタは、デフォルトの順序で、次のとおりです。
-
ldns-ping
-
ldns-dns
-
ldns-tcp
これらのモニターはアプライアンスに組み込まれており、安全なデフォルトに設定されています。ただし、アプライアンスの他のモニターと同様にカスタマイズできます。
デフォルトの順序は、GSLBパラメーターとして明示的に設定することで変更できます。たとえば、DNS UDP クエリに続いて PING、TCP の順に順序を設定するには、次のコマンドを入力します。
set gslb parameter -ldnsprobeOrder DNS PING TCP
カスタマイズされていない限り、Citrix ADCアプライアンスはポート53でUDPおよびTCPプローブを実行しますが、通常の負荷分散モニターとは異なり、プローブが有効なRTT情報を提供するために成功する必要はありません。ICMP ポート使用不可メッセージ、TCP リセット、および DNS エラー応答(通常は障害を構成する)はすべて、RTT 値の計算に許容されます。
RTT データがコンパイルされると、アプライアンスは独自のメトリック交換プロトコル(MEP)を使用して、参加サイト間で RTT 値を交換します。RTT メトリックを計算した後、アプライアンスは RTT 値をソートして、最良の(最小の)RTT メトリックでデータセンターを特定します。
RTT情報が利用できない場合(クライアントのローカルDNSサーバーが初めてサイトにアクセスする場合など)、Citrix ADCアプライアンスはラウンドロビン方式を使用してサイトを選択し、クライアントをサイトに誘導します。
動的方式を設定するには、サイトの GSLB 仮想サーバーを動的 RTT 用に構成します。また、ローカル DNS サーバーをプローブする間隔をデフォルト以外の値に設定することもできます。