NAT ポート チャンク ホールド タイマーのサポート

機能の概要と変更履歴

要約データ

該当製品または機能エリア

P-GW

該当プラットフォーム

  • ASR 5500

  • VPC-DI

  • VPC-SI

機能のデフォルト

無効:設定が必要

このリリースでの関連する変更点

N/A

関連資料

  • P-GW アドミニストレーション ガイド

  • Command Line Interface Reference

  • Statistics and Counters Reference

マニュアルの変更履歴

改訂の詳細

リリース

最初の導入。

21.28.m10

機能説明

P-GW での NAT ポート チャンク ホールド タイマー機能の可用性に応じて、ポート チャンク ホールド タイマーを多対 1 の NAT IP プールに設定できます。ポートチャンクからの最後のポートが解放されると、チャンクは Used から Hold 状態に移行し、ポート チャンク ホールド タイマーが開始されます。ポート チャンク ホールド タイマーの期限が切れると、ポートチャンクが解放され、新しいセッションで使用できるようになります。ポートチャンクが再利用されるパケットを、ポート チャンク ホールド タイマーが期限切れになる前に受信した場合、ポートチャンクタイマーが停止し、そのポートチャンクからのポートが割り当てられます。

ポートチャンクは、次の方法で解放できます。

  • ポートチャンク内の最後のポートの最後のフローがタイムアウトでアイドル状態になると、ポート チャンク ホールド タイマーが開始し、ポート チャンク ホールド タイマーの期限切れ時にポートチャンクが解放されます。

  • サブスクライバが切断されたとき。

NAT IP の解放は、NAT バインディングタイマーの期限切れ後に発生します。この動作は、ポート チャンク ホールド タイマー機能に関係なく同じ状態が維持されます。

機能の仕組み

次の表は、ポートチャンクを使用した単一の最後のフローに関するさまざまなタイマーのトリガーをまとめたものです。

表 1. 対応するタイマー(秒単位)
Timer

a

UDP アイドルタイムアウト

b

TCP アイドル タイムアウト

c

NAT バインドのタイムアウト

d

マッピングのタイムアウト

e

ポートチャンクホールドのタイムアウト

表 2. NAT ポート、ポートチャンク、および NAT IP をリリースするトリガー
NAT ポートチャンクの最後のフロープロトコル チャンクに対する NAT ポート(NAT マッピング)のリリース ポートチャンクのリリース(ポート チャンク ホールド タイマーが有効である場合) REALM からの NAT IP のリリース
UDP a 秒のアイドルタイムアウト + 「d」秒のマッピングタイムアウトの後にリリースされます。

「e」秒のポート チャンク ホールド タイムアウトの期限切れ後にリリースされます(ポート チャンク ホールド タイマーは、チャンクの最後の NAT ポートリリース後に開始されます)。

UDP フローが非アクティブになった時点からポートチャンクがリリースされるまでの合計時間は(a + d + e)秒です。

NAT バインドタイマーの期限切れ後にリリースされます。
TCP(グレースフル) RST/FIN の受信時に TCP フローが終了した場合、フローがクリアされた後に NAT ポートがリリースされます。ただし、このポートは、設定された NAT 2MSL タイムアウトに再利用可能です。

「e」秒のポート チャンク ホールド タイムアウトの期限切れ後にリリースされます(ポート チャンク ホールド タイマーは、チャンクの最後の NAT ポートリリース後に開始されます)。

2 MSL とポートチャンクタイマーが並行して実行されます。2MSL の方がポート チャンク ホールド タイムアウトより長い場合、ポートは強制的に「フリー」状態になり、ポートチャンクがリリースされます。

最後の TCP フローがポート チャンク ホールド タイムアウトでクリアされた後にポートチャンクがリリースされるまでの合計時間は「e」秒です。

NAT バインドタイマーの期限切れ後にリリースされます。
TCP(オープン) FIN/RST が送信されず、「b」秒のアイドルタイムアウト + 「d」秒のマッピングタイムアウトの期限切れ時に行われます。

「e」秒のポート チャンク ホールド タイムアウトの期限切れ後にリリースされます(ポート チャンク ホールド タイマーは、チャンクの最後の NAT ポートリリース後に開始されます)。

TCP フローが非アクティブになった時点からポートチャンクがリリースされるまでの合計時間は(b + d + e)秒です。

NAT バインドタイマーの期限切れ後にリリースされます。

ポート チャンク ホールド タイマーの設定

NAT バインディングタイマーとポート チャンク ホールド タイマーを個別に分離するには、次の設定を使用します。

ポート チャンク ホールド タイマーの設定は、NAT IP プール内のすべての NAT IP アドレスに適用されます。

configure 
   context context_name 
      ip pool nat_pool_name { ip_address subnet_mask | ip_address/mask> | range from_ip_address to_ip_address  } 
      napt-users-per-ip-address users [ alert-threshold [ { pool-free | pool-hold | pool-release | pool-used } low_thresh [ clear high_thresh ] + ] 
      [ max-chunks-per-user chunks] [ nat-binding-timer binding_timer [ port-chunk-hold-timer port-chunk-hold-timeout ] ] 
      [ on-demand ] [ port-chunk-size size ] [ port-chunk-threshold threshold ] [ send-nat-binding-update ] [ srp-activate ] + ] 

  • port-chunk-hold-timer [ port-chunk-hold-timeout ] :解放されたポートチャンクを NAPT IP プールで再利用できるようになるまでのタイムアウトを秒単位で表示します。値が 0 に設定されている、または値が設定されていない場合は、下位互換性を維持するために、ポートチャンクは nat-binding-timer に基づいて解放されます。最小値は 0 で、最大値は 31556926 です。デフォルトでは、ポート チャンク ホールド タイマーは無効です。NAT バインディングタイマー値より小さくゼロではない値を使用して、ポート チャンク ホールド タイマーを再度有効にすることができます。


    (注)  


    • ポートチャンク ホールド タイマー機能を有効にしながら、NAT バインディングタイマー値を設定することを推奨します。

    • nat-binding-timer を無効にして port-chunk-hold timer を設定すると、NAT IP アドレスは解放されず、port-chunk-hold timer の期限後にすべての NAT ポートチャンクが解放されます。

    • port-chunk-hold timer には NAT バインドタイムアウト値よりも小さい値のみを指定します。ポートチャンクのホールドタイムアウト値が NAT バインドタイムアウトよりも高く設定されている場合、次の CLI エラーが表示されます。

      「Failure: NAT port chunk hold timer must be less than NAT binding timer.」
    • ポート チャンク ホールド タイマーとして 2MSL 未満の値を設定しないでください。

    • ポート チャンク ホールド タイマーの値は NAT バインディングタイマーよりも小さいため、この機能を使用すると、NAT バインディングレコード(NBR)の数が増加します。このタイマーの値を小さく設定しすぎると、NBR の数が多くなります。実際の値はサブスクライバのトラフィックプロファイルによって異なりますが、ほとんどの展開では、NAT バインディングタイマーが 1800 秒の場合にポート チャンク ホールド タイマーの値を 300 秒に保つことが許容されます。


ポート チャンク ホールド タイマーの変更

ポート チャンク ホールド タイマーを変更するには、次の設定を使用します。

configure 
   context context_name 
      ip pool nat_pool_name [ nat-binding-timer binding_timer  port-chunk-hold-timer port_chunk_hold_timeout  ] 
   exit 

  • nat-binding-timer binding_timer port-chunk-hold-timer port_chunk_hold_timeout :IP プールのポート チャンク ホールド タイマーを変更するためのポート チャンク ホールド タイムアウトを指定します。IP プールのポート チャンク ホールド タイマーが変更されると、新しいポートチャンクタイマーは、すべてのサブスクライバに対して変更された値を直ちに使用します。

設定例

次に設定の出力例を示します。

[local]qvpc-si# configure 
[local]qvpc-si(config)# context egress
[egress]qvpc-si(config-ctx)# ip pool pgw_nat_ps_int01 97.36.232.0 255.255.255.252 napt-users-per-ip-address 2 group-name pgw_nat_ps_int alert-threshold pool-free 20 clear 25 on-demand max-chunks-per-user 1 port-chunk-size 32256 nat-binding-timer 600  port-chunk-hold-timer 300

ダウングレードプロセス

port-chunk-hold-timer CLI キーワードを除外して ip pool CLI を再設定することをお勧めします。これは、port-chunk-hold-timer CLI キーワードを使用して設定を保存し、ダウングレードされたイメージで同じ設定ファイルを使用してリロードするときにダウングレードすると、ip pool CLI 全体が無視されるためです。

モニタリングおよびトラブルシューティング

ここでは、show コマンドとバルク統計を使用した、この機能のモニタリングとトラブルシューティングの方法について説明します。

show コマンドと出力

この項では、この機能をサポートするために使用可能な show CLI コマンドについて説明します。

show configuration

この show configuration CLI コマンドを使用して、多対 1 NAT 機能のポートチャンクタイマーの動作のサポートで使用可能な次のフィールドを表示します。

  • port-chunk-hold-timer :解放されたポートチャンクを NAPT IP プールで再利用できるようになるまでのタイムアウトを秒単位で表示します。

出力例

[local]qvpc-si# show configuration 
Config
  context egress 
    ip pool ipv4-private 10.0.0.1 255.255.0.0 private 0 srp-activate group-name int41 alert-threshold group-available 20 clear 25
    ip pool ipv4-static 11.0.0.1 255.255.0.0 static
    ip pool pgw_nat_ps_int01 97.36.232.0 255.255.255.252 napt-users-per-ip-address 2 group-name pgw_nat_ps_int alert-threshold pool-free 20 clear 25 on-demand port-chunk-size 32256 nat-binding-timer 600 port-chunk-hold-timer 300
  exit

show ip pool nat-realm

この show ip pool nat-realm CLI コマンドを使用して、多対 1 NAT 機能のポートチャンクタイマーの動作のサポートで使用可能な次のフィールドを表示します。

  • Port-chunk-hold-Timer in seconds :解放されたポートチャンクを NAPT IP プールで再利用できるようになるまでのタイムアウトを秒単位で表示します。

サンプル出力


show ip pool nat-realm 
      Group: pgw_nat_ps_int
           Pool: pgw_nat_ps_int01       97.36.232.0      255.255.255.252 
           Pool Status:       Good
           Pool Id: 3         
              Type:            NAPT                    Priority:   0        
              Group:                                   pgw_nat_ps_int
                 Used:            0                     Free:       2                              
                 Hold:            0                     Released:   0         
                 Limit Exceeded:  0                     Total Alloc Req: 0    
                 Total Rel Req:   2         
                    Recovered Alloc Req: 0          Alloc Req by Group:  2         
        User-Plane Id: N/A
        Virtual-FE Id: N/A
        User-Plane Id: N/A
        Virtual-FE Id: N/A
        Vdu group name:
           Number of Users Per-IP: 2
           IP Sharing: Disabled
           Shared IP Size: n/a
           Allocation Mode: On-Demand 
           Port Chunk Size: 32256
           Port Chunk Threshold: 100
           Maximum Number of Chunks per User: 1
           Minimum Number of Chunks per User: 0
           Nat-Binding-Timer: 600                                                                                          
           Send-Nat-Binding-Update: Disabled  
           Nexthop Forwarding Address: Disabled       
              Pool-Free Threshold:  20%                         Clear:  25%
              Pool-Used Threshold: Disabled                     Clear: Disabled
              Pool-Release Threshold: Disabled                  Clear: Disabled
              Pool-Hold Threshold: Disabled                     Clear: Disabled
              cip-local-pool-used Threshold: Disabled           Clear: Disabled
              cip-local-pool-in-use-addr Threshold: Disabled    Clear: Disabled
              Include-Network-Broadcast-Address: Disabled
              Port-chunk-hold-Timer in seconds: 300      
                   Group Summary:
                   Group Used:                         0
                   Group Free:                         2
                   Group Hold:                         0
                   Group Quarantine:                   0
                   Group Released:                     0
                   Group Effective Alarm Threshold %: Disabled
                   Group Effective Clear Threshold %: Disabled
                   Group Current Usage %:             0.00%
                   Group Status:                      Good

show active-charging nat statistics

show active-charging nat statistics は、次の出力を表示します。

[local]qvpc-si# show active-charging nat statistics 
Thursday March 09 23:30:21 EST 2023
NAT Realm Utilization:
---------------------
Realm Name:               pgw_nat_ps_int  Context:                        egress
Current IP Address-In-Use:           n/a  Total IP Address:                    2
Current Calls Using-Realm:           n/a  Current Port-Chunks Available:     n/a
Current Port-Chunks-In-Use:          n/a  Total Port-Chunks:                   4
Current Port-Chunks-On-hold     :    n/a
Port-Chunk size:                     n/a
Statistics:
  Total AAA alloc msgs sent:           0  Total AAA dealloc msgs sent:         0
  Total flows denied no IP:            0  Total flows denied no port:          0
  NAT44 flows denied no IP:            0  NAT44 flows denied no port:          0
  NAT64 flows denied no IP:            0  NAT64 flows denied no port:          0
  Total flows denied no memory:        0
  NAT44 flows denied no memory:        0  NAT64 flows denied no memory:        0
  Total bytes Transferred:             0  Total flows processed:               0
  NAT44 bytes Transferred:             0  NAT44 flows processed:               0
  NAT64 bytes Transferred:             0  NAT64 flows processed:               0
  Average TCP port usage:              0  Average UDP port usage:              0
  Average Others port usage:           0

Realm Name:             pgw_nat_ps_int01  Context:                        egress
Current IP Address-In-Use:             1  Total IP Address:                    2
Current Calls Using-Realm:             0  Current Port-Chunks Available:       3
Current Port-Chunks-In-Use:            0  Total Port-Chunks:                   4
Current Port-Chunks-On-hold     :      1
Total Reserved Port-Chunks:                                                    0
Current Reserved Port-Chunks-In-Use:                                           0
Current Available Reserved Port-Chunks:                                        0
Port-Chunk size:                   32256
Statistics:
  Total AAA alloc msgs sent:           0  Total AAA dealloc msgs sent:         0
  Total flows denied no IP:            0  Total flows denied no port:          0
  NAT44 flows denied no IP:            0  NAT44 flows denied no port:          0
  NAT64 flows denied no IP:            0  NAT64 flows denied no port:          0
  Total flows denied no memory:        0
  NAT44 flows denied no memory:        0  NAT64 flows denied no memory:        0
  Total bytes Transferred:            84  Total flows processed:               1
  NAT44 bytes Transferred:            84  NAT44 flows processed:               1
  NAT64 bytes Transferred:             0  NAT64 flows processed:               0
  Average TCP port usage:              0  Average UDP port usage:              1
  Average Others port usage:           0

Port-Chunks distribution:
Max no.of chunks used   Total no.of subscribers   Current no.of subscribers 
---------------------   -----------------------   ------------------------- 
         1                         1                          1

Ports distribution:
Max no. of ports used   Total no. of subscribers 
---------------------   -----------------------------------  
         [0-8]                         1

Total Realms: 2 

バルク統計

ここでは、バルク統計スキーマについて説明します。

NAT レルムスキーマ

NAT レルムスキーマは、NAT ポート チャンク ホールド タイマー機能のモニタリングと障害対応に使用できる動作統計情報を提供します。

表 3. NAT レルムスキーマのバルク統計変数
変数 説明

nat-rlm-port-chunks-on-hold

コンテキストごとおよびレルムごとに収集される、保留中のポートチャンクの合計数