Время жить
Время жизни ( TTL ) или предел прыжков — это механизм, который ограничивает продолжительность жизни или срок службы данных на компьютере или в сети. TTL может быть реализован как счетчик или временная метка, прикрепленная к данным или встроенная в них. По истечении заданного количества событий или промежутка времени данные удаляются или повторно проверяются. В компьютерных сетях TTL предотвращает бесконечное распространение пакета данных. В вычислительных приложениях TTL обычно используется для повышения производительности и управления кэшированием данных.
Описание [ править ]
Оригинальный DARPA Интернет-протокола RFC описывает [1] : §1.4 ТТЛ как:
Время жизни — это верхний предел времени жизни интернет -дейтаграммы . Он задается отправителем дейтаграммы и уменьшается в точках маршрута, где она обрабатывается. Если время жизни достигает нуля до того, как интернет-дейтаграмма достигнет места назначения, интернет-дейтаграмма уничтожается. Время жизни можно рассматривать как ограничение времени самоуничтожения.
IP-пакеты [ править ]
В соответствии с интернет-протоколом TTL представляет собой 8-битное поле. В заголовке IPv4 TTL — это 9-й октет из 20. В заголовке IPv6 — это 8-й октет из 40. Максимальное значение TTL — 255, максимальное значение одного октета. Рекомендуемое начальное значение — 64. [2] [3]
Значение времени жизни можно рассматривать как верхнюю границу времени, в течение которого IP- дейтаграмма может существовать в системе Интернет. Поле TTL устанавливается отправителем дейтаграммы и уменьшается каждым маршрутизатором на пути к месту назначения. Если поле TTL достигает нуля до того, как дейтаграмма прибудет в пункт назначения, то дейтаграмма отбрасывается, и протокола управляющих сообщений Интернета дейтаграмма ошибки (ICMP) ( 11 — превышение времени ) отправляется обратно отправителю. Цель поля TTL — избежать ситуации, в которой недоставленная дейтаграмма продолжает циркулировать в системе Интернета и такая система в конечном итоге оказывается заваленной такими «бессмертными».
Теоретически в IPv4 время жизни измеряется в секундах, хотя каждый хост, передающий дейтаграмму, должен уменьшить TTL хотя бы на одну единицу. На практике поле TTL уменьшается на единицу при каждом прыжке . поле переименовано в предел прыжков Чтобы отразить эту практику, в IPv6 .
DNS-записи [ править ]

TTL также встречаются в системе доменных имен (DNS), где они устанавливаются авторитетным сервером имен для конкретной записи ресурса. Когда кеширующий (рекурсивный) сервер имен запрашивает у авторитетного сервера имен запись ресурса, он кэширует эту запись на время (в секундах), указанное TTL. Если преобразователь-заглушка запрашивает ту же запись у кэширующего сервера имен до истечения срока TTL, сервер кэширования просто ответит уже кэшированной записью ресурса, а не снова получит ее от авторитетного сервера имен. TTL для ответов NXDOMAIN (несуществующий домен) устанавливается на основе минимума поля MINIMUM записи SOA и TTL самой SOA и указывает, как долго преобразователь может кэшировать отрицательный ответ. [4] [ жаргон ]
Более короткие TTL могут вызвать более высокую нагрузку на авторитетный сервер имен, но могут быть полезны при изменении адреса критически важных служб, таких как веб-серверы или записи MX , и поэтому часто снижаются администратором DNS перед перемещением службы, чтобы уменьшить возможные сбои.
Используемые единицы измерения — секунды. Старое общее значение TTL для DNS составляло 86 400 секунд, что соответствует 24 часам. Значение TTL 86400 будет означать, что, если запись DNS была изменена на авторитетном сервере имен, DNS-серверы по всему миру могут по-прежнему отображать старое значение из своего кэша в течение 24 часов после последнего обновления клиентом.
В новых методах DNS, которые являются частью системы аварийного восстановления (DR), некоторые записи могут быть намеренно установлены на очень низкое значение TTL. Например, 300-секундный TTL позволит истекать срок действия ключевых записей через 5 минут, что обеспечит быстрое удаление этих записей по всему миру. Это дает администраторам возможность своевременно редактировать и обновлять записи. Значения TTL указаны «для каждой записи», и установка этого значения для конкретных записей иногда автоматически учитывается всеми стандартными системами DNS по всему миру. Однако проблема остается в том, что некоторые кэширующие DNS-серверы имен устанавливают свои собственные TTL независимо от авторитетных записей, поэтому нельзя гарантировать, что все нижестоящие DNS-серверы будут иметь новые записи после истечения срока TTL.
HTTP [ править ]
Время жизни также может быть выражено как дата и время истечения срока действия записи. Expires:
заголовок в HTTP-ответах , Cache-Control: max-age
поле заголовка как в запросах, так и в ответах, а также поле expires
Поле в файлах cookie HTTP таким образом выражает время жизни.
См. также [ править ]
Ссылки [ править ]
- ^ Дж. Постель , изд. (сентябрь 1981 г.). ИНТЕРНЕТ-ПРОТОКОЛ — СПЕЦИФИКАЦИЯ ПРОТОКОЛА ИНТЕРНЕТ-ПРОГРАММЫ DARPA . IETF . дои : 10.17487/RFC0791 . СТД 5. RFC 791 . IEN 128, 123, 111, 80, 54, 44, 41, 28, 26. Интернет-стандарт 5. Устарело . RFC 760. Updated by RFC 1349 , 2474 и 6864 .
- ^ «Значения TTL по умолчанию в TCP/IP» . Архивировано из оригинала 12 февраля 2013 г. Проверено 19 февраля 2013 г.
- ^ «НОМЕРА ОПЦИИ IP» . 30 ноября 2012 г. Проверено 19 февраля 2013 г.
Текущее рекомендуемое время жизни (TTL) по умолчанию для интернет-протокола (IP) составляет 64 [RFC791], [RFC1122].
- ^ < [адрес электронной почты защищен] >, Марк Эндрюс (1998). «Негативное кэширование DNS-запросов (DNS NCACHE)» . www.tools.ietf.org . дои : 10.17487/RFC2308 . Проверено 12 ноября 2018 г.