DNSサーバーについて

f:id:ryoutaku_jo:20190311122849p:plain

【結論】
DNSサーバーとは、
 ドメインIPアドレスに変換する為のサーバー

IPアドレスは数字の羅列で分かりづらい為、
 人にも分かるように英数字の羅列であるドメイン
 紐づけることで利便性を高めている

・全世界のIPアドレスを一つのDNSサーバーで
 管理する事は困難な為、階層構造に分けて、
 負荷軽減を図っている。


【目次】


【本題】

DNSとは

DNSとは、ドメインIPアドレスに変換する為のシステムを指します。

そもそも、IPアドレスとは、現実世界の「住所」に相当するもので、
ネットワークの接続先を特定する為に用いられ、
ネットワークへの接続に不可欠なものです。

IPアドレスは、数字とドットの羅列で表現されています。

例えば、Googleのトップページの場合、
「216.58.196.227」(2019年3月時点)
というIPアドレスで表現されています。

このIPアドレスですが、無機質な数字の羅列なので、
人間からすると非常に読み取りにくいという欠点がありました。

そこで登場したのが、ドメインです。

ドメインとは、IPアドレスを、
人でもわかりやすい英単語などに置き換えたものです。

先ほど例にあげたGoogleのトップページだと、
「www.google.com」ドメインにあたります。

f:id:ryoutaku_jo:20190311123237p:plain

これで人からは非常に分かりやすくなりましたが、
機械側は、ドメインで接続先を特定する事が出来ません。

そこで登場するのが、DNSです。

DNSによって、人がブラウザなどに入力した
ドメインIPアドレスに変換することで、
機械が読み取れる様にすることで、
リクエストした接続先に繋げる事が出来ます。

なお、この様にドメインIPアドレスを紐づける処理の事を
名前解決(DNS名前解決)と呼びます。

そして、名前解決の為に、
IPアドレスドメインの情報を蓄積しているのが、
DNSサーバーです。

DNSサーバーの階層構造

一つのDNSサーバーで世界中の全てのIPアドレスを管理するのは困難な為、
DNSサーバーは下記の様な階層構造を採用しています。

f:id:ryoutaku_jo:20190311191309p:plain

上記の通り、ドットで区切られた部分毎に階層が分かれており、
それぞれに階層毎にDNSサーバーが用意されています。

それぞれのDNSサーバーには、自身の配下のドメインが、
どのDNSサーバーで管理されているか?という参照情報が書かれており、
自身がIPアドレスを所持していない場合は、配下のドメインを紹介します。

これにより、一つのサーバーに負荷が集中する事を防ぎます。

名前解決の流れ

では、Googleのトップページを例に
DNSの名前解決の流れをみて行きます。

f:id:ryoutaku_jo:20190311195715p:plain

PCからDNSキャッシュサーバーへ問い合わせ

まず、DNSキャッシュサーバーに
ドメインに紐づくIPアドレスを問い合わせます。

DNSキャッシュサーバーとは、
クライアントと各DNSサーバーの橋渡し的な役割を担っています。

また、キャッシュという名の通り、過去に取得したIPアドレス
一時的に保存しておける為、既に保存済みのIPアドレスであれば、
自身だけでクライアントに回答が可能です。

DNSキャッシュサーバーから各DNSサーバーへ問い合わせ

階層トップの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時間!」