技术配方
NetScaler T1 型号提供高级功能和强大的策略配置语言,允许在运行时评估复杂的决策。
虽然无法评估 T1000 功能和策略配置指南可能解锁的所有功能,但技术依据会考虑实施电信运营商提出的各种要求。随意按原样重复使用“食谱”或适应您的环境。
每位用户的连接限制
可以将 NetScaler T1 型号配置为限制每个唯一订阅者 IP 的连接数。使用以下配置,允许每个 IP(CLIENT.IP.SRC)进行 N 个并发 TCP 连接。每次尝试连接超过配置阈值时,T1 都会发送 RST。对于每个用户最多 2 个并发连接:
命令:
add stream selector streamSel_usrlimit CLIENT.IP.SRC
add ns limitIdentifier limitId_usrlimit -threshold 2 -mode CONNECTION -selectorName streamSel_usrlimit
add responder policy respPol_usrlimit "SYS.CHECK_LIMIT("limitId_usrlimit")" RESET
bind lb vserver vsrv-wireless -policyName respPol_usrlimit -priority 1 -gotoPriorityExpression END
<!--NeedCopy-->
顺利插入/删除虚拟服务器
许多运营商担心在内联激活 NetScaler T1 模型以进行 TCP 优化或出于维护目的将其禁用时,TCP 连接会中断。为避免在引入 vserver 时中断现有连接,在配置或激活 vserver 以进行 TCP 优化之前,需要应用以下配置:
命令:
add ns acl acl-ingress ALLOW –vlan 100
add forwardingSession fwd-ingress –aclname acl-ingress
apply ns acls
<!--NeedCopy-->
转发会话在路由(静态、动态或 PBR)之上生效,并为路由的流量(L3 模式)创建会话条目。由于存在相应的会话,任何现有连接都由转发会话处理,并且在引入虚拟服务器后,它仅开始捕获新的 TCP 连接。
可以将 ACL 配置为仅捕获 vserver 等特定端口,以避免为不必要的流量创建会话,这会消耗内存。另一种选择是在虚拟服务器激活后删除特定的配置。
出于维护目的,应禁用 vserver,其状态显示为“停止服务”。发生这种情况时,默认情况下,虚拟服务器会立即终止所有连接。要使虚拟服务器仍为现有连接提供服务而不接受新连接,应应用以下配置:
命令:
set lb vserver vsrv-wireless –downStateFlush DISABLED
<!--NeedCopy-->
新的连接通过路由表,并且由于转发会话而创建了相应的会话条目。
基于策略的 TCP 概要分析
基于策略的 TCP 配置文件选择允许运营商为来自不同流量域(即 3G 或 4G)的客户端动态配置 TCP 配置文件。这些流量域的某些 QoS 指标不同,为了获得更好的性能,您需要动态更改某些 TCP 参数。假设来自 3G 和 4G 的客户端访问同一个虚拟服务器并使用相同的 TCP 配置文件,这会对某些客户端的性能产生负面影响。AppQoE 功能可以对这些客户端进行分类并动态更改虚拟服务器上的 TCP 配置文件。
示例:
enable feature AppQoE
add ns tcpProfile nstcpprofile1 -WS ENABLED -SACK ENABLED -WSVal 8 -mss 1460 -maxBurst 30 -initialCwnd 16 -oooQSize 15000 -minRTO 800 -slowStartIncr 1 -bufferSize 4000000 -flavor BIC -KA ENABLED -sendBuffsize 4000000 -rstWindowAttenuate ENABLED -spoofSynDrop ENABLED -frto ENABLED -maxcwnd 1000000 -fack ENABLED -tcpmode ENDPOINT
add ns tcpProfile nstcpprofile2 -WS ENABLED -SACK ENABLED -WSVal 8 -mss 1460 -maxBurst 15 -initialCwnd 16 -oooQSize 15000 -minRTO 800 -slowStartIncr 1 -bufferSize 128000 -flavor BIC -KA ENABLED -sendBuffsize 6000000 -rstWindowAttenuate ENABLED -spoofSynDrop ENABLED -frto ENABLED -maxcwnd 64000 -fack ENABLED -tcpmode ENDPOINT
add appqoe action action_1 -priority HIGH -tcpprofile nstcpprofile1
add appqoe action action_2 -priority HIGH -tcpprofile nstcpprofile2
add appqoe policy appqoe_4G -rule "CLIENT.VLAN.ID.EQ(100)" -action action_1
add appqoe policy appqoe_3G -rule "CLIENT.VLAN.ID.EQ(200)" -action action_2
bind lb vserver vsrv-wireless -policyName appqoe_4G -priority 100
bind lb vserver vsrv-wireless -policyName appqoe_3G -priority 110
<!--NeedCopy-->
NetScaler T1 型号能够通过 Gx 或 Radius 和 Gx 接口动态接收订阅者信息,并在每个订阅者基础上应用不同的 TCP 配置文件。
命令:
add appqoe action action_1 -priority HIGH -tcpprofile nstcpprofile1
add appqoe action action_2 -priority HIGH -tcpprofile nstcpprofile2
add appqoe policy appqoe_4G -rule "SUBSCRIBER.RULE_ACTIVE("3G")" -action action_1
add appqoe policy appqoe_3G -rule "SUBSCRIBER.RULE_ACTIVE("4G")" -action action_2
<!--NeedCopy-->