質問: 例えばyahoo.co.jpにアクセスしようと思ってアドレスバーに「yahoo.co.jp」と入力して叩くと ・まず自分のパソコンにあるローカルのDNSサーバ(=リゾルバ)はweb上にあるルートDNSサーバにアクセスする ・ルートサーバが自分のサブドメインであるjpドメインを管理しているDNSサーバのDNS情報をローカルのDNSサーバに返す(jpドメインのipアドレスが解決) ・自分のパソコンにあるローカルのDNSサーバはjpドメインを管理しているDNSサーバに対して「yahoo.co.jp」ドメインのipを問い合わせる ・jpドメインを管理しているDNSサーバはサブドメインであるcoドメインを管理しているDNSサーバのDNS情報をローカルのDNSサーバに返す(coドメインのipアドレスが解決) ・自分のパソコンにあるローカルのDNSサーバはcoドメインを管理しているDNSサーバに対して「yahoo.co.jp」ドメインのipを問い合わせる ・coドメインを管理しているDNSサーバはサブドメインであるyahooドメインを管理しているDNSサーバのDNS情報をローカルのDNSサーバに返す(yahooドメインのipアドレスが解決) ということでしょうか。 (補足) ・例えば「ルートサーバが自分のサブドメインであるjpドメインを管理しているDNSサーバのDNS情報をローカルのDNSサーバに返す」の部分は正確には 「ルートサーバはまずサブドメインであるjpドメインを管理しているDNSサーバに問い合わせを行い、それによってjpドメインを管理しているDNSサーバからjpドメインについてのDNS情報を受け取り、その結果を自分のローカルPCにあるリゾルバへ返す」ということなのでしょうか。
回答: 流れのイメージとしてはおおよそご認識の通りですが、実際にはDNSキャッシュサーバというものも絡むため、通常のPCではDNSキャッシュサーバから最終的な結果だけを取得します。 また、ルートサーバに問い合わせる場合は下記のような流れとなるかと思います。 1. ルートサーバにwww.yahoo.co.jpのAレコードを問い合わせる →jpネームサーバのNSレコード情報が返却される 2. jpネームサーバにwww.yahoo.co.jpのAレコードを問い合わせる →yahoo.co.jpネームサーバのNSレコード情報が返却される 3. yahoo.co.jpネームサーバにwww.yahoo.co.jpのAレコードを問い合わせる →www.yahoo.co.jpのAレコード情報が返却される