lame delegationとは
DNSでは、 ドメイン名に関するデータをインターネット上に存在する多数のサーバで分散して管理していますが、 ここでは、データの分散において連携が正しく行われないことを表すlame delegationについて解説します。
DNSにおいて、データの分散と管理は、 ドメインをいくつかのサブドメイン(ゾーン)に分割し、 そのサブドメインの管理を他のサーバにまかせる、 ということを繰り返し行う方法で実現しています。 この「管理をまかせる」ことを委任(delegation)と言います。 DNSでは、ドメイン名に関するデータを検索する(名前解決する)ときは、 DNSのデータベースの起点であるルートサーバから目的のデータを持つサーバまで、 委任を順にたどっていくことにより結果を得ています。
このようなDNSの検索で委任をたどるときに、 委任先のサーバが見つからない、 または委任されたドメインのサーバとして動作していないといった理由で正しく委任できていない場合は、 委任をたどれず正しい結果が得られません。 こうした正しくない委任のことをlame delegationと言います。
また、DNSでは、問い合わせクライアント(リゾルバ) が問い合わせの結果を保持し、 再利用することで同じ問い合わせを何度も行わないようにしていますが、 lame delegationとなっているドメインの情報については結果が得られないため、 そのドメインに関する問い合わせは時間がかかる、 もしくは何度も繰り返し行われることがあります。
lame delegationによって問い合わせが頻繁に行われることで、 トラフィックの増加や、 ルートサーバをはじめとした他のネームサーバへの負荷の集中が引き起こされます。 また、名前解決のタイムアウト待ちや、名前解決に失敗することで、 電子メールなどのDNSを利用するサービスが遅くなる、また、 利用できなくなるなど、インターネットの利用者にも多大な影響が出ます。
そのため、DNSの管理においては、正しい委任となるよう設定する必要があります。