DNS関連技術情報のトップへ戻る

------------------------------------------------------------------------
■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-2016 Japan Registry Services Co., Ltd.