注:グルーレコードを認識しており、DNSサーバーは、nsサーバードメインがクエリを送信したドメインと同じである場合にのみそれらを使用します。
さて、私の質問は次のとおりです。NSレコードとしてns1.example.org
(example.com
とは異なるドメイン)を持つexample.comがあるとします。ある時点で、リゾルバーはns1.example.org
のIPアドレスも解決して見つける必要があります。私の質問は、(接着剤レコードなしで)それをどのように行うのかということです。
私の推測では、最初にルートDNSに移動し、次に.org
DNSに移動し、次にexample.org
...のネームサーバーに到達するというプロセスを最初からやり直します。しかし、待ってください。ネームサーバーにはネームサーバーがありますか?はいの場合、これは大きなエンドレスループになります。これは、example.org
のNSレコードを見つけて、そこに移動する必要があるためです。
私のポイントは、ネームサーバーのこれらのIPアドレスはどこかに保存する必要があるということです。グルーレコードは、example.com
があり、そのNSサーバーはns1.example.com
、同じドメインである場合にのみ使用されると言われています。別のドメインの場合は、それから私はIPを見つけるためにそのドメインの解決策があることを読みました...しかしこれはns1.example.org
のようなネームサーバーが本当に意味をなさない独自のネームサーバーを持っていることを意味します。
別のドメインのネームサーバーへの委任は、実際にはあまり変わりません。リゾルバーにさらに多くの作業を行わせるだけです。
提供する例では、example.org
ドメインが正常に解決するには、example.com
ドメインが機能している必要があります。独自の機能するネームサーバー、つまりグルーレコードがないのはなぜですか。
想像しているように見える無限ループ障害シナリオは、ns1.example.org
をexample.com
の下のネームサーバーに委任しようとした場合のように、不可能な委任ループを作成した場合にのみ機能します。
この過程で、com、net、orgなどのいくつかの重要なゾーンについて多くのことを学びました。この情報をキャッシュすることで、次のクエリの迂回が大幅に減ります...
ネームサーバーのIPアドレスがどこかに保存されていることは間違いありません。DNSがないとFQDNを解決できません。そのため、ネットワーク構成には名前ではなくIPアドレスが含まれています。
ルートDNSサーバーは、各DNSサーバーで構成されたIPアドレスによって参照されます。したがって、DNSサーバーが知らないドメイン名のクエリを取得すると、
次のコマンドを使用して、トレースリクエストを実行して探索を行うことができます。
Dig +trace www.google.com