有没有关于 bind 10 如何处理解析器超时的详细信息?
我能找到的最新信息是关于 Bind 8.2.1+ http://fengnet.com/book/DNS.and.BIND.5th.Edition/dns5-CHP-6-SECT-2.html
解析器下一轮查询的超时时间取决于 resolv.conf 中配置的名称服务器数量。第二轮查询的超时时间为 10 秒除以配置的名称服务器数量,向下舍入。每一轮查询的超时时间都是前一轮超时时间的两倍。经过三轮重传(每个配置的名称服务器总共有四次超时),解析器将放弃尝试查询名称服务器。
在 BIND 8.2.1 中,ISC 将解析器更改为仅向 resolv.conf 中的每个名称服务器发送一组重试或总共两次查询。这是为了减少当所有名称服务器均未响应时用户等待解析器返回的时间。
答案1
它看起来与最新的 bind10 开发快照略有不同:
bind10-devel-20110819/src/lib/resolve/recursive_query.h:
80 /// \param query_timeout Timeout value for queries we sent, in ms
81 /// \param client_timeout Timeout value for when we send back an
82 /// error, in ms
83 /// \param lookup_timeout Timeout value for when we give up, in ms
84 /// \param retries how many times we try again (0 means just send and
85 /// and return if it returs).
86 RecursiveQuery(DNSService& dns_service,
...
93 int query_timeout = 2000,
94 int client_timeout = 4000,
95 int lookup_timeout = 30000,
96 unsigned retries = 3);