DNS:それは何であり、どのように機能するか

公開: 2014-08-14

ドメインネームシステム(DNS)は、インターネットの最も重要な基盤の1つです。 長くて面倒な数字の文字列を覚えなくてもサーバーに接続できるようにする責任があります。 設計者または開発者として、DNSとは何か、DNSがどのように機能するか、およびDNSの使用方法を理解することが重要です。

DNSとは何ですか?

Arpanet_logical_map_march_1977

1977年3月にインターネットの前身であるARPANETに接続されたすべてのコンピューターの図

1970年代には、ネットワークに接続されたコンピューターが非常に少なかったため、他のすべてのコンピューターの手動リストを誰でも簡単に保持できました。 ARPANET(インターネットの前身)の時代には、新しいコンピューターを購入してネットワークに追加した場合、所有者はARPANETの他のすべての人に、その新しいコンピューターをリストに追加するだけだと伝えていました。 このシステムは、数十台のコンピューターがリンクされている場合は正常に機能しましたが、コンピューティングがより安価になり、より一般にアクセスできるようになると、すぐに機能が低下しました。 今日の用語では、これは、新しいWebサイトまたはサービスが開始されるたびに全世界に通知する必要があることに似ています。

80年代初頭、DNSは、ドメインの信頼できるリストと、それらが指しているコンピューターを維持することにより、この問題を解決するために構築されました。 しかし、それはどのように正確に機能しますか? 技術的には、DNSは、ほぼすべてのネットワーク対応デバイスで、関連付けられたIPアドレスを持つドメイン名を解決するために使用されるシステムです。 インターネットの電話帳と考えてください。

http://www.getflywheel.comなどのWebアドレスをWebブラウザーに入力すると、コンピューターは自動的にどこに行くかを認識しません。 接続するにはIPアドレスが必要ですが、ドメイン名を指定しました。これは単なる文字列です。 ドメインを使用すると、人間はWebサイトの場所を覚えやすくなりますが、接続を確立するためにコンピューターが必要とするものではありません。 代わりに、コンピュータはDNSサーバーに接続し、そのWebサイトのIPアドレスを要求します。 DNSサーバーが応答し、コンピューターに「http://www.getflywheel.comは192.241.128.208にあります」と通知します。 コンピューターはDNSサーバーからそのIPアドレスを取得し、それを使用してIPアドレスに接続します。これにより、FlywheelのWebサイトが表示されます。

DNS_Rquest

DNSレコードはどのように管理および設定されますか?

DNSは、ドメインが指す必要のあるIPアドレス、サブドメイン、電子メール設定、さらには任意のテキストなどの情報を含むDNSレコードを介して設定されます。 ドメインを購入すると、所有者はドメインの権限のあるネームサーバーを指定します。 これらのネームサーバーは、ドメインのDNSレコードを制御します。このレコードは、他のDNSサーバーによって取得され、インターネット全体に伝播されます。 一般に、独自のDNSレコードを設定している場合は、WebサイトのIPアドレスがわかります。 たとえば、Flywheelは、Aネームレコードを指すことができるIPアドレスを提供します。

世界中に何千ものDNSサーバーがあり、それらはすべて一緒に同期して、すべてがどこにあるかを記録します。 ただし、すべてのDNSサーバーが同じように作成されているわけではありません。

DNSがどのように機能するかを理解することは素晴らしいことです。 それを実践する必要がありますか? 最も一般的なDNSレコードとその使用方法については、すばらしい無料の電子書籍をご覧ください。

DNSサーバーの構造は、逆さまのツリーのように見えます。 このツリーのトランクを形成するルートサーバーまたはマスターサーバーは13台あります。 それらはDNSの究極のマスターコピーです。 すべてのDNSデータは、ルートサーバーから、または以前にルートサーバーに接続してデータをフェッチしたサーバーから取得する必要があります。 ルートサーバーは、いわゆるルートゾーン、つまり最も信頼できるDNSゾーンを構成します。

ルートゾーンを過ぎると、ドメインを含むサブゾーンがあります。 各トップレベルドメインには独自のゾーンレコードがあり、セカンドレベルドメインと呼ばれるhttp://www.getflywheel.comなどの個々のドメインにさらに分割されます。

これは少し技術的になっているので、ツリーの例えの観点からこれを見てみましょう。 ルートゾーンがトランクを形成しているため、.comや.orgなどの各トップレベルドメインは、そのトランクからの分岐です。 getflywheel.comなどの各Webサイトは、そのブランチから突き出た葉です。 その小さな葉は、ドメイン所有者がDNSを制御できる領域です。 各ブランチは個別のネームサーバーになり、そこから派生するブランチとリーフを追跡します。

したがって、コンピューターがgetflywheel.comを要求すると、最初にルートサーバーに接続し、「.comWebサイトを探しています。 ここにある.comネームサーバーに話しかけてください。」 次に、コンピュータは.comを担当するネームサーバーにチェーンをたどり、詳細を要求します。 ドメインの所有者によって指定されたネームサーバーが最終的に見つかるまで、コンピューターはサーバーに接続します。 次に、Webサイトに関連付けられているIPアドレスを見つけて、そこにアクセスします。 コンピュータは、最終的にエンドターゲットを含むリーフに到達するまで、サーバーのツリーをブランチの下でトラバースします。

DNSルート階層

注:公式には13のルートDNSサーバーがありますが、2つを除くすべてが個別にリンクされ、エニーキャストと呼ばれるルーティングテクノロジーを介して数十の同一サーバーに配布されます。 エニーキャストでは、複数のノードを同じエンティティとして存在させることができます。 デバイスがそのエンティティに接続すると、ネットワーク上で利用可能な最も近いノードに接続します(これは、デバイスが最も近い地理サーバーに接続するCDNで使用されるgeocastとは異なります)。 エニーキャストを使用すると、ルートサーバーを世界中に増やして分散し、負荷のバランスを取り、応答時間を短縮し、単一障害点を防ぐことができます。

このサーバー接続のチェーン全体は、Webサイトにアクセスするたびに行う必要があるため、かなり面倒で負担がかかるようです。 幸い、DNSは大量にキャッシュされます。つまり、コピーは頻繁に近くのコンピューターに保存され、ルートサーバーの負荷が軽減され、クエリの読み込みが速くなります。 多くのISP、企業、大学、そしてあなた自身のコンピュータでさえ、最近のDNSクエリのキャッシュを保持します。 たとえば、google.comを探している場合は、コンピュータにすでにIPアドレスが保存されている可能性があります。 ただし、行ったことのないWebサイトを探している場合は、近所や会社の誰かがすでにそこにいて、クエリと情報がISPのDNSサーバーに保存されている可能性があります。

DNSがなければ、アクセスしたいすべてのWebサイトとコンピューターのIPアドレスを覚えておくか書き留める必要があります。 幸いなことに、DNSは非常に回復力があり、信頼性が高く、印象的なエンジニアリングであり、すべてのWebサイトと通信を追跡しているため、追跡する必要はありません。