In
Jonathan de Boyne Pollard said:
The behaviour of Microsoft Exchange's SMTP client, described in
KnowledgeBase article Q263237, is simply erroneous. It violates a
"MUST" requirement, placed upon DNS clients, in section 6.1.3.2 of
RFC 1123 by not using DNS/UDP before DNS/TCP when performing its DNS
queries. The only way to get this fixed is to obtain a fixed version
of the software, that conforms to RFC 1123, from Microsoft.
You are incorrect on this one Jonathan, I copied this from the section you
noted. The DNS server MUST answer with UDP but should answer with TCP if the
mailer requests TCP and it should not refuse the query just because it is
TCP
http://www.faqs.org/rfcs/rfc1123.html.
6.1.3.2 Transport Protocols
DNS resolvers and recursive servers MUST support UDP, and
SHOULD support TCP, for sending (non-zone-transfer) queries.
Specifically, a DNS resolver or server that is sending a
non-zone-transfer query MUST send a UDP query first. If the
Answer section of the response is truncated and if the
requester supports TCP, it SHOULD try the query again using
TCP.
DNS servers MUST be able to service UDP queries and SHOULD
be able to service TCP queries. A name server MAY limit the
resources it devotes to TCP queries, but it SHOULD NOT
refuse to service a TCP query just because it would have
succeeded with UDP.
While it does state that DNS must send an answer in UDP first it goes on to
state that IF the REQUESTER supports TCP, it SHOULD try the query again
using TCP.
Technically DNS is not required to accept TCP it should and as it goes on
later in the RFC it states:
Responsible practices can make UDP suffice in the vast
majority of cases. Name servers must use compression
in responses. Resolvers must differentiate truncation
of the Additional section of a response (which only
loses extra information) from truncation of the Answer
section (which for MX records renders the response
unusable by mailers). Database administrators should
list only a reasonable number of primary names in lists
of name servers, MX alternatives, etc.
However, it is also clear that some new DNS record
types defined in the future will contain information
exceeding the 512 byte limit that applies to UDP, and
hence will require TCP. Thus, resolvers and name
servers should implement TCP services as a backup to
UDP today, with the knowledge that they will require
the TCP service in the future.
So my suggestion to the poster is that since techaclly the ISP is not
required to answer TCP requsest YET the ISP should not refuse TCP.
I might suggest that if he can use another DNS server he should, but the ISP
cannot require him to stop using TCP.