DNSクエリ 【DNS query】

概要

DNSクエリ(DNS query)とは、DNSクライアントDNSサーバに送る要求メッセージ。ドメイン名についてサーバに問い合わせたい内容が一定の形式で記載されている。

DNSDomain Name System)はIPアドレスとドメイン名の対応関係や、ドメインについての様々な情報を管理する分散データベースで、あるドメイン名についての情報を知りたいコンピュータはDNSクライアントを用いてDNSサーバへDNSクエリを送信して問い合わせを試みる。

DNSクエリはDNSのプロトコル仕様に基づくバイナリ形式のメッセージとなっており、「QRビット」という領域が「0」にセットされている。サーバからの応答(レスポンス)ではこれが「1」にセットされる。また、通常の問い合わせでは「OPCode」領域が「0」にセットされる。

問い合わせ内容はドメイン名、タイプ、クラスを並べて記述する。タイプには問い合わせたいリソースレコードの種類を番号で記載する。IPアドレスを表すAレコードなら「1」、メールサーバの所在を表すMXレコードなら「15」といった具合である。クラスは通常はインターネット(IN)を表す「1」を記載する。

DNSクライアントからDNSキャッシュサーバへの問い合わせは「再帰問い合わせ」と呼ばれ、DNSクエリの「RDビット」領域が「1」にセットされる。キャッシュサーバは目的の権威DNSサーバが見つかるまで上位ドメインから順に再帰的に問い合わせを繰り返し、結果をクライアントに通知する。キャッシュサーバ権威DNSサーバへ送るDNSクエリは再帰を要求しない「非再帰問い合わせ」であり、RDビットは0となっている。

(2024.7.28更新)