用例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。
下表列出了本示例中使用的设置。
实体 | 名字 | 细节 |
---|---|---|
客户端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发出请求的流量流:
Client CL1创建一个200字节的HTTP请求,发送给NS1的虚拟服务器LBVS-1。
CL1打开到NS1的LBVS-1的连接。CL1和NS1在建立连接时交换各自的TCP MSS值。
由于NS1的MSS大于HTTP请求,CL1将请求数据以单个IP报文的形式发送给NS1。
请求报文大小= [IP头+ TCP头+ TCP请求]= [20 + 20 + 200]= 240
NS1在接口10/1处接收到请求报文,并对报文中的HTTP请求数据进行处理。
LBVS-1的负载均衡算法选择服务器S1, NS1在其中一个SNIP地址与S1之间打开连接。NS1和CL1在建立连接时交换各自的TCP MSS值。
由于S1的MSS大于HTTP请求,所以NS1将请求数据以单个IP报文的形式发送给S1。
请求报文大小= [IP头+ TCP头+ [TCP请求]= [20 + 20 + 200]= 240
下面是本例中S1响应CL1的流量流:
- Server S1创建一个18000字节的HTTP响应,发送给NS1的SNIP地址。
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
- NS1在接口10/2处收到响应报文。
- NS1将这些IP报文中所有的TCP报文段组装成18000字节的HTTP响应数据。NS1处理这个响应。
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 | 设置接口 |
设置int 10/1 -mtu 1500,设置int 10/2 -mtu 9000 |
创建vlan,并设置支持超大帧的vlan的MTU | 添加vlan |
添加vlan 10 -mtu 1500添加vlan 20 -mtu 9000 |
接口绑定vlan | 绑定vlan |
绑定vlan 10 -ifnum 10/1绑定vlan 20 -ifnum 10/2 |
添加SNIP地址 | add ns ip |
add ns ip 198.51.100.18 255.255.255.0 -type SNIP |
创建表示HTTP服务器的服务 | 添加服务 |
添加业务SVC-S1 198.51.100.19 http 80,添加业务SVC-S2 198.51.100.20 http 80 |
创建HTTP负载平衡虚拟服务器,并将服务绑定到该服务器 | 添加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 |
添加tcpprofile NS1-SERVERS-JUMBO -mss 8960 |
将自定义TCP配置文件绑定到所需的服务 | 设置服务 |
设置服务SVC-S1 -tcpProfileName NS1-SERVERS-JUMBO,设置服务SVC-S2 -tcpProfileName NS1-SERVERS-JUMBO |
保存配置 | 保存nsconfig,显示nsconfig |