Le protocole
Le DNS, dans sa forme originale, spécifiée dans le
La nouvelle extension pour indiquer la taille permet au client de
spécifier la quantité d'octets qu'il est capable de recevoir. Avec le
client DNS
Prenons par exemple le
> DiG 9.3.4 <<>> NS hk
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23662
;; flags: qr rd ra; QUERY: 1, ANSWER: 15, AUTHORITY: 0, ADDITIONAL: 6
;; QUESTION SECTION:
;hk. IN NS
;; ANSWER SECTION:
hk. 604781 IN NS NS-HK.RIPE.NET.
hk. 604781 IN NS B.DNS.TW.
hk. 604781 IN NS NS1.HKIRC.NET.hk.
hk. 604781 IN NS NS2.CUHK.EDU.hk.
hk. 604781 IN NS NS2.HKIRC.NET.hk.
hk. 604781 IN NS NS3.CUHK.EDU.hk.
hk. 604781 IN NS SEC3.APNIC.NET.
hk. 604781 IN NS TLD1.ULTRADNS.NET.
hk. 604781 IN NS TLD2.ULTRADNS.NET.
hk. 604781 IN NS TLD3.ULTRADNS.ORG.
hk. 604781 IN NS TLD4.ULTRADNS.ORG.
hk. 604781 IN NS TLD5.ULTRADNS.INFO.
hk. 604781 IN NS TLD6.ULTRADNS.CO.UK.
hk. 604781 IN NS ADNS1.BERKELEY.EDU.
hk. 604781 IN NS ADNS2.BERKELEY.EDU.
;; ADDITIONAL SECTION:
NS1.HKIRC.NET.hk. 26468 IN A 203.119.2.18
NS2.CUHK.EDU.hk. 133160 IN A 137.189.6.21
NS2.HKIRC.NET.hk. 26468 IN A 203.119.2.19
NS3.CUHK.EDU.hk. 133160 IN A 202.45.188.19
SEC3.APNIC.NET. 43917 IN A 202.12.28.140
SEC3.APNIC.NET. 43917 IN AAAA 2001:dc0:1:0:4777::140
;; Query time: 1 msec
;; SERVER: 192.134.4.162#53(192.134.4.162)
;; WHEN: Tue Mar 13 10:22:41 2007
;; MSG SIZE rcvd: 508
]]>
On voit que la réponse était proche des 512 octets et que, pour
qu'elle tienne dans cette limite, le serveur a dû sérieusement réduire
la taille de la section additionnelles (
Mais EDNS0 permet d'avoir la totalité de la section additionnelle
(notez la pseudo-section lié à l'enregistrement OPT) :
> DiG 9.3.4 <<>> +bufsize=4096 NS hk
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36374
;; flags: qr rd ra; QUERY: 1, ANSWER: 15, AUTHORITY: 0, ADDITIONAL: 12
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;hk. IN NS
;; ANSWER SECTION:
hk. 604800 IN NS B.DNS.TW.
hk. 604800 IN NS NS1.HKIRC.NET.hk.
hk. 604800 IN NS NS2.CUHK.EDU.hk.
hk. 604800 IN NS NS2.HKIRC.NET.hk.
hk. 604800 IN NS NS3.CUHK.EDU.hk.
hk. 604800 IN NS SEC3.APNIC.NET.
hk. 604800 IN NS TLD1.ULTRADNS.NET.
hk. 604800 IN NS TLD2.ULTRADNS.NET.
hk. 604800 IN NS TLD3.ULTRADNS.ORG.
hk. 604800 IN NS TLD4.ULTRADNS.ORG.
hk. 604800 IN NS TLD5.ULTRADNS.INFO.
hk. 604800 IN NS TLD6.ULTRADNS.CO.UK.
hk. 604800 IN NS ADNS1.BERKELEY.EDU.
hk. 604800 IN NS ADNS2.BERKELEY.EDU.
hk. 604800 IN NS NS-HK.RIPE.NET.
;; ADDITIONAL SECTION:
NS1.HKIRC.NET.hk. 26487 IN A 203.119.2.18
NS2.CUHK.EDU.hk. 133179 IN A 137.189.6.21
NS2.HKIRC.NET.hk. 26487 IN A 203.119.2.19
NS3.CUHK.EDU.hk. 133179 IN A 202.45.188.19
SEC3.APNIC.NET. 43936 IN A 202.12.28.140
SEC3.APNIC.NET. 43936 IN AAAA 2001:dc0:1:0:4777::140
TLD2.ULTRADNS.NET. 105673 IN A 204.74.113.1
TLD3.ULTRADNS.ORG. 19273 IN A 199.7.66.1
TLD5.ULTRADNS.INFO. 3385 IN A 192.100.59.11
ADNS1.BERKELEY.EDU. 2047 IN A 128.32.136.3
ADNS2.BERKELEY.EDU. 65275 IN A 128.32.136.14
;; Query time: 22 msec
;; SERVER: 192.134.4.162#53(192.134.4.162)
;; WHEN: Tue Mar 13 10:22:22 2007
;; MSG SIZE rcvd: 599
]]>
Et voilà, tout le monde est désormais content.
EDNS0 a été normalisé il y a sept ans (une mise à jour de la norme a eu lieu avec le
Pour les amateurs de programmation, du code