Время жить
Время жизни ( 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 г.