tcptr コマンド

目的

ポートの着信ソケット接続の最大数を制御するための TCP トラフィック規定 (TR) ポリシー情報を構成または表示します。

構文

tcptr -add < start port > < end port > < max connection > [ divisor ]

tcptr -delete < start port > < end port >

tcptr -show

説明

tcptr コマンドは、特定のネットワーク・ポートまたはポートの範囲に、着信 TCP 接続の上限を割り当てます。 このコマンドを実行することで、AIX®TCPレイヤにリモートからアクセスする着信ソケットリクエストによって一括して共有されるコネクションリソースの新しいプールを追加することができます。

システムは自動的に、TCP を介して特定のポートに接続を試行する複数のリモート IP アドレス間でリソースが共有されることを保証します。 root ユーザーは、TCP トラフィック規定 (TR) に関連するシステム・リソースを制御できます。

注:
  • デフォルトでは、tcptr コマンドは使用不可です。
  • tcptr コマンドは、特定の IP アドレスからの接続率を制限しません。 特定のポートまたはポート範囲のクライアントからの接続の合計プールは制御されます。
  • 限度に達すると、サーバーへの接続は失われます。 サーバーはトラフィックを規制しており、システムはサーバーからの指示に従っているため、メッセージはログに記録されず、接続は失われます。
  • tcptr コマンドを使用して追加される TCP TR ポリシーは、no コマンドを使用して tcptr_enable ネットワーク属性が 1 の値に設定されるまで、活動化されません。 これらのポリシーはシステム再始動後に自動的に持続されますが、次のコマンドで指定されるように -p フラグを使用してネットワーク・フラグが使用可能にされるまで、活動化されません。
    no -p -o tcptr_enable=1

フラグ

項目 説明
-add 新規 TCP TR ポリシーをシステムに追加します。 -add フラグを使用して現行ポリシーの最大許容接続数、開始ポート、およびエンド・ポートを指定します。 ポート範囲が指定されていない場合は、開始ポートとエンド・ポートを同一ポートにすることができます。 オプションで、使用可能 TCP 接続のプールでのより多様なリソース共有を可能にするために、除数を指定することができます。
-delete システムに定義されている既存の TCP TR ポリシーを削除します。 このフラグを使用する場合、ユーザーは現行ポリシーで許可される最大接続数、開始ポート、およびエンド・ポート (ポート範囲を指定しない場合は、開始ポートと同じにできます) を指定する必要があります。
-show システムに定義されているすべての既存の TCP TR ポリシーを表示します。 -delete フラグを使用する前に、-show フラグを使用してアクティブ・ポリシーを表示することができます。

パラメーター

項目 説明
max connection 特定の TR ポリシーの着信 TCP 接続の最大数を指定します。
start port 現行の TR ポリシーの開始ポートを指定します。
end port 現行の TR ポリシーのエンド・ポートを指定します。 ポートが範囲の場合、指定される値は開始ポートより大きい値でなければなりません。 TR ポリシーが単一ポート用の場合、指定される値は開始ポートに指定された値と等しい値でなければなりません。
除数 使用可能な着信 TCP 接続数と、IP の消費済み着信 TCP 接続数とを比較する除数を指定し、使用可能な全体の接続数を、2 のべき乗で割った数に一致させます。 除数はこの割り算で使用される、2 のべき乗です。 このパラメーターはオプションです。指定されていない場合、デフォルト値は 1 になります。 その場合、使用可能な接続数の半数が使用されます。
tcptr トラフィック規定のアルゴリズム

新規接続要求を受信した場合、tcptr コマンドは、次のアルゴリズムを使用して新規ソケット接続を許可または拒否します。

If a new connection request is received and (N-X) = 0, the request is rejected.
If a new connection request is received and (N-X) > 0 and 
the request is from a source that already has connections 
with this port(range), then:
     if X+1 < [(N-X)/2^divisor] then
        Allow the new connection
     else
        Deny the new connection
N
ポートに許容される最大接続数 (範囲)。
X
特定の IP アドレスに現在使用されている接続数。
divisor
オプション。デフォルト値は 1 です。

  1. TCP ポート 23 のみをカバーする TCP トラフィック規定ポリシーを追加し、最大着信接続プールを 256、使用可能接続除数を 3 に設定するには、以下のコマンドを入力します。
    # tcptr -add 23 23 256 3
  2. 5000 から 6000 の範囲の TCP ポートをカバーする TCP トラフィック規定ポリシーを追加し、最大着信接続プール 5000、使用可能接続除数 2 を設定するには、以下のコマンドを入力します。
    # tcptr -add 5000 6000 5000 2
  3. システムに設定されている TCP トラフィック規定ポリシーを表示するには、以下のコマンドを入力してください。
    # tcptr -show
  4. 5000 から 6000 の範囲の TCP ポートをカバーする TCP トラフィック規定ポリシーを削除するには、以下のコマンドを入力します。
    # tcptr -delete 5000 6000
  5. IP アドレス 10.20.30.1 を使用して、ポート 80 に 256/2^3=32 の接続を行う TCP トラフィック規定ポリシーを追加するには、次のコマンドを入力します。
    tcptr -add 80 80 256 3
    この場合、この IP アドレスからポート 80 へ次に接続しようとしても拒否され、TCP RST を受け取ります。