KDOC 507: DNSのルートサーバが13個なのはDNSのUDPのパケット上限が512バイトであるから

この文書のステータス

  • 作成
    • 2026-01-08 貴島
  • レビュー
    • 2026-01-08 貴島

概要

DNSのルートサーバは13個しかない。これはDNSにおけるUDPのパケット長の上限が512バイトであることからくる制約であるという(p57)。

DNSルートサーバを得るリクエストがどのようなものかを見る。

dig . NS
; <<>> DiG 9.18.30-0ubuntu0.24.04.1-Ubuntu <<>> . NS
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61072
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;.				IN	NS

;; ANSWER SECTION:
.			7007	IN	NS	i.root-servers.net.
.			7007	IN	NS	g.root-servers.net.
.			7007	IN	NS	j.root-servers.net.
.			7007	IN	NS	b.root-servers.net.
.			7007	IN	NS	h.root-servers.net.
.			7007	IN	NS	a.root-servers.net.
.			7007	IN	NS	k.root-servers.net.
.			7007	IN	NS	d.root-servers.net.
.			7007	IN	NS	m.root-servers.net.
.			7007	IN	NS	c.root-servers.net.
.			7007	IN	NS	f.root-servers.net.
.			7007	IN	NS	l.root-servers.net.
.			7007	IN	NS	e.root-servers.net.

;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Sun Dec 21 19:11:45 JST 2025
;; MSG SIZE  rcvd: 239

たしかに13個ある。これらが512バイトを超えないように数の制限があるということだろうか。

関連