DHCP(Dynamic Host Configuration Protocol) その1
目次
TCP/IPの設定
TCP/IPで通信をするためには、はじめにいろんなことを設定しなければいけません。ちょっと考えてみると、
- IPアドレス
- サブネットマスク
- デフォルトゲートウェイ
- DNSサーバのIPアドレス
などは、必ず設定する必要があります。もし、Windowsネットワークであれば、さらにWINSサーバの設定なども必要ですね。
これらの設定を少しでも間違えてしまうと、きちんと通信ができなくなってしまうかもしれません。
IPアドレスを間違えるともちろん通信できませんね。間違ったアドレスに向けて、一生懸命パケットを送っても届くはずがありません。サブネットマスクを間違えただけでも通信ができなくなってしまいます。データを送信するときには、基本的に自分に設定されているサブネットマスクを使って通信相手のネットワークアドレスと自分のネットワークアドレスを抽出して、相手が同じネットワーク内に存在しているのか、それとも違うネットワークに存在しているのかを判断します。同じネットワークにいれば、直接パケットを送ります。違うネットワークにいれば、直接通信できないのでデフォルトゲートウェイ(ルータ)に送ることになります。サブネットマスクを間違えてしまうと、通信相手の場所を判断できずに通信ができなくなってしまうかもしれません。(ただ、まったくできなくなるわけじゃないです)
デフォルトゲートウェイのアドレスを間違えてしまうと、違うネットワーク上にいるコンピュータと通信することができなくなってしまいますね。
また、DNSサーバのIPアドレスの設定を間違えると、ホスト名を使った通信ができなくなるのでとてもめんどくさいです。ホームページのアドレスなどが、http://www.・・・というものを使えなくて、http://210.100.・・・などのように指定しなくてはいけなくなります。
自動設定したい!
このようにさまざまな設定があれば、どうしても設定の間違えという可能性が出てきます。パソコンを使う人みんなが、ちゃんと設定の意味をわかっているわけではないので、(メルマガ読者のみなさんは、設定の意味もわかってくださいね!)管理者に言われたとおりに設定しているだけでは、やっぱり間違いの可能性も大きくなってしまいますね。そして、設定の間違えのたびに管理者が呼ばれて、トラブルの対応に時間をとられる・・・そんなことばかり重なれば、管理者のほかの仕事も止まってしまいますね。
じゃ、当然、なんとかしてこんな設定を自動的に行う方法がないのか?と考えたくなるのが普通です。
これまでに下のようなプロトコルが考え出されて、TCP/IPの自動設定を行っています。
- RARP(Reverse ARP)
- BOOTP(Bootstrap Protocol)
- DHCP(Dynamic Host Configuration Protocol)
下のプロトコルほど新しいプロトコルです。ただし、RARP、BOOTPではIPアドレスしか自動設定できません。
RARPはARPの逆という意味です。ARPというのは、IPアドレスからMACアドレスを求めるためのプロトコルでした。この逆ということは、MACアドレスからIPアドレスを求めるために使います。このプロトコルを利用して、RARPサーバにMACアドレスとIPアドレスの対応を登録して、クライアントに対してIPアドレスを配布することができます。
RARPを発展させて、BOOTPが開発されています。ただ、このBOOTPもまだまだ機能的には不十分なのでさらにDHCPを開発しています。現在、一般的にDHCPが利用されています。
DHCPでは、RARPやBOOTPのようにIPアドレスだけでなく、サブネットマスクやデフォルトゲートウェイ、DNSサーバのアドレス、さらにはWINSサーバのアドレスなどTCP/IPの設定に必要な項目をすべて自動的に設定することが可能です。