【結論】
・DNSサーバーとは、
ドメインをIPアドレスに変換する為のサーバー
・IPアドレスは数字の羅列で分かりづらい為、
人にも分かるように英数字の羅列であるドメインと
紐づけることで利便性を高めている
・全世界のIPアドレスを一つのDNSサーバーで
管理する事は困難な為、階層構造に分けて、
負荷軽減を図っている。
【目次】
【本題】
DNSとは
DNSとは、ドメインをIPアドレスに変換する為のシステムを指します。
そもそも、IPアドレスとは、現実世界の「住所」に相当するもので、
ネットワークの接続先を特定する為に用いられ、
ネットワークへの接続に不可欠なものです。
IPアドレスは、数字とドットの羅列で表現されています。
例えば、Googleのトップページの場合、
「216.58.196.227」(2019年3月時点)
というIPアドレスで表現されています。
このIPアドレスですが、無機質な数字の羅列なので、
人間からすると非常に読み取りにくいという欠点がありました。
そこで登場したのが、ドメインです。
ドメインとは、IPアドレスを、
人でもわかりやすい英単語などに置き換えたものです。
先ほど例にあげたGoogleのトップページだと、
「www.google.com」がドメインにあたります。
これで人からは非常に分かりやすくなりましたが、
機械側は、ドメインで接続先を特定する事が出来ません。
そこで登場するのが、DNSです。
DNSによって、人がブラウザなどに入力した
ドメインをIPアドレスに変換することで、
機械が読み取れる様にすることで、
リクエストした接続先に繋げる事が出来ます。
DNSサーバーの階層構造
一つのDNSサーバーで世界中の全てのIPアドレスを管理するのは困難な為、
DNSサーバーは下記の様な階層構造を採用しています。
上記の通り、ドットで区切られた部分毎に階層が分かれており、
それぞれに階層毎にDNSサーバーが用意されています。
それぞれのDNSサーバーには、自身の配下のドメインが、
どのDNSサーバーで管理されているか?という参照情報が書かれており、
自身がIPアドレスを所持していない場合は、配下のドメインを紹介します。
これにより、一つのサーバーに負荷が集中する事を防ぎます。
名前解決の流れ
では、Googleのトップページを例に
DNSの名前解決の流れをみて行きます。
PCからDNSキャッシュサーバーへ問い合わせ
まず、DNSキャッシュサーバーに
ドメインに紐づくIPアドレスを問い合わせます。
DNSキャッシュサーバーとは、
クライアントと各DNSサーバーの橋渡し的な役割を担っています。
また、キャッシュという名の通り、過去に取得したIPアドレスを
一時的に保存しておける為、既に保存済みのIPアドレスであれば、
自身だけでクライアントに回答が可能です。
階層トップのroot(ルート)には、トップレベルドメインが
どのDNSサーバーで管理されているか?という情報が書かれています。
トップレベルドメインとは、「com・jp」の様に、
ドットで分割されたドメインの中で末尾にくる項目を指します。
なお、ルートのDNSサーバーは、全世界に13台だけ存在します。
上位のDNSサーバー自体にはIPアドレスの情報は無く、
次にどのDNSサーバーを参照すれば良いかを教えてくれるだけです。
そうして、いくつかのDNSサーバーを経由していき、
最終的にIPアドレスの情報を持っているDNSサーバーから、
IPアドレスを取得します。
IPアドレスでWebサーバーにアクセス
IPアドレスを情報をPCに返ってきたら、
PCからIPアドレスの接続先にアクセスします。
そこからは、リクエストに応じて接続先のサーバーが処理を行い、
PCにレスポンスを返します。
《今日の学習進捗(3年以内に10000時間に向けて)》
就活
学習開始からの期間 :93日
今日までの合計時間:894h
一日あたりの平均学習時間:9.7h
今日までに到達すべき目標時間:849h
目標との解離:45h
「10,000時間」まで、
残り・・・「9106時間!」