Citrix ADC

TCP优化配置

在配置TCP优化之前,请在Citrix ADC设备上应用以下基本配置设置:

初始配置:

启用ns特性磅IPv6PT启用ns模式FR L3切实MBF边缘USNIP PMTUD禁用ns特性SP禁用ns模式TCPB磅参数设置-preferDirectRoute没有磅参数设置-vServerSpecificMac启用设置l4param -l2ConnMethod Vlan设定rsskeytype -rsstype对称设置ns param -useproxyport禁用< !——NeedCopy >

请注意

如果更改RSSKeyType系统参数,请重新启动Citrix ADC设备。

TCP终止

对于Citrix ADC T1来应用TCP优化,它需要首先终止传入的TCP流量。在此结束时,应创建通配符TCP vServer并配置为拦截入口流量,然后将其转发到Internet路由器。

静态或动态路由环境

对于具有静态或动态路由的环境,VServer可以依赖于路由表信息来转发到Internet Router的数据包。默认路由必须指向Internet路由器,并且还应该到达Wireless Courer的客户端子网的路由条目应当到位:

例子:

添加LB vserver vsrv-wirelest tcp * * -persistenceType none -listenpolicy“client.vlan.id.eq(100)&& sys.vserver(\”vsrv-wireless \“)。州.eq(向上)”-m ip  -CLTTimeout 9000添加路由0.0.0.0 0.0.0.0 192.168.2.1添加路由10.0.0.0 255.0.0.0 192.168.1.1 <! -  CaltCopy  - >

VLAN-to-VLAN (PBR)环境

在一些客户环境中,用户流量被分割为多个流,需要根据传入的流量参数转发到不同的路由器。策略路由(Policy Based Routing)可以根据报文进入的VLAN、MAC地址、接口、源IP地址、源端口、目的IP地址和目的端口等参数进行路由。

局部的图片

例子:

在-listenpolicy“client.vlan.id.eq(100)|| client.vlan.id.eq(101)|| client.vlan.id.eq(102)“添加NS PBR PBR-VLAN100-to-VLAN200允许-VLAN 100 -NEXTHOP 172.16.200.1添加NS PBR PBR-VLAN101-TO-VLAN201允许-VLAN 101 -NEXTHOP 172.16.201.1添加NS PBR PBR-VLAN102-to-VLAN202允许-VLAN 102 -NEXTHOP 172.16.202.1 <! -  CEURTCOPY  - >

使用基于策略的路由路由TCP优化的流量是发布版11.1 50.10中增加的一个新特性。对于以前的版本,每个VLAN拥有多个“mode MAC”vserver实体是多VLAN环境的替代解决方案。每个vserver都有一个绑定的服务,代表特定流的互联网路由器。

例子:

添加服务器internet_router_1 172.16.200.1添加服务器internet_router_2 172.16.201.1添加服务器internet_router_3 172.16.202.1添加服务svc-internet-1 internet_router_1 TCP *切实是的-useproxyport不添加服务svc-internet-2 internet_router_2 TCP *切实是的-useproxyport不添加服务svc-internet-3 internet_router_3 TCP *切实是的-useproxyport NO bind service svc-internet-1 -monitorName arp bind service svc-internet-2 -monitorName arp bind service svc-internet-3 -monitorName arp add lb vserver vsrv-wireless-1 TCP * * -Listenpolicy "CLIENT.VLAN.ID.EQ(100) && SYS.VSERVER(\"vsrv-wireless-1\").STATE.EQ(UP)"-m MAC -l2Conn ON add lb vserver vsrv-wireless-2 TCP * * -Listenpolicy "CLIENT.VLAN.ID.EQ(101) && SYS.VSERVER(\"vsrv-wireless-2\").STATE.EQ(UP)"-m MAC -l2Conn ON add lb vserver vsrv-wireless-3 TCP * * -Listenpolicy "CLIENT.VLAN.ID.EQ(102) && SYS.VSERVER(\"vsrv-wireless-3\").STATE.EQ(UP)"-m MAC -l2Conn ON绑定lb vserver vsrv-wireless-1 svc-internet-1绑定lb vserver vsrv-wireless-2 svc-internet-2绑定lb vserver vsrv-wireless-3 svc-internet-3 

注意:

与以前的示例相比,vserver模式是MAC的,在其中它是模式IP。当我们绑定到vserver的服务时,这需要保留目标IP信息。此外,额外的PBR配置需要路由非优化的流量。

TCP优化

为TCP直通功能配置了开箱即用的Citrix ADC TCP终止。TCP直通本质上意味着Citrix ADC T1可以透明地拦截客户端-服务器TCP流,但不保留单独的客户端/服务器缓冲区或应用任何优化技术。

为了启用TCP优化,一个TCP配置文件,命名为nstcpprofile,用于指定在服务或虚拟服务器级没有提供TCP配置时使用的TCP配置,它应该被修改如下:

命令:

添加NS TCPProfile NSTCPProfile -WS启用-Sack启用-WSVal 8 -MSS 1460 -MAXBURST 30 -INITIALCWND 16 -OOOQSIZE 15000 -MINRTO 800 -BUFFERSIZE 4000000 -FLAVER BIC -DYNICRECEIVESBUFFERACT启用-KA启用-ka -sendbuffsize 4000000 -rstwindowatten启用-spoofsyndrop启用 -ECN启用 -  FRTO ENABLTY -MAXCWND 1000000 -FACK启用-RSTMAXACK启用-TCPMode端点<! -  yourcopy  - >

注意:

如果没有显式创建任何配置文件并绑定到vserver和service,则默认绑定配置文件nstcp_default_profile。

在需要多个TCP配置文件的情况下,可以创建额外的TCP配置文件并与适当的虚拟服务器相关联

命令:

add ns tcpProfile custom_profile -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 - rstwindowattenue ENABLED -spoofSynDrop ENABLED -ecn ENABLED -frto ENABLED -maxcwnd 1000000 -fack ENABLED-rstMaxAck enABLED -tcpmode ENDPOINT set lb vserver vsrv-wireless -tcpProfileName custom_profile 

注意:

对于使用vserver -m MAC和service的部署,相同的配置文件应该与service相关联。

设置服务SVC-Internet -TCPProfilename自定义_profile<! -  CentCopy  - >

TCP优化能力

Citrix ADC设备的大多数相关的TCP优化能力通过相应的TCP配置文件公开。创建TCP配置文件时应考虑的典型CLI参数如下:

  1. 窗口缩放(WS):TCP窗口缩放允许增加TCP接收窗口大小超过65535字节。它有助于提高高带宽和长延迟网络的总体上的TCP性能。它有助于减少延迟和改善TCP的响应时间。
  2. 选择性应答(袋): TCP SACK解决了多个丢包的问题,降低了整体吞吐量。有选择的确认,接收方可以通知发送方关于所有成功接收的段,使发送方只重传丢失的段。这种技术帮助T1提高总体吞吐量并减少连接延迟。
  3. 窗口缩放因子(WSVAL):用于计算新窗口大小的因子。它必须配置为一个高值,以便允许NS发布的窗口至少等于缓冲区大小。
  4. 最大段大小(MSS):单个TCP段的MSS。该值取决于中间路由器和终端客户端的MTU设置。1460表示MTU值为1500。
  5. maxBurst:突发中允许的最大TCP段数。
  6. 初始拥塞窗口大小(initialCwnd):TCP初始拥塞窗口大小确定在交易开始时可以出色的字节数。它使T1能够发送这些许多字节,而不会在电线上打扰拥堵。
  7. 最大ooo数据包队列大小(oooqsize): TCP维护Out Of Order队列,保持TCP通信中的OOO包。如果队列大小与需要在运行时内存中保存的数据包的长度相等,则此设置会影响系统内存。因此,需要根据网络类型和应用特点,将其保持在优化的水平。
  8. 最小RTO (minRTO):基于内部实现逻辑,在每个接收的ACK上计算TCP重传超时。默认重传超时发生在1秒钟才能开始,可以使用此设置进行调整。对于这些数据包的第二个重传RTO将由N * 2计算,然后是N * 4 ...... n * 8 ...继续到最后重传尝试。
  9. 缓冲/ seckbuffsize.:这请参阅T1可以在内部从服务器和缓冲区接收的最大数据量而不发送到客户端。它们应设置为比底层传输通道的带宽延迟乘积更大(至少两倍)。
  10. 味道: TCP拥塞控制算法。取值为Default、BIC、CUBIC、Westwood和Nile。
  11. 动态接收缓冲:允许接收缓冲区根据内存和网络条件进行动态调整。它将填满缓冲区尽可能多的需要保持客户端下载管道满,而不是填满,通过提前从服务器读取,一个固定大小的缓冲区,因为后者是在TCP配置文件中指定的,通常基于标准,如2*BDP,连接。Citrix ADC T1监视客户机的网络条件,并估计应该提前从服务器读取多少数据。
  12. 保持活力(ka):发送周期性的TCP保持活动(KA)探针检查PEER是否仍然为启动。
  13. rstwindowattenue:防范TCP欺骗攻击。当序列号无效时,它将回复正确的ACK。
  14. rstmaxack.:启用或禁用RST的验收,该窗口超出窗口但回雾了最高的ACK序列号。
  15. Spoofsyndrop.:丢弃无效SYN报文,防止被欺骗。
  16. 显式拥塞通知(ECN):向数据发送方发送网络拥塞状态通知,并对数据拥塞或数据损坏采取纠正措施。
  17. 向前RTO-Recovery:当出现虚假重传时,拥塞控制配置会恢复到原来的状态。
  18. TCP最大拥塞窗口:TCP最大拥塞窗口大小是用户可配置的。
  19. 前锋承认(说话):通过显式测量网络中未完成的数据字节的总数,帮助发件人(T1或客户端)来避免TCP拥塞,并在重传超时期间控制注入网络中的数据量。
  20. tcpmode:特定配置文件的TCP优化模式。有两种TCP优化模式——透明和端点。
  • 端点。在此模式下,设备同时管理客户端和服务器连接。
  • 透明的。在透明模式下,客户端需要直接访问服务器,没有任何介入虚拟服务器。服务器IP地址必须是公开的,因为客户端需要能够访问它们。在下图所示的示例中,将NetScaler设备放在客户端和服务器之间,因此流量必须通过设备。

默默地丢弃空闲连接

在Telco网络中,近50%的Citrix ADC设备的TCP连接变得空闲,并且设备会发送RST数据包关闭它们。通过无线电频道发送的数据包不必要地激活这些通道,从而导致又导致设备产生洪泛的服务拒绝消息。默认TCP配置文件现在包括DrophalfclosedConnontimeout和DropestConnontimeout参数,默认情况下禁用。如果启用它们两个,则既不闭合连接也不是建立的连接导致在连接超时时将RST数据包发送到客户端。设备只会丢弃连接。

设置ns tcpprofile nstcpprofile -drophalfclosedconnontimeout启用了设置ns tcpprofile nstcpprofile -dropestconnontimeout启用<! -  caltcopy  - >
TCP优化配置