
URLを入れるとサイトが開くのはなぜ?「DNS」のしくみ
こんにちは!こんばんは!
どうもアイシーティーリンクの高塚です!
最近の夜は寒くなったり暑くなったりと寒暖差が激しく体調管理が難しいですが、皆さんは風邪をひかないように気を付けてお過ごし下さいね!
あ、私ですか?私はタンクトップ短pn…( д)ハ・・・ハ・・(*>д<)、;'.・ ヘクチッ
はじめに
ブラウザで「example.com」と打つと、すぐにページが開きますよね。
毎日あたりまえにやっていることですが、なぜ名前を入れるだけで目的のサイトにたどり着けるのか、不思議に思ったことはありませんか?
実はその一瞬のあいだに、裏側ではDNS(ディーエヌエス)というしくみが大急ぎで働いています。
今回は、この縁の下の力持ちの紹介をしたいと思いますのでご興味のある方はゆっくり見ていって下さいね!
IPアドレスってなに?
DNSの話の前に、ひとつだけ準備をしておきましょう。
🔢 IPアドレスとは?
こちらはインターネットにつながっている機器ひとつひとつに付いている「番号」のことです。
「192.0.2.1」のように、数字を点で区切った形をしています。
インターネットでは、相手をこの番号で見分けて通信しています。
コンピューターにとっては数字のほうが扱いやすいのですが、私たち人間にとってはどうでしょう?
いくつものサイトの番号を覚えておくなんて、ちょっと無理がありますよね。
DNSは「名前→番号」の変換係
そこで登場するのがDNSです。
🌐 DNS(Domain Name System)とは?
「example.com」のような覚えやすい名前(ドメイン名)を、コンピューターが使うIPアドレスに置きかえてくれるしくみです。
スマートフォンの連絡先を思い浮かべてみてください。
「登録された人」をタップすれば、電話番号を覚えていなくても電話がかかりますよね。
DNSはあれのインターネット版、というイメージです。
🔍 名前解決とは?
この「名前から番号を調べること」を、専門用語で名前解決と呼びます。
DNSの話にはよく出てくる言葉なので、ここで覚えておくとあとが楽になりますよ!
昔は「1枚の名簿」だった
ここで少しだけ昔話をさせてください。
インターネットのご先祖さまにあたるネットワークでは、名前と番号の対応をHOSTS.TXTという1つのファイルにまとめて、1か所で管理していたそうです。
でも、つながる機器はどんどん増えていきます。
ファイルはふくらみ続け、更新の手間も増え、配っているサーバーにも負担が集中しました。
こうして1980年代の初めには限界を迎えてしまったんです。
そこで「みんなで手分けして管理しよう!」という発想から生まれたのが「DNS」です。
ドメイン名は「右から読む」
🏷️ ドメイン名とは?
「www.example.co.jp」のような、インターネット上の名前です。
ドメイン名は、点(.)で区切られた部分ごとに管理する担当が分かれています。
そして、右にいくほど大きな区分になっているんです。
住所にたとえるなら、右から「国 → 都道府県 → 市町村 → 番地」と細かくなっていく感じですね。
一番てっぺんにいるのがルートサーバーです。
ルートサーバーは「.jp」や「.com」といった一番右側の部分(TLD:トップレベルドメイン)を担当するサーバーの場所だけを知っていて、細かい番号までは持っていません。
それぞれの担当は、自分のすぐ下の範囲だけを管理しています。
この「下の範囲の管理をまかせる」ことを委任と呼びます。
登場するサーバーは2種類
ここからは、名前解決で活躍するサーバーをご紹介しますね。
大きく分けて2種類あります。
📚 権威DNSサーバー(情報を持っている係)
それぞれのドメイン名について、正式な情報を持っているサーバーです。
問い合わせが来たら「その名前の番号はこれですよ」と答えます。
🏃 キャッシュDNSサーバー(代わりに調べてくれる係)
パソコンやスマートフォンから頼まれて、権威DNSサーバーに次々と聞いて回り、答えを持ち帰ってくれるサーバーです。
※フルサービスリゾルバーとも呼ばれます。
会社のネットワークやプロバイダー、クラウド事業者など、いろいろな場所で動いています。
名前解決の流れ
では実際に、「www.example.jp」を開くときの流れを追ってみましょう。
パソコンが、キャッシュDNSサーバーに「www.example.jp の番号を教えて」と頼む
キャッシュDNSサーバーがルートサーバーに聞くと、「.jp の担当はあちらですよ」と案内される
「.jp」の担当に聞くと、「example.jp の担当はあちらですよ」と案内される
「example.jp」の権威DNSサーバーに聞くと、ようやく番号を教えてもらえる
キャッシュDNSサーバーが、その番号をパソコンに伝える
一見たらい回しのように見えますが、パソコンがお願いするのは最初の1回だけです。
あとはキャッシュDNSサーバーが全部まとめて調べてくれるんですよ。
キャッシュとTTL
「毎回こんなに聞いて回っていたら、遅くならない?」と思った方、鋭いです!
🗂️ キャッシュとは?
一度調べた結果を、しばらく手元にメモしておくことです。
キャッシュDNSサーバーは、調べた答えを一時的に保存しておいて、同じ質問が来たらメモを見てすぐに答えます。
そのおかげで、速くなるうえに相手のサーバーの負担も減るんです。
⏳ TTL(Time To Live)とは?
メモの「賞味期限」のことです。
秒単位で決められています。
期限を短くすると変更がすぐ反映されますが、問い合わせの回数が増えます。
長くすると問い合わせは減りますが、変更の反映が遅くなります。
どちらにも良し悪しがあるんですね。
⚠️ ここに注意!
サイトの引っ越しなどでIPアドレスを変えても、古いメモの期限が切れるまでは、前の番号が使われ続けることがあります。
「設定を変えたのに反映されない……」というときは、まずTTLを思い出してみてくださいね。
自分のパソコンでのぞいてみよう
最後に、Windowsで「いま自分がどのDNSサーバーを使っているか」を確かめる方法をご紹介します。
スタートボタンを右クリックし、「ターミナル」または「コマンドプロンプト」を開く
ipconfig /all と入力して、Enterキーを押す
表示された中から「DNS サーバー」という行を探す
家庭では、Wi-Fiルーターから自動で設定されていることが多いですよ!
まとめ
DNSは、名前を番号(IPアドレス)に置きかえる「連絡先帳」のようなしくみ
1か所で全部を持たず、みんなで手分けして管理している
キャッシュDNSサーバーが調べる係、権威DNSサーバーが答えを持っている係
調べた結果はTTLの間だけメモされるので、変更がすぐに反映されないこともある
毎日なにげなくサイトを開くたびに、こんなリレーが一瞬で行われているんです。
そう思うと、いつものブラウザがちょっと違って見えてきませんか?
最後に
長くなりましたが、ここまで読んでいただき、ありがとうございました!
DNSは目に見えないしくみなので、最初は「なんだか難しそう……」と感じたかもしれません。
でも、「名前を番号に置きかえる連絡先帳」というイメージさえつかめれば、もう第一歩はクリアです!
これからサイトを開くときに、「いま裏でリレーが走っているんだな」と少しでも思い浮かべてもらえたら、とてもうれしいです。
この記事が「おもしろかった」「わかりやすかった」と感じていただけたら、スキやフォローで応援してもらえると励みになります。
それでは、また次の記事でお会いしましょう!
