DNSとDNSサーバとは?

DNSとDNSサーバとは?

最近オンラインでのゲーム時に「インターネットに接続できません。DNSでの名前解決できませんでした。」といったエラーメッセージが表示されDNSって何、どこで設定すんの?といった声を聞きました。
NW関係のエンジニアなら基本として知っているとは思いますが、改めて「DNS」と「DNSサーバ」について簡単にまとめてみようと思いました。

●DNSとは

まずDNSとは「Domain Name System(ドメインネームシステム)」の略称でありそのの名の通りドメイン名とIPアドレスを対応関係を管理するシステムのことです。
ドメイン名とは、弊社サイトでいうと、URL”https://bestmerge.co.jp/”の”bestmerge.co.jp”の部分です。
Amazon.comでいうと、 “https://www.amazon.com/ “の”www.amazon.com”の部分のことです。

私たちは、このドメイン名を使って日常的にWebサーバにアクセスしています。ところが、ドメイン名はWebサーバには理解できません。なぜなら、ドメイン名とは、人間がHPなどの場所を分かりやすくするために付けている名前だからです。
DNSがないと例えばWebサイトにアクセスするのに「https://bestmerge.co.jp/」と入力するのではなく、「https://192.168.1.1」のようにIPアドレスを入力する必要があるのです。

●DNSサーバとは

DNSについてさきほど大まかに説明しました、ではDNSサーバとは何かというとDNSを行ってくれるサーバのことを指します。
家庭内のネットワーク環境においてはルーターが基本的にこの役割を担ってくれておりローカルDNSサーバと呼ばれます。
ローカルDNSサーバは基本的には最近利用したドメインとIPアドレスの対応表を記憶しており記憶内にあればここから応答がきます。ない場合さらに上位ルートDNSサーバにローカルDNSサーバが聞きに行きます。
ルートDNSサーバとは、DNSにおける最高権威者でありルートDNSサーバは、対応するIPアドレスが分かればその結果を返しますが、メインとなる役割は世界中のDSNサーバの元締めです。
つまり、ルートDNSサーバからIPアドレスが返ってくることはほとんどなく、実際には「どのDNSサーバであればドメイン名とIPアドレスの対応表を持っているか?」を教えてくれます。

●DNSサーバの動き

例として「https://www.bestmerge.co.jp/」に初めてアクセスしようとした際の動きは以下のようになります。
①PCがローカルDNSサーバに問い合わせ
②ローカルDNSサーバに対応表が無いためルートDNSサーバに問い合わせ(基本ここでの返答はない)
今回の例で行くと「https://www.bestmerge.co.jp/」なのでルートDNSサーバは「jp」DNSサーバなら知っていると異様な応答をします。
③「jp」DNSサーバが対応するIPアドレスを知っていれば返しますが知らない場合「com」DNSサーバに回す
④「com」DNSサーバが対応するIPアドレスを知っていれば返しますが知らない場合「bestmerge」DNSサーバに回す
⑤「bestmerge」のドメインを管理するDNSサーバが最終的な応答者になる

このように最終的に対応するIPアドレスが判明するまで下の階層のDNSサーバを紹介していく動きになっています。
そして教えてもらった対応表をローカルDNSサーバは記憶しておくのです。
DNSサーバとまとめて説明しましたが、どこまでも自分の知りたい情報を聞きに行く役割と知っている情報だけを応答する役割の2種類のDNSサーバが存在しています。

●まとめ

DNS起因の障害やエラーはわりと発生しがちなのでなんとなくの流れや仕組みを覚えておくとインターネットに繋がらないといった問題の解決がスムーズにいくのではないかなと思います。
DNSサーバを設定する際にも宛先はいろんなものがあるので気になった方は調べてみてください。