IPアドレスとは(2)|ドメインとDNS
- 著者:YAMANJO
- 公開日:2008年7月27日
- 最終更新日:2025年5月15日
ドメインとは何か、名前解決とDNSの仕組みについて学習していきましょう。
ドメインとは
前項で学習のように、異なるネットワーク(セグメント)を特定する情報がIPアドレスでした。
IPアドレスは、ネットワークアドレス部でセグメントを表し、ホストアドレス部で特定のホストを表します。そのため、実際にはIPアドレスでネットワークだけでなく、セグメント内のホストまで特定することができます。
したがって、IPアドレスはホストの住所と言える情報になります。こうして、IPアドレスによって異なるネットワーク間での通信ができるようになりますが、ネットワーク管理者にとっては、管理しているLANが複数に及ぶと、IPアドレスの管理が大変になってきます。
なぜなら、「192.168.1.0/24」のようにすべて数字になるため、規則性を持たせて割り当てなければ、ホストの追加や変更に対応できなくなるからです。
例えば、「192.168.1.0/24」であれば「192.168.1」までがネットワークアドレス部になるため、ホストアドレス部である第4オクテット分(254台)しか割り当てることができません。これなら管理は比較的簡単です。
しかし、300台クラスのホストがある場合で、「192.168.0.0/16」のように「192.168」までをネットワークアドレス部にした場合、「192.168.1.1」も「192.168.2.1」も同じセグメントになり、第3オクテット以降がごちゃまぜになってしまいます。
そこで、一般的には同セグメントの中でも種類や用途、使用場所などによって規則性を持たせた番号を割り当てることで管理しやすくしています。
例えば、総務部なら「192.168.1.0~192.168.1.255」、経理部なら「192.168.2.0~192.168.2.255」、営業部なら「192.168.3.0~192.168.3.255」という具合です。(「/16」の場合は「192.168.0.0」と「192.168.255.255」が使用できないため、それ以外の「0」と「255」は使用可能です)
では、これがインターネットならどうでしょうか?
学習してきたとおり、異なるネットワークの代表がインターネットです。世界中のLANやWANが接続したインターネットで、IPアドレスの管理ができるでしょうか?
つまり、インターネットの中でサーバなどの特定のホストのIPアドレスを管理することは容易ではありません。そのため、インターネットでは「URL」という仕組みで住所を指定しています。
URLは、URI(URL)とは で学習のとおり、位置情報のみならずプロトコルを指定してファイルの取得まで行う仕組みになっていますが、文字列のため、明らかに人間に扱いやすい仕組みです。短いURLであれば記憶しておくことも可能です。
したがって、インターネットではIPアドレスをURLなどの文字列に置き換えて利用していることになります。わかりやすく言えば、IPアドレスに「名前」をつけるイメージです。
このインターネット上の名前を、
ドメイン(ドメイン名)
と言います。
ドメインとドメイン名の違いは、例えば「yamanjo.net」という名前そのものがドメイン名で、そのドメイン名で管理されている領域すべてをドメインと言う違いです。「yamanjo.net」というドメイン名では、メールやウェブサイトなど複数のサービスを利用しています。そのドメイン名の下に属するメールサーバやウェブサーバ、サブドメインなどの管理される範囲全体をドメインと呼びます。
ドメイン名は、プロバイダとの契約時に希望する文字列で申し込みを行い、例えばOCNであれば「example.ocn.ne.jp」のようにプロバイダ名の入ったドメイン名が割り当てられることが一般的です。(後述しますが、この場合は「ocn.ne.jp」のサブドメインが割り当てられることになります)
IPアドレスと同様に、ユニークな文字列(重複しない唯一の文字列)である必要があるため、そのドメイン名が使用されている場合は取得できません。ドメイン名はメールアドレスにも利用されており、希望する文字列が使用されていて取得できなかった経験がある方も多いと思います。
また、プロバイダのサブドメインではなく、完全に独自のドメインを希望する場合は、ドメインの管理団体に申請することで取得することが可能です。(詳しくは後述します)
このように、インターネットでは人間が読みやすい「名前」でサーバなどのホストを識別するための仕組みが構築されています。
URI(URL)とは で学習のとおり、URLにはドメイン名が含まれています。下図は同項で学習した図と同じですが、ドメイン部分でインターネット上のホスト(サーバ)を指定し、パス部分でホスト内のファイルを指定しています。
したがって、ドメイン部分の文字列がIPアドレスに対応していることになります。
とは言え、ドメインの文字列がIPアドレスに直接変換されるわけではありません。前項でも触れましたが、このようなドメインを管理する団体があり、インターネット上にドメインを管理するサーバが存在します。
ブラウザで「yamanjo.net」のURLを指定すると、ドメインを管理するサーバに問い合せが行われ、「このドメイン名に対応するサーバのIPアドレスはこれです」といった返答を受ける仕組みです。
つまり、ドメイン名(名前)をIPアドレスに変換する処理を行っています。この処理を「名前解決」と言います。
そして、名前解決を実現する全体の仕組みを、
DNS(ディーエヌエス)
と言います。
DNSは「Domain Name System」の略で、文字どおりドメイン名とIPアドレスを対応させて名前解決を行うシステムです。
DNSによって、私たち人間は数字だけのIPアドレスを意識することなく、名前であるドメイン名を利用してインターネットを利用することができるようになっています。
DNSとは
DNSの仕組みは、ドメイン名とIPアドレスを対応させたデータベースを管理しているサーバにアクセスして名前解決を行うことです。
そのサーバを「DNSサーバ」と言いますが、DNSサーバにアクセスするにはまたIPアドレスが必要になります。どのようにDNSサーバにアクセスしているのでしょうか?
通常は、ブラウザにURLを打ち込むだけで、ブラウザ(厳密にはOS)が自動的にDNSサーバにアクセスして名前解決を行ってくれています。ということは、ブラウザ(OS)がDNSサーバのIPアドレスを保持していることになります。
DNSサーバはインターネット上に1つだけあるわけではありません。役割に応じたレベル(階層)のDNSサーバが存在し、ユーザーがアクセスするDNSサーバは一律ではありません。
具体的には、最上位の「ルートDNSサーバ」、トップレベルドメインを管理する「TLD DNSサーバ」、特定のドメイン名のIPアドレスを保持する「権威DNSサーバ」、プロバイダなどが運営する「キャッシュDNSサーバ」があります。
まず、ブラウザにURLが打ち込まれると、ブラウザがそこからドメイン名を抽出して、OSに対してDNSによる名前解決を依頼します。OSは指定されたDNSサーバに問い合せを行い、IPアドレスを取得してブラウザに渡します。
そして、ブラウザはそのIPアドレスに対してHTTPリクエスト(HTMLファイルの転送要求)を送るという流れになります。(HTTPについて詳しくは、HTTP(HTTPS)とは を参照してください)
簡単に言えば、
DNSサーバに目的のドメイン名のサーバのIPアドレスを教えてもらう
というわかりやすい仕組みです。
ただし、DNSサーバは1つではありません。そのため、OSは通常どのDNSサーバに問い合せをかけるのかを決めていることになります。そうしないと、DNSサーバを探すのにも名前解決が必要になってしまいます。つまり、名前解決のための名前解決が必要という矛盾が生じてしまうのです。
したがって、
DNSサーバのIPアドレスは事前にOSに設定しておく必要がある
ということです。
下図は、IPv4の「プロパティ」画面になります。DNSサーバのIPアドレスを指定する欄が設けられています。ここに設定が入っていないとDNSを利用することができません。
では、DNSサーバのIPアドレスをどのように取得しているのかと言うと、プロバイダの契約時に割り当てられることが一般的です。
つまり、プロバイダが指定するDNSサーバに接続するように設定されます。これは大手のプロバイダが自社で運営するDNSサーバで「キャッシュDNSサーバ」と呼ばれるものです。
キャッシュDNSサーバとは、一度名前解決したドメインの結果を「キャッシュ(一時保存)」しておくサーバで、キャッシュの中に結果があればすぐに返すことができるDNSサーバです。
詳しくは後述しますが、上位にあたる「権威DNSサーバ」に名前解決を依頼したドメイン名とIPアドレスがキャッシュされていきます。つまり、権威DNSサーバが、キャッシュではなく正確なドメイン情報を保有しているDNSサーバになります。
これは、世界中から権威DNSサーバに問い合せがあるとパンクしてしまうので、それぞれのプロバイダがキャッシュを保有し、キャッシュ分だけでも権威DNSサーバの負担を減らしているということです。
とは言え、権威DNSサーバも分散型かつ階層構造であり、集中管理されているわけではありません。権威DNSサーバは世界中に数千~数万台規模で稼働していると言われており、そのうちどのサーバに目的の情報が保有されているのかは階層をたどって問い合わせていく必要があります。
そのため、毎回権威DNSサーバに問い合せを行うと非常に時間がかかります。プロバイダのキャッシュDNSサーバが仲介することによって、キャッシュから即時に結果を返すことができ、インターネット全体の安定性が保たれています。
自社のDNSサーバを保有していないプロバイダは、大手のDNSサーバを借りたり、公的なDNSサーバの利用を案内する方法で、ユーザーにDNSの設定を行うように促します。
こうして、一般家庭の場合はプロバイダから、企業などのLANの場合は管理者からDNSサーバのアドレス指定があります。
ただし、DNSサーバのアドレスは固定された値でない場合もあります。その場合は「DHCP」というプロトコルで自動的にアドレスを割り当てています。DHCPについても後述しますが、プロバイダからDNSサーバの固定アドレスを指定されていない場合でも、DHCPによって自動的に割り当てられていることになります。
では、DNSによってIPアドレスを取得しているということは、URLにドメイン名ではなくIPアドレスを打ち込んでもアクセスすることが可能ということになります。
例えば「https://192.168.1.1/」としても理論上は同じ意味になりますが、現在では多くのサーバでアクセスが拒否されます。これは、ウェブサーバが1つのIPアドレスで複数のウェブサイト(ドメイン)を公開しているためです。
つまり、ウェブサーバには多くの人が作成したウェブサイトが保存されており、IPアドレスでアクセスされると、どの人のサイト(ドメイン)を表示してよいのかわからないということです。
また、意図しないアクセスやドメイン偽装を防ぐ目的で、ドメイン名以外のアクセスを無効化している場合があります。SSL/TLS通信に必要な電子証明書はドメイン名に対して発行されるため、IPアドレスでアクセスすると証明書のドメイン名と一致せずエラーになることもあります。(詳しくは、SSL/TLSとは で詳しく学習します)
DNSによってアクセスする場合は、名前解決されたIPアドレスでのアクセスと同時に、HTTPリクエストのヘッダにドメイン名を記載するようになっています。そのため、どのドメインにリクエストが来ているかをウェブサーバが判断することができます。
また、企業などの中規模以上のLANでは、一般的に「ドメイン管理」するケースが多く、この場合はLAN内にDNSサーバを設置して、PC名やプリンタ名などの名前解決を行っています。
ただし、LANでのドメイン管理はインターネットのドメインと意味が少し異なり、Windowsの「Active Directory」という機能を使って、どのPCでも同じユーザーの環境でログインできたり、設定を一括して行うことができる仕組みです。
例えば「yamanjo.net」というドメインを作って、このドメインにホストを参加させいくことができます。すると、アカウントを作成して、ドメインに参加しているホストの台数に関係なく、どのホストからでも同じ環境でアカウントにログインすることができたり、アカウントごとに一括して設定を行うことができるようになります。
つまり、管理者は設定や制限を一元的にコントロールできるということです。こうしたLANのドメイン管理は、インターネット上で名前解決を行うDNSとは異なりますが、LAN内で名前解決を行うために「ドメイン」の名前になっています。そのため、インターネットに接続しないLANであってもDNSサーバの指定が必要になるケースが多くなっています。
このように、DNSによって人間がIPアドレスを意識することなく、文字列によってインターネットを利用することができていますが、世界中のユーザーの名前解決に対応するためには、非常に多くのDNSサーバが必要になります。
世界中のホストから問い合せを受けると、その処理に非常に時間がかかり、DNSが効率的に機能しなくなります。そのため、DNSサーバは階層構造になっており、役割に応じた機能を提供することで、効率化を図っています。
ルートDNSサーバ
階層の最上位に位置するDNSサーバで、「ルート」の文字どおりDNSの起点となるサーバです。
起点ということは、一番最初に問い合せを行うサーバになります。ルートDNSサーバから下位のサーバに振り分けられていき、最終的に目的のドメイン名を保有しているサーバにたどり着くイメージです。ルートからたどっていくことで、必ず目的のドメイン名に行きつくことができます。
したがって、ルートDNSサーバは個別のドメイン名のIPアドレスを保有していません。ルートDNSサーバは、トップレベルドメインを管理している「トップレベルドメインDNSサーバ(TLD DNSサーバ)」のIPアドレスの対応表のみを保有しており、TLD DNSサーバの場所を返す役割を担います。
トップレベルドメインとは、例えば「yahoo.co.jp」の「.jp」の部分を指します。「.jp」は日本国を意味しており、トップレベルドメインは国別のコードになっています。要するに国単位の大きな範囲になります。
問い合せの流れとしては、ユーザーが契約するプロバイダのキャッシュDNSサーバに目的のドメイン名がなかった場合は、まず最上位のルートDNSサーバに問い合せが行われます。
そして、ドメイン名に含まれるトップレベルドメインから、そのトップレベルドメインを管理しているTLDサーバのIPアドレスを返します。次は「TLDサーバに聞いてね」ということになります。
なぜ、これだけの役割しか持たないルートDNSサーバが必要になるのかというと、下位のサーバになるほど管理する情報が増え、数が増えていくからです。つまり、ルートDNSサーバがなければ、TLDサーバのIPアドレスがわからないのです。
先述のとおり、DNSサーバのIPアドレスはOSに登録しておく必要があります。実際にはユーザーのOSがルートDNSサーバに問い合せをかけることはありませんが、ルートDNSサーバは、世界に13種類しかありません。単純に言えば、問い合せをかける側は13個のIPアドレスを管理するだけですむことになります。
ルートDNSサーバは「A~M」の13の識別名を持つサーバで、世界中に分散配置されています。13という数字の根拠は定かではありませんが、昔の仕組みでは1回の通信でやり取りできるドメイン名の最大数が「13」までだったことに由来すると言われています。いずれにしても、1台が故障しても他のサーバでDNSが正常に動作し続けるように設計された数になっています。
例えば「M.root-servers.net」というルートDNSサーバは、日本の慶應義塾大学の研究機関が管理しています。識別用に「A~M」の名前が付けられていますが、基本的にはどのルートDNSサーバも同じ役割を担っています。
ただし、世界中に13台しかないわけではなく、多数のコピー(ミラー)が存在します。ミラーとは、同じIPアドレスで同じ役割を担うサーバを分散配置する技術で、ユーザーは物理的に近いサーバにアクセスすることができます。現在、1千台以上のルートDNSサーバが稼働している言われていますが、実質的にルートDNSサーバのIPアドレスは13種類ということになります。
TLD DNSサーバ
TLDは「Top Level Domain」の略で、担当するトップレベルドメインに属する「権威DNSサーバ」のIPアドレスを管理しています。後述しますが、権威DNSサーバが個別のドメイン名とIPアドレスを管理しているサーバになります。
つまり、TLD DNSサーバも個別のドメイン名のIPアドレスを保有していません。TLD DNSサーバは、権威DNSサーバのIPアドレス対応表のみを保有しており、権威DNSサーバの場所を返す役割を担います。次は「権威DNSサーバに聞いてね」ということになります。
ただし、TLD DNSサーバは、ルートDNSサーバに比べるとはるかに数が多くなります。トップレベルドメインの数は現在、約1,500種類以上と言われており、それぞれのトップレベルドメインに対して数十台規模で分散配置されていると言われています。したがって、おおよそ数万台のTLD DNSサーバが稼働していると思われます。
代表的なトップレベルドメインには日本の「.jp」やイギリスの「.uk」などがあります。これらは国や地域に割り当てられたドメインになりますが、すべてのトップレベルドメインが国や地域を表しているわけではありません。
当サイトのトップレベルドメインは「.net」であり、他にも「.com」や「.org」など、国や地域に関係なく用途や分野によって取得できるドメインもあります。
このようにトップレベルドメインは、
国や地域を示す「ccTLD」と分野別の「gTLD」
という2種類に大別されます。
「ccTLD」は「country code」の略で、国別コードの意味です。「gTLD」は「generic」の略で、薬のジェネリックと同じ単語ですが「分野別」といったニュアンスになります。
下表は、代表的なトップレベルドメインになります。
名称 | 対象 | 種類 |
---|---|---|
.jp | 日本 | ccTLD |
.au | オーストラリア | ccTLD |
.ca | カナダ | ccTLD |
.es | スペイン | ccTLD |
.com | 商業組織向け(現在は一般的に広く使用) | gTLD |
.net | ネットワーク関連組織向け(現在は制限なし) | gTLD |
.org | 非営利組織向け(現在は制限なし) | gTLD |
.biz | ビジネス向け | gTLD |
アメリカはインターネットの発祥地でもあり、ccTLDの「.us」がありますが、あまり使われていません。また上表のとおり、gTLDも特定の分野に限定されることはなくなり、実質的に誰でも取得できるようになっています。
ドメイン名は、このトップレベルドメインから複数のレベル(階層)によって構成されています。
ccTLDでは、セカンドレベルにトップレベルドメインの属性が付属するケースが多く、属性が入る場合は属性がセカンドレベルになり、サードレベルがメインのドメイン名になります。
属性とは「co」「ac」「go」といった組織を表します。これは、これは各国のドメイン管理ポリシーによるもので、属性が入らない場合もあります。属性が入らなければ、gTLDと同様にセカンドレベルがメインのドメイン名になります。
名称 | 属性 |
---|---|
ac | 大学等教育機関 |
ed | 小・中・高校 |
go | 政府機関 |
gr | 任意団体 |
co | 一般企業 |
or | 企業以外の団体 |
ne | ネットワークサービス会社 |
上表以外にも、県の「pref」、東京都の「metro」などがあります。こうした属性(セカンドレベルドメイン)は国によって扱いが異なるため、自由に取得できないことが多いです。
ただし、ccTLDも国によっては入手可能な場合があります。例えば、ツバル国は「.tv」なので、TV(Television)を表すドメインとして使おうと考える企業に、ドメインの使用権を販売するということが行われています。
このように、ドメイン名は商標的な目的で取得するケースが多く、gTLDは基本的に誰でも取得可能になっており、一部のccTLDも取得することが可能になっています。
独自のドメインを取得したい場合は、ドメイン取得の代行業者が行うサービスを利用して取得することができます。「お名前.com」、「ムームードメイン」、「さくらインターネット」などが有名です。
サブドメインについては、ドメインの取得者が自由に作成できるサブグループであり、以前は「www」であればウェブサーバのようにホストの種類を示していましたが、現在では文字列だけで判断できなくなっています。(詳しくは、URI(URL)とは を参照してください)
TLD DNSサーバは、これらのトップレベルドメインを管理しています。トップレベルドメインに所属する個別のドメイン名は膨大な数になるため、それぞれのトップレベルドメインに対して数十台規模で分散配置されているということです。 (複数のTLDを1台で管理する場合もあります)
したがって、「.jp」を管理するサーバや「.net」を管理するサーバが存在することになります。日本で言えば、ccTLDが「.jp」のみになり、その他はすべてgTLDになります。日本にどのTLD DNSサーバが設置されているのかをすべて調べることはできませんが、「.jp」を管理するサーバと主要なTLDのサーバは設置されていると思われます。
逆に言えば、珍しいトップレベルドメインを管理するサーバは日本に設置されていない可能性があり、その名前解決には海外のTLD DNSサーバにアクセスする必要があるかもしれません。
また、トップレベルドメインはこの2種類だけでなく、割り当てを特定の業者に限定した「sTLD」などもあります。例えば「.museum(博物館専用)」や「.travel(旅行業界専用)」といったドメインがあります。
こうしたトップレベルドメインの種類が現在1,500種類以上と言われています。
権威DNSサーバ
実際にドメイン名に対応するIPアドレスの台帳を保有しているサーバになります。
学習のとおり、ルートDNSサーバはTLD DNSサーバのIPアドレスまで、TLD DNSサーバは権威DNSサーバのIPアドレスまでを管理しており、個別のドメイン名まで管理していません。
権威DNSサーバまで下りてきて、ようやく目的のIPアドレスにたどり着けることになります。つまり、ルートDNSサーバ → TLD DNSサーバ → 権威DNSサーバの順で問い合せが行われ、最終的なIPアドレスの保存場所になります。
したがって、DNSの階層では下位層になりますが、「そのドメインの正しい情報の出どころ」として公式な立場にあるという意味で「権威」の名称がついています。
世界には数億件以上のドメイン名が存在すると言われており、権威DNSサーバの数は非常に多いとしか言えません。上位のTLD DNSサーバによって、個別のドメイン名の担当をそれぞれの権威DNSサーバに割り当てています。実際の稼働台数は、数百万~数千万台規模だと考えられます。
そして、権威DNSサーバは任された個別のドメインに関する正式な情報を登録して保有することになりますが、その情報は、ドメイン名とIPアドレスだけではなく、そのドメイン全体の関連情報を含みます。例えば、IPアドレスの他にサブドメイン名やサブドメインのIPアドレス、メールサーバのIPアドレスなどです。
こうしたファイルを「ゾーンファイル」と言います。なぜ「ゾーン(範囲)」なのかと言うと、先述のとおり、そのドメイン名の下で管理されているメールサーバやウェブサーバ、サブドメインなどの範囲全体を単位とするからです。したがって、ゾーンファイルにはそのドメインのすべての情報が記載されていることになります。
ゾーンファイルはテキストファイルで、このゾーンファイルによって名前解決が行われます。ゾーンファイルを保有しているのは、権威DNSサーバだけになります。
キャッシュDNSサーバ
先述のとおり、権威DNSサーバの負担を分散するためのDNSサーバです。
通常、一般ユーザーが最初にアクセスするDNSサーバで、DNSの一部として機能しますが、階層構造からは独立して動作します。そのため上位サーバも下位サーバも持ちません。
一般的にはプロバイダが運営し、プロバイダが指定するDNSサーバになっており、一度、権威DNSサーバで名前解決したドメインの結果を「キャッシュ(一時保存)」しておき、その中に結果があればすぐに返す役割を担います。
キャッシュDNSサーバで名前解決できない場合は、ルートDNSサーバから問い合せをかけることになりますが、
問い合せはキャッシュDNSサーバが代行する
ことになります。
つまり、ユーザーからの問い合せを代行する「窓口」として機能するサーバです。ユーザー側(OS)がIPアドレスをたどっていくわけではありません。
なぜ代行するのかというと、これも効率化のためです。ユーザーがそれぞれDNSサーバに問い合わせるよりも、複数のユーザーのリクエストをまとめて代行することで、同じリクエスト結果を複数のユーザーに共有することができます。
そして、新しく名前解決したドメイン名とIPアドレスを、自身のキャッシュに登録していきます。ただし、この登録は一時的なもので、有効期限(TTL)があり、それを過ぎると無効化されます。情報が古くなるのを防ぐためです。(TTLについては、パケットとルーティング を参照してください)
したがって、ユーザーのOSは指定されたキャッシュDNSサーバしか見ていません。ユーザーのOSに登録されているDNSサーバは、キャッシュDNSサーバのみになります。ルートDNSサーバのIPアドレス13種類が登録されているわけではありません。
ただ、キャッシュDNSサーバが問い合せをかけるのであれば、キャッシュDNSサーバがTLD DNSサーバのアドレスを管理すればよいので、ルートDNSサーバが必要なのか疑問に思われるかもしれませんが、ルートDNSサーバが必要な理由はいくつもあります。
まずひとつは、TLD DNSサーバの数が千単位に及ぶこと、新しく増える可能性があること、IPアドレスが変わる可能性があることなどから、常に最新にしておくことが困難なためです。
そして重要なことは、ルートDNSサーバがこの仕組みの信頼性の根幹になっていることです。これは、電子証明書やPKIといったセキュリティの仕組みにも通じることですが、ルートサーバが絶対的に公正で正しいという信頼があるからこそ成り立つ仕組みなのです。
つまり、一番最初に問い合せをかけるサーバが正しいからこそ、そこから紹介されていくIPアドレスも正しいと信頼することができるというわけです。したがって、ルートサーバが変わったり増えたりすることは信頼性が揺らぐことになります。(電子証明書やPKIについては、公開鍵暗号方式とは から学習していきます)
権威DNSサーバとの違いは、キャッシュDNSサーバが保有する情報は、過去に名前解決した履歴であり、オリジナルの情報とは言えないことです。つまり、一時的な情報を覚えているだけで、最新の情報である保証はありません。
このようにキャッシュDNSサーバは、DNSにおいて全体の負荷を分散し、効率化するという非常に重要な役割を担います。
そのため、キャッシュDNSサーバに問い合わせる前に、ホスト自身が保有するキャッシュや「hosts(ホスツ)」ファイルを参照するなど、ローカル(自分の端末だけの意味)な名前解決手段も存在します。
hostsファイルとは、名前解決をローカルで定義するためのテキストファイルで、主にLANの管理者が、ネットワーク設定やテストのために編集して配布します。
DHCP
では、実際にインターネットに接続する際には、どのようにOSの設定をするのかと言うと、IPアドレスとDNSサーバを設定することで、インターネットに接続できるようになります。
通常は、契約したプロバイダから送付された契約書やハガキに、IPアドレスやDNSサーバ、メールアドレスなどの記載がありますが、IPアドレスの指定がないケースもあります。
これは、プロバイダから「自動」でIPアドレスを取得する設定になっているケースです。つまり、IPアドレスの設定画面で「自動」に設定しておけば、OSが自動的にIPアドレスを取得してくれる仕組みです。
上図はIPv4の設定画面ですが、「IPアドレスを自動的に取得する」を選択すると、ホストのIPアドレスだけでなく、DNSサーバのIPアドレスなどの必要なIPアドレスを自動的に取得してくれます。
これは「機能」ではなく「プロトコル」を使っています。つまり、IPアドレスの自動取得の流れを規定したプロトコルが存在するということです。
このプロトコルを、
DHCP(ディーエイチシーピー)
と言います。
DHCPは「Dynamic Host Configuration Protocol」の略で「動的ホスト構成プロトコル」と呼ばれるプロトコルです。
動的とは「自動的」に近い意味ですが、厳密には「変化する可能性がある」ことを強調する言葉です。つまり、通信のたびに自動的に取得するため、IPアドレスは静的(固定)ではなく、変化する可能性がある(動的)ということです。
DHCPの仕組みは、IPアドレスを持たないホスト(自動取得に設定したホスト)がネットワークに接続されると、このホストがブロードキャストアドレスを使ってブロードキャスト(一斉通報)します。ブロードキャストの内容は「どこにDHCPサーバがあるか」という問いかけです。
ネットワーク内にDHCPサーバがあれば応答し、IPアドレスを割り当てるという比較的単純な仕組みになっています。したがって、自動取得でインターネットに接続する場合は、プロバイダのDHCPサーバからIPアドレスを割り当ててもらっていることになります。
DHCPサーバ側では、例えば「192.168.1.1」を最初として「100個」のアドレス空間で割り当てるといった設定で、範囲内のIPアドレスを割り当てています。
ルータなどのL3機器は、このDHCPサーバ機能を有している場合が多く、ルータがDHCPで配下のホストにIPアドレスを払い出すことも可能です。
これまでの学習のとおり、L3機器がホストのインターネット接続を中継する役割を担っており、LAN内のホストがインターネットへ接続する場合、ホストのIPアドレスをL3機器が変換してインターネットへ接続しています。
これは、インターネットでIPアドレスが重複することを防ぐためです。逆に言えば、静的動的問わず、任意に割り当てたIPアドレスでインターネットに接続することはできません。(詳しくは次項で学習します)
この場合、ルータがプロバイダからインターネット側で重複しないIPアドレスをDHCPで受け取り、インターネット側ではそのIPアドレスで通信を行っているということです。
一方、ルータ配下のホスト側はLANになるので、そのLAN内だけのIPアドレスをルータのDHCPで配布します。こうして、インターネット側(WAN側という)とLAN側で異なるIPアドレスを持つことになります。
その切り替えをL3機器が担当するということですが、ネットワーク内でその役割を担う機器を「デフォルトゲートウェイ」と呼びます。デフォルトゲートウェイは、異なるネットワーク(セグメント)に通信するときの「出入口」を意味する用語です。
上図の設定画面でも入力項目があるように、LANなどのネットワークからインターネットに接続するためには、デフォルトゲートウェイのIPアドレスも指定する必要があります。
DHCPを利用すると、これらの情報をすべて自動で取得することができます。具体的に取得する情報は、IPアドレス、サブネットマスク、DNSサーバのIPアドレス、デフォルトゲートウェイのIPアドレス、リース期間などです。
比較的大きなLANでは、DNSサーバやDHCPサーバ機能を有するサーバを設置するケースが多いですが、この場合は、デフォルトゲートウェイがサーバと異なる機器になる場合もあります。
いずれにしても、LANからインターネットに接続する場合は、それぞれのホストにデフォルトゲートウェイを指定する必要があります。そのため、静的なアドレスを割り当てる場合は、それぞれ(4つ)のアドレスを打ち込む必要がありますが、DHCPを利用すれば自動的に取得と設定を行うことができます。
リース期間とは、DHCPで割り当てられたIPアドレスの「使用期限」のことです。リース期間が必要な理由は、払い出したアドレスの占有を防ぐためです。無期限でそのアドレスを使用され続けると、ホストが接続されるたびに新しいアドレスを割り当てなければならなくなり、設定しているアドレス空間が枯渇するリスクがあります。
例えば、フリーWi-FiなどはDHCPによってIPアドレスが割り当てられており、一度設定を入れたスマートフォンなどのホストがエリア内に入ると、自動的にIPアドレスが割り当てられるため、枯渇しやすくなっています。つまり、リース期間があることで、使ってないIPアドレスを自動的に回収できるということです。
DHCPは非常に便利ですが、デメリットとしては、こうした枯渇リスクがあること、どの端末がどのIPアドレスを使っているかを管理しづらくなることなどがあります。
更新履歴
- 2008年7月27日
- ページを公開。
- 2009年5月12日
- ページをXHTML1.0とCSS2.1で、Web標準化。レイアウト変更。
- 2018年1月30日
- ページをSSL化によりHTTPSに対応。
- 2025年5月15日
- 内容修正。
著者プロフィール
YAMANJO(やまんじょ)
- 経歴
- 岡山県出身、1980年生まれ(申年)の♂です。現在、総合病院で電子カルテなどの情報システム担当SEとして勤務。医療情報学が専門ですが、ネットワーク保守からプリンタの紙詰まり、救急車の運転手までこなしています。
- 医療情報技師、日本DMAT隊員。ITパスポート、シスアドなど、資格もろもろ。
- 趣味は近所の大衆居酒屋で飲むこと、作曲(ボカロP)、ダイビング。
- 関連リンク
- 詳細なプロフィールはこちら
- 作成したボカロ曲などはYoutubeへ
- X(Twitter)
