連載
» 2014年12月25日 18時00分 UPDATE

DNS Tips:DNSの問い合わせと応答について教えてください

DNSを理解する上で必須となる、DNSの「問い合わせ」と「応答」について解説する。

[水野 貴史(JPRS),@IT]

 DNSを理解する上で、DNSの問い合わせと応答を正しく把握することは重要である。DNSにおいて、問い合わせは「再帰問い合わせ」と「非再帰問い合わせ(反復問い合わせ)」の2種類に、応答はその意味によって5種類に分類される。まず問い合わせについて説明し、続けて応答について説明する。

2種類の問い合わせとは何か

 DNSの問い合わせには、「再帰問い合わせ」と「非再帰問い合わせ(反復問い合わせ)」の2種類がある。これは、問い合わせを行う立場として、DNSクライアント(スタブリゾルバ)とキャッシュDNSサーバーの2種類があり、それぞれ問い合わせる内容が違うためである。

 「再帰問い合わせ」は、DNSクライアント(スタブリゾルバ)からキャッシュDNSサーバーに対して行う問い合わせであり、ヘッダのRDビットがセット(“1”)されている。もう一つの「非再帰問い合わせ(反復問い合わせ)」は、キャッシュDNSサーバーから権威DNSサーバーに対して行う問い合わせであり、ヘッダのRDビットがクリア("0")される。

 RD(Recursion Desired)ビットは、問い合わせ側が再帰検索要求するか否かを指定するビットである。再帰検索を要求しない場合にはクリアされ、再帰検索を要求する場合にはセットされる。この違いを理解するためには、再帰問い合わせは名前解決を依頼(要求)するためのもので、非再帰問い合わせ(反復問い合わせ)は名前解決を実行するものだと考えるとよい。これらの区別をきちんと行うことは、問題が起こった際の調査において切り分けに役立つので重要である。

- 再帰問い合わせ 非再帰問い合わせ(反復問い合わせ)
機能 名前解決を依頼(要求)する 名前解決を実行する
RDビット RD=1(セット) RD=0(クリア)
問い合わせ元 DNSクライアント(スタブリゾルバ) キャッシュDNSサーバー
問い合わせ先 キャッシュDNSサーバー 権威DNSサーバー
digオプション なし(デフォルトで+rec) +norec
drillオプション なし(デフォルトで-o rd) -o rd
表1 「再帰問い合わせ」と「非再帰問い合わせ(反復問い合わせ)」の違い

5種類の応答とは何か

 名前解決において、キャッシュDNSサーバーは権威DNSサーバーから受け取る応答に応じて名前解決を実行することになる。権威DNSサーバーが返す応答をその意味に基づいて分類すると以下の5種類となる。それぞれの内容と意味を知ることは名前解決を理解する上でとても重要である。

通常応答

その名前と型のレコードはこれである。

Referral/委任

その名前は、他の権威DNSサーバーが知っている。

他の権威DNSサーバーを参照させるための応答。

NXDOMAIN

その名前には、どんな型のレコードも存在しない。

不在応答の一つ。

NODATA

その名前には指定された型のレコードは存在しないが、他の型のレコードやサブドメインは存在する可能性がある。

不在応答の一つ。

CNAME

その名前の正式名はこれである。

水野 貴史(みずの たかふみ)

ph_mizuno.jpg

所属:株式会社日本レジストリサービス(JPRS) システム部

2013年にJPRS入社。レジストリシステムの開発や運用にたずさわるかたわら、DNS関連技術イベントでの発表者を務める。DNS Summer Days 2013、2014にて「初心者のためのDNS運用入門」を発表。Internet Week 2013「DNS DAY」における「JP DNS Update」発表者。


Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。