On October 14, 2008 16:28, in comp.os.linux.networking, Grant
(g_r_a_n_t_@bugsplatter.id.au) wrote:
> On Tue, 14 Oct 2008 15:34:05 -0400, Lew Pitcher <(E-Mail Removed)>
> wrote:
>
>>On October 14, 2008 14:57, in comp.os.linux.networking, Vwaju
>>((E-Mail Removed)) wrote:
>>
>>> On Oct 14, 2:16Â*pm, Burkhard Ott <n...@derith.de> wrote:
>>>> Am Tue, 14 Oct 2008 11:04:34 -0700 schrieb Vwaju:
>>>>
>>>> > I am running BIND on a Linux box on my home LAN. Â*To make it
>>>> > accessible from the Internet, I need to use port forwarding at the
>>>> > Dell Truemobiled 2300 router.
>>>>
>>>> > I can't tell fromhttp://www.iana.org/assignments/port-numberswhat
>>>> > port(s) DNS uses.
[snip]
>>DNS uses both UDP port 53 /and/ TCP port 53.
>>
>>Primarily, DNS uses UDP, but if the query or the response is too big for a
>>single UDP datagram, DNS uses TCP to transfer the details.
>
> I thought 53/tcp was for zone transfers? (Yes, a large response).
I'm no DNS expert, so I bow to various expert authors for answers like
these. In "TCP/IP Illustrated - Volume 1 - The Protocols" by the late W..
Richard Stevens, in chapter 14 ("DNS: The Domanin Name System"), section
14.8 ("UDP or TCP"), Richard Stevens says
"When the resolver issues a query and the response comes back with the TC
bit set ("truncated") it means the size of the response exceeded 512
bytes, so only the first 512 bytes were returned by the server. The
resolver normally issues the request again, using TCP. This allows more
than 512 bytes to be returned."
I notice that a DNS request can ask for all records associated with a domain
name. If the DNS server tries to return /all/ the records (A, multiple NS,
multiple CNAME, large HINFO, multiple MX, etc), then the response size can
easily exceed the 512 octet limit. This sort of request would be a legal
DNS query that is not a zone transfer.
--
Lew Pitcher
Master Codewright & JOAT-in-training | Registered Linux User #112576
http://pitcher.digitalfreehold.ca/ | GPG public key available by request
---------- Slackware - Because I know what I'm doing. ------