「Dynamic Host Configuration Protocol」の版間の差分
削除された内容 追加された内容
Client Identifierのことと思われるが、uidと言う呼び方は一般的ではないため削除。 |
編集の要約なし |
||
3行目:
'''Dynamic Host Configuration Protocol'''(ダイナミック ホスト コンフィギュレーション プロトコル、'''DHCP''')とは、[[コンピュータ]]が[[コンピュータネットワーク|ネットワーク]]接続する際に必要な情報を自動的に割り当てる[[プロトコル]]のことをいう。
この項目においては [[IPv4]] のための DHCP である DHCPv4 を中心として説明し、最後に [[IPv6]] のための DHCP である [[DHCPv6]] について補足す
== 概要 ==
DHCP は [[Bootstrap Protocol|BOOTP]] の[[上位互換]]であり、メッセージ構造などは変わっていない。DHCP では、BOOTP に比べて自動設定できる情報が増え、より使いやすくなっている。
一方、[[ダイアルアップ接続]]や[[ADSL]]、[[FTTH]]では、[[Point-to-Point Protocol|PPP]]([[PPPoE]])により設定を行うのが一般的だが、[[Local Area Network|LAN]]型のネットワーク構成をとりDHCPを用いているISPも一部に存在する。
== 自動設定できる情報の例 ==▼
▲== 自動設定できる情報の例 ==
DHCPには、Optionという機能があり、様々なネットワーク情報をDHCPクライアントに配信することが可能である。これにより、DHCPクライアントはIPアドレスだけでなく多くのネットワークパラメーターを自動設定することができる。いずれも、クライアントとサーバの双方が対応している必要がある。
23 ⟶ 25行目:
== 原理 ==
DHCP[[サーバ]]側で、あらかじめDHCP[[クライアント]]用に[[IPアドレス]]をいくつか用意しておき(アドレスプール)、DHCPクライアントの要求に応じて、この中から一つのIPアドレスを割り当てる(リースと呼ばれる)。
IPアドレスの割り当てを要求するDHCPクライアント([[ノートパソコン]]など)が物理的にネットワークへ接続されると、宛先IPアドレスが「255.255.255.255」の[[ブロードキャスト]]のUDPパケットを送出する(DHCPDISCOVER)。このパケットを受信したDHCPサーバは、前述のプールからリースアドレスの候補を選択し、クライアントのMACアドレス向けに返信する(DHCPOFFER)。候補を受け取ったクライアントは、その候補が自身のブロードキャストドメイン内で使用されていないかを確認し(多くは[[Address Resolution Protocol|ARP]]を使用し確認する)、DHCPサーバーに候補アドレスの使用承認を依頼する(DHCPREQUEST)。使用承認の依頼を受けっとったDHCPサーバーは使用承認(DHCPACK)を送信すると同時に、リース済みのIPアドレスとリース先のMACアドレスのテーブルを作成管理する。
これにより、多数のクライアントをネットワークに接続する際、クライアントごとにネットワーク設定を手動で行う必要がなくなり、また、ノートPCなどを複数の場所でネットワークに接続する場合にも、ネットワーク設定を手動で切り替える必要がなくなるため、手間を削減できるメリットがある。
31 ⟶ 33行目:
問題点としては、DHCPサーバの設置が容易なため、混乱が起きやすい。例としてはコンシューマ用のブロードバンドルータをDHCPサーバ機能が有効なまま、既存のDHCPネットワークに接続してしまうと、DHCPクライアントが間違ったアドレスを取得してしまう問題が起きる。フリーソフトのDHCPサーバアプリケーションを実行することも同様である。
また、許可されていないPCをDHCPネットワークで安易に使用されないようにする運用が、セキュリティ上必要になってくる。ルータやアプリケーションは、動作デフォルトを適切にすることにより、ある程度の影響を回避することはできるが、検疫ネットワークの導入や、L2スイッチ([[ブリッジ (ネットワーク機器)|ブリッジ]]など、[[OSI参照モデル]]の[[データリンク層]](レイヤ2)で動作する機器)でのフィルタリングが有効な対策手段となっている。逆に考えると、検疫ネットワークの導入に伴って、DHCPサーバ設置数が増えているのが現状である。
== サーバの実装 ==
91 ⟶ 93行目:
== 関連 RFC ==
* RFC 951 - BOOTSTRAP PROTOCOL (BOOTP)
* RFC 1542 - Clarifications and Extensions for the Bootstrap Protocol
|