ADC

在数据包级别配置速率限制

您可以配置流选择器和响应程序策略,以收集流经选择器标识的所有连接的数据包级别的统计信息。如果每秒的数据包数超过配置的阈值,则策略将应用配置的操作(RESET 或 DROP)。您可以为所有类型的虚拟服务器配置这些策略。考虑各种大小的数据包。

要在数据包级别配置速率限制,请执行以下任务

  1. 启用负载平衡
  2. 添加直播选择器
  3. 添加流标识符
  4. 添加响应程序策略
  5. 添加负载平衡虚拟服务器
  6. 绑定响应程序策略

启用负载平衡功能

在命令提示符下,键入:

enable ns feature lb
<!--NeedCopy-->

添加直播选择器

在命令提示符下,键入:

add stream selector packetlimitselector client.ip.src client.tcp.srcport client.ip.dst client.tcp.dstport
<!--NeedCopy-->

添加流标识符

在命令提示符下,键入:

add stream identifier packetlimitidentifier packetlimitselector -interval 1
<!--NeedCopy-->

启用仅对 ACK 数据包的跟踪

在命令提示符下,键入:

set stream identifier packetlimitidentifier –trackAckOnlyPackets ENABLED
<!--NeedCopy-->

添加响应程序策略

在命令提示符下,键入:

add responder policy packet_rate_sessionpolicy "ANALYTICS.STREAM("packetlimitidentifier").COLLECT_STATS("PACKET_LIMIT", <max_threshold_PPS>, ACTION, 0/1)" NOOP
<!--NeedCopy-->

其中,

  • <max_threshold_PPS>是每秒允许通过连接的最大数据包数。
  • 操作可以是“丢弃”或“重置”。
  • 0 或 1 表示限制类型;0 表示 BURSTY 限制类型,1 表示 SMOOTH 限制类型。

示例:

add responder policy packet_rate_sessionpolicy "ANALYTICS.STREAM("packetlimitidentifier").COLLECT_STATS("PACKET_LIMIT", 40, RESET, 0)" NOOP
<!--NeedCopy-->

添加负载平衡虚拟服务器

在命令提示符下,键入:

add lb vserver <name> <serviceType> <ip> <port>

add lb vserver Vserver-lb-1 HTTP 10.102.20.200 80
<!--NeedCopy-->

绑定响应程序策略

配置选择器和响应程序策略后,该策略可以全局绑定或绑定到特定的虚拟服务器。

在命令提示符下,键入以下任一命令:

bind responder global <policyName> <priority> [<gotoPriorityExpression>] [-type <type>] [-invoke  (<labelType>  <labelName>) ]
<!--NeedCopy-->

bind lb vserver <name>@  (-policyName <string>@ [-priority <positive_integer>]
<!--NeedCopy-->

示例:

bind responder global packet_rate_sessionpolicy 101 END -type REQ_DEFAULT

bind responder global packet_rate_sessionpolicy 102 END -type

bind lb vserver v1 -policyname packet_rate_sessionpolicy -priority 10
<!--NeedCopy-->
在数据包级别配置速率限制