address-hold-timerの設定について説明します。
ip pool <pool_name> <ip_address/subnet_mask> address-hold-timer <seconds>
上記のように設定すれば、Subscriberが(一旦切断した後)address-hold-timerに
設定してある秒数(seconds)以内に、再度接続しようとする時、システムから同じIPをアサインされます。
ここまでは理解しやすいものですが、このタイマーが切れたら、該当のIPがすぐ他のSubscriberにアサインできる、
とよく誤解されます。
実際このタイマーが切れたら、対象のIPアドレスが“hold” 状態から “release”状態に移ります。
そのSubscriberがタイマー切れの後に再度接続しに来たら、システムが
“release” 状態にあるIPをチェックし、以前利用した同じIPをアサインします。
また、利用可能なIPが“free” と“release”の二種類により構成されていて、
“free”のIPが全部アサインされてから、“release”のIPがアサインされます。
これにより、大量なSubscriberが接続しに来た場合、この“release”のIPが他のSubscriberに
アサインされる可能性があります。
最後に、このaddress-hold-timerの設定がない場合、LRU (least recently used)と呼ばれる方法で、
IPアドレスがSubscriberにアサインされます。IPアドレスが若番から順にアサインされて、解放されたものが一番最後に戻る
という方法です。
以下は、関連コマンド出力のサンプルとなります。
---------------------------------------
[SGi]asr5k_ocs_pgw# show ip pool address pool-name pool_test release
+-------- (B) Busyout
|
|+------- (F)-FREE (U)-USED (H)-HOLD (Q)-QUARANTINE (R)-RELEASE
||
+------ Quarantine
|
|| Address NAI/MSID Hash Hold/Qrntn Timer/ Session Start/Disconnect
|| Session ID
vv ============== ================ ================ =========================
Pool: pool_test
R 100.102.0.1 b45262bdb289ff57 - Tue Dec 17 07:16:13 2013
R 100.102.0.2 30b770e0b3b938df - Tue Dec 17 07:24:36 2013