DNSparsing器超时机制

DNSparsing器(ISP或Opend DNS或Google的)是否有特定的等待服务器响应的超时时间? 如果在RFC中是这样,还是只是每个parsing器的定制?

我听到一个传言是2秒,但没有看到任何地方。

PS。 不是本地的机器parsing器,就像一个窗口一样。 http://technet.microsoft.com/en-us/library/cc961411.aspx

RFC 1034( http://www.faqs.org/rfcs/rfc1034.html )第5节

RFC 1035( http://www.faqs.org/rfcs/rfc1035.html )第7节

RFC 1536( http://www.faqs.org/rfcs/rfc1536.html

注意通常有两种types的parsing器:stubparsing器和迭代parsing器。

存根是你可能在你的个人系统上的种类。 迭代是OpenDNS和其他ISP运行的types。 他们做“繁重的”查找,并更可能caching结果(尽pipe许多存根parsing器现在也caching)。

parsing器超时/重试/重传algorithm对每个实现都是特定的。

我不知道这是一个RFC还是每个parsing器都将拥有它自己的默认值。

通常情况下,parsing器将首先以低超时的顺序查询所有的名称服务器。 然后,它会增加超时和查询,除非它收到来自DNS系统的错误。

但根据DNS和BIND,这里的第5版是超时如何在BIND中工作。 BIND往往是DNS的参考实现。 以下是如何绑定8.2.1和更高版本的行为。

如果只configuration了一个名称服务器,它将以5秒的超时时间来查询它,如果超时,那么第二个查询将尝试超时10秒。 那么如果失败了,将会返回一个严重的失败。

如果configuration了多个名称服务器,则会按照5秒的超时顺序查询每个名称服务器。 然后它将通过名称服务器循环,第一个名称服务器的时间为10秒,第二个名称服务器的时间为10/2,第三个名称服务器的时间为10/3。 如果所有这些超时然后返回一个硬错误。 有3个名称服务器可能需要长达33秒的查询才能真正失败。 当然大多数情况下,DNS系统在这种情况发生之前给你一个ip地址或查找失败。 所以我只希望这种情况发生,如果你的互联网连接closures。