本文へジャンプします。

TOP
クラウド トップ>クラウドナビ>基礎知識>DNSとは? 名前解決の仕組みを理解しよう

基礎知識

DNSとは? 名前解決の仕組みを理解しよう

2021年9月29日


DNSとは? 名前解決の仕組みを理解しよう

インターネット上の通信には、Internet Protocol(IP)という通信プロトコルが使われています。IPでは「IPアドレス」と呼ばれるユニークなアドレスを使って、通信相手を指定します。しかし、Webサイトを閲覧する際やメールを送信する際は、IPアドレスをそのまま指定することはほとんどありません。IPアドレスのかわりに、人間にとって覚えやすい「ドメイン名」を使うのが一般的です。

しかし、ドメイン名のままでは、IPは通信相手を指定することができません。そこで、ドメイン名とIPアドレスを紐づけ、変換する仕組みが作られました。この仕組みをDomain Name System(ドメインネームシステム)、略して「DNS」と呼びます。DNSは現在のインターネット通信を支える重要な技術の1つとなっています。

本記事では、DNSの概要とドメイン名からIPアドレスを求める「名前解決」の仕組みを解説します。

DNSとは

冒頭で述べた通り、インターネット上の通信はIPアドレスで通信相手を指定します。しかし、IPアドレスは数字の羅列であるため覚えにくく、人間にとって使いやすいとはお世辞にも言えません。そこで、人間が見ても通信相手を識別しやすいようにIPアドレスに意味のある名前(ドメイン名)を対応づけ、ドメイン名で通信相手を指定できるようにする仕組みがDNSです。

例えば、WebブラウザでWebサイトを閲覧する場合、ユーザーはWebブラウザのアドレスバーにURLを入力します。この時、内部的にURLのドメイン名とIPアドレスの変換が行われ、WebブラウザとWebサーバーとの実際の通信は、変換後のIPアドレスを元に行われています。

この「与えられたドメイン名から対応するIPアドレスを求める」行為を「名前解決」と呼びます。そして、名前解決は後述する「DNSサーバー」へ問い合わせを行うことで実現されています。

DNSサーバーの種類

DNSサーバーとは、文字通りDNSとしての機能を担うサーバーのことです。DNSサーバーは提供している機能によって、大きく「権威サーバー」と「キャッシュサーバー」の2種類に分けられます。

権威サーバーとは、ドメイン名とIPアドレスの対応情報を保持しているDNSサーバーのことです。新規にドメインを取得したら権威サーバーを用意し、サーバー上にゾーン(後述)を作成する必要があります。権威サーバーは自分で構築することも可能ですが、ドメインを取得したレジストラが用意しているものを利用するのが一般的です。

対して、キャッシュサーバーとはユーザーから名前解決の問い合わせを受け付け、ユーザーの代理として、ほかのDNSサーバーへ問い合わせを行うDNSサーバーのことです。OSのネットワーク設定には、利用するDNSサーバーを指定する箇所がありますが、これは、そのOSが名前解決を依頼するキャッシュサーバーの指定になります。キャッシュサーバーは、多くのインターネットプロバイダーが自社ユーザー向けに用意しています。また、インターネット上には誰もが無料で利用できるキャッシュサーバーも存在し、代表的なものに、Google社が提供するGoogle Public DNSがあります。

また、キャッシュサーバーはその名の通り、名前解決の結果を一定期間「キャッシュ(保管)」する機能も備えています。これにより、キャッシュの保管期限内に同様の名前解決の問い合わせを受けた場合、ほかのDNSサーバーへの問い合わせを省略し、結果を高速に返答することが可能になります。

DNSによる名前解決のフロー

PCから「pfs.nifcloud.com」のドメインにアクセスする場合を例として、名前解決の具体的なフローを解説します。

PCのOSは、設定されたキャッシュサーバーに対して「pfs.nifcloud.com」の名前解決を依頼します。名前解決の要求を受けたキャッシュサーバーは、最初に「ルートサーバー」と呼ばれるDNSサーバーに問い合わせを行います。ルートサーバーとは、名前解決の起点となる重要なサーバー群で、現在世界中で13個のシステムが運用されています。

ルートサーバーは、「pfs.nifcloud.com」というドメインに対応するIPアドレスの情報は持っていません。しかし、ルートサーバーは「.com」ドメインの権威サーバーのIPアドレスを知っているため、このIPアドレスを回答します。

キャッシュサーバーはこの回答を元に「.com」ドメインの権威サーバーに対して、同様の問い合わせを行います。しかし、「.com」ドメインの権威サーバーも「pfs.nifcloud.com」に対応するIPアドレスの情報は持っていません。ですが、「.com」のサブドメインにあたる「nifcloud.com」ドメインの権威サーバーのIPアドレスを知っているため、このIPアドレスを回答します。

最後に、キャッシュサーバーは「nifcloud.com」ドメインの権威サーバーに対して、同様の問い合わせを行います。「nifcloud.com」ドメインの権威サーバーは当然、自身のサブドメインである「pfs.nifcloud.com」のIPアドレスの情報を持っているため、このIPアドレスを回答します。キャッシュサーバーは、この結果をクライアントであるPCに回答し、名前解決は完了です。

このように名前解決は、ルートサーバーを起点にドメインの階層を辿りながら、それぞれのドメインを管理している複数の権威サーバーに順次問い合わせる形で行われています。

ゾーン/レコードとは

DNSが名前解決を行うためには、権威サーバー上にドメインとIPアドレスを紐づける情報があらかじめ登録されていなければなりません。

例えば、「pfs.nifcloud.com」に対応するIPアドレスは「111.171.201.211」ですが、この対応を記録した情報を「DNSレコード」と呼びます。そして、権威サーバーは「ゾーン」と呼ばれる単位でドメイン内に存在する複数のDNSレコードをまとめて管理しています。

ゾーンは、通常ドメインやサブドメインといった上位の権威サーバーから「委任」された単位ごとに作成されます。例えば、「nifcloud.com」ドメインはゾーンを持っています。このゾーン内に「nifcloud.com」のすべてのサブドメインのレコードを列挙することも可能ですが、サブドメインごとに独立したゾーンを作り、別の権威サーバーに管理を「委任」することもできるのです。実際「pfs.nifcloud.com」というサブドメインは、上位のドメインである「nifcloud.com」とは異なる、独自のゾーンを持っています。

ゾーンに登録されるDNSレコードには、いくつかの異なる種類が存在します。このレコードの種類は「レコードタイプ」と呼ばれ、主に次のようなものが存在します。

レコードタイプ 内容
SOA そのゾーン自体の情報を表す。
A ドメイン名に対応するIPv4アドレスを表す。
AAAA ドメイン名に対応するIPv6アドレスを表す。
NS そのドメインの権威サーバーを表す。
MX そのドメインのメールサーバーを表す。
CNAME ドメイン名に別名をつける。
TXT 任意のテキスト情報を記録する。
PTR ドメイン名からIPアドレスを調べる通常の名前解決(正引き)とは逆に、IPアドレスからドメイン名を調べる(逆引き)。

ニフクラ DNSのご紹介

ニフクラでは、オンデマンドで構築・管理・運用が可能なDNSを提供しています。DNSの基本的な機能(権威サーバー機能)に加えて、GSLB(広域負荷分散)、ドメイン取得・管理などの機能を利用可能となっています。詳細については、「DNS / GSLB(広域負荷分散)/ ドメイン取得・管理」を参照してください。

  • このエントリーをはてなブックマークに追加