このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

DHCPのリリース時間の最適値

発言者:美音
( Date Wednesday, January 21, 2004 16:30:45 )


DHCP使ってる方に質問なんですが、IPのリリース時間ってどれくらいに設定
していますか?
すごい初歩的な質問かもしれないのですが、短すぎたり、長過ぎたりする
メリット、デメリット有れば知りたいです。

美音 さんからのコメント
( Wednesday, January 21, 2004 17:15:23 )

ちなみに、我が社は1時間になってました。短いかなぁ。

長官 さんからのコメント
( Wednesday, January 21, 2004 17:31:16 )

100個プールがあって、DHCPクライアントが100台以下なら24時間でも
何でもいいわけで。

リース出来るIPアドレス数とクライアント数の比率によるのでは?

ちなみにISC DHCPのmanでは

貸し出し期間
       DHCP  貸し出し期間は、0 秒から無限までの、ほとんどあらゆる
       長さにできます。あるサブネットに対して、あるいは導入された
       システムに対して、どのような長さが良いかは、サービスを受け
       るホストの種類によって異なります。

       例えば、システムが時々追加/削除されるが、移動することは あ
       ま りないようなオフィス環境では、貸し出し期間は 1 か月より
       長くしておくのが良いでしょう。組み立てフロアの最終テスト環
       境では、最大貸し出し期間は 30 分程度 (すなわち出荷前の簡単
       なネットワーク動作確認テストに充分なくらい) にしておくのが
       いいでしょう。

       貸 し出し期間を 2 種類指定することもできます。クライアント
       が特に貸し出し期間に関する要望を送ってこなかった場合 の デ
       フォ ルトの期間と、最大貸し出し期間とです。これらは subnet
       コマンドの内部項目として指定します。

            subnet 239.252.197.0 netmask 255.255.255.0 {
              range 239.252.197.10 239.252.197.107;
              default-lease-time 600;
              max-lease-time 7200;
            }

       この subnet 宣言では、デフォルトの貸し出し期間を  600   秒
       (10  分)、最大貸し出し期間を 7200 秒 (2 時間) にしてありま
       す。他に良く使われる値としては、86400 (1 日)、604800 (1 週
       間)、 2592000 (30 日) などがあります。

       各サブネットに別々の貸し出し期間を指定してもかまいません。
       オフィス環境と組み立て環境とを同じ DHCP サーバにサービスさ
       せ るような場合には、各サブネットのデフォルト/最大貸し出し
       期間それぞれに、大きく異なる値を指定するのが良いこともある
       でしょう。

となってます。



美音 さんからのコメント
( Wednesday, January 21, 2004 22:09:50 )

DHCPの挙動について、実はよく分かっていないんですが
リリース時間というのは、一度IPが割り振られたPCが次回アクセス時にも
同じIPを割り振られる期間と考えていいんでしょうか?
例えば、リリース期間が24時間なら同じマシンが、LANにアクセスした時
同じIPが振られるって事ですよね。

長官 さんからのコメント
( Wednesday, January 21, 2004 22:29:47 )

>DHCPの挙動について、実はよく分かっていないんですが

RFCをお読みになってはいかがでしょう。


→  RFC2131

Bryan さんからのコメント
( Wednesday, February 18, 2004 10:35:01 )

はじめまして。

>DHCPの挙動について、実はよく分かっていないんですが
>リリース時間というのは、一度IPが割り振られたPCが次回アクセス時にも
>同じIPを割り振られる期間と考えていいんでしょうか?

必ずしも同じIPアドレスが割り振られるわけではありません。
動的割り当ての場合は、期限切れとなったアドレスを再利用する特性を持っていますので、以前使用していたIPアドレスが他のホストに割当てられる可能性があります。
ただし、DHCPサーバはアドレスリース情報(過去のアドレス割り当て履歴)を保持していますので、基本的にはその履歴をもとに以前割当てたIPアドレスを払い出そうとします。


>例えば、リリース期間が24時間なら同じマシンが、LANにアクセスした時
>同じIPが振られるって事ですよね。

上述のとおり、基本的には同じIPが振られる可能性が高いです。

shiro さんからのコメント
( Friday, February 20, 2004 14:09:37 )


リース期間というのは、「あるIPを割り当てられた時、それを使用してもいい時間」です。

release ではなく lease なのにご注意を。(何で誰も指摘しないのか不思議でならないのですが)
なお、Mac OS X Server の「サーバ管理」では「リース期間」という訳があてられております。

DHCPでIPアドレスを割り当てられたクライアントは、割り当てられた時からその時間が過ぎる
まで、そのIPアドレスを利用をしてもいいという事です。

DHCPのクライアントは往々にしてIPアドレスの返却を行わない為、この時間が過ぎたら未使用
とみなされるという事です。
なお、この時間が過ぎてもクライアントが存在した場合、クライアントはサーバと対話し、IP
アドレスの貸し出し延長を試みます。

これだけ分かれば、どれぐらいの時間を割り当てるべきかの判断が可能でしょう。例えば、
長官さんが言うように「100台以下のクライアントに100個のIPプールが用意されている」
のならば、あふれる心配はないので何時間にしても問題はないでしょう。

同時に使われるのは数十台程度だが、大量の機材が接続されうる学校教室や会議室などでは、
接続されうる数ではなく、同時に使われると思われる台数だけのIPを用意する事が現実的です。
そうした場合、あまり長いリース期間を指定すると「存在しなくなった機材にIPを喰われた
まま」になる可能性が高くなります。


リース期間を短くすれば頻繁に IPアドレスの延長処理がいくので(さしたる問題ではないかも
しれませんが)ネットに流れるDHCPのパケットが増える事になります。

ここらへんのサイジングはDHCPサーバの持つ、プールの中のIPアドレスの数とそのプールを
使用する台数(同時に使用されうる数と、潜在的に使用しうる数の双方)、それからその使用
目的に、依存します。

なので一概には言えませんが、私ならとりあえず「2時間」で様子を見て、IPアドレスが足り
ないという苦情がきたら、利用状況を見つつIPを増やすかリース期間を縮めるかで対処します
かね。


なお、リースの延長処理はともかく、一旦リース期間が過ぎて(延長処理がされず)貸し出しが
無効になったり、あるいは返却処理がなされた後で、改めてIPアドレスの取得をかけた時に同
じIPアドレスが帰ってくるかは実装依存です。こういう時、クライアントはできるだけ過去
にもらったIPアドレスが差異割り当てされるようにDHCPサーバに要望しますが、それがきき
いれられるとは限らないからです。

もちろん、過去の履歴を持つかどうかも実装依存で、それはDHCPサーバとしての必要な仕様
ではありませんし、履歴があるから同じIPが割り当てられるとは限りません。

同じ(固定的な)IPアドレスが必要ならば、DHCPを使わないかDHCPの設定でそうなるように
指定すべきであり、動的な割り当てをしておきながら同じIPアドレスが来る事をアテにしては
いけません。