DNSが存在する理由
IPアドレスを暗記する代わりに名前を使う理由を理解します。
「DNSが存在する理由」はCoddyKit上の無料Network+ Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはNetwork+ Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Network+ Academyコースには全4レッスンが含まれています。
数字の代わりに名前を使う
DNS(Domain Name System)は、example.comのような人間に分かりやすい名前を、コンピューターが接続に使用する実際のIPアドレスに変換します。
人は数字よりも名前のほうをはるかに覚えやすいものです。DNSを使えば、93.184.216.34のようなアドレスを暗記する代わりにWebサイト名を入力できます。DNSはインターネットの電話帳のような役割を果たします。
電話帳にたとえると
電話帳が人の名前を電話番号に対応付けるように、DNSはドメイン名をIPアドレスに対応付けます。名前を検索すると、DNSがダイヤルする番号を返します。
DNSがなければ、利用するすべてのサイトやサービスの正確なIPアドレスを知る必要があり、アドレスが変わるたびに対応しなければならないため、管理は不可能でしょう。
アドレスは変わっても名前は変わらない
DNSの重要な利点は柔軟性です。Webサイトが新しいIPアドレスを持つ別のサーバーへ移転しても、ドメイン名は変わりません。更新されるのはDNSレコードだけです。
ユーザーは同じ名前を入力し続けるだけで、自動的に新しい場所へ接続できます。名前とアドレスを切り離すことで、インターネットの運用ははるかに容易になります。
分散システム
DNSは1つの巨大なディレクトリではなく、世界中の数百万台のサーバーに分散した分散型の階層システムです。すべてのレコードを保持する単一のコンピューターはありません。
この分散構造により、DNSは拡張性と耐障害性を備えています。名前空間の各部分に対する責任は、異なる組織に委任されます。
ドメイン階層
ドメイン名は階層構造の中で右から左に読みます。www.example.comの場合:
- .comはトップレベルドメイン(TLD)です
- exampleはセカンドレベルドメインです
- wwwはサブドメインまたはホストです
ツリーの最上位では、すべてのTLDの上に見えないルート(.)があります。
www . example . com .
host 2nd-lvl TLD rootルートサーバーとTLDサーバー
最上位にはルートサーバーがあり、各TLDのサーバーがどこにあるかを把握しています。TLDサーバー(.com、.org、国コードなど)は、各ドメインの権威サーバーがどこにあるかを把握しています。
この委任の連鎖により、検索は最上位から開始し、答えを保持する正確なサーバーまで段階的に絞り込めます。
権威サーバー
権威ネームサーバーは、ドメインの実際の公式レコードを保持します。その応答は、そのドメインのアドレスに関する最終的な正解です。
ドメインを登録すると、レコードを保存する権威サーバーを指定します。DNSのその他の仕組みはすべて、その権威サーバーの応答を見つけたりキャッシュしたりするために存在します。
リゾルバーが処理を行う
リゾルバー(通常はISPまたはパブリックサービスが運用します)は、ユーザーに代わって答えを探します。デバイスがリゾルバーに問い合わせると、リゾルバーが階層を検索します。
リゾルバーは結果をキャッシュするため、同じ検索を繰り返す場合も高速です。デバイスは、システム全体を利用するためにリゾルバーのアドレスだけを知っていれば済みます。
正引きと逆引き
通常の検索は正引きです。これは名前からIPアドレスを求めるもので、Web閲覧時に使用する方向です。DNSは逆引きにも対応しており、IPアドレスから名前を求められます。
逆引きは、ログやメールの検証に役立ちます。サーバーが、アドレスの背後にある名前を確認したい場合などです。どちらの方向も、同じ階層システムに基づいています。
障害時に重要な理由
ほぼすべての接続はDNS検索から始まるため、DNSの問題は広範囲にわたる分かりにくい障害を引き起こします。サイト自体は正常でも、名前を解決できないために到達できない場合があります。
技術者は早い段階でDNSを疑うようにします。IPアドレスではサイトに到達できるのに名前では到達できない場合、原因はほぼ確実にDNSです。
DNSがすべてを支える
Web閲覧やメールからアプリの更新、クラウドサービスまで、オンライン上のほぼすべてが、まずDNSによる名前解決に依存しています。DNSはあらゆるクリックの背後で静かに動作しています。
DNSが存在する理由を理解すると、検索の手順を順に追い、次のレッスンで扱うレコードの種類や障害を認識できるようになります。
クイックチェック
目的を確認しましょう。
まとめ
DNSが存在する理由について学びました。
- DNSは人間向けの名前をIPアドレスに対応付けます。インターネットの電話帳です。
- 分散型かつ階層型(ルート、TLD、権威サーバー)です。
- 基盤となるIPアドレスが変わっても、名前は変わりません。
- リゾルバーが階層を検索し、応答をキャッシュします。
- IPアドレスでは接続できるのに名前で失敗する場合は、DNSを疑います。
よくある質問
「DNSが存在する理由」レッスンは無料ですか?
はい。「DNSが存在する理由」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Network+ Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Network+ Academyコースには全4レッスンが含まれています。
「DNSが存在する理由」で何を学びますか?
IPアドレスを暗記する代わりに名前を使う理由を理解します。 ブラウザで直接実行するハンズオンコードでNetwork+ Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Network+ Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのNetwork+ Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「DNSが存在する理由」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このNetwork+ Academyレッスンでコードを書いて実行できますか?
はい。すべてのNetwork+ Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。