Citrix ADC

使用 TCP 优化功能的订户感知的流量

流量指导将用户流量从一个点引导到另一个点。当订阅者连接到网络时,数据包 Gateway 将 IP 地址与订阅者关联,并将数据包转发到 Citrix ADC 设备。设备通过 Gx 界面与 PCRF 服务器通信,以获取订阅者策略信息。根据策略信息,设备执行以下操作之一:

  • 将数据包转发到另一组服务(如下图所示)。
  • 仅执行 TCP 优化。

下图中显示的值在下图后面的 CLI 过程中进行配置。Citrix ADC 设备上的内容交换虚拟服务器会将请求定向到增值服务或跳过这些服务并执行 TCP 优化(具体取决于定义的规则),然后将数据包发送到 Internet。

本地化后的图片

注意

版本 11.1 版本 50.10 介绍了对下面所示配置的支持。

使用 CLI 为上述部署配置流量指导:

  1. 添加设备的子网 IP (SNIP) 地址。

    add ns ip 192.168.10.1 255.255.255.0 -type snip
    
    add ns ip 192.168.20.1 255.255.255.0 -type snip
    
    add ns ip 192.168.100.1 255.255.255.0 -type snip
    
    add ns ip 192.168.200.1 255.255.255.0 -type snip
    
    add ns ip 10.102.232.236 255.255.255.0 –type snip
    <!--NeedCopy-->
    
  2. 添加 VLAN。VLAN 可帮助设备识别流量的源。将 VLAN 绑定到接口和子网 IP 地址。

    add vlan 10
    
    add vlan 20
    
    add vlan 100
    
    add vlan 200
    
    add vlan 102
    
    bind vlan 10 -ifnum 1/4 -tagged -IPAddress 192.168.10.1 255.255.255.0
    
    bind vlan 20 -ifnum 1/4 -tagged -IPAddress 192.168.20.1 255.255.255.0
    
    bind vlan 100 -ifnum 1/2 -tagged -IPAddress 192.168.100.1 255.255.255.0
    
    bind vlan 200 -ifnum 1/2 -tagged -IPAddress 192.168.200.1 255.255.255.0
    
    bind vlan 102 –ifnum 1/1 –tagged –IPAddress 10.102.232.236 255.255.255.0
    <!--NeedCopy-->
    
  3. 配置 Diameter 类型的服务和虚拟服务器,并将服务绑定到虚拟服务器。指定订阅者 Gx 接口参数的 PCRF 领域和值。同时指定服务路径 AVP,该路径指示设备可在订阅者会话中查找服务路径名称的位置。对于主要 PCEF 功能,请配置 RADIUS 侦听器服务和 RADIUS 接口,并将接口类型指定为“RadiusAngx”。

    add service sd1 10.102.232.200 DIAMETER 3868
    
    add lb vserver vdiam DIAMETER 0.0.0.0 0 -persistenceType DIAMETER -persistAVPno 263
    
    bind lb vserver vdiam sd1
    
    set ns diameter -identity netscaler.sc1.net -realm pcrf1.net
    
    set extendedmemoryparam -memLimit 2558
    
    set subscriber gxInterface -vServer vdiam -pcrfRealm pcrf1.net
    
    set subscriber gxinterface -servicepathAVP 1001 1005 -servicepathVendorid 10415
    
    add service srad1 10.102.232.236 RADIUSListener 1813
    
    set subscriber radiusInterface -listeningService srad1
    
    set subscriber param -interfaceType RadiusAndGx
    <!--NeedCopy-->
    
  4. 指定要应用的默认订阅者配置文件 (*),如果以下任何情况为真:

    • PCRF 没有订阅者信息。
    • 订阅者信息不包括服务路径 AVP。
    • 设备无法查询 PCRF。例如,代表 PCRF 的服务是向下。
    add subscriber profile * -subscriberrules default_path
    <!--NeedCopy-->
    
  5. 分别为 VAS 和 TCP 优化路径创建 TCP 配置文件。导向 VAS 的流量在离开 VAS 之前或之后不会进行任何 TCP 优化。因此,VAS 配置文件的 TCP 模式应设置为透明,而 TCPPOT 配置文件的 TCP 模式应设置为端点。

    add ns tcpProfile VAS –tcpMode TRANSPARENT

    add ns tcpProfile TCPOpt -WS ENABLED -SACK ENABLED -WSVal 8 -mss 1460 -maxBurst 30 -initialCwnd 16 -oooQSize 15000 -minRTO 800 -bufferSize 4000000 -flavor BIC -dynamicReceiveBuffering ENABLED -KA ENABLED -sendBuffsize 4000000 -rstWindowAttenuate ENABLED -spoofSynDrop ENABLED -ecn ENABLED -frto ENABLED -maxcwnd 1000000 -fack ENABLED -rstMaxAck enABLED -tcpmode ENDPOINT

  6. 为 VAS 服务器配置负载平衡。创建 TCP 类型的不可寻址虚拟服务器。使用 VAS 服务器的 IP 地址创建 TCP 服务,并将服务绑定到虚拟服务器。虚拟服务器和服务将使用为 VAS 路径创建的透明 TCP 配置文件:

    add service vas1 192.168.10.2 TCP * -usip YES -useproxyport NO -TCPB NO -tcpProfileName VAS
    
    add service vas2 192.168.10.3 TCP * -usip YES -useproxyport NO -TCPB NO -tcpProfileName VAS
    
    add lb vserver vs1 TCP -m MAC -l2Conn ON –tcpProfileName VAS
    
    bind lb vserver vs1 vas1
    
    bind lb vserver vs1 vas2
    <!--NeedCopy-->
    
  7. 添加负载平衡虚拟服务器以捕获 VAS 出口流量。此虚拟服务器将监视 VAS 导出 VLAN 并使用透明的 TCP 配置文件:

    add lb vserver vsint TCP * * -Listenpolicy "CLIENT.VLAN.ID.EQ(20)" –Listenpriority 30 –l2Conn ON –tcpProfileName VAS
    <!--NeedCopy-->
    
  8. 添加一个 TCP 优化虚拟服务器,该服务器侦听无线端 VLAN 中的任何流量,并使用为 TCP 优化路径创建的端点 TCP 配置文件:

    add lb vserver vs-TcpOpt TCP * * -Listenpolicy "client.vlan.id.eq(100)" –Listenpriority 20 -l2Conn ON -tcpProfileName TCPOpt
    <!--NeedCopy-->
    
  9. 添加内容切换 (CS) 配置。这包括虚拟服务器、策略及其相关操作。CS 虚拟服务器接收流量,并根据定义的 CS 策略将其重定向到适当的负载平衡虚拟服务器。创建一个 CS TCP 虚拟服务器,该服务器以最高优先级侦听无线端 VLAN 中的任何流量,并使用端点 TCP 配置文件。创建一个 CS 策略,当“vas”是订阅者规则时,计算结果为 TRUE,并指定将流量引导到 VAS 的 CS 操作。将 TCP 优化虚拟服务器设为默认 LB虚拟服务器。任何具有“vas”以外规则的订阅者流量将通过默认的 LB vserver。

    add cs vserver cs1 TCP * * -Listenpolicy "client.vlan.id.eq(100)" –Listenpriority 10 -l2Conn ON –tcpProfileName TCPOpt
    
    add cs action csact1 -targetLBVserver vs1
    
    add cs policy cspol1 -rule  SUBSCRIBER.RULE_ACTIVE("vas") && SYS.VSERVER("vs1").STATE.EQ(UP)" -action csact1
    
    bind cs vserver cs1 -policyName cspol1
    
    bind cs vserver cs1 -lbvserver vs-TcpOpt
    <!--NeedCopy-->
    
  10. 向互联网添加静态或基于策略的路由。此配置还支持动态路由。以下示例使用基于策略的路由:

    add ns pbr pbr-vlan100-to-vlan200 ALLOW -nextHop 192.168.200.10 -vlan 100 -priority 10
    
    add ns pbr pbr-vlan20-to-vlan200 ALLOW -nextHop 192.168.200.10 -vlan 20 -priority 11
    
    apply ns pbrs
    <!--NeedCopy-->
    

注意

  • CS 策略除了订阅者表达式之外,还可以包含 IP 地址和端口号,例如 SUBSCRIBER.RULE_ACTIVE(“vas”) && && (CLIENT.TCP.DSTPORT.EQ(80) || CLIENT.TCP.DSTPORT.EQ(443)。它们还可以包含基于 HTTP 的表达式,例如,HTTP.REQ.HOSTNAME.DOMAIN.EQ(“somedomain.com”)。在这种情况下,用 HTTP 替换 TCP 实体(虚拟服务器,服务等)。TCP 配置文件配置保持不变。
  • 添加 IPv6 配置(地址、路由、PBRs)以支持 IPv6 订阅者。Happy Eyeball 客户端应用程序将顺利运行 VAS 和 TCP 优化路径。
  • 在 VAS(vs1、vs2 等)前添加 VLAN、IP 地址、PBRs 和 LB 虚拟服务器,以支持多个用户流。修改 CS vserver“cs1” 和 LB vsint”的侦听策略以包括其他 VLAN。
使用 TCP 优化功能的订户感知的流量