Citrix ADC

用例5:使用TOS时配置DSR模式

DS (Differentiated services),也称为TOS (Type of Service),是IPv4报文头中的一个字段。IPv6报头中的等效字段是Traffic Class。TOS被上层协议用来优化数据包的路径。TOS信息编码Citrix ADC设备虚拟IP地址(VIP),负载均衡服务器从中提取VIP。

在下面的场景中,设备将VIP添加到服务条款字段,然后将报文转发给负载均衡服务器。负载均衡服务器然后直接响应客户机,绕过设备,如下图所示。

图1。Citrix ADC设备的DSR模式与TOS

DSR模式与TOS

TOS特性是针对受控环境定制的特性,具体如下:

  • 环境在设备和负载均衡服务器之间的路径上不能有任何有状态设备,例如有状态防火墙和TCP网关。
  • 网络的所有入口点上的路由器必须从所有传入数据包中删除TOS字段,以确保负载均衡服务器不会将另一个TOS字段与设备添加的TOS字段混淆。
  • 每个服务器只能有63个vip。
  • 中间路由器不能发出关于分片的ICMP错误消息。客户端无法理解此消息,因为源IP地址是负载均衡服务器的IP地址,而不是Citrix ADC VIP的IP地址。
  • TOS仅对基于ip的业务有效。不能在TOS下使用基于域名的服务。

在本例中,创建Service-ANY-1并将其绑定到虚拟服务器Vserver-LB-1。虚拟服务器负载平衡客户端对服务的请求,服务直接响应客户端,绕过设备。下表列出了在设备上以DSR模式配置的实体的名称和值。

实体类型 的名字 IP地址 协议
虚拟服务器 Vserver-LB-1 10.102.33.91 任何
服务 Service-ANY-1 10.102.100.44 任何
监控 没有一个 没有一个

带TOS的DSR要求在第3层上设置负载均衡。要为第3层配置基本负载均衡设置,请参见设置基本负载均衡.命名实体并使用上表中描述的值设置参数。

配置负载均衡设置后,必须为DSR模式定制负载均衡设置,方法是配置重定向模式,以允许服务器解封装数据包,然后直接响应客户端并绕过设备。

在指定重定向模式之后,您可以选择启用设备以透明地监视服务器。这使设备能够透明地监视负载平衡的服务器。

使用命令行接口配置虚拟服务器的重定向模式

在命令提示符下,输入:

set lb vserver  -m  -tosId  

例子:

set lb vserver vserver - lb -1 -m TOS -tosId 3 

使用配置实用程序为虚拟服务器配置重定向模式

  1. 导航到流量管理>负载均衡>虚拟服务器
  2. 打开虚拟服务器,在“重定向模式”中选择“TOS ID”。

使用命令行接口配置TOS的透明监视器

在命令提示符下,输入:

add monitor   -destip  -tos  -tosId  

例子:

add monitor mon1 PING -destip 10.102.33.91 -tos Yes -tosId 3 

使用配置实用程序为TOS创建透明监视器

  1. 导航到流量管理>负载均衡>监控
  2. 创建监视器,选择TOS,并键入为虚拟服务器指定的TOS ID。

通配符TOS监视器

在DSR模式下使用TOS字段的负载均衡配置中,监控其服务需要创建TOS监视器并将其绑定到这些服务。在DSR模式下,使用TOS字段的每个负载平衡配置都需要一个单独的TOS监视器,因为TOS监视器需要VIP地址和TOS ID来创建VIP地址的编码值。监视器创建探测包,在其中服务条款field设置为VIP地址的编码值。然后,它将探测数据包发送到负载均衡配置的服务所表示的服务器。

对于许多负载平衡配置,为每个配置创建单独的自定义TOS监控器是一项重要而繁琐的任务。管理这些TOS监控器也是一项重要的任务。现在,您可以创建通配符TOS监视器。仅为使用相同协议(例如TCP或UDP)的所有负载平衡配置创建一个通配符TOS监控器。

通配符TOS监视器具有以下强制设置:

  • 类型=<协议>
  • TOS =是

以下参数可以设置为值,也可以不设置:

  • 目的地IP
  • 目的港
  • TOS ID

绑定到DSR服务的通配符TOS监视器(未设置目的IP、目的端口和TOS ID)会自动学习负载均衡虚拟服务器的TOS ID和VIP地址。监控器创建探测数据包,将TOS字段设置为已编码的VIP地址,然后将探测数据包发送到DSR服务表示的服务器。

使用实例通过CLI创建通配符TOS monitor

在命令提示符下,输入:

add lb monitor   -tos YES show lb monitor  

使用实例通过CLI将通配符TOS monitor绑定到服务

在命令提示符下,输入:

bind lb monitor   show lb monitor  

使用GUI创建通配符TOS监视器

  1. 导航到交通管理>负载平衡>监控
  2. 添加监视器,参数设置如下:
    • 类型=<协议>
    • Tos = yes

使用GUI将通配符TOS监视器绑定到服务

  1. 导航到交通管理>负载平衡>服务
  2. 打开一个服务并将通配符TOS监视器绑定到它。

在下面的示例配置中,V1、V2和V3是类型为ANY的负载均衡虚拟服务器,TOS ID分别设置为1、2和3。S1、S2、S3、S4、S5为ANY类型的服务。S1和S2同时绑定到V1和V2。S3 S4和S5同时绑定到V1和V3。WLCD-TOS-MON是一个通配符TOS监视器,类型为TCP,绑定到S1、S2、S3、S4和S5。

WLCD-TOS-MON会自动学习S1、S2、S3、S4、S5绑定的虚拟服务器的TOD ID和VIP地址。

由于S1绑定到V1和V2, WLCD-TOS-MON为S1创建了两种类型的探测数据包,其中一种带有服务条款字段设置为V1的VIP地址(203.0.113.1),另一个字段设置为V2的VIP地址(203.0.113.2)。然后Citrix ADC将这些探测数据包发送到由S1表示的服务器。类似地,WLCD-TOS-MON为S2、S3、S4和S5创建探测数据包。

加磅监控WLCD-TOS-MON TCP——是的做加磅vserver V1任何203.0.113.1 * - m TOS -tosID 1完成添加磅vserver V2任何203.0.113.2 * - m TOS -tosID 2完成添加磅vserver V3任何203.0.113.3 * - m TOS -tosID 3完成添加服务S1 198.51.100.1任何*完成添加服务S2 198.51.100.2任何* *完成添加服务S3 198.51.100.3完成添加服务S4 198.51.100.4任何* *完成添加服务S5 198.51.100.5完成绑定磅监控WLCD-TOS-MON S1完成绑定磅监控WLCD-TOS-MON S2完成绑定磅monitor WLCD-TOS-MON S3 Done bind lb monitor WLCD-TOS-MON S4 Done bind lb monitor WLCD-TOS-MON S5 Done bind lb vserver V1 S1, S2, S3, S4, S5 Done bind lb vserver V2, S1, S2 Done bind lb vserver V3 S3, S4, S5 Done