DNS

導入

DNS(ディーエヌエス: Domain Name System)は、 インターネットの重要な基盤技術の一つで、 ドメイン名とIPアドレスの対応付けや、 メールの宛先ホストを指示するためのシステムです。


DNSとは、Domain Name Systemの略称で、ドメインとIPアドレスを対応付けて管理するシステムのことを言います。ここでは、DNSとは何かと言った基本的な概要から、DNSの仕組みや機能などについて解説します。


DNS (Domain Name System) は、インターネットを支える大切な技術です。これがないと、Webサイトやメールの利用ができません。そもそも、ふだん使っている英数字のドメイン名と、Webやメールのサーバー機器にアクセスする番号 (IPアドレス) とは別物です。それらを変換する情報をDNSは保管して、提供するサービスを担当しています。この記事では、ドメイン名とIPアドレスを結びつけるこの巨大なデータベースの仕組み、設定や確認方法を解説していきます。

DNSサーバーの役割

Domain Name System(ドメイン・ネーム・システム、DNS)とは、インターネット上のホスト名電子メールのアドレスに使われるドメイン名と、IPアドレスとの対応づけ(正引き逆引き)を管理するために使用されているシステムである。

1983年に、インターネットを使った階層的な分散型データベースシステムとして、Information Sciences Institute(ISI)のポール・モカペトリスジョン・ポステルにより開発された。


DNS (ドメインネームシステム) は、人間が読み取れるドメイン名 (www.amazon.com など) を機械が読み取れる IP アドレス (192.0.2.44 など) に変換します。


DNSは、インターネット上でドメイン名を管理・運用するために開発されたシステムで、インターネット通信時にドメイン名をIPアドレスに変換する作業を担っています。







とは

DNSは、Domain Name Systemの略で、 インターネット上で ドメイン名 を管理・運用するために開発されたシステムです。 現在、インターネットを利用するときに必要不可欠なシステムの一つとなっています。

郵便で手紙を送る時に住所が必要であるのと同様に、 インターネットでは、 電子メールを送ったりウェブサイトを見たりするために、 相手がインターネット上のどこにいるのかを特定する必要があります。 その際に、例えばnic.ad.jpなどのドメイン名は、 人が覚えやすい「インターネット上の住所」にあたるものとして利用されています。

では、DNSとはどのようなものなのでしょうか。

インターネットに接続している機器には「IPアドレス」という番号が割り当てられます。 そして、インターネット上における通信は、 自分と相手先のIPアドレスを用いて行われます。 例えば、JPNIC Web (http://www.nic.ad.jp/)をWebブラウザで見るときには、 実際にはwww.nic.ad.jpのIPv4アドレスである192.41.192.129、 あるいはIPv6アドレスの2001:dc2:1000:2006::cafeという宛先IPアドレスと通信が行われます。

この「www.nic.ad.jp というドメイン名には、 IPv4アドレス192.41.192.129とIPv6アドレス2001:dc2:1000:2006::cafe が対応している」 といった情報を保持、 あるいは検索するためのシステムがDNSです。

つまり、インターネット上のコンピュータ同士が通信する際には、 「192.41.192.129」といった数字をピリオドでつないだ「IPアドレス」と呼ばれる番号で通信相手を特定しているのですが、 数字の羅列は人間が識別するのは非常に困難であるため、 人間が覚えやすいように「nic.ad.jp」といった文字列からなるドメイン名を利用し、 変換しているのです。 このドメイン名とIPアドレスを対応づけるしくみがDomain Name System (DNS)であり、 「インターネットの住所録」にあたります。

DNSは、 世界中に存在する多数のサーバが協調しあって動作するデータベースです。 これらのサーバ群にアクセスすることで、 ドメイン名(ホスト名)からIPアドレスを検索したり、 メールアドレスから送信先メールサーバを特定したりします。

DNSでは、 あるサーバがドメイン名情報をすべて持っているわけではなく、 「委任」と呼ばれる仕組みでデータを階層ごとに分散化しています。 ここで言う委任は、自分の管理するドメインのうち、 一部を他のサーバに管理を任せることを指しています。

DNSでは、 検索の起点となる「ルートゾーン」を管理するサーバは「ルートサーバ」と言います。 DNSを検索するクライアントがデータを得るときは、 このルートゾーンから委任を順次たどっていくことで、 最終的に必要な情報を得ます。

ルートゾーンには、 COMドメインやJPドメインといった各TLD(トップレベルドメイン)の情報を保持するサーバが、 それぞれどのような名前で、 どういったIPアドレスが付けられているかなどの情報が保存されています。

そして、例えばCOMドメインの情報を保持するサーバには、 同様にexample.comといったドメインの情報を保持するサーバの名前や、 そのIPアドレスの情報が保存されています。 example.comドメインのサーバは(ほかに委任をしていなければ)www.example.comのIPアドレスや、 example.comドメイン宛のメールサーバの、 名前等の情報を保持します。 なお、 これらドメインの情報を保持するDNSサーバを権威DNSサーバと呼びます。

DNSでの検索は、 まずルートサーバに知りたいドメイン名を問い合わせることでTLDサーバの情報を得て、 次にTLDサーバに問い合わせてさらに次のサーバの情報を得て……と繰り返していき、 最終的に目的のデータを持つサーバを特定し問い合わせることで、 ドメイン名の情報(リソースレコードと言います)を得ることができます。

この検索(DNSでは名前解決と呼んでいます)を行う役割を持つサーバをキャッシュDNSサーバと呼びます。 キャッシュDNSサーバは、 クライアントPCなどから問い合わせの依頼を受け、 上記の名前解決を行い、 得られたリソースレコードをクライアントPCへ回答します。

「権威DNSサーバ」「キャッシュDNSサーバ」の二つの役割を持つ多数のサーバが協調しあいながらDNSは成り立っています。

詳しくは、以下のページもご覧ください。


DNSは、Domain Name Systemの略で、その名前が示すようにインターネット上でドメイン名(ドメインネーム※1)を管理・運用するために開発されたシステムです。DNSはインターネットを利用するうえでなくてはならない存在であり、現在のインターネットにとって、必要不可欠なシステムの一つとなっています。

では、DNSとはどのようなものなのでしょうか。

インターネットに接続している機器には「IPアドレス」という固有の番号が必ず割り当てられます。そして、インターネット上におけるすべての通信は、相手先のIPアドレスが指定されることにより行われます。例えば、JPNIC Web(http://www.nic.ad.jp/)をWebブラウザで見る場合、実際にはwww.nic.ad.jpのIPアドレスである202.12.30.144という宛先IPアドレスに対して通信が行われることになります。そのためhttp://www.nic.ad.jp/を指定するかわりにhttp://202.12.30.144/とすることも可能です※2

しかし、このようにIPアドレスで相手先を直接指定することは、インターネットを利用する各ユーザーが、該当するWebサーバ等のIPアドレスをなんらかの方法ですべて記憶しておく必要があり、現実的ではありません。また、なんらかの理由により相手先ネットワークの構成が変更された場合、IPアドレスはしばしば付け直されたり、変更される場合があります。このような場合、以前記憶していたIPアドレスでは接続できなくなってしまいます。

そのため、より人間が覚えやすく使いやすい「名前」で指定できるようにするためのしくみが必要となります。DNSはそれを実現するためのシステムです。


ドメインを管理/運用する上で欠かせない役割を担っているのがDNS(ドメインネームシステム)です。これは、数字を組み合わせたコンピュータの住所である「IPアドレス」を、人が理解しやすい住所へと変換するための仕組みです。「192.168.1.1」などで示されるIPアドレスを、「http://www.○○○.com」のような分かりやすい文字列に置き換えてくれるのです。

このDNSの機能を司るサーバーを「DNSサーバー」と呼びます。DNSサーバーが仲介役になり、特定のコンピュータと通信したり、Webサイトを表示したりできるようにしているのです。

DNSサーバーには、IPアドレスと紐づくドメインは何かといった情報が蓄積されています。とはいえ、DNSサーバーがダウンしたらIPアドレスをドメインに置き換えられなくなって、Webサイトもメールも使えなくなってしまいます。そこでDNSサーバーは、通常情報を重複して保持する2台以上のサーバー群で構成されています。1台のDNSサーバーがダウンしても他のDNSサーバーがIPアドレスをドメインに置き換えてくれるので、アクセスが滞ることなく処理できるようになっているのです。


DNSサーバーには、人が使う言葉で書かれた住所 (ドメイン名) とネットワーク上にあるコンピュータ (WebやメールサーバーのIPアドレス) の間で、翻訳機としての役割があるとも言えます。ドメイン名やIPアドレスについてもっと知りたい方は、「カゴヤのサーバー研究室」では次の記事が役立つと思います。

【関連記事】

それでは、DNSサーバーの仕組みの解説から始めましょう。

DNSサーバーの仕組み

利用者がPCのブラウザ上で、Webサイトのドメイン名を入力してから、実際にWebサイトが表示されるまでの動きを例に説明します。メール利用の場合も基本は一緒です。
DNSサーバーの仕組み

  1. PC がDNSキャッシュサーバーに、ドメイン名でアクセスする
  2. DNSキャッシュサーバーがDNSルートサーバーに、管理情報 (ドメイン名に対応するIPアドレスは何か) を問い合わせる
  3. DNSルートサーバーがDNSキャッシュサーバーに、管理情報のあるDNSサーバーを知らせる
  4. DNSキャッシュサーバーが管理情報のあるDNSサーバーに、ドメイン名に対応するIPアドレスを問い合わせる
  5. 管理情報のあるDNSサーバーはDNSキャッシュサーバーに、IPアドレスを回答する
  6. DNSキャッシュサーバーはPCに、IPアドレスを回答する
  7. PCはIPアドレスでWebサイトにアクセスし、ブラウザ上にWebサイトが表示される

お気づきのように、利用者がPCのブラウザ上でWebサイトのドメイン名を入力して、直接Webサイトを表示させているわけではありません。ステップがあります。世界中に無数にあるDNSサーバーが一瞬で連携して、完結するのです。あまりにも短時間なので、ふつうはこのステップを意識することもないと思います。

DNSルートサーバーとは?

DNSキャッシュサーバーが最初に問い合わせをするサーバーです。世界中に13機しかありません。膨大な問い合わせを、たったこれだけのマシンがさばいているのですね。そうなると、ものすごい負荷になって、反応速度も遅くなるのでしょうか。
実際には違います。それはDNSキャッシュサーバーが間に立って、DNSルートサーバーの代行をしているからです。

DNSキャッシュサーバーとは?

キャッシュとは、データを一時的に保存する仕組みのことです。そしてDNSキャッシュとは、ドメイン名に対応するIPアドレス情報が一時的に保存されている状態を指しています。
この作業を担当するサーバーがDNSキャッシュサーバーです。問い合わせ結果のデータが、一定時間蓄積されています。そのためPCより以前と同じ問い合わせがあった場合には、自身でPCにIPアドレスを回答することができます。
まとめると、DNSキャッシュサーバーには次の重要な役割が2つあります。

(役割1) DNSサーバーの仕組み全体のスピードアップ化
(役割2) DNSルートサーバーの負担軽減


インターネットに接続されているすべてのコンピュータは、固有のIPアドレスを持っている。たとえば、ウィキペディア日本語版のwebサーバの持つIPアドレスは、2012年10月現在では208.80.154.225である。インターネット上のコンピュータにアクセスするためには、そのコンピュータの IPアドレスを知る必要がある。しかし、IPアドレスは0から255までの数値を4つ組み合わせ(IPv4の場合)で表現されるため、人間には記憶しにくい。そのため、IPアドレスを文字列で扱うことができるような機構として、インターネットドメイン名が考案された。そして、ドメイン名からIPアドレスを引き出す機能(正引き)が、DNSの代表的な機能である。このほか、ドメイン名に関連するメールサーバ情報なども取り扱っている。


インターネット上のすべてのコンピュータは、スマートフォンやノートパソコンから、大規模な小売りサイトのコンテンツに対応するサーバーに至るまで、番号を使用して相互に検索し通信します。このような番号は IP アドレスと呼ばれます。ウェブブラウザを開いてウェブサイトにアクセスするときは、長い番号を覚えて入力する必要はありません。代わりに、example.com のようなドメイン名を入力すれば、正しい場所にアクセスできます。

Amazon Route 53 などの DNS サービスは、全世界に分散されたサービスです。これにより、人間が読み取れる名前 (www.example.com など) がコンピュータが相互接続に使用する数字の IP アドレス (192.0.2.1 など) に変換されます。インターネットの DNS システムはいわば電話帳のようなもので、名前と番号のマッピングが管理されています。DNS サーバーではドメイン名のリクエストを IP アドレスに変換することで、エンドユーザーがウェブブラウザにドメイン名を入力した際、どのサーバーにつながるかが管理されます。このリクエストは、クエリと呼ばれます。







H2候補

まとめ

※ このページは現在準備中です。記述内容は、以下の参考リンクより抜粋したものです。

参考

  • https://www.nic.ad.jp/ja/basics/beginners/dns.html
  • https://www.nic.ad.jp/ja/newsletter/No22/080.html
  • https://www.nadukete.net/domain-guide/setting/dns.html
  • https://www.kagoya.jp/howto/rentalserver/dns-server/
  • https://ja.wikipedia.org/wiki/Domain_Name_System
  • https://cs.zaq.ne.jp/knowledgeDetail?an=000703846
  • https://aws.amazon.com/jp/route53/what-is-dns/
  • https://www.idcf.jp/rentalserver/user-support/knowledge/domain/dns.html

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です