インターネットを中心としたネットワークは広く一般に利用されるようになり、最近の若い人たちの中には、物心ついてから電話よりも先にインターネットを使うといった人も少なくないのではないでしょうか。
電話もネットも同じ通信手段ではありますが、電話での通信には「相手の電話番号が必要」という大きな違いがあります。ネットでも電話場合に相当するIPアドレスという固有番号がありますが、利用者の多くはそのことをほとんど意識せずに済んでいます。
電話とネットの大きな違いである「番号の自動割り当て」をしてくれているDHCPについて知ることで、私たちの使っているネットワークの世界を身近に感じることができて、一層理解を深めることができるでしょう。
DHCPは自動割り当てをするもの
DHCPとはディーエイチシーピーと読み、英語のDynamic Host Configuration Protocolの頭文字となっています。冒頭にも少し触れましたが、DHCPはネットワークの諸設定(Host Configuration)を自動で(Dynamicに)割り当てをするプロトコル(Protocol)です。
割り当てられる諸設定の中には、ネットワークにおける電話番号に相当するIPアドレスが含まれます。その他には、サブネットマスクやデフォルトゲートウェイ、DNSサーバーといった情報が含まれます。
DHCPのサービスを受けたパソコンなどの通信機器は、ネットワークに接続されると自動で通信可能な状態となり、同ネットワーク内の機器との通信や、ルーターを通してインターネット上のウェブサイトなどを閲覧可能な状態となります。
電話を使った通信の場合、相手の電話番号を知らななければ通信が不可能なことは常識ですが、携帯電話の普及に伴って、電話帳に登録された「名前だけ」で電話をかけることも多くなって、電話番号を意識する機会は減っているのではないでしょうか。ネットワークでは最初から「IPアドレスは有るけど意識しなくても良い」ように世界が構築されています。相手の名前(URLなど)からIPアドレスに変換する機能はDNS、自分の番号を自動割り当てする機能をDHCPと呼びます。
DHCPやDNSの働きにより、ネットワークを利用する人は、ほとんどの場合IPアドレスのことを意識する必要がありません。
DHCP機能はルーターなどの機器で提供される
そんな便利な機能であるDHCPは、通常はルーターなどの通信機器によって提供されます。
最近では家庭内で無線LANを使えるようにするために使われることも多くなったルーターですが、元々はネットワークのルーティングをするための機器です。ルーターによって提供される機能は多くありますが、DHCPはその中でも特に利用頻度が高い機能と言えるでしょう。
DHCP機能が有効となった状態のルーターに対して、パソコンなどの機器を接続すると、自動でIPアドレスなどが割り当てられて、ルーターを経由して外部のネットワークとの通信が可能な状態に設定されます。購入したばかりのルーターは通常DHCP機能がONの状態となっていて、設定画面などでDHCP機能をOFFにすることができるようにもなっています。
もしもDHCP機能がなかったら、ルーターに接続した後で、パソコンなどの機器で自分のIPアドレスやデフォルトゲートウェイ、DNSサーバーの設定などを行って初めて通信が可能な状態となります。無線LAN経由で接続した携帯電話や携帯ゲーム機なども同様の設定が必要となるため、大幅に利便性が低下することになるでしょう。
IPアドレスは手動で設定も可能
DHCPは自動でIPアドレスを割り当ててくれるため便利なのですが、固定でIPアドレスを割り当てたい場面もあります。ネットワークに参加する目的が、ネットワークの利用だけであれば自動でも問題ないのですが、ネットワークに参加している機器に対してサービスを提供する場合は、自分に対して特別な番号を割り当てなければ、自分を特定することが難しくなってしまいます。
DHCPを利用しているネットワーク内でも、手動で固定のIPアドレスを設定することは可能です。
ただし、自動で割り当てられているIPアドレスと重複してしまうと、大問題です。これは「同じ電話番号が2つ」存在している状態であり、電話をかけたらどちらと繋いで良いのか分からないという状態です。ネットワーク上でもこの状態は想定外で、相手に繋がらなくなったり、通信ができなくなるなど、理解不能な挙動を繰り返す様になってしまいます。
手動でIPアドレスを割り当てする場合、そのIPアドレスは「使用されていない」アドレスを狙い撃ちしなければなりません。DHCPは自動で次々にIPアドレスを設定していくので、どのIPアドレスが未使用な状態なのか分からないため、これはとても難しそうに思えます。そのため、DHCPでは「自動割り当てするIPアドレスの範囲」が設定されていることがほとんどです。
DHCPの割り当ては範囲が決まっている
DHCPは接続されてきた機器に対してIPアドレスなどを自動で割り当てますが、手動でIPアドレスを固定設定したい場合を考慮して、通常のルーター機器などでは自動割り当てするIPアドレスの範囲を設定できます。
一般のネットワーク利用者に対しては、自動割り当ての範囲内のIPアドレスを割り当てし、固定でIPアドレスを設定したい特殊な機器では、その範囲外のIPアドレスを設定することで、IPアドレスの衝突を回避します。
この設定はネットワークの管理者が行い、固定IPのために確保するIPアドレスの数や、想定するネットワークの利用端末数などから、DHCPの範囲を決定します。
社内ネットワークなどでの活用事例
少し具体的な活用事例についても見ていってみましょう。
企業などでの社内ネットワークなどでは、基本的にDHCPが利用されているといってよいでしょう。数十台規模の小さなオフィスであっても、個々の端末でそれぞれネットワークの設定が必要な状態というのは、初期設定やメンテナンスの手間が大幅に増えてしまうため、自動で設定を割り当ててくれるDHCPは欠かせません。
企業の規模にもよりますが、大きなところでは社内ネットワークの管理を担当するネットワーク技術者が設定や管理を任されている場合が多いですが、小さな事務所などであれば、一般の社員の方がルーターを買ってきて基本的な設定をしているだけという場合もあるでしょう。近年は家電量販店で比較的安価にルーターなどのネットワーク機器を簡単に購入できることもあり、家庭で利用しているような人も多くなったため、ルーターの基本的な設定を出来る人は意外と多くいたりします。
購入したルーターでは、通常DHCP機能が使える状態となっていることが多く、電源を入れて接続すれば、自動でIPアドレスなどが割り当てられて直ぐに使える状態となる事が多く、難しい説明書などを読まなくても「とりあえず繋がって使える」状態には比較的簡単にすることができます。
社内のファイルサーバーなどは固定で割り当て
DHCPを使っている社内ネットワークなどでも、各端末から接続して利用するファイルサーバーなどのサービスを提供する機器に対しては固定でIPアドレスを設定します。DHCPでの自動割り当てにしてしまうと、再起動をしたタイミングなどでファイルサーバーのIPアドレスが変わってしまい、大事なファイルへアクセスできないなどの問題が発生してしまうためです。
小さな事務所の社内ネットワークなどでも、複数の社員がファイルを共有するためにファイルサーバーやNASのようなストレージ機器を使いたいといった場面はよくあります。DHCPの自動割り当てでこれらの機器を接続してしまうと、社員はどこに接続して機器を利用すればよいのか分からないという状態になってしまいます。
固定でIPアドレスを割り当てるためには、その機器の設定画面などからIPアドレスを手動設定しなければなりません。その際に「DHCPの割り当て範囲」を知っておかなければ、前述の「IPアドレスの衝突によるネットワーク障害」を引き起こす危険性があるため、ネットワーク管理者に確認したり、ルーターの設定情報などを確認するなどで、必ずDHCPの割り当て範囲外のIPアドレスを設定しましょう。
社内ネットワークなどでのDHCPのイメージは以下のようになっていることが多いでしょう。
IPアドレス | 用途 |
---|---|
192.168.1.1 | ルーター |
192.168.1.2 ~ 192.168.1.220 | 利用者 (DHCPによる自動割り当て) |
192.168.1.221 ~ 192.168.1.254 | 固定IPアドレス用 |
192.168.1.255 | 利用禁止 (ブロードキャストアドレス) |
サブネットマスクなどの細かな設定については割愛しますが、上記のような設定例では、DHCPの割り当てで使える端末が2~220までの範囲なので219台ということになります。手動で固定のIPアドレスを割り当てられるのは221~254までの34台となっていて、ファイルサーバーやNASなどはこの範囲内のIPアドレスを重複しないように手動で割り当てるということになります。
末尾が255になっているアドレスは、ブロードキャストアドレスと呼ばれる特殊なIPアドレスで、DHCPや手動で割り当てして利用することができないIPアドレスとなります。このアドレスは、通常「ネットワーク内全ての端末」に対して通信する必要がある場合に指定されるアドレスとなります。ネットワーク利用者が個別に利用することは少ないですが、ネットワーク上での様々な通知(一方向通信)などで利用されています。
ローカルネットワークのアドレスの種類
社内ネットワークなどのLAN(ローカルエリアネットワーク)では、192.168.1.xxxといった特定の範囲のIPアドレスが使われます。ネットワークのIPアドレスは、0.0.0.0から255.255.255.255までの範囲で決められているので、IPアドレスの数は有限です。ローカルなIPアドレスがこの数を消費していたら、世界のIPアドレスは直ぐに枯渇してしまうでしょう。そのため、LANで利用するIPアドレスは範囲が決められていて、各LAN内ではそのIPアドレスを利用する決まりとなっています。
LANの中に更にLANを構築することができ、それぞれは同じIPアドレス帯を使っても、それらはルーターなどの機器によって「異なるネットワーク空間」として区切られて衝突を起こさないようになっています。この構造によって、「事実上無限に端末を接続できるネットワーク」を実現しています。
しかし、IPアドレス自体の範囲は有限で、インターネットの普及に伴って結局グローバルなIPアドレスは枯渇していったため、現在はIPv6という新しい規格の利用が進んでいます。
ローカルで利用することを決められたIPアドレス(プライベートアドレス)は、以下のような範囲とされていて、それぞれに名前が付けられています。
範囲 | 名称 |
---|---|
10.0.0.0 – 10.255.255.255 | クラスA |
172.16.0.0 – 172.31.255.255 | クラスB |
192.168.0.0 – 192.168.255.255 | クラスC |
自分が利用している社内ネットワークや、自宅のネットワークのIPアドレスは、上記いずれかのIPアドレスが割り当てられていることでしょう。中小規模のネットワークの場合は、クラスBかクラスCのネットワークとなっていることが多いはずです。
上記それぞれのクラスでは、利用できるIPアドレスの数、すなわち端末数が限られていることに注意が必要です。クラスAが最も多く、クラスCが最も少ないIPアドレスを割り当てることができます。実際の割り当て可能数は、サブネットマスクなど他の設定も含めて決定されますが、最大接続可能数は以下のようになります。
ネットワーククラス | 最大接続可能台数 |
---|---|
クラスA | 約1600万台 |
クラスB | 約65000台 |
クラスC | 254台 |
クラスCくらいの規模のネットワークであれば、頑張れば全部手動でIPアドレスを設定可能かもしれませんが、クラスBやCの規模となると、DHCPがなしでは膨大な作業量となってしまうでしょう。そう考えると、DHCPのありがたみが見えてきます。
社内で利用している自分のパソコンのIPアドレスが、192から始まっていれば、それはクラスCのLANが構築されているということになりますし、10から始まっていたら、大規模のクラスAのLAN内に自分がいるということが分かります。とはいえ、厳密にはサブネットマスクなどの設定で利用端末数を絞ることができるため、ネットワーク管理者によってはクラスAやBを使いながら、利用台数を制限しているという場合もあります。この設定は少し面倒ではありますが、利用台数が増大していった場合、IPアドレスの総入れ替えを起こさずに台数の拡大が可能というメリットもあります。
家電量販店などで購入することが可能な市販のルーターや、プロバイダーが提供してくれるルーターなどのネットワーク機器などの場合、通常クラスBかクラスCのネットワークが設定されています。家庭内のLANに接続された通信機器は、172や192から始まるIPアドレスが割り当てられていることが多いでしょう。
ルーターだけが外部と通信する
ルーター機器などのDHCP機能でIPアドレスなどが割り当てられると、その端末は通信が可能な状態となります。インターネットに接続されたルーターの場合、接続された端末はウェブサイトなどの閲覧が可能な状態となります。
しかし、自分のIPアドレスは自動で割り当てられたものなのに、何故相手と通信できているのか不思議に思う人もいるのではないでしょうか。
ルーターを介してインターネットへ接続した場合、ネットワーク内の各端末が要求する通信は、ルーターを介して行われます。つまり、外部との通信は全てルーターを経由します。ルーターは外部の通信相手から返答があった場合、LAN内部の要求を出した端末にデータを振り分けてくれます。この通信の振り分けのことをルーティングと呼び、この動きによって複数台のLAN内の端末が、あたかも直接インターネット上に存在するかのように、グローバルで自由な通信が可能となっています。
自宅や会社の事務所だけでなく、世界中にこのルーティング機能を持ったネットワーク機器が存在していて、複雑なネットワークの通信を交通整理してくれているおかげで、私たちは便利なインターネットのサービスを使えていると言っても過言ではないでしょう。
DHCPを理解するとネットワークが見えてくる
ネットワークの勉強というと、専門的で難しいことばかりのような気がしてしまう人も多いかもしれませんが、ネットワークはインターネットをはじめ、私たちの身近な生活の中にあるものになっています。ただ、あまりにも利便性が高すぎて「自然に使えている」ために、その存在に気づきにくく、ありがたみや凄さを実感しにくいものでもあります。
今回紹介したDHCPは、私たちが利用しているネットワークの世界の中で、最も身近で便利な機能なものの一つであるにもかかわらず、エンジニアなど一部の人しか意識することがない技術の典型例でもあります。
技術者を目指す人の中にはネットワーク技術の事を勉強しようと考えている人も多い事でしょう。しかし、私たちの生活の中にネットワーク技術がこれほどまでに浸透してきた現状を考えると、技術者だけでなく一般の人ももっとネットワークの事を知っていく方がよいのではないかと思い、今回は身近なDHCPについてまとめてみました。車の運転を覚えた場合に道路交通網のルールを覚えるのと同じように、インターネットの利用を始めた際に、ネットワークの基本的な構造を勉強しておくと、トラブルが起きた際などに役立つことも多いと思うので、是非興味を持ってみてください。
コメント