这篇文章已经过机器翻译.放弃
用例 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 之间的常规帧,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)。
- 对于 NS1 的仅支持常规帧的 CL1 和虚拟服务器 LBVS-1 之间的连接,使用默认情况下绑定到 LBVS-1 并将 MSS 设置为默认值 1460 的 TCP 配置文件 nstcp_default ult_profile 的默认 TCP 配置文件。
下表列出了此示例中使用的设置。
实体 | 名称 | 详细信息 |
---|---|---|
客户端 CL1 的 IP 地址 | 192.0.2.10 | |
服务器的 IP 地址 | S1 | 198.51.100.19 |
S2 | ||
NS1 上的 SNIP 地址 | 198.51.100.18 | |
为 NS1 上的接口和 VLAN 指定的 MTU | 10/1 | 1500 |
10/2 | ||
VLAN 10 | ||
VLAN 20 | ||
默认 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 | ||
VLAN 10 上的虚拟服务器负载平衡 | LBVS-1 | IP 地址 = 203.0.113.15,协议:HTTP,端口:80,绑定服务:SVC-S1、SVC-S2,TCP 配置文件:nstcp_default_profile (MSS:1460) |
以下是本示例中 CL1 对 S1 的请求的流量:
-
客户端 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 的流量流量:
- 服务器 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 接收响应数据包。
- 从这些 IP 数据包中,NS1 汇编所有 TCP 段,以形成 18000 字节的 HTTP 响应数据。NS1 处理此响应。
-
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 |
set int 10/1 -mtu 1500 set int 10/2 -mtu 9000 |
创建 VLAN 并设置所需 VLAN 的 MTU 以支持巨帧 | add vlan |
添加无线网络 10-无线网络 1500 添加无线网络 20-无线网络 9000 |
将接口绑定到 VLAN | bind vlan |
bind vlan 10 -ifnum 10/1 bind vlan 20 -ifnum 10/2 |
添加 SNIP 地址 | add ns ip |
add ns ip 198.51.100.18 255.255.255.0 -type SNIP |
创建代表 HTTP 服务器的服务 | add service |
add service SVC-S1 198.51.100.19 http 80, add service SVC-S2 198.51.100.20 http 80 |
创建 HTTP 负载平衡虚拟服务器并将服务绑定到它 | add lb vserver |
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 |
add tcpprofile NS1-SERVERS-JUMBO -mss 8960 |
将自定义 TCP 配置文件绑定到所需服务 | set service |
set service SVC-S1 -tcpProfileName NS1-SERVERS-JUMBO, set service SVC-S2 -tcpProfileName NS1-SERVERS-JUMBO |
保存配置 | save ns config, show ns config |