DNSサーバーはどのように機能しますか?


14

ドメイン名は、DNSサーバーによってIPアドレスに解決され、要求されたサーバーに到達するために使用されることを知っています。私はこれがどのように機能するかの詳細のいくつかを知らないことを少し恥ずかしく思います。

  • コンピューターがDNSサービスにドメインの解決を要求するには、コンピューターがDNSサーバーを認識している必要があります。DNSサーバーについてコンピューターに明示的に通知したことがないので、どのDNSサーバーを使用すべきかをどのように知るのですか?この情報を何らかの形でコンピューターにプッシュするのはISPですか?

  • さらに、これらのDNSサーバーはどこにありますか?ISPのどこかで実行されているDNSサーバーがあり、それはすべての(ISPの)顧客によって使用されていますか?

  • 私のコンピューターが使用するDNSサーバーは、それらを解決するためにすべてのドメインを知っている必要があります。レコードはどのように更新/維持されますか?

  • 発生したDNSサーバーの変更をフィードする中央エンティティ/レジストリ/ ...がありますか?

  • どこかでドメイン名を注文した場合、売り手はIPアドレスと販売したドメイン名の間の接続を確立する必要があります。このリンクについて知るために、すべてのDNSサーバーはどのように更新されますか?言い換えれば、このドメインが現在指し示している「インターネット」を知らせるために、売り手はどのような行動をとるのでしょうか?

これは一連の質問のように思えますが、それらは同じ物語の異なる側面にすぎないと思います。誰かがこれがどのように一緒に機能するか教えてもらえますか?

回答:


15

コンピューターには、詳細情報を照会できるDNSサーバーのリストがあります。UNIXまたはLinuxシステムでは、これはに保存され/etc/resolv.confます。Windowsでは、ネットワーク設定で構成できます。多くの場合、DNSサーバーは、デフォルトのドメイン、プロキシサーバーなどの他の設定とともに、DHCPサーバーによって提供されます。

使用するDNSサーバーの場所は重要ではありません。コンピューターにIPアドレスと動作するデフォルトルート(つまりping、DNSサーバーが可能)があれば、DNSクエリを実行できるはずです。

DNSサーバーは「すべて」のドメインを知る必要はありません。彼らは、誰が「権限のある」かを知るだけでよく、「ルート」サーバーのセットからそれを学習します。各DNSサーバーには「ルート」サーバーのリストがあり、このリストはめったに変更されません。DNSサーバーの1つには18個のルートサーバーが構成されており、この構成は2年前にDNSサーバーをインストールしたときに行われました。その後、ルートサーバーのリストが変更された場合、気づいた。

私のDNSサーバーは、知らないドメインを解決するように求められると、ルートサーバーに対してクエリを実行し、そのドメインに対して他のDNSサーバーが権限を持っているかどうかを調べます。取得する応答には追加の「NS」レコードが含まれ、権限のないマークが付けられる場合があります。この場合、DNSサーバーは「チェーンをたどって」新しいサーバーに新しいクエリを作成する必要があることを認識します。最終的に、信頼できる情報を提供するDNSサーバーを見つけ、NSレコードだけではないクエリを作成できます。A(アドレス)とMX(メール交換)は、もちろん最も一般的な2つです。

COM、NET、ORG、CA、UKなどの各TLD(トップレベルドメイン)は、サブドメインの独自のレジストリを保持しています。(「サブドメイン」は別のドメイン内の任意のドメインであるため、「example.com」は「com」内のサブドメインであり、「com」は「。」、「ルート」内のサブドメインです。)各レジストリのルール管理対象のTLDにのみ適用されます。つまり、国コードTLDごとにまったく異なる基準セットがあり、「汎用」TLDは、異なるポリシーを持つ異なる組織によって管理されます。しかし、それらはすべて、コマンドラインから基本的なDNSクエリツールを使用して確認できるTLDのDNSサーバーを維持しています。

[ghoti@pc ~]$ host -t ns ca.
ca name server c.ca-servers.ca.
ca name server e.ca-servers.ca.
ca name server z.ca-servers.ca.
ca name server a.ca-servers.ca.
ca name server f.ca-servers.ca.
ca name server sns-pb.isc.org.
ca name server j.ca-servers.ca.
ca name server k.ca-servers.ca.
ca name server tld.isc-sns.net.
ca name server l.ca-servers.ca.
[ghoti@pc ~]$ host -t ns info
info name server c0.info.afilias-nst.info.
info name server d0.info.afilias-nst.org.
info name server b2.info.afilias-nst.org.
info name server b0.info.afilias-nst.org.
info name server a2.info.afilias-nst.info.
info name server a0.info.afilias-nst.info.
[ghoti@pc ~]$ 

レジストラ(多数ある)からドメインを購入すると、そのレジストラはドメインに関する情報をレジストリ(TLDごとに1つだけ)に送信します。TLD内の登録済みドメインのリストを維持し、この情報を他のサーバーに提供するDNSサーバーを維持することは、各レジストリの責任です。


-1

プロトコルとしてのDNSサーバーの動作は、TCP / IPプロトコルのようなプライベートネットワーク内でインターネット上のデータを交換するための一連のルールです。ユーザーフレンドリーなドメインをインターネットプロトコルに変えるだけです。ドメイン所有者がdomainiaなどの信頼できるドメインプロバイダーから購入したドメイン名を使用できます。ドメインの例を「myweb.com」として考えてみましょう。これは、ネットワーク経由でコンピューターが認識される71.12.252.1のようなIPに変換されます。


1
申し訳ありませんが、あなたの投稿を理解するのは非常に困難です。言い直して、言葉の意味にもっと注意を向けてください。そうすれば、誰かが小さな間違いを修正することで、おそらくテキストを洗練するのに役立つでしょう。
pabouk
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.