Система доменных имен

Ttl (Time To Live)


- это поле определяет время, в секундах, в течение которого данная запись сохраняется в кэше. Максимальное значение поля TTL 4294967295. Ровно такое максимальное положительное число может быть задано при помощи 32 битов (RFC-1035, секция 6.1.3).

В реальной жизни все гораздо менее масштабно. Записи обычно хранятся в кэше часа или около того, что составляет 3600 секунд. Правда для записей корневой зоны TTL умолчания составляет 1 день или 86400 секунд (см. распечатку корневых серверов в материале "Типы серверов доменных имен. Master, Slave, Cache, Stealth, Root.".

Если это поле оставлено пустым, то по умолчанию принемается значение, указанное в параметре minimum поля данных (data) записи SOA для данной зоны(см. описание записи SOA).

Написав предыдущий абзац, мы остались в эпохе до 1998 года, когда вышло RFC-2308 (Отрицательное кэширование DNS запросов). Тем не менее, не стоит его вымарывать их своей памяти, т.к. до версии 8 BIND минимальное время TTL определял согласно RFC-1035, т.е. в записи SOA. Точнее говоря, это было не минимальное время хранения в кэше, а время умолчания.

RFC-2308 ввел два новых понятия: время негативного кэширования и директиву управления $TTL.

Негативное кэширование - это кэширование запросов, которые доставляют информацию о том, что установить соответствие между доменным именем и IP-адресом нельзя по разным причинам.

Если не использовать негативного кэширования, то локальный сервер доменных имен, который обслуживает рекурсивный запрос resolver, либо сам resolver, если он "умный", будут совершать от 2 до 3 попыток разрешить (установить соответствие между доменным именем и IP-адресом) доменное имя, как только какая-либо из прикладных программ, данное имя запросит. При чем повторяться это будет каждый раз, как только новый запрос поступит, т.к. система не помнит результатов предыдущего выполнения запроса.

Согласно новым правилам, теперь время кеширования по умолчанию для запросов к системе доменных имен, на которые возможно получить позитивный отклик (можно установить соответствие), устанавливается в директиве управления $TTL, а время негативного кэширования устанавливается последним параметром записи SOA.

Если в поле TTL указано 0 значение, то тем самым запрещают кэширование такой записи. Например, запись SOA всегда передают со значением 0 в поле TTL, для того, чтобы запретить кэширование.

Поле



Содержание раздела