web-dev-qa-db-ja.com

DNSはネームサーバーIPアドレスの変更をどのように検出しますか?

Example.comなどのドメインがあり、ドメインのプライマリおよびセカンダリネームサーバーをns1.example2.comおよびns2.example2.comに設定するとします。

質問:

  1. Example.comドメインにこれ​​らのネームサーバーを設定するときに、ネームサーバーのIPアドレスが取得され、レジストリのデータベース(つまり、.comドメインのVeriSign)に保存されますか?または、ネームサーバーのIPとドメイン名の両方ですか?

  2. 両方の情報が保存されている場合、ある時点でネームサーバー自体のIPアドレスが変更されるとどうなりますか?つまり、レジストリはIPアドレスの変更をどのように知るのでしょうか?

編集:問題は、WebホストのIPアドレスが変更された場合の動作ではなく、ネームサーバーのIPアドレスが変更された場合の動作です。すべてのネームサーバーに静的IPがあるため、これは通常発生しません。しかし、ネームサーバーが別のネットワーク上の別の物理サーバーに移動されたため、新しいIPアドレスが与えられたとしましょう。この場合、ネームサーバー自体が見つからないという事実により、ドメインネームシステムにこれに関する問題はありませんか?

ここで少し考えてください。ここで私の考えが間違っている場合は、誰かが私を修正してください。全体でキャッシュが使用されておらず、WebホストのIPアドレスを見つけるためにドメイン名example.comを解決する必要があると仮定します。

ステップ1:ルートが照会され、.com TLDのネームサーバーが返されます。

ステップ2: .comネームサーバーが照会され、example.comのネームサーバーが返されます。このクエリの結果として得られる情報は次のようになります。

  • ns2.example2.comインターネットアドレス= 216.239.34.10
  • ns1.example2.comインターネットアドレス= 216.239.32.10

さて、返されているこれらのIPアドレスは古くなっていませんか? .comネームサーバーが毎回これらの同期を維持できるようにするための1つの方法は、example.comドメインのクエリが作成されるたびに.comネームサーバーがns2.example2.comをリアルタイムで解決した場合です!明らかに、これは.comネームサーバーにさらに負荷をかけるため、起こりえません。

これは、ドメインネームシステムについてよく理解していない部分であり、したがって私の質問です。

12
neodymium

example.comなどのドメインがあり、ドメインのプライマリおよびセカンダリネームサーバーをns1.example2.comおよびns2.example2.com。に設定するとします。

ドメインに nameservers を設定する前に、ドメインのレジストラで各ネームサーバーを登録する必要があります。これには、ネームサーバーのホスト名とIPアドレスが必要です。 1つのレジストラの手順の例は、 here で確認できます。

example.comドメインにこれ​​らのネームサーバーを設定したときに、ネームサーバーのIPアドレスが取得され、レジストリのデータベース(.comドメインのVeriSignなど)に保存されますか?

ドメインレジストラーは、TLDのレジストリの authoritative DNS server をネームサーバーのホスト名とIPアドレスで更新します。この更新の時間枠はレジストラに依存しますが、ほとんどの主要な更新はかなり迅速に更新を実行します。 .comネームサーバーの場合、 VerisignのWHOISツール を使用してこれらの更新を表示できます(Name Serverタブをクリックします)。

両方の情報が保存されている場合、ある時点でネームサーバー自体のIPアドレスが変更されるとどうなりますか?レジストリはIPアドレスの変更をどのように知るのでしょうか?

ネームサーバーのIPアドレスを更新するには、ドメインレジストラーでネームサーバーホストのIPアドレスを編集し、ドメインレジストラーはTLDの権限のあるDNSサーバーを更新します。サンプルの手順は here と表示できます。

これらの更新がレジストリを使用して権限のあるDNSサーバーレベルで行われた後、世界中のDNSサーバーがそれらを照会し、DNSデータベースを更新します。これが起こるには時間がかかります。そのため、DNSの変更は、クライアントがどこにいても 解決済み になるために伝播する時間が必要です。

キャッシングはすべてのレベルで実行され、分散システム全体の負荷を軽減します。クライアントはまずホストの独自のキャッシュをチェックします。不足または期限切れの場合、ネットワークプロバイダー、ISP、またはパブリックDNSサーバーのDNSサーバーにクエリを送信します。

追加情報については、以下を参照してください: How DNS Works

3
dan

DNSサーバーは非常に単純ですが、同時に複雑でもあり、できる限り短時間で何が起こるかを説明するために最善を尽くします。

基本的に、すべてのドメインには、電子メールのMXレコードやIPアドレスのAレコードなど、それが指す場所に関する情報を含むゾーンファイルがあります。毎回各ドメインを照会するのはリソースに富むため、IPアドレスなどの情報を保存するDNSサーバーがあるのはこのためです。したがって、Pro Webmastersにアクセスすると、ブロードバンドはDNSサーバーにIPアドレスを照会します。これがないと、IPアドレスを知っている場合のみサイトにアクセスできます。

つまり、レジストリはIPアドレスの変更をどのように知るのでしょうか?

DNSサーバーはデータをキャッシュしますが、X時間または日後にこのデータも失効します。そのため、伝播には数時間から数日かかり、DNSサーバーは間隔を置いて動作し、有効期限が切れます。そのため、IPアドレスが変更された場合、ドメインタイプによって数時間から数日かかる場合があります。ほとんどのDNSサーバーは、.infoや.nameのようにこれらがより重要であると考えているため、.comおよび国レベルのドメインを優先しています。

しかし、一般に99.9%のWebホストおよび他のホスティングサービスは静的IPアドレスを使用するため、変更されることはありません。これは、新しいIPアドレスが発行されたときにサーバーを別のサーバーに切り替えるときにのみ問題になります。

定期的に変更されるダイナミックIPがある場合、IPを迅速に更新するDDNSサービスが必要です。これは異なるテクノロジーであり、実際には、それらがマスクする独自のIPアドレスを使用します。これがあなたの質問に答えることを望みます;)

2
Simon Hayter

(これを回答として投稿していますので、まだコメントできません)

特定のドメインのネームサーバーの場所を示すTLDネームサーバーに保存されるレコードは、Glue Recordsと呼ばれます。これは、レジストラがドキュメントで使用する用語である可能性があるためです。 。

グルーレコードがない場合、ネームサーバーが使用されている場合、ネームはsameドメインの下にあります(example.comおよびns1.example2.comおよびns2.example2.comの例のように)次に、example.comでレコードを検索してそれを見つける方法はありません。これは「鶏と卵」の問題です。

ネームサーバーにドメイン外の名前がある場合、do n'tグルーレコードが必要です。

気を付けるべきもう1つのことは、グルーレコードを追加するときに、一部のレジストラは名前のホスト名の部分(この例ではns1とns2)を入力することを期待していることです。フルネーム(例:ns1.example.com)を使用した場合、ns1.example.com.example.comになりますが、これは機能しません。

1
JasperWallace