このページの本文へ

前へ 1 2 次へ

DNSのキホン 第4回

ドメイン名の問い合わせ動作とは?

DNSによる名前解決の仕組みを理解しよう

2009年09月29日 06時00分更新

文● 網野衛二

  • この記事をはてなブックマークに追加
  • 本文印刷

反復問い合わせを行なうフルサービスリゾルバ

 フルサービスリゾルバは再帰問い合わせを受けた場合、そのドメイン名に対応したオーソリティを持つネームサーバを探し出す。

 このとき、ドメイン名は階層構造になっているので、ドメイン名を後ろから見ていくことでそのドメイン名を管理しているドメインを探し出すことができる

 まず、問い合わせを受けたドメイン名のTLDを見て、TLDに対しオーソリティを持つネームサーバをルートサーバに問い合わせる(図2)。この場合、NSレコードを問い合わせる。その結果、TLDのネームサーバを知ることができる。

図2●フルサービスリゾルバの動作

 次に、TLDのネームサーバに対してSLDのネームサーバを問い合わせる。SLDのネームサーバを知ると、次はSLDのネームサーバへ次のレベルのドメインのネームサーバを問い合わせる。これを繰り返し、オーソリティを持つネームサーバを探し出す。最終的にオーソリティを持つネームサーバに対し、IPアドレスを知りたいドメイン名を問い合わせ、IPアドレスを入手する。

 たとえば、www.study.nmag.jp.をフルサービスリゾルバが問い合わせる場合を考えてみる。まず、TLDであるjpのネームサーバをルートサーバに問い合わせる。その応答を基に、次はjpのネームサーバにnmag.jp.のネームサーバを問い合わせる。次はnmag.jp.のネームサーバにstudy.nmag.jp.のネームサーバを問い合わせる。最終的にstudy.nmag.jp.のネームサーバに、www.study.nmag.jp.のIPアドレスを問い合わせるといった具合だ。

 IPアドレスを入手したフルサービスルゾルバは、問い合わせをしてきたリゾルバに応答を返すとともに、この結果をキャッシュする。キャッシュすることにより、同じドメイン名の問い合わせに対し、キャッシュから応答を返し、帯域の消費を抑えるのだ。このため、フルサービスリゾルバは「キャッシュサーバ」と呼ばれる場合もある。

もう1つのドメイン名空間

 ドメイン名からIPアドレスを取得する問い合わせを「正引き」と呼び、逆にIPアドレスからドメイン名を取得する問い合わせを「逆引き」と呼ぶ。逆引きは、主にそのドメイン名が実在するかどうかを調べる際に利用される。ただ、正引きと違って逆引きは設定されないケースも多いので、ドメイン名の取得に失敗することもある。

 逆引きはIPアドレスをドメイン名のように扱うことにより行なわれる。具体的には、IPアドレスの4つの値を逆に並べて、逆引き専用のTLD(arpa)とSLD(in-addr)を付けて、FQDNを生成する。たとえば、192.168.1.1を逆引きで問い合わせる場合は、1.1.168.192.in-addr.arpa.になる。

 この逆引きも正引きと同じようにドメイン名空間に存在する。つまり、正引きのゾーンと、逆引きのゾーンの別々のゾーンが存在することになる(図3)。もちろん、ゾーンのオーソリティを持つネームサーバも逆引き用に作る必要がある。とはいえ、逆引き用のゾーンのオーソリティを持つネームサーバは多くの場合、正引きのネームサーバが兼務している。ちなみに、TLDとSLDのarpaドメイン、in-addr.arpaドメインのネームサーバはルートサーバが兼務している。

図3●逆引きのドメイン名空間

 逆引きをするリゾルバはAレコードではなく「PTRレコード」を問い合わせる。それ以外の点は通常の問い合わせ動作と同じで、ルートから順番にたどるようになっている。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事