Talk:DNS root zone

From Wikipedia, the free encyclopedia

"There are thirteen root server names that are authoritative for queries to the global DNS root zone, the maximum number possible." "... the maximum possible using the DNS protocol with the minimum guaranteed IP datagram size." A more detailed explanation would be good. Mr. Jones 08:41, 15 Dec 2004 (UTC)

OK, how's this: A UDP DNS packet can only be 512 bytes in size. This means we can fit only 15 answers to the question "Name servers for ." Since DNS packets are of variable size, they made the number 13, to give a bit of a cushion before hitting the 512 byte DNS limit.
In more detail:
The header of a DNS packet takes up 12 bytes. The question length is variable, but I will assume that it takes up five bytes--the shortest a question can be (The question "dig @somewhere . -q=ns" generates) We have 495 bytes to play with at this point. At this point, an answer, because of DNS' clunky design, needs to be two records: An NS record and an A record.
So, the first NS answer for "." will take up one bytes (the length of that question) followed by 10 bytes of stuff followed by "a.root-servers.net." (19 bytes): 30 bytes in total.
This answer also needs an IP. The IP will take up 2 bytes for the name (pointing back to "a.root-servers.net." using DNS' weird compression), 10 bytes for other DNS overhead, and four bytes for the IP. This is 16 bytes, and each IP uses this number of bytes.
The first root server, in total, takes up 46 bytes.
The second root server will take up one (name) + ten (DNS stuff) + four bytes "b.<2 byte backreference to 'root-servers.net.'>" 15 bytes total. The required A reference is another 16 bytes. So each subsequent root server reference takes up 31 bytes.
Now, in this compact format, we could fit up to 15 total answers to an A request for a root server (DNS headers: 17 bytes; first answers 46 bytes, 14 subsequent answers of 31 bytes each = 497 bytes, leaving us with 15 bytes: Not enough space to fit another record).
So, the hard limit is 15. The reason why the number is 13 is to give a bit of a cushion, since other factos can make a DNS packet bigger.
That's more than you ever wanted to know about DNS, I'm sure Samboy 08:57, 15 Dec 2004 (UTC) (Revised by Samboy 22:19, 15 Dec 2004 (UTC) to fix error that doesn't affect 15 records conclusion)


SHOULD this page be merged with Root nameserver ?

Well.. to my opinion some information here seems to belong better in Root nameserver.
The root zone deserves there own page if there's enough content, but that should only mention "The root zone is served by the root nameservers". It should not tell "The root zone is served by a-m.root-servers.net." or other details.
UsrBin 06:41, 31 May 2006 (UTC)

[edit] DNS System?

isn't saying DNS system redundent? It's like saying "Domain Name System system" Clyde frogg 07:52, 7 October 2005 (UTC)

Just like the "p" in http protocol just happens to stand for protocol (but is part of the name of a protocol), the "s" in dns just happens to stand for system (but is a part of the name of a system) --frothT C 20:09, 6 October 2006 (UTC)