この記事はネットワークのことをゆっくり解説していきます
その度合いは浅い(アサァイ!!!)のでご了承ください
今回はDNSです
インターネットを使っていると、GoogleやYahoo!、Amazonなどのサイトを当たり前のように開いていますよね
でも実は、その裏側では私たちが意識することもないまま、ある仕組みがせっせと働いています
それが今回の主役である DNS(Domain Name System) です
DNSはネットワークの世界でいう「縁の下の力持ち」のような存在です
普段はほとんど注目されませんが、もしDNSが止まってしまうと、多くの人は「インターネットが壊れた!」と感じるほど大きな影響が出ます
Webサイトを開くときも、メールを送るときも、実はDNSが裏で活躍しています
今回はそんなDNSについて、「名前解決って何?」「なぜ必要なの?」というところから、浅ぁく分かりやすく見ていきましょう
■概念ざっくり理解していこう編
DNSって何者?
DNSとは、「名前とIPアドレスを対応付ける仕組み」 です
例えば、以下のような対応関係を管理しています
名前(ホスト名)
google.com
yahoo.co.jp
私たちは「google.com」や「yahoo.co.jp」といった名前を覚えるのは得意ですが、「142.250.xxx.xxx」のような数字の羅列を覚えるのは大変です
一方で、コンピュータは名前ではなくIPアドレスを使って通信します
そのため、人間が使いやすい名前とコンピュータが利用するIPアドレスを結び付ける役割が必要になります
その役割を担っているのがDNSです
例えるなら、DNSはスマートフォンの電話帳のようなものです
相手の名前を選ぶだけで電話をかけられるのは、裏で電話番号との対応付けが行われているからです
DNSも同じように、「google.com」という名前から対応するIPアドレスを探し出してくれています
DNSが無かった世界を想像してみよう
もしDNSが存在しなかったらどうなるでしょうか
Googleを開くたびに、142.250.xxx.xxxのようなIPアドレスを入力しなければなりません(めんどくせぇ)
Yahoo!を開く場合も、183.xxx.xxx.xxxのようなIPアドレスを覚える必要があります
さらに困るのがサーバの引っ越しです
例えばGoogleがサーバを移設し、IPアドレスが変更になった場合、世界中の利用者に新しいIPアドレスを知らせなければなりません
これはエグイ(現実的ではありませんよね)
そこでIPアドレスは変更できる利用者は同じ名前を使い続けられる
という仕組みが必要になります
それを実現しているのがDNSです
名前解決とは?
DNSの世界では、「名前からIPアドレスを調べること」 を名前解決(Name Resolution)と呼びます
例えばブラウザで以下のURLへアクセスしたとします
https://www.google.com
コンピュータはまず、www.google.com のIPアドレスを教えてください
とDNSサーバへ問い合わせます
するとDNSサーバが「このIPアドレスですよ」と回答してくれます
その後、コンピュータは取得したIPアドレスへ通信を行います
つまり
google.com → DNSで調査 → 142.250.xxx.xxx → 通信開始
という流れになっています
www.google.comを開くと何が起きる?
実際にブラウザでGoogleへアクセスした場合の流れを見てみるとこんな感じ
① ブラウザでURLを入力
www.google.com
↓
② PCがDNSサーバへ問い合わせ
www.google.com のIPアドレスを教えてください
↓
③ DNSサーバが回答
142.250.xxx.xxxです
↓
④ PCがGoogleサーバへ接続
↓
⑤ Webページ表示
私たちがURLを入力してからページが表示されるまでの間に、このような処理が一瞬で行われています
普段は意識しませんが、DNSは通信のスタート地点で重要な役割を果たしているのですよ
DNSサーバってどこにいるの?
ここで疑問が出てきます
「問い合わせ先のDNSサーバってどこにあるの?」
実は環境によって異なります
家庭では、インターネット回線業者(ISP)が提供するDNSサーバや、ルータ経由で指定されるDNSサーバが利用されることが一般的です
企業では社内DNSサーバが用意されていることもあります
また、有名な公開DNSサービスとして以下のようなものがあります
Google Public DNS
Cloudflare DNS
私たちは普段意識していませんが、PCやスマートフォンには必ず問い合わせ先となるDNSサーバが設定されています
よく聞く用語だけ覚えよう
ここでDNS関連の用語を整理しておきます
ドメイン名・・・インターネット上の名前です
例
google.com
yahoo.co.jp
amazon.co.jp
FQDN・・・正式なホスト名のことです
例えば、www.google.comはFQDNです
一方、googleだけではFQDNではないってことになります
名前解決・・・ドメイン名からIPアドレスを調べる処理です
DNSの最も重要な役割と言えます
まとめ
今回はDNSの基本について学びました
ポイントは次の3つです
1.コンピュータはIPアドレスで通信する
2.人間は名前で覚える
3.DNSは名前とIPアドレスを結び付ける仕組み
私たちは普段何気なく「google.com」と入力していますが、その裏ではDNSが働いています
DNSは奥が深い
次回はDNSの仕組みをさらに深掘りします
Root DNS
DNSキャッシュ
DNSレコード
nslookup
など、実際の運用や障害対応でも登場する内容を見ていきます(予定)
今回はこれで終わりです
byebye ヾ(❛ᴗ˂ )⌒♥

