DNSとは?仕組みについてわかりやすく解説
Web業界で働いていると必ず耳にするDNS。当社のWebチーム内でも『DNS』という単語は頻繁に飛び交います。
また当社では様々な案件でDNSを利用しクライアントの要望にお応えしています。
入社してまだ2年の私も最近はその『DNS』について、少しずつ理解が深まってきたので、初心者にもわかりやすく解説したいと思います。
1.DNSの背景
DNSの解説をするにあたり、前提となるのがIPアドレスとドメインの関係です。
IPアドレスとドメイン
私たちが普段利用しているパソコンやスマートフォン、ルーター等は総称して「ホスト」と呼ばれており、そのホスト同士が通信する場合、通信相手を何らかの手段で指定しなければなりません。
また通信された側も、正しい通信先かどうかを判断しなければなりません。インターネットではこの「通信相手の指定」と「通信してきた相手の判別」に『IPアドレス』を使います。
IPアドレスとは、個々のホストに割り振られている識別番号の事で、そのホストがネットワークのどこに存在しているかを示すコンピューター向けの「住所」のようなものです。最大12桁の数字で表記され、世界で唯一となるように管理されています。
IPアドレスの例:198.51.100.1
上記の例のようにIPアドレスは数字の羅列で構成されており、利用者が使用するとなると覚えられなかったり、誤って利用してしまったりすると思います。
そこでIPアドレスを覚えやすく使いやすい名前で相手を指定できるようにすることが考え出されました。その名前のことを『ドメイン』と言います。
『ドメイン』は私たちがインターネットを利用する際のURLの一部となる文字列のことで、人間向けの「住所」のようなものです。下記の例では赤字部分がドメイン名となります。
URL:https://example.jp/aaa
2.DNSとは
DNSは「Domain Name System」の略で、先ほど説明した「ドメイン名」と「IPアドレス」を紐づけて管理し、利用者からの要求に応じてドメイン名に対するIPアドレスを探し出します。
このような仕組みを『名前解決』といいます。
DNSの名前解決
DNSの『名前解決』の基本は「問い合わせ」と「応答」です。
下の図のように、「情報を知りたい側」が知りたい情報の名前(ドメイン名)と種類(タイプ)を指定して問い合わせ、その問い合わせに対して「情報を提供する側」が知っている情報を応答します。このやりとりは常に1対1で行われます。
DNSの仕組み
DNSの名前解決を行うサーバーのことをDNSサーバーといいます。DNSサーバーには大きく分けて「キャッシュサーバー」と「権威サーバー」の2つの種類があります。
インターネットに接続している端末が一番最初に問い合わせをするサーバーが『キャッシュサーバー』です。利用者が入力したドメインをIPアドレスに変換し、デバイスにIPアドレスを教える役割を担っています。
権威サーバーは、キャッシュサーバーからの問い合わせを受けてIPアドレスに紐づくサーバーを検索するサーバーです。該当のサーバーとその情報を発見してキャッシュサーバーに返す役割を担います。
権威サーバーの中でキャッシュDNSサーバーが一番最初に問い合わせを受けるのがルートサーバーです。検索の起点となる役割を果たします。
名前解決の流れを説明すると下の図のようになります。
DNSはキャッシュサーバーが軸となり、ルートから階層構造をたどって名前解決をします。
3.ゾーン/レコードとは?
新規にドメインを取得した場合、権威サーバーを用意し、サーバー上にゾーンを作成する必要があります。『ゾーン』とはDNSで提供される情報の集合体で、1つのドメインごとに1つの『ゾーン』があります。ドメインの登録者が管理者となり、ゾーン内の情報を変更できます。そのゾーン内の情報のことを『レコード』といいます。ドメインに関連付けられたIPアドレスや、ドメインに対するリクエストの処理方法などを指示するものです。
DNSレコードの種類
DNSレコードにはいくつか種類があり、下記は一般的なレコードです。
Aレコード | ドメイン名とIPアドレスを関連付けるレコード。 |
CNAMEレコード | 特定のホスト名を別のドメイン名やサブドメイン名に転送するレコード。 |
MXレコード | メールの配送先(メールサーバー)のドメイン名を定義するレコード。 |
TXTレコード | ドメイン名に関連付けるテキスト情報を定義するレコード。 送信ドメインを認証するためのSPFレコードやDKIMレコードを記述します。 |
レコードの変更
レコードはそれぞれのコントロールパネルから変更できます。
Aレコードを変更 → WEBサーバー先を別のサーバーに変更
MXレコードを変更 → メールサーバー先を別のサーバーに変更
CNAMEレコードを変更 → 特定のドメイン名を別ドメインに転送できる
『メールだけ別のドメインから送りたい』場合は、MXレコードに加えて、送信元が正しいか、詐称されていないかを確認するSPFレコードの設定も行ないます。
まとめ
今回はDNSの仕組みやレコード変更について簡単に説明しました。
まだまだ深掘りしていくとすごく深い分野になるので、私も日々知識を増やしていこうと思っています。
当社では多数のドメインを管理しており、それぞれでDNSの設定もしております。
ご気軽にお問い合わせください。