用例 3 — 同一组接口上的 Jumbo 流和非 Jumbo 流的共存

考虑一个示例,其中在 Citrix ADC 设备 NS1 上配置了负载平衡虚拟服务器 LBVS-1 和 LBVS-2。LBVS-1 用于跨服务器 S1 和 S2 负载平衡 HTTP 流量,LBVS-2 用于跨服务器 S3 和 S4 负载平衡流量。

CL1 在 VLAN 10 上,S1 和 S2 在 VLAN20 上,CL2 在 VLAN 30 上,而 S3 和 S4 在 VLAN 40 上。VLAN 10 和 VLAN 20 支持巨型帧,VLAN 30 和 VLAN 40 仅支持常规帧。

换句话说,CL1 和 NS1 之间的连接以及 NS1 和服务器 S1 或 S2 之间的连接支持巨帧。CL2 和 NS1 之间的连接以及 NS1 与服务器 S3 或 S4 之间的连接仅支持常规帧。

NS1 的接口 10/1 从客户端接收或发送流量。NS1 的接口 10/2 接收或发送流量从或到服务器。

接口 10/1 作为标记接口绑定到 VLAN 10 和 VLAN 30,接口 10/2 作为标记接口绑定到 VLAN 20 和 VLAN 40 作为标记接口。

对于支持大帧,MTU 设置为 9216,对于接口 10/1 和 10/2,MTU。

在 NS1 上,对于 VLAN 10 和 VLAN 20,MTU 设置为 9000,用于支持巨型帧,对于 VLAN 30 和 VLAN 40,MTU 设置为默认值 1500,仅支持常规帧。

对于 VLAN 标记数据包,Citrix ADC 接口上的有效 MTU 是接口的 MTU 或 VLAN 的 MTU(以较低者为准)。例如:

  • 接口 10/1 的 MTU 是 9216。无线局域网 10 的多边工程处是 9000 个。在接口 10/1 上,VLAN 10 标记数据包的 MTU 是 9000。
  • 接口 10/2 的 MTU 是 9216。无线局域网 20 的多边工程处是 9000 个。在接口 10/2 上,VLAN 20 标记数据包的 MTU 是 9000。
  • 接口 10/1 的 MTU 是 9216。无线局域网 30 的 MTU 是 1500 个。在接口 10/1 上,VLAN 30 标记数据包的 MTU 为 1500。
  • 接口 10/2 的 MTU 是 9216。无线局域网 40 的 MTU 是 1500 个。在接口 10/2 上,VLAN 40 标记数据包的 MTU 是 9000。

CL1、S1、S2 以及 CL1 和 S1 或 S2 之间的所有网络设备都配置为巨型帧。

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

  • 对于 CL1 和虚拟服务器 LBVS-1 之间的连接 NS1,NS1 上的 MSS 设置在 TCP 配置文件中,然后绑定到 LBVS-1。
  • 对于 NS1 和 S1 的 SNIP 地址之间的连接,NS1 上的 MSS 设置在 TCP 配置文件中,然后该配置文件绑定到表示 NS1 上 S1 的服务 (SVC-S1)。

巨型 UC3

下表列出了此示例中使用的设置:巨型帧用例 3 示例设置

以下是 CL1 的请求到 S1 的流量:

  1. 客户端 CL1 创建一个 20000 字节的 HTTP 请求,以发送到虚拟服务器的 NS1 LBVS-1。
  2. CL1 打开一个连接到 NS1 的 LBVS-1。CL1 和 NS1 在建立连接时交换其 TCP MSS 值。
  3. 由于 NS1 的 MSS 值小于 HTTP 请求,因此 CL1 将请求数据分割成 NS1 MSS 的倍数,并将这些段标记为 VLAN 10 的 IP 数据包发送到 NS1。
    • 前两个数据包的大小[IP 标头 + TCP 标头 +(TCP 分段 = NS1 MSS)]=[20 + 20 + 8960]= 9000
    • 最后一个数据包的大小= [IP 标头 + TCP 标头 +(剩余的 TCP 段)] = [20 + 20 + 2080] = 2120
  4. NS1 在接口 10/1 接收这些数据包。NS1 接受这些数据包,因为这些数据包的大小等于或小于 VLAN 10 标记数据包的接口 10/1 的有效 MTU (9000)。
  5. 从 IP 数据包,NS1 汇编所有 TCP 段以形成 20000 字节的 HTTP 请求。NS1 处理此请求。
  6. LBVS-1 的负载平衡算法选择服务器 S1,NS1 将在其 SNIP 地址之一与 S1 之间打开连接。NS1 和 CL1 在建立连接时交换各自的 TCP MSS 值。
  7. NS1 将请求数据分割成 S1 MSS 的倍数,并将这些段以标记为 VLAN 20 的 IP 数据包发送到 S1。
    • 前两个数据包的大小[IP 标头 + TCP 标头 +(TCP 负载 = S1 MSS)]=[20 + 20 + 8960]= 9000
    • 最后一个数据包的大小= [IP 标头 + TCP 标头 +(剩余的 TCP 段)] = [20 + 20 + 2080] = 2120

以下是 S1 响应 CL1 的流量流量:

  1. 服务器 S1 创建发送到 NS1 SNIP 地址的 30000 字节 HTTP 响应。
  2. S1 将响应数据分割成 NS1 MSS 的倍数,并将这些段以标记为 VLAN 20 的 IP 数据包发送到 NS1。这些 IP 数据包来自 S1 的 IP 地址,并指定到 NS1 的 SNIP 地址。
    • 前三个包的大小[IP 标头 + TCP 标头 +(TCP 段 = NS1 的 MSS 大小)]=[20 + 20 + 8960]= 9000
    • 最后一个数据包的大小IP Header + TCP Header + (remaining TCP segment)20 + 20 + 3120[IP 标头 + TCP 标头 +(剩余的 TCP 段)] = = 3160
  3. NS1 在接口 10/2 接收响应数据包。NS1 接受这些数据包,因为它们的大小等于或小于 VLAN 20 标记数据包的接口 10/2 的有效 MTU 值 (9000)。
  4. 从这些 IP 数据包,NS1 汇编所有 TCP 段以形成 30000 字节的 HTTP 响应。NS1 处理此响应。
  5. NS1 将响应数据分割成 CL1 MSS 的倍数,并以标记为 VLAN 10 的 IP 数据包(从接口 10/1 到 CL1)发送到 CL1。这些 IP 数据包来自 LBVS 的 IP 地址,并注定到 CL1 的 IP 地址。
    • 前三个包的大小[IP 标头 + TCP 标头 + [(TCP 负载 = CL1 的 MSS 大小)]=[20 + 20 + 8960]= 9000
    • 最后一个数据包的大小IP Header + TCP Header + (remaining TCP segment)20 + 20 + 3120[IP 标头 + TCP 标头 +(剩余的 TCP 段)] = = 3160

配置任务

下表列出了在 Citrix ADC 设备上创建所需配置的任务、命令和示例:巨帧用例 3 配置任务

用例 3 — 同一组接口上的 Jumbo 流和非 Jumbo 流的共存