DNSの「再帰問い合わせ」と「反復問い合わせ」の違い
予備知識
| 用語 | 意味 |
|---|---|
| IPアドレス | インターネットをするときにコンピュータに割り当てられる住所。インターネットっぽい通信において、送信先を特定するときとかに使う情報 |
| ドメイン名 | IPアドレスに付けた人間様向けの名前 |
| DNS | IPアドレスとドメイン名を紐付けしまっせシステム |
| サーバ | サービスや機能を提供する側のコンピュータ |
| DNSサーバ | IPアドレスとドメイン名の紐付けを管理したり、IPアドレスとドメイン名の変換をやってくれるコンピュータ |
| フルサービスリゾルバ | 自分が分からないときは他のDNSサーバに答えを聞きに行くDNSサーバ |
| 権威DNSサーバ | 自分の管理している情報を教えてあげるのがお仕事のDNSサーバ |
パソコンさんはIPアドレスしか分かりません。
ドメイン名を見せられても「う~ん、どこの住所だろう」と困ってしまいます。

一方、人間様はIPアドレスがピンときません。
「198.51.100.1」と「198.51.100.10」と「198.51.100.11」の違いなんて、パッと見で分かりませんよね。
うっかりミスも増えそうです。

そのため、コンピュータさんはコンピュータさんが分かりやすい形式の住所(IPアドレス)、人間様は人間様が分かりやすい形式の住所(ドメイン名)を扱えるような仕組みがあります。
具体的には、事前にIPアドレスとドメイン名を対応付けておいて、必要に応じて変換するのです。

このIPアドレスとドメイン名を変換してくれる仕組みをDNSと言います。

変換のお仕事を生業にしているサーバさんはDNSサーバです。

さて、このDNSサーバさんですが、大きく分けて2種類あります。
1つは、どんな手を使おうともお問い合わせに答えてあげるのがお仕事のDNSサーバさんです。
問い合わせがあると、答えを知っていそうなDNSサーバさんに「ねーねー。こんな問い合わせが来たんだけど、答えを知っていたら教えてよ」と聞きに行きます。
言わばカンニング野郎です。
このカンニング野郎なDNSサーバを「フルサービスリゾルバ」や「DNSキャッシュサーバ」と言います。

もう1つは、自分の管理している情報を教えてあげるのがお仕事のDNSサーバさんです。
自分の中にIPアドレスとドメイン名の対応表を持っていて、問い合わせに対して「あー、そのIPアドレスは、このドメイン名だね~」「そのドメイン名は、このIPアドレスだよ~」と答えてあげます。
対応表に載っていなければ「知らないな~」と答えます。
このDNSサーバさんは「権威DNSサーバ」や「DNSコンテンツサーバ」と呼ばれています。

それぞれの用語の意味
| 用語 | 意味 |
|---|---|
| 再帰問い合わせ | DNSサーバに対する「調べてでも答えを持ってきて」な問い合わせ |
| 反復問い合わせ | DNSサーバに対する「もし知っていたら教えて」な問い合わせ |
似ているところ
どちらもDNSサーバに対する問い合わせです。
違うところ
問い合わせの内容が違います。
それぞれ
再帰問い合わせ:「調べてでも答えを持ってきて」な問い合わせ
反復問い合わせ:「もし知っていたら教えて」な問い合わせ
です。
また
再帰問い合わせ:フルサービスリゾルバに対する問い合わせで使う
反復問い合わせ:権威DNSサーバに対する問い合わせで使う
です。
基本的にパソコンさんとかからフルサービスリゾルバさんに対する問い合わせは再帰問い合わせです。
答えが分からないと困るからです。

フルサービスリゾルバさんから権威DNSサーバさんに対する問い合わせは反復問い合わせです。
答えが分からなくても困らないから(他に聞くだけだから)です。

備考
反復問い合わせは「非再帰問い合わせ」とも呼ばれます。






