EDNS Buffer Size and TCP Fallback

+bufsize=2048 オプションで、バッファサイズを指定して EDNS0 による UDP ペイロードサイズを拡張できる。 OPT PSEUDOSECTION にて EDNS0 が使われていることが分かる。

$ dig . +norec +bufsize=2048 NS @a.root-servers.net

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.56.amzn1 <<>> . +norec +bufsize=2048 NS @a.root-servers.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39943
;; flags: qr aa; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 27

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

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

;; ADDITIONAL SECTION:
e.root-servers.net.    518400    IN    A    192.203.230.10
e.root-servers.net.    518400    IN    AAAA    2001:500:a8::e
h.root-servers.net.    518400    IN    A    198.97.190.53
h.root-servers.net.    518400    IN    AAAA    2001:500:1::53
l.root-servers.net.    518400    IN    A    199.7.83.42
l.root-servers.net.    518400    IN    AAAA    2001:500:9f::42
i.root-servers.net.    518400    IN    A    192.36.148.17
i.root-servers.net.    518400    IN    AAAA    2001:7fe::53
a.root-servers.net.    518400    IN    A    198.41.0.4
a.root-servers.net.    518400    IN    AAAA    2001:503:ba3e::2:30
d.root-servers.net.    518400    IN    A    199.7.91.13
d.root-servers.net.    518400    IN    AAAA    2001:500:2d::d
c.root-servers.net.    518400    IN    A    192.33.4.12
c.root-servers.net.    518400    IN    AAAA    2001:500:2::c
b.root-servers.net.    518400    IN    A    199.9.14.201
b.root-servers.net.    518400    IN    AAAA    2001:500:200::b
j.root-servers.net.    518400    IN    A    192.58.128.30
j.root-servers.net.    518400    IN    AAAA    2001:503:c27::2:30
k.root-servers.net.    518400    IN    A    193.0.14.129
k.root-servers.net.    518400    IN    AAAA    2001:7fd::1
g.root-servers.net.    518400    IN    A    192.112.36.4
g.root-servers.net.    518400    IN    AAAA    2001:500:12::d0d
m.root-servers.net.    518400    IN    A    202.12.27.33
m.root-servers.net.    518400    IN    AAAA    2001:dc3::35
f.root-servers.net.    518400    IN    A    192.5.5.241
f.root-servers.net.    518400    IN    AAAA    2001:500:2f::f

;; Query time: 4 msec
;; SERVER: 198.41.0.4#53(198.41.0.4)
;; WHEN: Fri Mar 16 10:47:52 2018
;; MSG SIZE  rcvd: 811

指定したサイズを超えると TCP フォールバックに移行。 Truncated, retrying in TCP mode. という文字から確認できる。