DNS解析器(在ISP或开放DNS或Google上的解析器)是否有等待服务器响应的特定超时时间?如果是这样的话,它是在一个RFC中,还是仅仅是对每个解析器自定义?
我听说现在已经是2秒了,但什么也没看到。
ps。不是本地机器解析器,就像一个窗口一样。http://technet.microsoft.com/en-us/library/cc961411.aspx
发布于 2010-12-01 16:32:40
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 )
需要注意的是,通常有两种类型的解析器。存根解析器和迭代解析器。
存根是你个人系统中可能有的那种。迭代是OpenDNS和其他ISP运行的那种。它们进行“繁重”查找,并且更有可能缓存结果(尽管许多存根解析器现在也缓存)。
解析器超时/重试/重传算法是针对每个实现的。
发布于 2010-12-01 16:08:56
我不确定它是一个RFC,还是每个解析器都有自己的缺省值。
通常情况下,解析器首先会按低超时顺序查询所有名称服务器。然后,它将增加超时和查询,除非它从DNS系统收到一个错误。
但是根据DNS和BIND,第5版是在BIND中超时工作的方式。绑定往往是DNS的参考实现。以下是bind 8.2.1及更高版本的行为方式。
如果只配置了一个名称服务器,它将使用超时5s查询它,如果该超时,则将尝试第二个查询,超时时间为10s。如果失败了,就会有很大的失败。
如果配置了多个名称服务器,那么它将按顺序查询每个名称服务器,超时时间为5s。然后,它将按照顺序返回名称服务器,第一个名称服务器的时间为10 s,第二个名称服务器的时间为10/2,第三个名称服务器的时间为10/3。如果所有这些超时,则返回一个硬错误。有了3个名称服务器,它可能需要多达33s的查找才能真正失败。当然,大多数情况下,DNS系统会在此之前给出ip地址或查找失败。所以,我只希望当你的互联网连接中断时,这种情况才会发生。
https://serverfault.com/questions/207924
复制相似问题