本文とサイドメニューへジャンプするためのナビゲーションスキップです。

スタートアップガイド

J-Net21 中小企業ビジネス支援サイト

  • J-Net21とは
  • スタートアップガイド
中小機構
  • メルマガ登録
  • RSS一覧
  • お問い合わせ

HOME > 製品・技術を開発する > デジ・ステーション

デジ・ステーション


初級ネットワーク講座
第10回 DHCPの機能と役割

ネットワークを構築する際には、すべてのクライアントにIPアドレスを割り当て、各クライアントは割り振られたIPアドレスをそれぞれ設定しなければならない。しかし実際には、PCをLANケーブルにつなぐだけで、何の設定もしなくても当たり前のようにネットワークにつながってしまうことも多い。これは、DHCPによって、IPアドレスの割り当てが自動で行われているからだ。今回は、クライアントの要請に応じて適切なIPアドレスを自動で割り当てるDHCPの機能と役割、またDHCPサーバの仕組みを解説する。さらに、その応用技術であるMACアドレスの集中管理や、不正PCブロック機能なども解説する。

1 DHCPとDHCPサーバ

1-1 アドレスは誰が決める?

これまで見てきたように、ネットワークの世界では、通信相手を識別するために、住所のような役割を果たす様々なアドレスを用いて通信を実現している。現実世界でも、あて先不明だと郵便物を届けられないし、住所不定では訪ねていくこともできないが、ネットワークの世界でもそれは同じだ。
 IPアドレスや、前回学んだMACアドレスは、ネットワークの世界におけるアドレスの代表的なものであるが、誰がどうやってこれらのアドレスを決めているのだろうか。
 MACアドレスは、前回学んだ通り、ネットワークインターフェース製品のメーカーが決めるもので、製品の製造時にROMに焼き付けられ、同じアドレスは2つとない。また、ネットワークインターフェース製品の寿命が来るとそのMACアドレスは永久欠番となる。
 一方、IPアドレスは利用者側組織のネットワーク管理者など利用者が決めるものだ。IPアドレスをはじめとする通信に必要な情報の設定方法は、主に2通りある。

 (1)PCごとに利用者が手操作で設定する
 (2)DHCPサーバを用いて、PCの起動時にDHCPサーバから割り当てられたIPアドレスなどの情報を自動的に設定する

(1)の場合、各通信機器のIPアドレスが固定化されるが、以下のようなデメリットがある。

 ○PCを設定する者がある程度ネットワークやPCに精通している必要があること
  〜Windowsの場合、プロパティでIPアドレスなどを設定しなければならない
 ○PC1台1台個別に設定しなければならないこと
 ○設定ミスで通信不能になりやすいこと 〜IPアドレスの重複設定など
 ○アドレスが管理しにくいこと
 ○PC利用者がPCを持ち運ぶ場合、ネットワーク環境が変更されるつど設定変更しなければならないこと

(2)の場合は、DHCPサーバで一元管理できるため、上記デメリットの解消が可能である。

一般に、サーバ類のIPアドレスは、固定である必要があるため(1)の方法で設定する。一方、エンドユーザが利用するPCのIPアドレスの設定には、(2)のDHCPサーバを用いた方法が取られる。

1-2 DHCPとは?

IPアドレスなど、通信に必要な情報のやりとりにはDHCP(Dynamic Host Configuration Protocol)というプロトコルが用いられる。通信に必要な情報を割り当ててほしいPCなどの通信機器は、DHCPでDHCPサーバに対して要求を出す。また、DHCPサーバは、あらかじめ設定しておいたIPアドレスなどの通信に必要な情報を、DHCPでDHCPクライアントであるPCなどの機器に対して割り当てる。

ダンプコードを2進法に換算する

PCに設定されているIPアドレスなど、ネットワーク環境や通信に関する設定状況は、Windowsの場合、コマンドプロンプトで「ipconfig」コマンドを実行すれば確認できる。
 まず、PCからLANケーブルを抜いた状態で、「ipconfig」コマンドを実行してみよう(図1)。「Media disconnected」と表示され、接続されていないことがわかる。
 次に、PCにLANケーブルを差した状態で、「ipconfig」コマンドを実行してみよう(図2)。

図1 ケーブルを抜いた状態でipconfigを実行 図2 ケーブルを差した状態でipconfigを実行

図1 ケーブルを抜いた状態でipconfigを実行       図2 ケーブルを差した状態でipconfigを実行

 「IP Address. . . . . . . . . . . . : 192.168.0.101」
 「IP Address. . . . . . . . . . . . : fe80::20b:97ff:fe2c:ed71%4」

と2つのIPアドレスが表示され、IPアドレスがきちんと割り当てられ、設定されたことがわかる。上段はIPv4のIPアドレス、下段はIPv6のIPアドレスである。

それでは次項から、PCがDHCPサーバからIPアドレスなどの通信に必要な情報をどのように取得しているのかを見ていく。なお、IPv6については今後の講座で詳しく述べることにし、今回は基本となるIPv4のアドレスをもとに説明する。

コラム:ipconfigマメ知識その(1) 設定情報をもっと詳しく
 コマンドプロンプトで、「ipconfig -all」または「ipconfig /all」を実行すると、さらに設定内容の詳細を見ることができる。

図3 ケーブルをさした状態(詳細)

1-3 「ネトワク村の昼下がり」(DHCPの仕組み)

ここで、ネットワークを1つの「村」に見立て、そこへ新たに引っ越してきた「パケベ」が、新しい住所を手に入れるまでの様子を、寸劇仕立てでお見せしよう。

ここはネトワク村(*1)、この村には十数軒の家(*2)がある。各家には妖精(*3)が棲みついている。
  ネトワク村に新しい家ができた。この家の住人は、パケベ(*4)。パケベは家を建てたものの、住所が決まっていない。
  自分で住所を決めてもいいのだが、この村では、誰かが各家の住所を決めているらしい。   そのことはパケベも知っているのだが、パケベは越してきたばかりで、誰が決めているのかわからない。
  そこで、パケベは村中のみんなに聞こえるように(ブロードキャスト)、大声を出してみた。

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


1. パケベ「村のみなさん、私に住所(IPアドレス)をください!」 ←DHCP Discover(探索)

それを聞きつけたのは、村の長老(*5)だった。
 長老は、ネトワク村の村長(*6)から、ネトワク村に住む人たちに、あらかじめ1番地から50番地までの住所(IPアドレス)を割り当てるよう言われていた。
 そこで、まだ割り当てられていない番地(*7)の中から1つの番地、23番地を取り出した。

そして長老は、パケベひとりに向かって(ユニキャスト)、語りかける。

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


2. 長老「おー、パケベというものか、よくこの村にきたのぉ。お前の住所(IPアドレス)は23番地じゃ、他にここに住むのに必要な情報は、これじゃ」

パケベは、再び、村中のみんなに聞こえるように(ブロードキャスト)、大声を出してみた。

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


3. パケベ「村のみなさん、私の住所(IPアドレス)は23番地になりました!」 ←DHCP Request(要求)

それを聞きつけた長老は、パケベだけに向かって(ユニキャスト)、語りかけた。

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


4. 長老「おー、パケベ、了解じゃ」 ←DHCP Ack(肯定応答)

こうして、無事にパケベは住所を手に入れ、ネトワク村で末永く幸せに暮らしましたとさ。

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


(*1)ネトワク村:1つのネットワーク、ブロードキャストドメインともいう。
  (*2)家:ネットワーク機器
  (*3)妖精:ネットワーク機器のインターフェースに棲む
  (*4)パケベ:MACアドレス
  (*5)長老:DHCPサーバ
  (*6)ネトワク村の村長:ネットワーク管理者
  (*7)番地:IPアドレス

1-4 DHCPの様々な機能

前項で見てきたように、DHCPサーバはネットワーク内のクライアントの要請に応じて、適切なIPアドレスを与える役割を担っている。なおDHCPサーバは、単体で置かれていることよりも、ルータやデフォルトゲートウェイ、ファイアウォールなどのネットワーク機器に、DHCPサーバ機能として内蔵されていることが多い。
 次に、DHCPサーバの機能について、さらに詳しく見ていこう。

貸出期限

DHCPサーバは、あらかじめ設定しておいたIPアドレスなどの通信に必要な情報をDHCPクライアントであるPCなどの機器に対して割り当てる。DHCPサーバは、DHCPクライアントに対して、IPアドレスを貸し出す(Lease)という考え方で、貸出期限を持たせている。
 DHCPクライアントは、貸出期限を過ぎてしまうと割り当てられたIPアドレスが使えなくなってしまう。そこで、貸出期限が近づくとDHCPクライアントは、DHCPサーバに対してDHCP Requestを出し、再割り当てを要求する。

コラム:ipconfigマメ知識その(2) 貸出期限をチェック
 IPアドレスの貸出期限も、「ipconfigコマンド」で確認できる。
 Ipconfigを実行した際、「Lease-Expires」の後に表示される日時が、その貸し出し期限である。
もし貸出期限内にアドレスを返却したい場合は、以下のコマンドで可能である。
 
> ipconfig -release[Enter]
 
ただし、このコマンドを実行すると通信に関する設定を解除してしまうので通信不能となる。
  そこで、あらためて以下のコマンドを入力するとDHCPサーバから再び割り当てがなされ、通信可能となる。
 
> ipconfig -renew[Enter]
DHCPサーバの二重化

DHCPサーバが障害等で正しく機能しなくなった場合、IPアドレスなどの通信に必要な情報が割り当てられなくなるので、そのネットワーク内のPC全体が通信不能となってしまう。DHCPサーバで一元管理できることはメリットではあるが、逆に1台の障害がネットワーク全体の障害へとつながるというデメリットもある。それを避けるため、1つのネットワーク内に複数のDHCPサーバを設置することが推奨されている。

例えば1つのネットワークにDHCPサーバが2台ある場合、1つのDHCP Discoverに対して2つのDHCP Offerが帰ってくる。DHCPクライアントは、提供された2つのIPアドレスのうち、どちらか一方を選択することになる。それがDHCP Requestである。
 DHCP Requestがブロードキャストになっている理由は、1つのパケットで、決定したIPアドレスを提供したDHCPサーバに対してRequestすると同時に、もう一方のDHCPサーバに対して同時にお断りをするためだ。

DHCPの留意点

単一のDHCPサーバ内ではIPアドレスを重複割り当てしないように自動的に管理している。しかし1つのネットワークにDHCPサーバを二重化して配置しても、DHCPサーバ同士では連携を取っていない。したがってネットワーク管理者は、あらかじめ各DHCPサーバに対して、プールするIPアドレスの範囲が重ならないように指定しなければならない。

  【割当範囲例】
  DHCPサーバX 192.168.1.128〜192.168.1.159
  DHCPサーバY 192.168.1.160〜192.168.1.191
  DHCPサーバZ 192.168.1.192〜192.168.1.223

しかし、以下の例のようにネットワーク管理者が誤って設定したとしよう。

  【割当範囲例(誤り)】
  DHCPサーバX 192.168.1.128〜192.168.1.169
  DHCPサーバY 192.168.1.160〜192.168.1.191
  DHCPサーバZ 192.168.1.192〜192.168.1.223

DHCPサーバXとDHCPサーバYで160〜169の間が重複している。このような設定をした場合、以下のように、同じIPアドレスが異なるDHCPクライアント(PC)に割り当てられてしまう可能性がある。

  PC-A 191.168.1.159←DHCPサーバXから割り当て
  PC-B 191.168.1.160←DHCPサーバXから割り当て
  PC-C 191.168.1.160←DHCPサーバYから割り当て

PC-B、PC-CのIPアドレスが同じになるので双方ともに通信不能となる。
 それを防ぐため、DHCPクライアントではDHCP AckでIPアドレスが確定したのち、自分自身に割り当てられたIPアドレスが、先に別のDHCPサーバから割り当てられたDHCPクライアント(PC)が存在しないかどうかを確認する。
 同じIPアドレスの重複割り当ての確認はARPというプロトコルを用いるが、これについては次号で詳しく説明する。
 DHCPによるIPアドレス取得には多少の時間を必要とする。

DHCPの集中管理

DHCP Discover、DHCP Requestともにブロードキャストパケットである。ブロードキャストパケットは、ルータで遮断されるので、ネットワークを超えることができない。すなわち、DHCPサーバによる割り当てを必要とする場合、DHCPクライアントと同一のネットワーク内にDHCPサーバが存在しなければならない。
 例えば、ある企業が、本社・各支店ごとに独立したネットワークで構成される場合、ネットワークごと、すなわち本社・各支店ごとにDHCPサーバを設置しなければならない。本社にはDHCPサーバを管理する要員を常時配置可能であろうが、多くの場合、コスト的にみて各支店にDHCPサーバを管理する要員を配置することは難しい。そういった場合、本社で集中管理することが可能である。

主な方法は以下の2通りある。

  ○各支店にDHCPサーバを設置せず、本社のDHCPサーバだけで一元管理する
  ○各支店にDHCPサーバを設置して、本社から管理する

前者の場合、各支店のルータにDHCPリレーエージェント機能を持たせる。
 各支店のルータは、DHCPクライアントから見れば、DHCPサーバに見える。DHCPクライアントからのDHCP Offer、DHCP Requestなどのブロードキャストパケットを本社のDHCPサーバ向けのユニキャストパケットに変換して転送する。
 これによって少ない台数のDHCPサーバで、しかも一元的に管理することができるが、一方でルータの負担が増加し遅延の原因となるという問題がある。

後者の場合、DHCPサーバをクラスタ化し、複数のDHCPサーバを一群(または複数群)のシステムとして集中管理する。
 本社のネットワーク管理者は、DHCPクラスタサーバのツールやスコープを使用して、各支店のDHCPサーバの監視、遠隔操作、ログファイルによる各種統計情報の収集が可能である。

【次号予告】
 通信ネットワーク上で目的の機器と通信をするためには、ホスト名からIPアドレスを割り出す、または、IPアドレスからMACアドレスを割り出すなどの「名前解決」が必要である。名前解決技術には数種あるがそのうちの1つであるARPと異なるネットワークとの接続に必要なデフォルトゲートウェイについて説明する。
 あわせてOSI参照モデルの第2層データリンク層、第3層ネットワーク層の機能についても説明する。

取材協力 :株式会社アイテック

掲載日:2008年12月10日

キーマンズネット

出典元:株式会社リクルート キーマンズネット 2008年8月5日掲載分

検索

このページの先頭へ