簡単に言えばDHCP動的ホスト構成プロトコルは、UDPプロトコルの4に基づいて、自動的に機能のIPアドレスを取得するために提供されます。
このプロトコルのワークフロー全体の次の説明:
(1)クライアントは、発見パケット、2〜3ブロードキャストパケット、すべて0のIPの送信元アドレスを送信します。
(2)サーバがIPアドレスを見つけ、発見パケット、IPアドレスの割り当てを受け、そして時に検出を行うが、検出ARP変換
このアイドルIPアドレス、パケットグループ提供した後、内部IPアドレス、クライアントのMACアドレス、リース期間および他の情報と、クライアントに送信されます。
(3)(通常は最初の)応答を選択して、サーバーに要求メッセージを送信します提供のメッセージを受け取った後、クライアントにもなります
ARPプローブ、およびときそこにIPアドレスの競合は、IPアドレスの使用を終了するには、サーバーに拒否メッセージを送信し、その後発見を再送信します。
(4)サーバーは、クライアントがACKを受信した後、パケットアドレスACK確認を送信し、IPアドレスの使用を開始します。
---上記のプロセスメッセージが放送されています。
(5)クライアントは、そうでない場合は、リースの期限が切れる、首尾よく使用し続け、リース期間、IPアドレスの更新の1/2と3/4の時間を開始しようとします
使い続けることができない、あなたは、IPアドレス、および再送発見をキャストする必要があります。
(6)クライアントは、IPアドレスの使用を放棄するために、いつでも解放メッセージを送信することができます。
私たちは、サーバーの下の実装上の問題のいくつかに焦点を当てます:
1ビット配列を確立する、またはパーティションビット・アドレス・タグ・アレイに分配することができません。
腐ったリアライズを比較した後、それぞれが最初に発見要求、ランダムなアドレスを受信し、各アドレスを見つけるために、リストをリースすることで、
リースが分配されるかどうかを確認するには、より良いパフォーマンスを開始しますが、ときに割り当てられたアドレス時に限界に近い、そこをn * n個トラバーサルます
大幅にパフォーマンスに影響ケース、。
使用ビット列は32で、それぞれ、反復処理する方法を指示0xffffffffの範囲を見つけることができませんし、その後ビットに従ってアイドルを探し、アドレスを保持します
ビット、それによって空きアドレスを決定するステップと、のみN / 32トラバーサルの最大、性能が大幅に向上します。
2.最も古いリース:
時には、クライアントかもしれ組立ラインオフし、サーバのアドレスプールは、最大使用されている場合は、この時点でサーバーに通知していなかった、あなたは最も早く選択することができます
すでに使用されて、IPアドレスが新しいクライアントに割り当てられている場合、検出のためのIP ARPうち、リースが割り当てられ、ここのリストをリースに関する
メンテナンス、更新またはこうして最初のノードへの直接アクセスを確実に、各補間方法は尾を使用していることを確認良好追加は、必ずしも最も古いリース、短縮され
トラバーサル時間。
3.arpアンチコリジョン:
ARPは、ここでの競合を入れて、同じIPアドレスの検出を防ぐために、まず、ARPキャッシュのアドレス情報の一部を保存するために主にARPを送信しました。
タイムアウトがまだメッセージを送信するために競合が検出されない、提供された場合、衝突防止が正常にタイマーを使用することになり、ARP、そうでない場合は、継続する必要性が見に
利用可能なIPアドレスは、ビット配列でマーキング紛争必要がある場合、以前の競合を検出できない次のノートのアドレスを見つけます。
4.offerボーエンとACKパケットの処理リース:
送信オファーは、それがACK正式なリースの伝送なるリースに挿入リストtmplease、割り当てすなわちタグを生成する際に、
既存のIPアドレスの提供は、元のリースのアドレスを削除して再追加する場合には、特定のテストツールで例外
ツールは、ARP応答しないので、それが削除され、シナリオは、IPアドレスが発見に、この時間を割り当てられており、競合が検出されません
リース、送信のオファーオフ、彼はリースで、その結果、IPアドレス、そうではない応答があったことを発見が誤って削除されたが、これは下部ケースヘクタールにつながることができます
同期異常な状況のいくつかの。