Citrix ADC

用例2 -非巨型到巨型的设置

考虑一个常规到大型设置的示例,其中负载平衡虚拟服务器LBVS-1(在Citrix ADC设备NS1上配置)用于负载平衡服务器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的SNIP地址与S1或S2之间的超大帧连接,在自定义TCP配置文件中设置NS1上的MSS,并绑定NS1上代表S1和S2的业务(SVC-S1和SVC-S1)。
  • 为了保证CL1与NS1的虚拟服务器LBVS-1之间的连接只支持常规帧,使用缺省的TCP配置文件nstcp_default_profile,缺省绑定LBVS-1, MSS设置为缺省值1460。

巨型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
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 - server - jumbo (MSS: 8960)
SVC-S2 IP地址:198.51.100.20,协议:HTTP,端口:80,TCP配置文件:ns1 - server - 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. Client 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. Server 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. 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 设置接口 -mtu ,显示接口 设置int 10/1 -mtu 1500,设置int 10/2 -mtu 9000
创建vlan,并设置支持超大帧的vlan的MTU 添加vlan -mtu ,显示vlan 添加vlan 10 -mtu 1500添加vlan 20 -mtu 9000
接口绑定vlan 绑定vlan -ifnum ,显示vlan 绑定vlan 10 -ifnum 10/1绑定vlan 20 -ifnum 10/2
添加SNIP地址 add ns ip -type SNIP,显示ns ip add ns ip 198.51.100.18 255.255.255.0 -type SNIP
创建表示HTTP服务器的服务 添加服务 HTTP ,显示服务 添加业务SVC-S1 198.51.100.19 http 80,添加业务SVC-S2 198.51.100.20 http 80
创建HTTP负载平衡虚拟服务器,并将服务绑定到该服务器 添加lb vserver HTTP ,绑定lb vserver ,显示lb vserver 添加lb vserver LBVS-1 http 203.0.113.15 80,绑定lb vserver LBVS-1 SVC-S1,绑定lb vserver LBVS-1 SVC-S2
创建一个自定义TCP配置文件,并设置其MSS以支持巨型帧 添加tcpProfile -mss ,显示tcpProfile 添加tcpprofile NS1-SERVERS-JUMBO -mss 8960
将自定义TCP配置文件绑定到所需的服务 设置服务 -tcpProfileName ,显示服务 设置服务SVC-S1 -tcpProfileName NS1-SERVERS-JUMBO,设置服务SVC-S2 -tcpProfileName NS1-SERVERS-JUMBO
保存配置 保存nsconfig,显示nsconfig
用例2 -非巨型到巨型的设置