用例 2 — 非 Jumbo 到 Jumbo 设置

请考虑一个常规至巨型设置的示例,其中使用 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 之间的常规帧,MTU 对于接口 10/1 和 VLAN 10 都设置为默认值 1500

为了支持 NS1 和服务器之间的巨帧,MTU 设置为 9000 接口 10/2 和 VLAN 20。NS1 和服务器之间的服务器和所有其他网络设备也配置为支持巨帧。

由于 HTTP 流量基于 TCP,因此在每个终点相应地设置 MSS 以支持巨帧。

  • 为了支持 NS1 和 S1 或 S2 SNIP 地址之间的连接的巨帧,NS1 上的 MSS 在自定义 TCP 配置文件中相应设置,该配置文件绑定到表示 NS1 上 S1 和 S2 的服务(SVC-S1 和 SVC-S1)。
  • 对于仅支持常规帧的 CL1 和虚拟服务器 LBVS-1 之间的连接,使用默认情况下绑定到 LBVS-1 并将 MSS 设置为默认值 1460 的 TCP 配置文件 nstcp_default ult_profile 的默认 TCP 配置文件。

巨型 UC2

下表列出了此示例中使用的设置。

实体 名称 详细信息
客户端 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 地址:198.51.100.19,协议:HTTP,端口:80,TCP 配置文件:NS1-SERVERS-JUMBO (MSS: 8960)
  SVC-S2 IP 地址:198.51.100.20,协议:HTTP,端口:80,TCP 配置文件:NS1-SERVERS-JUMBO (MSS: 8960)
VLAN 10 上的虚拟服务器负载平衡 LBVS-1 IP 地址 = 203.0.113.15,协议:HTTP,端口:80,绑定服务:SVC-S1、SVC-S2,TCP 配置文件:nstcp_default_profile (MSS:1460)

以下是本示例中 CL1 对 S1 的请求的流量:

  1. 客户端 CL1 创建一个 200 字节的 HTTP 请求,以发送到虚拟服务器的 NS1 LBVS-1。

  2. CL1 打开一个连接到 NS1 的 LBVS-1。CL1 和 NS1 在建立连接时交换各自的 TCP MSS 值。

  3. 由于 NS1 的 MSS 大于 HTTP 请求,CL1 将单个 IP 数据包中的请求数据发送到 NS1。

    请求数据包的大小[IP 标头 + TCP 标头 + TCP 请求]=[20 + 20 + 200]= 240

  4. NS1 在接口 10/1 接收请求数据包,然后处理数据包中的 HTTP 请求数据。

  5. LBVS-1 的负载平衡算法选择服务器 S1,NS1 将在其 SNIP 地址之一与 S1 之间打开连接。NS1 和 CL1 在建立连接时交换各自的 TCP MSS 值。

  6. 由于 S1 的 MSS 大于 HTTP 请求,NS1 将单个 IP 数据包中的请求数据发送到 S1。

    请求数据包的大小[IP 标头 + TCP 标头 + [TCP 请求]=[20 + 20 + 200]= 240

以下是本示例中 S1 响应 CL1 的流量流量:

  1. 服务器 S1 创建一个 18000 字节的 HTTP 响应以发送到 NS1 的 SNIP 地址。
  2. S1 将响应数据分割成 NS1 MSS 的倍数,并将这些段以 IP 数据包发送到 NS1。这些 IP 数据包来自 S1 的 IP 地址,并指定到 NS1 的 SNIP 地址。

    • 前两个数据包的大小[IP 标头 + TCP 标头 +(TCP 段 = NS1 的 MSS 大小)]=[20 + 20 + 8960]= 9000
    • 最后一个数据包的大小= [IP 标头 + TCP 标头 +(剩余的 TCP 段)] = [20 + 20 + 2080] = 2120
  3. NS1 在接口 10/2 接收响应数据包。
  4. 从这些 IP 数据包中,NS1 汇编所有 TCP 段,以形成 18000 字节的 HTTP 响应数据。NS1 处理此响应。
  5. NS1 将响应数据分割成 CL1 MSS 的倍数,并将这些段以 IP 数据包(从接口 10/1 到 CL1)发送到 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> 添加无线网络 10-无线网络 1500 添加无线网络 20-无线网络 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 配置文件绑定到所需服务 <name>设置服务 <Name>-TCPProfile 文件名 <string>,显示服务 set service SVC-S1 -tcpProfileName NS1-SERVERS-JUMBO, set service SVC-S2 -tcpProfileName NS1-SERVERS-JUMBO
保存配置 save ns config, show ns config  

用例 2 — 非 Jumbo 到 Jumbo 设置