パケットレベルでレート制限を設定する

最終公開日 : Sep 25, 2026
ストリームセレクタとレスポンダポリシーを設定して、セレクタによって識別されるすべての接続を通過するパケットレベルで統計情報を収集できます。1 秒あたりのパケット数が、設定されたしきい値を超えると、ポリシーは設定されたアクション(RESET または DROP)を適用します。これらのポリシーは、すべてのタイプの仮想サーバに対して構成できます。すべてのサイズのパケットが考慮されます。
Related information

パケットレベルでレート制限を設定するには、次の作業を実行します

  1. 負荷分散を有効にする
  2. ストリームセレクターを追加する
  3. ストリーム識別子の追加
  4. レスポンダーポリシーの追加
  5. 負荷分散仮想サーバの追加
  6. レスポンダーポリシーのバインド

負荷分散機能を有効にするには

コマンドプロンプトで入力します。
enable ns feature lb

ストリームセレクターを追加するには

コマンドプロンプトで入力します。
add stream selector packetlimitselector client.ip.src client.tcp.srcport client.ip.dst client.tcp.dstport

ストリーム ID を追加するには

コマンドプロンプトで入力します。
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
各項目の意味は次のとおりです。
  • \&lt;max_threshold_PPS>は、接続を通過できる 1 秒あたりの最大パケット数です。
  • ACTION は、ドロップまたはリセットが可能です。
  • 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