Тайм-ауты решения в привязке 10
Есть ли какая-нибудь деталь о том, как 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);