stringtranslate.com

Время жить

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

Описание

Оригинальный RFC Интернет-протокола DARPA описывает [1] : §1.4  TTL как:

Время жизни — это верхний предел времени жизни интернет- дейтаграммы . Он задается отправителем дейтаграммы и уменьшается в точках маршрута, где она обрабатывается. Если время жизни достигает нуля до того, как Интернет-дейтаграмма достигнет места назначения, Интернет-дейтаграмма уничтожается. Время жизни можно рассматривать как ограничение времени самоуничтожения.

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, разрешающего google.com, видно в Wireshark

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 таким образом выражают время жизни.

Смотрите также

Рекомендации

  1. ^ Дж. Постел , изд. (сентябрь 1981 г.). ИНТЕРНЕТ-ПРОТОКОЛ — СПЕЦИФИКАЦИЯ ПРОТОКОЛА ИНТЕРНЕТ-ПРОГРАММЫ DARPA. IETF . дои : 10.17487/RFC0791 . STD 5. RFC 791. IEN 128, 123, 111, 80, 54, 44, 41, 28, 26. Интернет-стандарт 5. Устарел RFC 760. Обновлен RFC 1349, 2474 и 6864.
  2. ^ «Значения TTL по умолчанию в TCP/IP» . Архивировано из оригинала 12 февраля 2013 г. Проверено 19 февраля 2013 г.
  3. ^ «НОМЕРА ОПЦИИ IP» . 30 ноября 2012 г. Проверено 19 февраля 2013 г. Текущее рекомендуемое время жизни (TTL) по умолчанию для интернет-протокола (IP) составляет 64 [RFC791], [RFC1122].
  4. ^ <[email protected]>, Марк Эндрюс (1998). «Отрицательное кэширование DNS-запросов (DNS NCACHE)». www.tools.ietf.org . дои : 10.17487/RFC2308 . Проверено 12 ноября 2018 г.

Внешние ссылки