<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
On 2/17/2010 3:05 AM, Alans wrote:
<blockquote cite="mid:000e01caafa8$06b39780$141ac680$@co.uk" type="cite">
  <meta http-equiv="Content-Type"
 content="text/html; charset=ISO-8859-1">
  <meta name="Generator" content="Microsoft Word 12 (filtered medium)">
  <style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
-->
  </style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
  <div class="Section1">
  <p style="margin: 0in 0in 0.0001pt;"><span
 style="font-size: 11pt; font-family: "Calibri","sans-serif";">Hi,<o:p></o:p></span></p>
  <p style="margin: 0in 0in 0.0001pt;"><span
 style="font-size: 11pt; font-family: "Calibri","sans-serif";"><o:p> </o:p></span></p>
  <p style="margin: 0in 0in 0.0001pt;"><span
 style="font-size: 11pt; font-family: "Calibri","sans-serif";">I read
below paragraph from RFC 1035 about
AXFR:<o:p></o:p></span></p>
  <p style="margin: 0in 0in 0.0001pt;"><span
 style="font-size: 11pt; font-family: "Calibri","sans-serif";"> <o:p></o:p></span></p>
  <p style="margin: 0in 0in 0.0001pt;"><span
 style="font-size: 11pt; font-family: "Calibri","sans-serif";">“   - If
the server needs
to close a dormant connection to reclaim<o:p></o:p></span></p>
  <p style="margin: 0in 0in 0.0001pt;"><span
 style="font-size: 11pt; font-family: "Calibri","sans-serif";">    
resources, it
should wait until the connection has been idle<o:p></o:p></span></p>
  <p style="margin: 0in 0in 0.0001pt;"><span
 style="font-size: 11pt; font-family: "Calibri","sans-serif";">     for
a period on
the order of two minutes.  In particular, the<o:p></o:p></span></p>
  <p style="margin: 0in 0in 0.0001pt;"><span
 style="font-size: 11pt; font-family: "Calibri","sans-serif";">    
server should
allow the SOA and AXFR request sequence (which<o:p></o:p></span></p>
  <p style="margin: 0in 0in 0.0001pt;"><span
 style="font-size: 11pt; font-family: "Calibri","sans-serif";">    
begins a refresh
operation) to be made on a single connection.<o:p></o:p></span></p>
  <p style="margin: 0in 0in 0.0001pt;"><span
 style="font-size: 11pt; font-family: "Calibri","sans-serif";">    
Since the server
would be unable to answer queries anyway, a<o:p></o:p></span></p>
  <p style="margin: 0in 0in 0.0001pt;"><span
 style="font-size: 11pt; font-family: "Calibri","sans-serif";">    
unilateral close
or reset may be used instead of a graceful<o:p></o:p></span></p>
  <p style="margin: 0in 0in 0.0001pt;"><span
 style="font-size: 11pt; font-family: "Calibri","sans-serif";">    
close.”<o:p></o:p></span></p>
  <p class="MsoNormal"><o:p> </o:p></p>
  <p class="MsoNormal">What does it means by “since the server would be
unable
to answer queries…” ?<o:p></o:p></p>
  <p class="MsoNormal">And when “reset..” should be used?</p>
  </div>
</blockquote>
<br>
If I were to speculate, I'd say that the author was imagining a
situation where the nameserver was experiencing such severe resource
starvation that it couldn't even respond to UDP queries until it
reclaimed a dormant TCP connection, its associated buffers, control
blocks, etc.<br>
<br>
Remember, this was written back in 1987. Machines struggled with memory
management back then, and networking stacks were pretty primitive.<br>
<br>
Also, the apparent hope/expectation of the author was that DNS
resolvers would typically maintain persistent TCP connections to DNS
servers, but this never materialized, since it's a lot harder to manage
a bunch of persistent TCP connections than short-lived UDP
transactions, and there's no real performance benefit to be gained over
(what came to be the _de_facto_ standard of)
UDP-with-TCP-fallback-on-truncation, given the name-lookup usage
patterns which evolved over time. I'm not sure that modern BIND even
has any code in it to reclaim dormant TCP connections, since no
resolvers (of which I'm aware) maintain persistent TCP connections. If
there is such code, it's probably only for compliance with the
aforementioned verbiage in the standard, not because it would actually
see much practical use in the real world...<br>
<br>
                                                                       
                                                                       
                                                                    -
Kevin<br>
<br>
</body>
</html>