DNSとは?
DNS(Domain Network System)とはドメインをIPアドレスに変換する仕組み。
DNSを理解する上でドメインを理解しておく必要があります。
ドメインとは、人間が見てわかるようにサーバのIPアドレスと紐づけた名前のことを言います。
詳しくは以下の記事で解説していますので、こちらを参照してください。
人間の視点からすると、アクセス先のURLをアドレスバーに入力すれば、サイトの閲覧が可能です。
しかし実際にコンピュータが処理する時は、アクセス先はIPアドレスを使用します。
その際にドメインからIPアドレスへの変換が必要になります。その仕組みがDNSです。
DNSサーバとは
ではドメインからIPアドレスの変換は誰がやってくれるのでしょうか。
サイトの数は無数に存在しますので、クライアントのPC内でDNSの仕組みを導入するのは現実的ではありません。
そのためにDNSの機能を提供するサーバとしてDNSサーバが存在します。
DNSサーバにはドメインとIPアドレスが管理されています。
クライアントから問い合わせを受けるとドメインを基にIPアドレスを返します。
※このドメインからIPアドレスに変換することを名前解決すると言います。
DNSの大まかな流れは以下の通りになります。
1.ユーザがブラウザからURLへアクセス。
2.URLのドメインからIPアドレスを取得するためにDNSサーバに問い合わせ。
3.DNSサーバはドメインからIPアドレスを返す。
4.受け取ったIPアドレスを基にWebサーバにアクセス。
DNSサーバがないとWebの閲覧は不可能と言ってもいいくらい重要な役割を担っています。
DNSの仕組み
実際はDNSサーバは1台で名前解決しているわけではありません。
サイトは無数に存在している且つアクセス者も無数に存在します。それを1台で捌くのは相当ブラックなことでしょう。
そのためDNSサーバは大きく二つに分けて負荷を分散しています。
・フルサービスリゾルバ(DNSキャッシュサーバ)
名前解決の結果をクライアントPCに返し、キャッシュに保存する。キャッシュに無いドメインの問い合わせが来た場合は権威DNSサーバに問い合わせを行う。
・権威DNSサーバ(DNSコンテンツサーバ)
実際に名前解決を行うサーバ。
ドメインは階層構造になっており、それぞれの階層に応じたDNSサーバが存在する。
問い合わせは「ルート→トップレベル→セカンドレベル・・・」と階層に応じたDNSサーバに対して順に問い合わせていく。
ドメインはピリオドを境に「トップレベル→セカンドレベル→サードレベル」という構成になっています。
実際にDNSの流れは
クライアントPCがフルサービスリゾルバに問い合わせをする。
フルサービスリゾルバが権威DNSサーバに対して何度も問い合わせして名前解決する。
名前解決の結果をクライアントPCに返すと共に自身のキャッシュに結果を保存する。
となります。
まとめ
DNSは名前解決するための仕組みで、その機能を担っているサーバがDNSサーバとなります。