ページの先頭です
2012年4月11日
普段あまり気にせずとも、安定して運用されているDNSサーバ。ここでは、株式会社日本レジストリサービス(JPRS)管理の下、IIJが運用を担当しているd.dns.jpのIPv6対応や、Anycast導入の経緯について紹介します。
DNSは問い合わせに対応するレコードを応答してくれるサービスで、主にドメイン名に対応するIPアドレスを検索する名前解決に利用されています。例えば、DNSを利用することでメールの配送先を検索できたり、Webブラウザで「http://www.iij.ad.jp/」などと入力したときに、実際にどのIPアドレスのサーバにアクセスすれば良いかを検索できたりします。
DNSではルートサーバと呼ばれるDNSサーバさえ知っておけば、それを手がかりにどんなドメイン名でも必要な情報を検索できます。具体的には、ルートサーバからより詳しい情報を知っているDNSサーバの手がかりを教えてもらい、最終的に必要な情報を知っているDNSサーバまで手がかりをもらいながら順次DNSサーバを辿っていきます。この辺りは参照用のDNSサーバがよろしくやってくれているので、私達は普段あまり気にすることはありません。
JP DNSは、検索の途中で手がかりを教えてくれるサーバの1つで、こちらも普段はあまり気にするまでもないサーバです。JPドメイン名はJPRSが登録管理を行っています。JPドメイン名のネームサーバの情報をJPRSに登録すると、JP DNSにその情報が手がかりとして反映され、情報が引けるようになります。もし、JPDNSがきちんと応答しなかった場合、JPドメイン名に関する名前解決ができないので、メールが届かなかったり、Webが見えなかったりして、とても困ってしまいます。
つまり、普段あまり気にされていないJP DNSは、実は重要な機能を担っているのです。その機能を安全かつ安定的に提供するために、a.dns.jpからg.dns.jpの7つのネームサーバで構成されるJP DNSは、JPRSの運用管理のもと、5つの組織が分担して運用しています(JP DNS Web Page)。
JPRSでは各組織の運用担当者によるJP DNS運用者会議を定期的に開催しており、日々の運用改善について議論が行われています。IIJは、d.dns.jpの担当として本会議にも参加しています。
2001年8月にはIIJの運用していたJP DNSにIPv6アドレスを付与しました。本来ならばこのIPv6アドレスはルートサーバにも登録しないといけないのですが、当時はまだルートサーバでの技術検証と影響の調査が必要ということで、登録できない状態でした。それでもIPv6の環境を整えた参照用の環境はあったようで、少数ながらもIPv6でのDNS問い合わせを観測していました。その後、IANAにおいて実際にIPv6アドレスの受付けが行われたのは2004年になってからで、2004年7月に.jpはルートサーバにIPv6レコードが登録された世界で最初のトップレベルドメイン名になりました。
2001年当時はIPv6に対応したサーバ実装を頻繁に更新する必要があると考えられていたので、IPv4を担当するサーバとIPv6を担当するサーバを別々に分けた上で、同じホスト名をつけて運用していました。その後、サーバ実装が安定してきたのでサーバを統合し、IPv4とIPv6を同じホストでサービスするように変更して現在に到っています。
JP DNSを安定的に運用するために、JP DNS運用者会議でいろいろな方策を検討しました。サーバを増やせばそれだけ負荷分散にはなるのですが、DNSプロトコルの仕様で、DNSサーバのホスト名数を増やしすぎると応答パケットのサイズが肥大して問題が起こってしまうことが予想されました。そこでJPRSがJP DNS運用者会議でJP DNSサーバのAnycast運用を提案したのを受け、IIJでも担当するd.dns.jpへのAnycast導入を検討しました。Anycastを利用すると見かけ上のDNSサーバのホスト名を増やすことなく、実際に稼働しているDNSサーバの台数を増やせるのです。しかも単純な負荷分散装置とは異なり、広域に分散して、それぞれが独立して運用できるのです。
Anycastは正しく設計すると、問い合わせ元に近いサーバが適切に答えてくれます。例えが適当ではないかもしれませんが、電話で110番や119番に問い合わせたときのように、どこから電話してもその地域を管轄する警察署や消防署に繋がるという具合です。一方で、Anycastがうまく適用できるネットワークサービスは限られている上、運用手法が複雑になるので、適切に設計しなければ逆に可用性が落ちてしまいます。
2003年6月に関係者に声を掛け、社内でAnycast運用に向けて検討を開始しました。IIJでは日米に渡るバックボーンネットワークを運営しているので、自網内でAnycastを実現するIGP Anycastを採用しました。当初、設置箇所は2拠点ぐらいを考えていたのですが、障害時の影響や地域分散を検討した結果、関東、関西、米国東海岸、米国西海岸の計4拠点に設置することにしました。そして、社内の様々な人たちの協力で運用設計やサーバ設置などを完了し、翌年2004年1月に実運用に投入しました。これにより日本国外にJP DNSが設置され、アメリカ大陸やヨーロッパ地域など、遠方での遅延が大きく短縮されました。また、サービス不能攻撃(DoS)などの突発的なトラフィック発生時にも、その影響をAnycastで局所化できるので、対障害性も向上しました。
IIJは今後も他のJP DNSサーバ運用者などと協力しながら、時代の要請に答えられるよう適切な運用を通じて、JP DNSの安定運用に寄与していきたいと考えています。
執筆者プロフィール
松崎 吉伸(まつざき よしのぶ)
IIJ ネットワーク本部 ネットワークサービス部 技術開発課 シニアエンジニア
あれこれ面白そうなことを見つけては頑張っている。IIJ-SECTメンバ、JANOG運営委員、JPCERT/CC専門委員、The Asia Pacific OperatorS Forum co-chair、 The Asia & Pacific Internet Association director。
ページの終わりです