------------------------------------------------------------------------
■JP DNSサーバの構成について - 2008年10月版 -
2008/10/06(Mon)
------------------------------------------------------------------------
▼本文書について
これまでのJP DNSサーバ(以下JP DNS)およびルートサーバの運用状況を考慮
しながら、2008年10月以降のJP DNSの構成について記します。
▼これまでのJP DNSの構成
JP DNSは過去の変更(*1, *2)等により、2008年9月末時点では以下の構成となっ
ています。
---------------------------------------------------------
名前 IPv4 アドレス IPv6アドレス
-------------+------------------+------------------------
a.dns.jp 203.119.1.1 2001:dc4::1
b.dns.jp 202.12.30.131
d.dns.jp 210.138.175.244 2001:240::53
e.dns.jp 192.50.43.53 2001:200:c000::35
f.dns.jp 150.100.2.3 2001:2f8:0:100::153
---------------------------------------------------------
*1 DNS サーバの最大数について
http://jprs.jp/tech/jp-dns-info/2003-07-10-max-number-of-dns-server.html
*2 JP DNSサーバの構成変更について
http://jprs.co.jp/topics/050318.html
今後は下記検討に基づき、JP DNSのさらなる安定運用を目指した増強を行っ
ていきます。
▼DNSサーバの最大数について
「DNSサーバの最大数について」(*1)では、上位の DNS サーバ(JP DNSの場合
ルートDNSサーバ、以下ルートサーバ)に最も長いドメイン名の問い合わせを
行った時に、DNSのデータが512 バイト 以内に収まり、かつ、Additional
Sectionに登録した全 IPv6 アドレスが返せて、かつ IPv4 アドレスが複数返
せる時の NS の数という条件を元に考察を行っていました。
「IPv6アドレスが全部返せて」という条件は、ルートサーバがAdditional
SectionにIPv6アドレスを優先して返す可能性を想定したものです(リスト1
(1))。しかしながら実際のルートサーバで、IPv6アドレスを優先して返すよ
うな実装は現時点で存在しません。現実のルートサーバはAdditional
SectionにIPアドレスを詰める場合、IPv4アドレスとIPv6アドレスを交互に並
べる実装(リスト1 (2a))と、IPv4アドレスを優先的に詰め込みその後IPv6ア
ドレスを詰めるような実装(リスト1 (2b))の2種類が存在します。
-------------------------------------------------------------------
リスト1
2つのDNSサーバA.JP、B.JPでそれぞれIPv4アドレスとIPv6アドレスがある場
合のルートサーバでのAdditional Sectionのレコードの並べ方
「DNSサーバの最大数について」で検討したルートサーバのAdditional Section
(1) IPv6アドレスが優先される場合がある
A.JP. IN AAAA <A.JPのIPv6アドレス>
B.JP. AAAA <B.JPのIPv6アドレス>
A.JP. A <A.JPのIPv4アドレス>
B.JP. A <B.JPのIPv4アドレス>
実際のルートサーバのAdditional Section
(2a) IPv4アドレスとIPv6アドレスを交互に名前順
A.JP. IN A <A.JPのIPv4アドレス>
A.JP. AAAA <A.JPのIPv6アドレス>
B.JP. A <B.JPのIPv4アドレス>
B.JP. AAAA <B.JPのIPv6アドレス>
(2b) IPv4アドレスを優先して名前順
A.JP. IN A <A.JPのIPv4アドレス>
B.JP. A <B.JPのIPv4アドレス>
A.JP. AAAA <A.JPのIPv6アドレス>
B.JP. AAAA <B.JPのIPv6アドレス>
-----------------------------------------------------------------
細かい説明は省略しますが、JPドメイン名の場合、最も長いドメイン名の問
い合わせをルートサーバに対して行うと、その応答パケットではDNSパケット
のヘッダと問合せ名などで275バイト消費します。EDNS0を使わない通常の
DNSパケットのUDPでの最大長は512バイトですから、
512 - 275 = 237
となり237バイトをAuthority SectionとAdditional Sectionで利用すること
になります。
JP DNSの場合、DNSサーバのドメイン部分を統一したことで、Authority
Section にはDNSサーバ名ごとに16バイト、Additional SectionにはIPv4アド
レスの場合16バイト、IPv6アドレスには28バイト消費します。
「DNSサーバの最大数について」(*1)では、IPv4でEDNS0を使わない場合の条
件で検討しました。IPv6の通信に対応している場合は比較的新しい実装であ
るためEDNS0を組み合わせることでUDPでの応答サイズが512バイト超えても問
題ないので、以後IPv4でEDNS0を使わない通信の場合について検討します。
現実のルートサーバの実装では、Additional SectionにIPv6アドレスを優先
して詰めることは無いので、IPv4アドレスを少なくとも2個返せるようにする
ためには、(2a)の場合を考えるとAdditional Sectionに、IPv4アドレス、
IPv6アドレス、IPv4アドレスと並ぶ場合となります。このときネームサーバ
に利用できるバイト数を計算すると
237 - (16 + 28 + 16) = 177
177バイト分がネームサーバ名に利用できるので、
177 ÷ 16 = 11.0625
DNSサーバは11個設定できることになります。
また(2b)の場合、Additional SectionがすべてIPv4アドレスだけになり、少
なくとも2個のIPv4アドレスを返すと考えると
237 - (16 × 2) = 205
205バイト分がネームサーバ名に利用できることになり
205 ÷ 16 = 12.8125
DNSサーバは12個設定できることになります。
ルートサーバには(2a)と(2b)が存在することを考えると、11個のネームサー
バまでは問題ないと言えます。
▼IPv4だけのDNSサーバについて
JP DNSでもIPv4とIPv6デュアルスタックのサーバが増えつつあり、2008年9月
末時点でIPv4だけのサーバはb.dns.jpだけとなっています。このb.dns.jpも、
2008年中にIPv6対応となりデュアルスタックでの運用を予定しています。
JP DNSなどの権威サーバですべてのDNSサーバがIPv4/IPv6のデュアルスタッ
クになると、キャッシュサーバの実装とそのネットワーク環境によっては不
具合がおきることがあるという報告があります。これについての詳細は未確
認ですが、JP DNSでは、運用面の安全性を考慮し当面の間IPv4だけのサーバ
を維持する方針で運用するため、新たにg.dns.jpをIPv4のみのサーバとして
追加します。
▼ JP DNS構成
JP DNSの最新の構成は以下のリンクよりご確認下さい。
http://www.dns.jp/index-j.html
株式会社日本レジストリサービス Copyright©2001-2024 Japan Registry Services Co., Ltd.