DNSとは?概要と仕組みについて易しく解説!

DNSとは?概要と仕組みについて易しく解説!

Webサイトへとアクセスするための重要な仕組みとしてDNS(Domain Name System)と呼ばれるものがあります。今や当たり前のように利用されているもので、これがなければ、Webサイトへのアクセスはできません。世の中を支える根本的な技術と表現しても過言ではないでしょう。

非常に重要な技術ではありますが、その詳細については理解していない人が見受けられます。今回は、Webの世界を詳しく知るためにも、DNSとはどのような仕組みであるかについて解説していきます。

DNSとIPアドレス

DNSを理解するためには、IPアドレスについても理解しておかなければなりません。まずは、理解を促進する基本的な知識について解説していきます。

IPアドレスとは

インターネット上には様々なデバイスが存在しますが、これらにはIPアドレスと呼ばれるものが付与されています。IPアドレスは簡単に説明するならば、インターネット上の住所を示すものです。IPアドレスがなければ、パソコンやサーバーはお互いに通信できません。例えば、皆さんのスマートフォンからGoogleにアクセスして検索することができなくなってしまうのです。

なお、内部的にはIPアドレスが利用されていますが、表向きには違うもので表現されることが多いでしょう。IPアドレスは数字の羅列であり、人間が理解しづらいため、例えば「google.com」のような形式を利用します。

日ごろから数字であるIPアドレスを入力して、インターネットへアクセスしている人はごくわずかでしょう。基本的にIPアドレスをそのまま利用することはありません。文字に置き換える仕組みがあるため、この記事では追ってこの仕組みについて解説します。

ドメイン名

上記で解説した通り、インターネット上の住所は、IPアドレスで指定されます。ただ、IPアドレスは数字の羅列であり、人間が覚えやすいものではありません。また、新しいIPv6では、数字以外にもアルファベットが利用されるようになっていて、今までよりもさらに覚えにくくなってしまいました。

そこで、人間がわかりやすい形式に置き換えるために「ドメイン名」と呼ばれる技術が利用されるようになっています。ドメイン名とは、IPアドレスの代わりに、文字列でインターネット上の住所を示すものです。例えば、Googleで検索する際は「google.com」と入力するでしょう。このように、IPアドレスではなく文字列でインターネット上の住所を示すこと、あるいはインターネット上の住所をドメイン名と呼びます。コンピュータはIPアドレス、人間はドメイン名を利用すると理解しても、大きく問題はないでしょう。

ただ、ドメイン名は人間向けに作られたものであるため、そのままでは「コンピュータがどこへアクセスすればよいのか」を判断できません。そのため、ドメイン名とIPアドレスを紐付ける仕組みも登場するようになりました。

DNSでドメイン名とIPアドレスを連携

DNSとは、上記で解説したドメイン名とIPアドレスを紐づけるための仕組みです。正式名称を「Domain Name System」と呼び、ドメイン名からIPアドレスを検索するために生み出されました。このDNSが登場したことによって、人間がドメイン名を入力するだけで内部的にはIPアドレスへ変換されます。その結果、インターネットへスムーズにアクセスできるようになったのです。

例えば、DNSによって自分たちでIPアドレスを把握することなく、ドメイン名だけでWebサイトなどにアクセスできるようになりました。むしろ、ドメイン名だけを公開することが多く、IPアドレスは公開する必要がなくなったのです。繰り返しの例ですが「google.com」というドメイン名は有名ですが、具体的にどのようなIPアドレスであるのか、認識している人はごくわずかでしょう。

DNSがなければ、インターネットの利便性は非常に悪いものとなってしまいます。どのようなサーバーへアクセスする時でも、IPアドレスをすべて覚える必要があるからです。しかし、DNSが存在すればそのような問題は一気に解決されるため、今の時代になくてはならない技術となっています。

DNSの仕組み


DNSはドメイン名からIPアドレスを見つける仕組みですが、すべての情報をひとつのサーバーで管理しているわけではありません。複数のサーバーを組み合わせて、ドメイン名からIPアドレスを示せるようになっています。そして、DNSサーバーには2種類が存在します。

権威DNSサーバー

権威DNSサーバーとは、ドメイン名とIPアドレスの紐づけを管理しているサーバーです。DNSコンテンツサーバーとも呼ばれるもので、以下で触れるキャッシュDNSサーバーからの問い合わせに対応します。ドメイン名の階層ごとに、権威DNSサーバーが用意されていて、ツリー形式で、情報を参照できるようになっています。例えば、以下のような仕組みで、権威DNSサーバーが構築されているのです。

  • ルートサーバー
  • .jpサーバー
  • co.jpサーバー
  • abc.co.jpサーバー

権威DNSサーバーはすべての情報を一元管理するのではなく、例の通り階層ごとに担当している内容のみを管理しています。

キャッシュDNSサーバー

キャッシュDNSサーバーは、ユーザーが必要とするドメイン名に対してIPアドレスを返すためのサーバーです。ユーザーの代わりに、DNSを利用してドメイン名とIPアドレスの紐づけを確認するものと言い換えても良いでしょう。実は、ユーザーがIPアドレスを参照しに行くのではなく、代わりにキャッシュDNSサーバーがIPアドレスを参照しに行く仕組みです。

一般的には、アクセスに利用するプロバイダや通信キャリアによって運用されていて、非常に多くのサーバーがあります。それぞれのサーバーに「キャッシュ」と呼ばれる機能が用意されていて、一度参照したドメインとIPアドレスの紐づけは一定期間保存する仕組みです。その都度情報を参照するのではなく、一度参照した情報は保存しておくことによって、高速かつ安定したドメイン名とIPアドレスの紐づけを実現しています。

DNSを利用した名前解決の流れ

DNSを利用することによって、具体的にどのような流れで名前解決が進むのかを示すと以下のとおりです。

  • ユーザーがブラウザなどでドメイン名を入力
  • デバイスからキャッシュDNSサーバーへ問い合わせ
  • キャッシュDNSサーバーから権威DNSサーバーへ問い合わせ
  • 権威DNSサーバーが該当するIPアドレス情報をキャッシュDNSサーバーへ送信
  • キャッシュDNSサーバーがユーザーへとIPアドレスを送信

例として、ユーザーがGoogle Chromeなどのブラウザでドメイン名を入力するケースを考えましょう。この場合、ブラウザからキャッシュDNSサーバーへ(厳密には利用している通信サービスからDNSサーバーへ)情報が送信されます。そこでIPアドレスを参照する処理が進められ、ユーザーの元へと結果が返される仕組みです。もし該当のドメイン名がなければエラーになり、該当のドメイン名があれば、基本的には接続が可能です。

DNSの設定方法


DNSは自動的に設定されることもありますが、基本的にはドメイン名とIPアドレスと自分で紐付けしなければなりません。この紐付け作業をDNSの設定と呼びます。

設定方法は、契約しているドメインのレジストラやサーバー会社によって少々変化します。そのため、ここでは一般的な方法であると理解しておいてください。

ドメインネームサーバーの指定

最初に、ドメインを管理しているレジストラの機能で「どのDNSサーバーを利用するか」を指定しなければなりません。一般的には、レジストラが提供するDNSサーバーが推奨されているため、そこを参照するように設定しましょう。自動的に設定されることもありますが、手動での対応が必要となる場合もあります。

ただ、場合によっては、契約しているレジストラ以外のネームサーバーを利用することがあるでしょう。このような状況においては、自分自身で必要な情報を集めて設定しなければなりません。入力値が誤っているとドメインを正常に利用できなくなるため注意しましょう。

DNSレコードなどの設定

DNSサーバーの設定においては、具体的にドメイン名とIPアドレスを連携しなければなりません。例えば「example.com」と呼ばれるドメイン名を「123.456.789.01」などのIPアドレスに紐づけます。この作業を実施することで、DNSサーバーを経由して、ドメイン名がIPアドレスを呼び出せるようになるのです。

とはいえ、この作業についても自動的に実施してくれるサービスが増えています。特に、レンタルサーバーとドメインを同じ会社で契約している場合は、ボタンひとつで設定されることも多いのです。そのため、本来は設定が必要な部分ですが、現在はほとんど意識することなく利用できる時代が訪れています。

DNSレコードの反映

それぞれのDNSレコードを設定したならば、その内容がサーバーへと反映されるまで待機が必要です。状況によって変化しますが、1時間から12時間が目安であると考えましょう。設定すれば即時に反映されるわけではありません。可能な限り時間に余裕を持って設定することが重要です。

また、DNSに関連するサーバーは世界中に数多く存在します。そのため、すべてのサーバーへ情報が反映されるまでには更に時間を要します。例えば、日本ではドメイン名からアクセスできるようになっても、アメリカからはアクセスできないことがあるかもしれません。世界中から安定してアクセスできるようになるまでには、24時間程度が必要になると考えられています。

継続的な運用

設定したレコードは放置しておいても良いケースがありますが、何かしらの理由で変更が必要となる場合があります。例えば、契約しているサーバーを変更しIPアドレスが変わるとDNSレコードの再設定が必要です。そのため、継続的な運用についても意識しましょう。

変更作業も契約しているレジストラによって少し異なります。ただ、概ねコンソールから必要な情報を入力して反映させるだけです。上記で解説したとおり、反映までには時間を要するケースが多いため、余裕を持って対応することを心がけましょう。

まとめ

DNSとはドメインネームシステムと呼ばれるものであり、ドメイン名とIPアドレスを紐づけるための仕組みです。インターネットの世界では、IPアドレスと呼ばれる住所を利用することが求められます。ただ、これは数字の羅列で人間が理解しやすいものではありません。そのため、ドメイン名と呼ばれる文字列に置き換えて、人間が認識しやすくします。

しかし、ドメイン名とIPアドレスは最初から紐づいているものではありません。そのため、解説したとおり、DNSを利用して紐付けする作業が必要です。

なお、DNSがなければ、ドメイン名を利用してWebサイトなどへアクセスできなくなってしまいます。今や当たり前に利用されている技術ではありますが、非常に重要な仕組みであることを認識しておきましょう。

SHAREこの記事をシェアする

admin