Citrix ADC

ユースケース2 — ジャンボ以外のセットアップからジャンボへのセットアップ

Citrix ADCアプライアンスNS1で構成された負荷分散仮想サーバーLBVS-1を使用して、サーバーS1とS2間でトラフィックの負荷分散を行う定期的なジャンボセットアップの例を考えてみましょう。クライアントCL1とNS1の間の接続は通常のフレームをサポートし、NS1とサーバ間の接続はジャンボ・フレームをサポートします。

NS1 のインターフェイス 10/1 は、クライアント CL1 との間でトラフィックを受信または送信します。NS1のインタフェース10/2は、サーバS1またはS2との間でトラフィックを受信または送信します。

NS1 のインターフェイス 10/1 および 10/2 は、それぞれ VLAN 10 および VLAN 20 の一部です。CL1 と NS1 の間の通常のフレームだけをサポートする場合、インターフェイス 10/1 と VLAN 10 の両方で MTU はデフォルト値の 1500 に設定されます。

NS1とサーバ間のジャンボ・フレームをサポートするために、インターフェイス10/2とVLAN 20のMTUは9000に設定されています。NS1とサーバ間のサーバおよび他のすべてのネットワーク・デバイスも、ジャンボ・フレームをサポートするように構成されます。

HTTP トラフィックは TCP に基づいているため、MSS はジャンボフレームをサポートするために各エンドポイントでそれに応じて設定されます。

  • NS1 と S1 または S2 の SNIP アドレス間の接続でジャンボフレームをサポートするために、NS1 の MSS は NS1 上の S1 および S2 を表すサービス(SVC-S1 および SVC-S1)にバインドされるカスタム TCP プロファイルでそれに応じて設定されます。
  • CL1 と NS1 の仮想サーバー LBVS-1 間の接続で通常のフレームのみをサポートするには、デフォルトの TCP プロファイル nstcp_default_profile が使用されます。このプロファイルはデフォルトで LBVS-1 にバインドされ、MSS はデフォルト値の 1460 に設定されます。

jumbo uc2

次の表に、この例で使用される設定を示します。

エンティティ Name 詳細
クライアント CL1 の IP アドレス   192.0.2.10
サーバの IP アドレス S1 198.51.100.19
  S2 198.51.100.20
NS1上のSNIPアドレス   198.51.100.18
NS1 上のインターフェイスおよび VLAN に対して指定された MTU 10/1 1500
  10/2 9000
  VLAN 10 1500
  VLAN 20 9000
デフォルトの TCP プロファイル nstcp_default_profile MSS:1460
カスタム TCP プロファイル NS1-SERVERS-JUMBO MSS: 8960
サーバを表すNS1上のサービス SVC-S1 IP address: 198.51.100.19, Protocol: HTTP, Port: 80, TCP profile: NS1-SERVERS-JUMBO (MSS: 8960)
  SVC-S2 IP address: 198.51.100.20, Protocol: HTTP, Port: 80, TCP profile: NS1-SERVERS-JUMBO (MSS: 8960)
VLAN 10 上の仮想サーバのロードバランシング LBVS-1 IP address = 203.0.113.15, Protocol: HTTP, Port:80, Bound services: SVC-S1, SVC-S2, TCP Profile: nstcp_default_profile (MSS:1460)

次に、この例では、CL1 から S1 への要求のトラフィックフローを示します。

  1. クライアント CL1 は、NS1 の仮想サーバー LBVS-1 に送信する 200 バイトの HTTP 要求を作成します。

  2. CL1 は、NS1 の LBVS-1 への接続を開きます。CL1 と NS1 は、接続を確立しながら、それぞれの TCP MSS 値を交換します。

  3. NS1 の MSS は HTTP 要求よりも大きいので、CL1 は 1 つの IP パケットで要求データを NS1 に送信します。

    要求パケットのサイズ = [IP ヘッダー + TCP ヘッダー + TCP 要求] = [20 + 20 + 200] = 240

  4. NS1 は、インターフェイス 10/1 で要求パケットを受信し、パケット内の HTTP 要求データを処理します。

  5. LBVS-1のロード・バランシング・アルゴリズムはサーバS1を選択し、NS1はSNIPアドレスの1つとS1間の接続を開きます。NS1 と CL1 は、接続の確立中に、それぞれの TCP MSS 値を交換します。

  6. S1 の MSS は HTTP 要求よりも大きいので、NS1 は 1 つの IP パケットで要求データを S1 に送信します。

    要求パケットのサイズ = [IP ヘッダー + TCP ヘッダー + [TCP 要求] = [20 + 20 + 200] = 240

次に、この例の CL1 に対する S1 の応答のトラフィックフローを示します。

  1. サーバ S1 は、NS1 の SNIP アドレスに送信する 18,000 バイトの HTTP 応答を作成します。
  2. S1は、応答データをNS1のMSSの倍数に分割し、これらのセグメントをIPパケットでNS1に送信します。これらの IP パケットは、S1 の IP アドレスから送信され、NS1 の SNIP アドレスを宛先とします。

    • 最初の 2 つのパケットのサイズ = [IP ヘッダー + TCP ヘッダー + (TCP セグメント=NS1 の MSS サイズ)] = [20 + 20 + 8960] = 9000
    • 最後のパケットのサイズ = [IP ヘッダー + TCP ヘッダー +(残りの TCP セグメント)] = [20 + 20 + 2080] = 2120
  3. NS1 は、インターフェイス 10/2 で応答パケットを受信します。
  4. NS1 は、これらの IP パケットから、すべての TCP セグメントをアセンブルして、18000 バイトの HTTP 応答データを形成します。NS1はこの応答を処理します。
  5. NS1は、応答データをCL1のMSSの倍数に分割し、これらのセグメントをIPパケットでインタフェース10/1からCL1に送信します。これらの IP パケットは LBVS-1 の IP アドレスから発信され、CL1 の IP アドレスを宛先とします。

    • 最後のパケット以外のすべてのパケットのサイズ = [IP ヘッダー + TCP ヘッダー + (TCP ペイロード=CL1 の MSS サイズ)] = [20 + 20 + 1460] = 1500
    • 最後のパケットのサイズ [IP ヘッダー + TCP ヘッダー +(残りの TCP セグメント)] = [20 + 20 + 480] = 520

構成タスク

次の表に、Citrix ADCアプライアンスで必要な構成を作成するタスク、Citrix ADCコマンド、および例を示します。

タスク CLI の構文
ジャンボフレームをサポートするための目的のインターフェイスの MTU を設定します。 set interface <id> -mtu <positive_integer>, show interface <id> set int 10/1 -mtu 1500 set int 10/2 -mtu 9000
ジャンボフレームをサポートするために VLAN を作成し、目的の VLAN の MTU を設定します。 add vlan <id> -mtu <positive_integer>, show vlan <id> add vlan 10 -mtu 1500 add vlan 20 -mtu 9000
インターフェイスを VLAN にバインドする bind vlan <id> -ifnum <interface_name>, show vlan <id> bind vlan 10 -ifnum 10/1 bind vlan 20 -ifnum 10/2
SNIP アドレスを追加する add ns ip <IPAddress> <netmask> -type SNIP, show ns ip add ns ip 198.51.100.18 255.255.255.0 -type SNIP
HTTP サーバーを表すサービスの作成 add service <serviceName> <ip> HTTP <port>, show service <name> add service SVC-S1 198.51.100.19 http 80, add service SVC-S2 198.51.100.20 http 80
HTTP負荷分散仮想サーバーを作成し、サービスをそれにバインドする add lb vserver <name> HTTP <ip> <port>, bind lb vserver <vserverName> <serviceName>, show lb vserver <name> add lb vserver LBVS-1 http 203.0.113.15 80, bind lb vserver LBVS-1 SVC-S1, bind lb vserver LBVS-1 SVC-S2
カスタム TCP プロファイルを作成し、ジャンボフレームをサポートするための MSS を設定します。 add tcpProfile <name> -mss <positive_integer>, show tcpProfile <name> add tcpprofile NS1-SERVERS-JUMBO -mss 8960
カスタム TCP プロファイルを目的のサービスにバインドする set service <Name> -tcpProfileName <string>, show service <name> set service SVC-S1 -tcpProfileName NS1-SERVERS-JUMBO, set service SVC-S2 -tcpProfileName NS1-SERVERS-JUMBO
構成を保存します save ns config, show ns config  
ユースケース2 — ジャンボ以外のセットアップからジャンボへのセットアップ