• ベストアンサー

ルートネームサーバが13個である理由

現在,インターネットのルートネームサーバはAからMまでの13台です.現在の仕様ではこれ以上増やせない理由をご存知の方がいらっしゃいましたら解説していただけませんでしょうか. DNSではUDPパケットのデータ部が最大512Byteであることと関係あるらしいところまでは調べたのですが,どんな情報をどんなフォーマットで並べると512Byteを超えるのかがわかりません. どうぞよろしくお願いいたします.

質問者が選んだベストアンサー

  • ベストアンサー
  • suzui
  • ベストアンサー率67% (199/297)
回答No.1

nslookupで、set type=soaで.を引くと以下のような結果が返ってきます。 DNSヘッダ:12バイト Question Section: 5バイト Answer Section: 75バイト  SOAレコード Authority Section: 193バイト  NSの一覧(13個) Additional Records Section: 208バイト  NSのIPアドレス(13個) 合計: 493バイト 大きいのは最後の2つのセクションです。 Authority Sectionは、最初の1台分が13バイト+残り12台分が15バイトなので、13+12x15=193バイト Additional Records Sectionは、すべて16バイトなので13x16=208バイト です。 もう一台NSを増やすと、おそらくあと15バイト+16バイト増えるので、493+15+16=524バイトとなり制限を越えます。 UDPのサイズ制限についてはRFC1035のSection4.2.1.に規定されています。

参考URL:
http://www5d.biglobe.ne.jp/~stssk/rfc1035j.html
bin-pack
質問者

お礼

詳細な解説ありがとうございました.RFC 1035を読んでいてもデータがどう並んでいるのかわからず,計算がなかなか合いませんでした.おかげさまでよくわかりました.

その他の回答 (1)

  • Lean
  • ベストアンサー率72% (435/603)
回答No.2

詳しい説明は、No.1の方がしていますので、実際に返信パケットをキャプチャしてDNSパケット部分を少し見易くすると以下のような情報が並んでます(Authority Section/Additional Records Sectionは13個データが並ぶので途中省略してます)。 -------8<-------8<-------8<-------8<-------8<------- [DNSパケット]   ヘッダ(Header section)     識別子 : 0x0005     フラグ : 0x8180       要求/応答 : 1 (応答)       問合せのタイプ : 0 (標準問合せ)       ドメイン オーソリティ : 0       短縮フラグ : 0       再帰問合せ : 1       再帰サービス : 1       応答コード : 0 (エラー無し)     質問セクション Count:1     回答セクション Count:1     権威セクション Count:13     追加情報セクション Count:13   質問セクション(Question Section)     [1]ドメイン名 : .     [1]タイプ : 0x06 (SOAレコード)     [1]クラス : 0x01 (インターネットシステム)   回答セクション(Answer Section)     [1]ドメイン名 : .     [1]タイプ : 0x06 (SOAレコード)     [1]クラス : 0x01 (インターネットシステム)     [1]生存時間 : 86400     [1]データ長 : 64     [1]データ : A.ROOT-SERVERS.NET NSTLD.VERISIGN-GRS.COM 2005031900 1800 900 604800 86400   権威セクション(Authority Section)     [1]ドメイン名 : .     [1]タイプ : 0x02 (NSレコード)     [1]クラス : 0x01 (インターネットシステム)     [1]生存時間 : 70913     [1]データ長 : 4     [1]データ : K.ROOT-SERVERS.NET     [2]ドメイン名 : .     [2]タイプ : 0x02 (NSレコード)     [2]クラス : 0x01 (インターネットシステム)     [2]生存時間 : 70913     [2]データ長 : 4     [2]データ : L.ROOT-SERVERS.NET     <途中、省略>     [12]ドメイン名 : .     [12]タイプ : 0x02 (NSレコード)     [12]クラス : 0x01 (インターネットシステム)     [12]生存時間 : 70913     [12]データ長 : 4     [12]データ : I.ROOT-SERVERS.NET     [13]ドメイン名 : .     [13]タイプ : 0x02 (NSレコード)     [13]クラス : 0x01 (インターネットシステム)     [13]生存時間 : 70913     [13]データ長 : 4     [13]データ : J.ROOT-SERVERS.NET   追加情報セクション(Additional Records Section)     [1]ドメイン名 : A.ROOT-SERVERS.NET     [1]タイプ : 0x01 (Aレコード)     [1]クラス : 0x01 (インターネットシステム)     [1]生存時間 : 158573     [1]データ長 : 4     [1]データ : 198.41.0.4     [2]ドメイン名 : B.ROOT-SERVERS.NET     [2]タイプ : 0x01 (Aレコード)     [2]クラス : 0x01 (インターネットシステム)     [2]生存時間 : 159951     [2]データ長 : 4     [2]データ : 192.228.79.201     <途中、省略>     [12]ドメイン名 : L.ROOT-SERVERS.NET     [12]タイプ : 0x01 (Aレコード)     [12]クラス : 0x01 (インターネットシステム)     [12]生存時間 : 159438     [12]データ長 : 4     [12]データ : 198.32.64.12     [13]ドメイン名 : M.ROOT-SERVERS.NET     [13]タイプ : 0x01 (Aレコード)     [13]クラス : 0x01 (インターネットシステム)     [13]生存時間 : 158843     [13]データ長 : 4     [13]データ : 202.12.27.33 -------8<-------8<-------8<-------8<-------8<-------

bin-pack
質問者

お礼

パケットキャプチャしていただきお手数をおかけしました.No.1の方と合わせてデータの並び方がよくわかりました.どうもありがとうございました.

関連するQ&A