パケットレベルでレート制限を設定する
パケットレベルでレート制限を設定するには、次の作業を実行します
-
負荷分散を有効にする
-
ストリームセレクタの追加
-
ストリーム識別子の追加
-
レスポンダーポリシーの追加
-
負荷分散仮想サーバの追加
-
レスポンダーポリシーのバインド
負荷分散機能を有効にするには
enable ns feature lb
ストリームセレクタを追加するには
add stream selector packetlimitselector client.ip.src client.tcp.srcport client.ip.dst client.tcp.dstport
ストリーム識別子を追加するには
add stream identifier packetlimitidentifier packetlimitselector -interval 1
ACK のみのパケットのトラッキングを有効にするには
set stream identifier packetlimitidentifier –trackAckOnlyPackets ENABLED
レスポンダーポリシーを追加するには
add responder policy packet_rate_sessionpolicy "ANALYTICS.STREAM("packetlimitidentifier").COLLECT_STATS("PACKET_LIMIT", <max_threshold_PPS>, ACTION, 0/1)" NOOP
-
\<max_threshold_PPS>は、1 秒あたりの接続で許可される最大パケット数です。
-
アクションは、ドロップまたはリセットすることができます。
-
0 または 1 は制限タイプを表します。0 は BURSTY 制限タイプを表し、1 は SMOOTH 制限タイプを表します。
add responder policy packet_rate_sessionpolicy "ANALYTICS.STREAM("packetlimitidentifier").COLLECT_STATS("PACKET_LIMIT", 40, RESET, 0)" NOOP
負荷分散仮想サーバーを追加するには
add lb vserver <name> <serviceType> <ip> <port>
add lb vserver Vserver-lb-1 HTTP 10.102.20.200 80
レスポンダーポリシーをバインドするには
bind responder global <policyName> <priority> [<gotoPriorityExpression>] [-type <type>] [-invoke (<labelType> <labelName>) ]
bind lb vserver <name>@ (-policyName <string>@ [-priority <positive_integer>]
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