Ttl что это: Что такое TTL? И в чем разница 64 или 128? — Хабр Q&A
Что такое TTL в телефоне и как его изменить на Android?
Возможности современных смартфонов позволяют делиться доступом к мобильному интернету с другими устройствами при помощи модуля Wi-Fi, Bluetooth или USB.
Однако не все так просто — жадные операторы сотовой связи, предоставляющие «безлимитные» пакеты услуг, часто ограничивают раздачу интернета. Чтобы обнаружить подключенные устройства, они пользуются значением параметра TTL, который автоматически передается на их основной сервер. В этой статье-инструкции мы разберемся, что такое TTL в телефоне, и как его изменить для обхода ограничений раздачи интернета.
Что такое TTL и зачем он нужен?
TTL (Time to live) — предельный период времени жизни пакета данных или максимальное количество его переходов от одного устройства к другому. В компьютерных сетях такой параметр является обыкновенным числовым значением в диапазоне от 0 до 255. Основная его цель заключается в том, чтобы не позволять набору цифровой информации бесконечно «блуждать» по сети.
Для большинства мобильных устройств (iOS и Android) начальное значение TTL равно 64, а на Windows-компьютерах он стартует с отметки 128. Каждый переход через беспроводной канал связи уменьшает это число ровно на 1. Когда после множества скачков от одного клиента к другому TTL становится равным 0, все данные в пакете, который он сопровождает, автоматически уничтожаются.
Поскольку значение TTL всегда возвращается изначальному адресанту (провайдеру), он может узнать, был ли пропущен трафик через сторонние маршрутизаторы, то есть другие устройства.
Операторы сотовой связи пользуются TTL для ограничения доступа к безлимитному интернету, когда их клиент подключается к нему с нескольких разных гаджетов. После того, как смартфон на Android переходит в режим модема, он передает через себя трафик с параметром TTL, равным 64. Устройства, которые получают эти сведения, автоматически уменьшают изначальный TTL на 1.
В результате, провайдеру приходят пакеты, помеченные временем жизни 64 и 63, после чего он блокирует сеть. В большинстве случаев, это делает невозможным раздачу интернета по Wi-Fi.Можно ли изменить TTL?
Как уже можно было догадаться, чтобы разблокировать доступ сторонним устройствам к мобильной сети, необходимо должным образом настроить значение TTL. На Android это делается несколькими способами в зависимости от наличия на смартфоне root-прав. Также необходимо выбрать устройство, на котором будут внесены изменения параметра TTL: на раздающем трафик или на получающем его.
Далее мы будем рассматривать исключительно мобильную платформу Android.
Как узнать TTL на телефоне?
Стоит сразу отметить, что получить доступ к неограниченному количеству сторонних подключений к мобильной сети без прав администратора практически невозможно. Чтобы узнать значение TTL на телефоне, следуйте инструкции:
- Сначала нужно установить приложение Terminal Emulator из магазина Google Play.
- После запуска этой небольшой утилиты откроется командная консоль, в которую необходимо ввести следующую строку: cat /proc/sys/net/ipv4/ip_default_ttl
- В результате появится значение TTL.
Как изменить TLL на Android с root-правами?
Получив права администратора (рут) на Android, нужно установить один из файловых менеджеров, например, ES Проводник. Далее потребуется активировать авиарежим на смартфоне, чтобы временно прервать соединение с сетью. Теперь запустите Terminal Emulator и перейдите файлу по адресу: proc/sys/net/ipv4/ip_default_ttl. В нем содержится значение параметра TTL, которое можно изменить по своему усмотрению. Сохранив новое число и перезагрузив телефон, можно спокойно раздавать интернет.
Существует и более комфортный способ настройки множественного подключения к мобильной сети. Для его реализации потребуется загрузить специальное приложение TTL Master. После запуска программы можно сразу увидеть текущее значение данного параметра и настроить его для эффективной раздачи как на мобильные устройства, так и на Windows-компьютеры. После перезагрузки смартфона можно не беспокоится, что сотовый оператор как-то узнает об общем использовании его трафика.
Изменение TLL на Android — простая задача для пользователей смартфонов с рут-правами, которые могут обойти ограничение раздачи интернета в пару кликов. Если же «суперправ» нет, то с высокой долей вероятности ничего не выйдет.
Загрузка…TTL Что Это — В Смартфоне и На Компьютере [Лайфхаки]
Хотя современные компании, предоставляющие доступ в интернет, обеспечивают абонентам максимальную скорость доступа и оптимальные настройки для работы, некоторые модификации в программное обеспечение доступа может внести и сам пользователь. Благодаря таким изменениям удается добиться более качественного, быстрого и стабильного соединения. Материал рассматривает понятие TTL: что это такое, на что влияет параметр, как его изменить и стоит ли это делать.
Что такое TTL?
TTL – это показатель, который имеет каждое устройство, обладающее способностью выходить в интернет. TTL- аббревиатура, дословно обозначающая Time To Live, что переводится, как время жизни. В данном случае речь идет о времени жизни IP-пакета – сформированного набора данных, в форме которого информация передается от центрального сервера пользователю и обратно.
Речь идет о времени, которое пакет может просуществовать без повреждений и потерь информации при передаче от одного узла связи к другому. Изначально предполагалось измерять длительность такой «жизни» в секундах, отсюда и аббревиатура.
Существование данного параметра необходимо для того, чтобы любой, переданный в любом направлении, IP-пакет не мог курсировать по сети бесконечное количество времени.
Принцип действия данной настройки состоит в следующем: каждый последующий маршрутизатор (либо узел сети) уменьшает время жизни пакета на единицу, так как расчет в секундах устарел. Некоторые узлы связи можно настроить таким образом, что при маршрутизации пака уменьшения TTL на единицу именно на данном узле происходить не будет, что продляет фактическое время целостности пака. Но сделать такое можно не со всеми узлами маршрута.
TTL: что это такое в телефоне, компьютере и какое непосредственно влияние оказывает на работу устройства и стабильность соединения? Когда пакет слишком долго перенаправляется от узла к узлу, в итоге его TTL становится равно нулю, и он уничтожается. Пользователь в этот момент получает уведомление «Время ожидания ответа от сервера истекло» или т. п.
То есть, при медленном интернет-соединении, чрезмерно удаленном сервере и т. п. сайт на вашем устройстве может не загружаться как раз потому, что его TTL слишком мало, чтобы его хватило для передачи конкретному очень удаленному пользователю (вам).
Фактически чем больше TTL пакетов, тем выше вероятность, что даже очень физически удаленный от итогового пользователя сервер сможет передать информацию в полном объеме.
Правильно настраивать и изменять TTL можно в большую сторону, при таком изменении сайты станут подгружаться лучше. Возможно также настроить свой роутер таким образом, чтобы прохождение через него не уменьшало на единицу длительность существования пакета. Для выполнения таких изменений и настроек используются специальные утилиты для работы с сетевым оборудованием.
Показатель имеет ряд ограничений, связанных с современными техническими возможностями сети. Максимальное значение TTL составляет 255, тогда как базовое среднее, характерное для большинства современных устройств связи – 64 TTL. Оно является базовым начальным значением, которое используют Linux, Mac, iOS, Android, и которое подлежит, при необходимости, изменению.
А вот у Windows стартовый показатель выше, составляет 128, что обеспечивает более стабильную связь.
Обратите внимание, что понятие TTL применимо только к протоколам IPv4, тогда как в протоколе IPv6, оно уже переименовано в Hop Limit – максимальное число хопов, то есть преодолеваемых отрезков от узла к узлу, тех самых единиц, о которых идет речь выше.
Все узлы сети уменьшают TTL. Исключение составляют только коммутаторы, которые неспособны как-либо на него повлиять, так как работают в канальном режиме.
Как изменить TTL на Андроид?
Устройства с операционной системой Андроид, имеющие оборудование для выхода в интернет, также имеют определенный показатель TTL отправляемых и получаемых пакетов при загрузке сайта.
Менять параметр нужно для того, чтобы усложнить контроль трафика мобильными операторами. Так, если абонент имеет безлимитный трафик, то когда он превращает свой смартфон в точку доступа, которой подключается дополнительное устройство, то оператор «видит», что TTL становится на одну единицу меньше ожидаемого, так как в систему добавился еще один узел.
Это позволяет оператору блокировать доступ в интернет для дополнительного устройства. То есть, повышение параметра на одну единицу приведет к тому, что при подключении одного дополнительного устройства (узла) показатель у оператора все равно будет соответствовать ожидаемому, потому блокировки доступа не произойдет.
Соответственно, если вы хотите подключить два или три устройства, то и показатель нужно повысить на 2 или 3.
Таким образом, правильно установленный параметр TTL позволяет использовать смартфон с безлимитным подключением к интернету как точку доступа для нескольких устройств.
Изменения можно произвести как обладая root-правами, так и без них, как применяя специальные программы, так и с помощью собственных ресурсов смартфона. Для обеспечения бесперебойного соединения вам может потребоваться изменить параметр, что делается следующим образом:
Шаг 1. Перейдите в Play Market и скачайте в нем программу Terminal Emulator for Android. Данное приложение позволяет вам управлять настройками вашего мобильного устройства с помощью простого интерфейса, аналогичного командной строке.
Шаг 2. Запустите приложение. Сразу после запуска откроется окно черного цвета с полями ввода команд. Наберите в нем команду cat/proc/sys/net/ipv4/ip_default_ttl. Нажмите кнопку Ввод и ожидайте результата.
Шаг 3. Аналогично интерфейсу командной строки Windows, приложение запустит анализ системы, и когда он будет завершен на экране командной строки отобразится базовое значение TTL для данной модели устройства.
Шаг 4. Отредактируйте отобразившееся значение на единицу, если хотите подключить одно устройство, увеличьте показатель на две единицы, если устройства два и так далее. Аналогичные изменения внесите в программное обеспечение всех устройств, которые вы собираетесь подключать к сети – если этого не сделать, то доступ в интернет по-прежнему станет блокироваться.
Метод хорош тем, что позволяет быстро и без особых усилий изменить базовые настройки устройств для доступа в интернет. Существенный недостаток же его в том, что работает он не на всех видах устройств.
Понять, что методика неэффективна для вашего смартфона поможет командная строка, в которой после ввода соответствующей команды появится уведомление об ошибке, а не информация о TTL.
Другое важное положительное отличие способа – отсутствие необходимости получать root-права на устройстве, что на некоторых современных моделях довольно затруднительно. Если эмулятор подходит для вашей модели телефона, то он одинаково эффективно работает как с рут-правами, так и без них.
Ручное изменение TTL
Под ручными в данном случае понимается такое изменение, которое не требует скачивания посторонних программ, которое можно выполнить только собственными ресурсами вашего смартфона. В процессе используется файловый менеджер ES Проводник, который предустановлен по умолчанию на многих моделях современных Андроид-устройств.
Шаг 1. Переведите свое мобильное устройство в режим Полета – в процессе работы ваших интернет-модулей внести изменения будет невозможно.
Шаг 2. Теперь запустите Проводник. Введите в строку пути следующее значение – proc/sys/net/ipv4/ip_default_ttl, нажмите Перейти. Так вы получите доступ к файлу для управления обсуждаемым параметром.
Шаг 3. Теперь найденный файл откройте с помощью любого текстового редактора, установленного на вашем мобильном устройстве. Найдите в нем необходимый вам показатель, после чего измените его и сохраните изменения.
Из описания процесса становится ясно, что произвести его можно с помощью любого, установленного у вас файлового менеджера-проводника.
Если же текстовый редактор на смартфоне отсутствует, можно скопировать файл на компьютер, изменить значение, а затем снова поместить измененный файл в исходную папку, произведя замену предыдущего, неизмененного.
Многие поставщики доступа в сеть и мобильные операторы вносят в свои договоры с абонентом особое условие – не увеличивать, не уменьшать ttl в роутере – что это такое мы выяснили, и ясно, почему его не следует повышать, но почему его нельзя также и понижать?
При произведении таких действий вы фактически сделаете выход в интернет с вашего основного устройства невозможным, так как изначальные параметры минимальны и необходимы для осуществления соединения.
Как пользоваться TTL Master?
TTL Master – простая, удобная и функциональная программа, предназначенная для изменения параметра на устройствах, владельцы которых получили права разработчика (root).
Преимущество ее в максимальной простоте работы и том, что подходит она практически ко всем видам мобильных устройств на базе операционной системы Андроид. Из недостатков можно выделить необходимость наличия у пользователя root-прав.
Чтобы внести изменения с помощью данного программного обеспечения, действуйте согласно алгоритму:
Шаг 1. Перейдите в Google Play, найдите по названию и скачайте на свое мобильное устройство приложение TTL Master. После окончания установки запустите его. Если рут-права на устройстве получены, программа (и методика) подходят вашему мобильному устройству, то программа начнет корректно запускаться сразу после установки.
Шаг 2. На главном экране программы, сразу после запуска, в верхней части появится текущее значение TTL для вашего устройства. Здесь же представлена основная строка для ввода текста и кнопка Применить. В поле ввода введите желаемое значение, прибавив столько единиц, сколько устройств будет подключено к точке доступа, затем тапните по кнопке Применить.
Теперь перезагрузите свое мобильное устройство. После повторного его запуска все ограничения на подключение устройств к точке доступа будут сняты.
Одновременно не рекомендуется менять показатель слишком сильно, так как это тоже может привести к привлечению внимания оператора и повлечь за собой проверку изменений с последующей блокировкой.
Как поменять TTL на Windows 7 и выше?
Стандартное начальное значение для данной системы составляет 1278 единиц. В большинстве случаев этого вполне достаточно для обеспечения стабильного бесперебойного доступа в интернет для нескольких устройств, потому более или менее мощный компьютер удается с успехом применять в качестве точки раздачи интернета. Но если необходимость изменения все же есть, то проводите его следующим образом:
Шаг 1. Процесс проводится с помощью внесения некоторых изменений в системный реестр. Откройте его для редактирования, нажав Пуск, введя команду regedit, а затем щелкните по результату правой кнопкой мыши. В выпавшем контекстном меню нажмите на Запуск от имени администратора.
Шаг 2. После открытия реестра в левой части экрана вы увидите большое количество системных папок, необходимых для обеспечения работы компьютера. Найдите нужную вам папку, пройдя по пути HKEY_LOCAL_MACHINE \SYSTEM \CurrentControlSet \Services \Tcpip\Parameters. Внесите все необходимые изменения. Особое внимание уделите выделенным показателям – они должны точно соответствовать рисунку.
Сохраните изменения и перезагрузите компьютер.
TTL – что это такое в роутере, нужно ли изменять показатель? Существенного влияния на доступ в интернет данный показатель у роутера не оказывает, изменять его достаточно сложно. Однако при наличии специальных навыков изменения можно внести таким образом, чтобы при прохождении через роутер пакет не терял одну единицу TTL.
что это такое, как пользоваться и настроить значение на телефоне и роутере?
ВНИМАНИЕ! По последним данных от надежного источника стало известно, что не только TTL является причиной блокировки мобильного интернета. Если же вам нужна информация по ТТЛ для роутеров, и на что данный протокол влияет, то смотрите последнюю главу.
Всем доброго времени суток! Скорее всего ты зашел сюда для того, чтобы обойти блокировку мобильного оператора. Ведь с помощью именно TTL данные компании ловят за руку абонентов, который включили на своем телефоне режим точки доступа. Что такое TTL? Time To Live – это время жизни пакета во вселенной IP адресации.
Когда пользователь включает режим модема или точки доступа, то телефон начинает раздавать Wi-Fi вместе с интернетом. При подключении компьютера, ноутбука, телевизора, приставки или другого телефона (планшета) провайдер именно за счет TTL и понимает, что идет раздача интернета на другое устройство.
На данный момент этим грешат такие операторы как МТС, Билайн, YOTA, Теле2 и другие. Насколько я помню, только у Мегафона ограничения пока нет, но я могу ошибаться – поправьте меня в комментариях, если я не прав. Далее я расскажу, как узнать значение TTL, как его поменять и как обойти блокировку. Начнем с теории – советую её прочесть, чтобы вам в дальнейшем было все понятно.
Более подробно про TTL
Разберем на простом примере. У вас есть телефон, который при подключении к мобильному интернету оператора постоянно отправляет запросы. В каждом таком запросе есть значение TTL, которое по умолчанию равно 64 – на Android и iOS. У Windows Phone, насколько помню, это значение равно 130.
После того как на телефоне включен режим роутера и идет раздача Wi-Fi с интернетом, к нему подключаются другие устройства. На Windows TTL по умолчанию равно 128. На других телефонах 64.
А теперь мы подошли к самой сути TTL. Как вы помните, TTL это время жизни пакета, а называется оно так, потому что при проходе через один узел или устройство, данное значение уменьшается на 1. В итоге компьютер, подключенный к вашему телефону будет отправлять запрос в интернет с TTL, который будет равен 127 (то есть минус 1). От подключённых телефонов ТТЛ будет равен уже 63.
В итоге на сервер оператора от вашего телефона приходят три пакета с разными ТТЛ. Оператор понимает, что дело не чисто, и блокирует устройство. Но блокировку можно также легко обойти.
Обход блокировок
Обходится блокировка достаточно просто – нужно на подключенных устройствах выставить TTL, который будет ровен на 1 больше чем у раздающего телефона. Например, вы раздаете интернет на ноутбук, тогда нужно установить у этого устройства ТТЛ со значение на 1 больше чем у раздающего устройства (то есть 65). В итоге пакет от компьютера, попадая на телефон будет принимать значение 64. Оператор будет видеть, что все пакеты одинаковые, и никого блокировать не будет.
ПРИМЕЧАНИЕ! Можно, конечно, не уменьшать ТТЛ на принимающем устройстве, а уменьшить его на раздающем, но для этого понадобятся ROOT права и программа TTL Master. Поэтому проще всего изменить значение на второстепенных аппаратах – об этом поподробнее чуть ниже.
Но есть ещё одна загвоздка, про которую нигде почему-то не написано. Дело в том, что операторы начали также по-другому вычислять раздачу. У провайдера есть список серверов, к которым можно обратиться только с компьютера.
Например, если на подключенном компьютере начнется обновление Windows, то оператор это сразу поймет. Потому что с телефона никто в здравом уме не будет обращаться к серверам обновления от Microsoft. Список таких серверов постоянно пополняется. Но и эта проблема достаточно легко решается. По этому поводу у нас на портале есть подробные инструкции для всех операторов:
Там расписаны все шаги с картинками и пояснениями. Также вы сможете определить и проверить свой ТТЛ, но на деле они имеют одинаковые значения для всех типов устройств, о которых я написал в самом начале.
TTL в роутере
Также этот параметр встречается и в роутере, а также в любых сетях, которые работают с IP адресами. На уровне маршрутизации пакетов ТТЛ постоянно используется как внутри сети пользователя, так и в сети провайдера.
Например, у Keenetic есть параметр «Не уменьшать TTL» – который нужен для того, чтобы пакеты данных от маршрутизатора провайдера при проходе через ваш роутер не уменьшался. Дело в том, что некоторые провайдеры специально выставляют ТТЛ=1. Сделано это для того, чтобы к основным шлюзам всякие нехорошие люди не подключили сторонние маршрутизаторы.
Проблема в том, что если убрать эту галочку, то при проходе пакета ТТЛ уменьшится до 0. А ТТЛ со значение 0 отбрасываются и уничтожаются всеми сетевыми устройствами, который работают на уровне IP адресации. То есть ваш компьютер или любое другое устройство просто не будет принимать эти пакеты.
Ещё раз объясню – это нужно для того, чтобы пользователь не подключал к своему роутеру других абонентов через другие шлюзы. Это если вы захотите стать провайдером для кого-то ещё. Понятное дело, провайдер начнет вас блокировать.
Теоретически да, но делать это НЕЛЬЗЯ по установленному пункту в договоре от поставщика услуг. Не знаю точно, что может грозить за это, но огромный штраф и судебное дело – вполне реально.
С другой стороны, данный параметр иногда нужно изменять при настройке локальной сети компании или предприятия. В таком случае будет использоваться несколько маршрутизаторов. В этом случае поможет TELNET для изменения параметра (x – это значение от 1 до 255) для входящих пакетов:
ПРИМЕЧАНИЕ! 255 – это максимальное возможное значение TTL.
interface ISP ip adjust-ttl inc x
interface ISP ip adjust-ttl dec x
interface ISP ip adjust-ttl set x
Для исходящих данных к провайдеру, нужно заменить «ISP» на «Home». Например:
interface Home ip adjust-ttl inc 1
СОВЕТ! Не забываем сохранить изменения командой:
system configuration save
На роутере ASUS есть два других параметра, которые решают аналогичные проблемы:
- «Расширить значение TTL» (Extend The TTL Value) – данная опция работает на входящий трафик. Если от провайдера пришел пакет с ТТЛ равным 1, то он не будет обнулен. Следовательно, ваши внутренние устройства смогут его получить. Аналогично, как и у «Кинетик».
- «Подменить значение LAN TTL» – отправляет пакеты с фиксированным TTL, то есть не важно сколько узлов в вашей локальной сети, ТТЛ будет одинаковым, и провайдер вас не заблокирует.
Подобные значения есть у всех роутеров. Для более продвинутых пользователей их можно изменять в роутер через командную строку (TELNET). В общем, все обходится, и ничего заблокировать нельзя, да пребудет свобода в беспроводном и проводном пространстве – первая заповедь великого Wi-Fi-Гида, да растет его борода!
Фиксация TTL на Android для обхода ограничений на раздачу интернета
Столкнулся с проблемой раздачи интернета с Android-телефона на другие устройства, через мобильную точку доступа, у некоторых операторов. Оператор или вообще запрещает раздавать интернет, или берет за это деньги.
Как оператор узнает, что интернет раздается
Оператор на своей стороне смотрит на значение TTL в заголовках IP-пакетов, приходящих от клиента. Схематично выглядит так:
Если на телефоне открывать в браузере какую-нибудь страничку, то провайдеру от телефона будут приходить пакеты с TTL 64. Такие пакеты он пропускает.
Но если включить мобильную точку доступа, подключиться к ней, например, с планшета, и на планшете открыть страницу, то, проходя через мобильную точку доступа на телефоне TTL будет уменьшаться на 1 и провайдеру будут уходить пакеты с TTL 63, которые он будет отбрасывать. Уменьшение TTL при прохождении через роутер — это стандартизированное поведение роутера, такое поведение предусмотрено стандартом RFC791.
В этой ситуации выхода два — либо на планшете выставлять TTL 65, чтобы, проходя через телефон, провайдеру приходили пакеты с TTL 64, либо на самом телефоне делать так, чтобы он не уменьшал TTL.
Если wi-fi клиент — дектоп-машина с Windows или MacOS, то выставить TTL 65 можно одной командой.
WindowsСоздать в реестре ключ
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DefaultTTL
типа REG_DWORD со значением 65 (в десятичной системе)
MacOSКоманда в консоле:
$ sudo sysctl -w net.inet.ip.ttl=65
Но если клиент планшет на iOS или другое устройство, где нельзя просто так выставить TTL, то придется воспользоваться вторым способом — заставить телефон не уменьшать TTL для проходящих через него пакетов. Это может быть не совсем просто.
Учим телефон не уменьшать TTL
Этот способ потребует root-права (инструкция) на android-телефоне или jailbreak на iOS. Т.к. я делал это на Android, то опишу как делать для него. Про iOS здесь инструкции не будет.
Для разных устройств, процедура будет отличаться, я постараюсь рассказать в чем будут заключаться эти отличия. В данном примере я использую OnePlus 3 и Android 8.0 Oreo
Итак, у нас есть Android телефон с root-правами. Узнаем, умеет ли ядро системы работать с TTL. Для этого смотрим содержимое двух файлов на телефоне (например с помощью приложения ES Проводник, оно умеет смотреть системные файлы):
/proc/net/ip_tables_matches
/proc/net/ip_tables_targets
В обеих должно быть упоминание TTL. В моем случае в ip_tables_targets
упоминания ttl не было. Это значит, что ядро не умеет изменять TTL. Чтобы его научить этому, нам понадобится из исходников собрать модуль ядра и загрузить его в телефон.
Как собрать модуль ядра
Нам понадобятся:
- ОС — Linux или MacOS (можно собрать и на Windows — см.ниже)
- исходники ядра для конкретного устройства
- toolchain определенной версии и опредленной архитектуры
Я собирал модуль на Windows, но используя, Ubuntu-подсистему в Windows 10. Как ее включить я писал здесь. Если у вас не Win10, то придется ставить Ubuntu на VirtualBox-машину.
Для своего OnePlus 3 я брал исходники ядра здесь — https://github.com/OnePlusOSS/android_kernel_oneplus_msm8996 (msm8996 — это модель процессора Qualcomm Snapdragon 820 MSM8996). Исходники для Android 8.0 Oreo в ветке QC8996_O_8.0.0
Для других Oneplus-ов можно взять их рядом — https://github.com/OnePlusOSS. Для других моделей телефонов надо искать исходики где-то в интернете или на сайте производителя.
Toolchain — это утилиты для сборки кода под опредленную платформу. Узнать какая именно нужна для вашего телефона можно так:
C:\Users\fote>adb shell OnePlus3:/ $ uname -a Linux localhost 3.18.66-perf+ #1 SMP PREEMPT Thu Dec 6 00:54:59 CST 2018 aarch64 OnePlus3:/ $ cat /proc/version Linux version 3.18.66-perf+ (OnePlus@ubuntu-117) (gcc version 4.9.x 20150123 (prerelease) (GCC) ) #1 SMP PREEMPT Thu Dec 6 00:54:59 CST 2018
В моем случае это aarch64
. Из этого вывода также понадобится версия gcc: 4.9
и версия ядра: 3.18.66-perf+
Далее идем сюда — https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/
и скачиваем нужный тулчейн. Версии для MacOS можно найти также по этой ссылке.
В моем случае я скачал aarch64-linux-android-4.9
, здесь aarch64 и 4.9 совпадает с теми версиями которые мы узнали выше.
Теперь идем в консоль и готовимся к компиляции. Установим необходимые тулзы и склонируем репы с тулчейном и исходниками ядра в домашнюю папку:
$ sudo apt install build-essential python-minimal libncurses5-dev libncursesw5-dev
$ cd ~
$ git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/
$ git clone --branch=QC8996_O_8.0.0 https://github.com/OnePlusOSS/android_kernel_oneplus_msm8996
В исходниках ядра смотрим в папку arch
и подбираем нужную архитектуру. В моем случае в этой папке, нет aarch64
, но есть arm64
. Это то же самое, просто называется по другому. Буду использовать эту архитектуру. Указываем ее и путь до бинарей тулчейна в переменных окружения:
$ export ARCH=arm64
$ export CROSS_COMPILE=/home/fote/aarch64-linux-android-4.9/bin/aarch64-linux-android-
Переменная CROSS_COMPILE именно такая, заканчивается на -
. Здесь нет ошибки.Теперь надо создать конфиг для будущей сборки. Возможные варианты конфигов в моем случае лежат в папке с исходниками ядра в arch/arm64/configs
(вместо arm64 может быть ваша архитектура). Вспоминая версию ядра, которая установлена в телефоне, выбираю конфиг msm-perf_defconfig
$ cd ~/android_kernel_oneplus_msm8996/
$ make msm-perf_defconfig
После того как конфиг создан, нам надо внести в него изменения, чтобы нужный нам модуль для фиксации TTL скомпилировался. Для этого выполняем:
Появится интерактиваная утилита, в которой нужно найти нужный модуль.
Переходя по дереву внутрь, и, найдя TTL Target support
, нажать M, чтобы указать, что нужно скомпилировать этот модуль.
Сохраняем конфиг, выходим и собираем ядро с модулями:
Если эти команды завершились ошибкой, значит, скорее всего неправильно выбран конфиг, toolchain или сами исходники ядра. Определенные исходники можно собрать только подходящим тулчейном и с подходящим конфигом.Если ошибок не было, то в папке с исходниками должен появится файл net/netfilter/xt_HL.ko
Вот мой скомпилированный файл для OnePlus 3, Android 8.0.0 — xt_HL.ko. Можно сразу взять его, если совпадает модель телефона и версия системы.
Копируем его на телефон, и через adb shell пытаемся включить его (чтобы в adb shell работал su, надо в /system/build.prop
добавить строку ro.debuggable=1
, например с помощью ES Проводника):
C:\Users\fote>adb shell
OnePlus3:/ $ su
OnePlus3:/ # insmod /sdcard/xt_HL.ko
Если insmod возвращает ошибку exec format error
, значит, скорее всего, неправильно была выбрана версия исходников ядра или архитектура. В dmesg
можно узнать подробности ошибки совместимости, и пересобрать под правильную версию.Если модуль загрузился, можно пробовать зафиксировать TTL:
# iptables -t mangle -A POSTROUTING -o rmnet+ -j TTL --ttl-set 64
, подключиться через мобильную точку доступа и попробовать открыть какую-нибудь страничку в браузере.И наконец, добавляем в автозагрузку телефона скрипт, который будет включать фиксацию TTL:
#!/system/bin/sh
insmod /sdcard/xt_HL.ko
iptables -t mangle -A POSTROUTING -o rmnet+ -j TTL --ttl-set 64
Такой скрипт я положил в /sdcard/fixttl.sh
, и с помощью приложения ScriptManager, добавил в автозагрузку.
Всё! Теперь с этого телефона можно раздавать интернет!
Спасибо вот этой статье — https://habr.com/post/238625/ . Во многом, делал по этому мануалу.
Управление значением TTL для входящих (от провайдера) и исходящих (к провайдеру) пакетов
NOTE: Важно! Информация, приведенная в данной статье, предназначена только для опытных пользователей.
Начиная с версии KeeneticOS 3.1 настройка TTL доступна только из интерфейса командной строки (CLI) интернет-центра.
Time To Live (TTL) в компьютерных сетях — предельный период времени или число итераций или переходов, за который набор данных (пакет) может существовать до своего исчезновения. Значение TTL может рассматриваться как верхняя граница времени существования IP-датаграммы в сети. Поле TTL устанавливается отправителем датаграммы и уменьшается каждым узлом (например, маршрутизатором) на пути его следования, в соответствии со временем пребывания в данном устройстве или согласно протоколу обработки. Если поле TTL становится равным нулю до того, как датаграмма прибудет в пункт назначения, то такая датаграмма отбрасывается и отправителю отсылается ICMP-пакет с кодом 11 — Превышение TTL (ICMP Time Exceeded). Отбрасывание пакетов с истекшим временем жизни позволяет избежать ситуаций, когда недоставленные датаграммы продолжают «вечно» циркулировать в системе Интернет, перегружая сеть (например, при образовании зацикленных маршрутов из-за некорректной маршрутизации).
В интернет-центрах Keenetic существует возможность управления значением TTL для входящих (от провайдера) и исходящих (к провайдеру) пакетов. По умолчанию, если мы подключимся к интернет-центру для выхода в Интернет, значение TTL будет уменьшаться на 1 при прохождении пакета через маршрутизатор как для входящих пакетов (WAN>LAN), так и для исходящих (LAN>WAN).
Для примера, посмотрим дампы сетевых пакетов в программе анализаторе трафика Wireshark (дополнительную информацию вы найдете в статьях «Использование встроенного модуля захвата сетевых пакетов» и «Захват сетевых пакетов с помощью программы Wireshark») и увидим изменения TTL для входящего пакета (от провайдера).
Так, при подключении напрямую к провайдеру TTL имеет значение 56 (дамп снят с сетевого интерфейса ПК, подключенного напрямую к провайдеру):
При подключении этого ПК через интернет-центр это значение уменьшится и станет равным 55 (дамп снят с сетевого интерфейса ПК, подключенного к интернет-центру):
В некоторых случаях данное уменьшение может быть критичным (например, некоторые провайдеры выставляют TTL=1 на пакеты, идущие уже к абоненту для предотвращения использования маршрутизаторов в своей сети), поэтому в настройках интернет-центра Keenetic (до версии KeeneticOS 3.1) есть опция «Не уменьшать TTL». Эта опция доступна в веб-интерфейсе интернет-центра на странице «Проводной» в разделе «Параметры IP и DNS», нажав «Показать дополнительные настройки IPoE».
Если установить галочку в указанной опции, значение TTL не будет уменьшаться для приходящих от провайдера сетевых пакетов.
Данная настройка аналогична выполнению команды
interface ISP ip adjust-ttl inc 1
Также микропрограмма KeeneticOS позволяет управлять значением TTL, уменьшая или увеличивая его на определенное значение.
Допустим, если вы знаете значение параметра TTL в пакетах приходящих от провайдера, то с помощью интернет-центра серии Keenetic можно отрегулировать значение TTL для использования в вашей сети.
Чтобы увеличить значение TTL, нужно использовать команду
interface ISP ip adjust-ttl inc x
Чтобы уменьшить значение TTL, нужно использовать команду
interface ISP ip adjust-ttl dec x
Чтобы установить значение TTL, нужно использовать команду
interface ISP ip adjust-ttl set x
где x – величина изменения или устанавливаемого значения TTL (может принимать значения от 1 до 255 включительно).
Для исходящих в сторону провайдера сетевых пакетов (LAN>WAN или Home>ISP) управление значением TTL возможно только через интерфейс командной строки интернет-центра.
Команда ip adjust-ttl изменяет параметр TTL первого пакета для всех входящих соединений интерфейса. Поэтому для изменения TTL такого пакета в сторону провайдера, необходимо применить ее к локальному интерфейсу Home. Для него этот пакет будет входящим:
interface Home ip adjust-ttl (inc | dec | set) ‹value›
Управлять значением TTL можно увеличивая (inc), уменьшая (dec) на указанную величину ‹value› или устанавливая (set) равным указанной величине ‹value›.
Например, в результате такой команды:
interface Home ip adjust-ttl inc 1
TTL пакетов от хостов домашней сети будет сначала увеличен на 1, а затем при прохождении через маршрутизатор — уменьшен на 1. В итоге TTL останется неизменным.
C версии KeeneticOS 2.09 добавлена возможность установки TTL для исходящих пакетов на выбранном интерфейсе:
interface {name} ip adjust-ttl send {ttl}
Если необходимо, чтобы уходящие в сторону провайдера пакеты имели такой же TTL, как если бы компьютер на ОС Windows был подключен к провайдеру напрямую, а не через маршрутизатор, дайте следующую команду:
interface ISP ip adjust-ttl send 128
Отменить любую связанную с изменением TTL настройку на интерфейсе {name} можно командой:
interface {name} no ip adjust-ttl
Ttl 128 что означает
Самый простой способ определить, какая операционная система работает на удаленном сервере, можно с помощью утилиты ping, при отправке ICMP пакетов на удаленный сервер. Ответ сервера на запрос ping будет содержать значение TTL – время жизни пакета, с помощью которого, можно определить операционную систему. Значения TTL различны для разных операционных систем.
Ниже приведены некоторые типичные начальные значения TTL распространенных операционных систем:
TTL | Операционная система |
54 | FreeBSD / BSD |
64 | Linux |
128 | Windows |
255 | Cisco / Solaris |
Пример TTL до сервера на операционной системе Linux
Пример TTL до рабочей станции на операционной системе Windows
В настоящее время операторы мобильной связи начали предоставлять безлимитные интернет тарифы. Однако неограниченный доступ во всемирную паутину открывается только для одного устройства. Если пользователь желает раздавать интернет на другие смартфоны и компьютеры, то за это взимается дополнительная плата. Отслеживание подключенных устройств выполняется через TTL. В статье ниже объясним значение аббревиатуры и принцип работы самой технологии. Также предоставим несколько рабочих методов обхода ограничений операторов.
Что такое TTL
Дословно термин TTL расшифровывает как «time to live». В области вычислительной техники с его помощью обозначают время или число переходов данных до их исчезновения. Подобный параметр не дает пакетам данных бесконечно блуждать по интернету. Прохождение через маршрутизатор (например, роутер) уменьшает значение TTL на единицу.
Максимально показатель может достигать 255 единиц. Однако стандартные значения у него гораздо ниже и зависят от операционной системы устройства:
- Для Android, iOS, Mac и Linux – 64.
- Для Windows – 128.
С помощью TTL мобильные операторы определяют, ведется ли с устройства раздача интернета. Им это необходимо, чтобы ограничивать абонентов, которые подключили для своей SIM-карты безлимитный выход в сеть.
Принцип работы TTL следующий: если мобильное устройство работает без раздачи интернета, то на сторону оператора поступает одинаковое значение, по умолчанию равное 64. Как только смартфон выступает в роли роутера, добавляется одна ячейка в цепи.
Соответственно, пакет данных, отправленный с принимающего телефона, теряет единицу значения TTL в момент прохождения через роутер (раздающий смартфон). И на сторону оператора передается значение равное 63. При этом раздающее устройство продолжает передавать значение – 64. Разница в принимаемых числах (в разброс поступает TTL 64 и 63) позволяет оператору определять раздачу интернета.
Обход ограничения заключается в фиксации нового значения TTL на Andro >
Если подключается компьютер с операционной системой Windows, где стандарт составляет 128 единиц, то придется выполнить корректировку на нем. Делается это через редактор реестра. Подробную инструкцию предоставим ниже. Также скорректировать параметр можно на телефоне, установив значение 127, однако в таком случае нельзя будет принимать интернет на других мобильниках.
Как изменить TTL на Андроид
Сама процедура смены TTL на мобильном телефоне не представляет особой сложности. Выполнить задуманное можно напрямую, скорректировав специальный файл или через приложение, установленное с Play Market. Оба метода имеют одно серьезное условие – на смартфоне должны быть получены root-права.
Ручное изменение TTL
Чтобы сменить значение «time to live» вручную, потребуется:
- Установить файловый менеджер, например, ES Проводник.
- Включить режим полета, чтобы прервать соединение с сетью.
Используя файловый менеджер, перейти по пути: «proc/sys/net/ipv4/» и открыть для редактирования файл «ip_default_ttl».
Теперь при раздаче интернета, от оператора не будет приходить уведомление о необходимости дополнительно оплатить услугу.
Как пользоваться TTL Master
Более удобный способ изменения параметра заключается в использовании приложения «TTL Master». Оно делает процесс полностью автоматизированным, пользователю требуется только задать желаемое число для данного устройства. Приложение поддерживает автоматический запуск при включении телефона, а на период смены TTL самостоятельно активирует режим полета.
Инструкция по использованию:
- После установки и запуска приложения тапнуть по строке «Введите TTL».
- Вписать новое значение параметра, исходя из текущих условий:
- На раздающем телефоне оно уменьшается на 1.
Нажатие на значок шестеренки открывает меню приложения. В нем активируется автозапуск, получение уведомлений и автоматическое включение точки доступа после смены TTL.
Как поменять TTL на Windows 7 и выше
Если на мобильном устройстве нет прав суперпользователя, а требуется наладить раздачу на Windows, параметр TTL можно изменить на компьютере: вместо стандартного 128 будет установлено 65, что в момент прохода через телефон даст стандартное значение равное 64.
- Нажать сочетание клавиш Win+R.
- В открывшемся приложении «Выполнить» ввести команду «regedit».
- Перейти по обозначенному пути:
Представленные рекомендации помогут поменять ТТЛ как на Виндовс 10, так и на более ранних версиях операционной системы. Разницы в создаваемых параметрах реестра нет.
Подведем итоги. TTL – это количество проходов пакета данных через маршрутизатор, по истечении которых происходит его уничтожение. «Time to live» используется мобильными операторами для определения раздачи интернета с мобильного устройства, что, в свою очередь, противоречит правилам тарифа и становится основанием для дополнительного списания средств.
Обход ограничения заключается в корректировке TTL таким образом, чтобы при проходе через раздающий смартфон он получал одинаковое значение и не вызывал подозрений. В ОС Андроид для этой цели необходимо иметь root-права, а в Windows достаточно создать два идентичных параметра в редакторе реестра.
«пакет с TTL равным 64, преодолеет ровно 64 маршрутизатора.»
Поправьте, пожалуйста. Не ровно 64, а не более 64. Может ввести в заблуждение
Так в чем вообще разница, какой у тебя ттл, если это ни на что не влияет?
Зачем на стройке каска? Я вот без каски ходил два дня по стройке и никакой разницы не заметил.
Пока ситуация нормальная TTL и не должен ни на что влиять.
Если ситуация не нормальная – TTL не позволит гулять пакету по сети бесконечно.
Что такое TTL в DNS домена и как его настроить?
TTL означает «время жизни» и указывает, как долго ваши настройки DNS должны храниться в кэше, прежде чем они будут автоматически обновлены.
Когда происходит изменение DNS, остальной части Интернета требуется время, чтобы это заметить. Некоторые примеры таких изменений: обновление IP-адреса сервера, обновление записи MX для размещения вашей электронной почты в новом месте или добавление нового веб-сайта. Параметр TTL сообщает Интернету, как долго ждать, прежде чем вернуться для проверки вашей записи DNS на предмет потенциально новой информации.
Если для параметра TTL DNS установлено значение 12 часов, ваши записи DNS будут кэшироваться в течение 12 часов, прежде чем срок их действия истечет, и новая информация вступит в силу.
TTL на доменах IONOS устанавливается на срок до 1 часа для всех записей A, AAA, MX, TXT и CNAME.
Как долго длится TTL?
TTL указывается в секундах. Типичное значение по умолчанию обычно составляет 12 часов (43200 секунд) или 24 часа (86400 секунд). Например — сайт переезжает на новый сервер; или вы добавляете новый URL на свой сервер. Новые изменения DNS вступят в силу через 12–24 часа.
Обратите внимание, что даже если вы измените TTL для своего доменного имени, это не означает, что автоматически каждая сеть в Интернете будет соблюдать это значение. Многие поставщики интернет-услуг (ISP) игнорируют настройки TTL и проверяют внешние записи DNS по своему собственному расписанию.
Лучшие практики DNS TTL
По большей части нет необходимости изменять TTL. Однако, если вы знаете, что скоро внесете большое изменение в DNS, и хотите, чтобы изменения вступили в силу быстро, вы можете изменить свой TTL заранее.
По крайней мере, за 24 часа до начала обновите TTL до более короткого значения. Например, вы можете изменить его на 3600 (1 час).
Когда ваша работа будет сделана, обязательно вернитесь и верните свои настройки TTL к исходным значениям. Кэширование DNS — важный способ снизить нагрузку на серверы, и лучше всего поддерживать низкий уровень этого трафика.
Минимальное значение TTL DNS
Если вы планируете в ближайшее время внести изменения в DNS, вам следует начать с установки низкого значения TTL. Это помогает обеспечить более быстрое распространение ваших изменений и их распознавание в Интернете.
Установите для минимального значения TTL DNS значение больше 0. Никогда не устанавливайте для TTL DNS значение 0. Число 0 не определено в стандарте, и это может привести к игнорированию или отклонению вашей информации DNS.
Рекомендация : 3600 (1 час) — хорошее минимальное значение. Он достаточно низкий, чтобы изменения вступили в силу быстро, но не настолько низкий, чтобы DNS-серверы были перегружены.
Максимальное значение TTL DNS
Максимальное значение TTL — 604800 (7 дней). Хотя технически не существует максимального значения TTL для DNS, значения более 7 дней будут автоматически округляться до 7 дней.
Рекомендация: для большинства пользователей максимальное значение TTL для DNS 86400 (24 часа) является хорошим выбором.
Динамический DNS TTL
Динамический DNS (DDNS) — отличный способ указать доменные имена на нестатический IP-адрес.
Например, предположим, что вам принадлежит доменное имя example.com. Вы хотите указать home.example.com на сервер в вашей домашней сети; однако у вас нет статического IP-адреса от вашего интернет-провайдера. Это означает, что внешний IP-адрес вашего домашнего сервера будет периодически меняться.
Сервисы динамического DNS могут указывать доменное имя (например, home.example.com) на переменный IP. Каждый раз при изменении IP-адреса ваш DNS автоматически обновляется, поэтому изменение вступает в силу быстро.
Если вы настроили динамический DNS для доменного имени, вас могут попросить указать TTL для записей. Однозначного ответа на вопрос о значении TTL, которое следует использовать для динамической записи DNS, не существует. Частично это будет зависеть от того, как долго находится аренда IP-адреса. Чем чаще меняется IP-адрес, тем ниже TTL, который вам следует использовать.
Рекомендация. Хорошее практическое правило — сделать TTL DDNS вдвое меньше, чем аренда DHCP. Если аренда IP-адреса установлена на 60 (1 минута), установите TTL на 30 (30 секунд). Если IP-адрес 3600 (1 час), установите TTL на 1800 (30 минут).
Как выполнить поиск в DNS TTL
Узнайте, как проверить настройки TTL для вашего веб-сайта.
Linux, Unix или Mac OS X
Самый простой способ узнать настройки TTL — использовать digутилиту, доступную в Linux, Unix и Mac OS X.
В оболочке (командной строке) введите:
dig example.com
Это вернет информацию DNS (включая значения TTL) для имени домена:
Значение «7728» — это TTL для записи в секундах (7 728 секунд = 2 часа 8 минут).
Windows
В Windows вы можете использовать эту nslookupутилиту для проверки значений TTL DNS для веб-сайта.
Сначала откройте окно командной строки.
• Windows 7: Пуск -> Все программы -> Стандартные -> Командная строка • Windows 10: щелкните правой кнопкой мыши кнопку «Пуск» -> Выполнить -> введите «cmd» в поле и нажмите «ОК».
Чтобы запустить nslookup и получить значения TTL, введите:
nslookup –type=soa example.com
Это вернет информацию авторитетного сервера имен для этого домена, включая TTL по умолчанию в секундах и часах.
В этом случае TTL веб-сайта установлен на 3600 секунд (1 час).
В сети
Есть несколько веб-сайтов, которые позволяют использовать утилиту dig для бесплатного поиска DNS TTL.
Ниже мы используем Google Apps: (https://toolbox.googleapps.com/apps/dig/)
Как видите, значение TTL DNS для записей этого домена установлено на 21599 секунд (6 часов).
Как изменить TTL, если у вас есть собственный DNS
Если вы используете собственный DNS-сервер, для изменения TTL достаточно отредактировать файл зоны и убедиться, что ваша DNS-служба принимает изменения. Специфика будет зависеть от того, какую службу DNS вы используете, а в некоторых случаях от того, какую версию Linux или Unix вы используете.
После внесения изменений вы можете проверить, вступили ли они в силу, запросив у вашего сервера новую информацию DNS с помощью команды:
dig @localhost example.com
BIND
BIND — это наиболее широко используемое программное обеспечение DNS. В BIND TTL хранится в верхней части файла зоны, обычно во второй строке. Объявление TTL начинается с $TTL. По умолчанию TTL составляет четыре часа (14 400 секунд):
$TTL 14400
Поиск файла зоны: Red Hat и CentOS
При типичной установке BIND в Red Hat или CentOS файл зоны веб-сайта будет выглядеть примерно так /var/named/[domain name].dbили /var/named/[domain name].zone. Например, чтобы отредактировать файл для example.com в типичной настройке по умолчанию, введите следующую команду:
sudo nano /var/named/example.com.db
Поиск файла зоны: Debian и Ubuntu
В типичной установке BIND в Debian или Ubuntu файл зоны веб-сайта будет выглядеть примерно так /etc/bind/[domain name].db. Например, чтобы отредактировать файл для example.com в типичной настройке по умолчанию, введите следующую команду:
sudo nano /etc/bind/example.com.db
Редактирование файла зоны
В файле зоны вам нужно будет отредактировать две строки: TTL и серийный номер.
- Обновите TTL до значения, которое вы хотите использовать.
- Обновите серийный номер, чтобы BIND зарегистрировал изменение.
Обновление TTL
TTL будет первой строкой файла и будет выглядеть примерно так:
$TTL 86400
Просто измените число на значение TTL, которое вы хотите установить, в секундах.
Обновление серийного номера
В типичной конфигурации серийный номер нужно просто увеличить. Например, серийный номер 1234будет обновлен до 1235.
Некоторые системные администраторы могут использовать метку времени, номер версии или иметь системы для автоматического увеличения серийного номера. Если вы не уверены, какая система используется для серийных номеров BIND, обратитесь к администратору вашего сервера.
Сохраните и выйдите из файла.
Проверка файла
Перед тем, как перезагрузить изменения, проверьте синтаксис основной конфигурации BIND с помощью команды:
sudo named-checkconf
Если все в порядке, проверьте синтаксис только что отредактированного файла зоны с помощью команды:
sudo named-checkzone [domain name] [path to file]
Например, если вы изменили TTL для example.com в файле, /var/named/example.com.dbкоманда будет выглядеть так:
sudo named-checkzone example.com /var/named/example.com.db
Перезагрузка изменений
Если файлы проходят проверку синтаксиса, перезагрузите файл зоны в BIND с помощью команды:
sudo rndc reload example.com
Необязательно: в Red Hat и CentOS, если systemctlон был настроен, вы можете перезапустить BIND вместо этого, используя команду:
sudo systemctl restart named
Несвязанный
Unbound недавно заменил BIND в качестве DNS-сервера по умолчанию во многих системах BSD, включая FreeBSD 10 и выше и OpenBSD 5.6 и выше.
По умолчанию в большинстве систем файл конфигурации находится по адресу:
- OpenBSD :/var/unbound/etc/unbound.conf
- FreeBSD 10.0 и ранее :/usr/local/etc/unbound/unbound.conf
- FreeBSD 10.1 и выше :/etc/unbound/unbound.conf
- Red Hat и CentOS 7 :/etc/unbound/unbound.conf
В файле конфигурации Unbound по умолчанию не указаны значения TTL. Вы можете добавить TTL в файл несвязанной зоны со следующими атрибутами:
- cache-max-ttl Максимальный период времени для кеширования TTL. По умолчанию 86400 секунд (1 день).
- cache-min-ttl Минимальная продолжительность кеширования TTL. По умолчанию 0 секунд. Примечание: официальная документация рекомендует оставить это значение равным нулю.
Чтобы изменить или установить TTL, отредактируйте unbound.conf файл:
sudo nano /etc/unbound/unbound.conf
Проверьте файл для cache-max-ttl и cache-min-ttl атрибутов. Если они уже существуют, вы будете их редактировать. Если их нет, вам нужно будет добавить их:
## Minimum lifetime of cache entries in seconds. Default is 0. cache-min-ttl: 0 ## Maximum lifetime of cached entries. Default is 86400 seconds (1 day). cache-max-ttl: 14400
Поместите эти конфигурации в основной блок команд сервера, затем сохраните и выйдите из файла.
После редактирования файла конфигурации вы можете протестировать конфигурацию с помощью команды:
unbound-checkconf
Наконец, перезапустите Unbound, чтобы изменения вступили в силу с помощью команды:
unbound-control reload
Что такое DNS TTL + Рекомендации
DNS TTL (время жизни) — это параметр, который сообщает преобразователю DNS, как долго нужно кэшировать запрос перед запросом нового. Собранная информация затем сохраняется в кэше рекурсивного или локального распознавателя для TTL, прежде чем она обратится для сбора новых, обновленных данных.
Например, если TTL DNS установлен на 1800 секунд (30 минут), преобразователь должен будет собирать данные на таком веб-сайте, как varonis.com, каждые 30 минут.Если за этот период сайт посетят 100 пользователей, все они будут видеть одно и то же, пока преобразователи не обновят их TTL. Время жить является наименее понятным в отношении общей стратегии DNS. В следующем руководстве мы узнаем все подробности о том, как работает DNS TTL, а также некоторые передовые методы стратегии.
Получите бесплатное тестирование на проникновение в средах Active Directory EBook
«Это действительно открыло мне глаза на безопасность AD, чего никогда не делала защитная работа.”
Если вы хотите сразу перейти к деталям, используйте меню ниже:
DNS TTL Замечания + основы
Необходимо уяснить некоторые общие соображения относительно стратегии DNS TTL. Заметным положительным моментом является быстрое время выполнения запросов DNS, что в целом ускоряет работу в Интернете. Гораздо быстрее проверить кешированную версию на вашем локальном преобразователе, чем выполнить поиск записи DNS.
Теперь мы должны указать на некоторые подводные камни TTL, начиная с чего-то, что называется распространением DNS.Распространение DNS — это, по сути, время, необходимое интернет-провайдерам для обновления своих кешей с учетом ваших новых изменений DNS. Мы рассмотрим это более подробно позже в статье.
Что такое DNS TTL?
DNS TTL (время жизни) представляет собой время, необходимое DNS для кэширования записи на каждом этапе. TTL похож на секундомер, определяющий, как долго хранится запись DNS.
Важно понимать, как вы реализуете свой TTL. Вы хотите, чтобы это был идеальный баланс между «быстрым обновлением» и «разумностью ресурсов».«Если вы отклонитесь слишком далеко в любом направлении, вам потребуется время и ресурсы, чтобы приспособиться.
Для чего используется DNS TTL?
TTLDNS жизненно важны для веб-сайтов, которые постоянно изменяются и часто обновляются. Имея более низкий TTL, вы можете быть уверены, что получаете самые последние обновления в заданный период времени.
Время жизни имеет решающее значение для непосредственного управления кешированием резолвера. Например, ваш DNS-преобразователь будет извлекать DNS-запись со своего полномочного сервера каждый час.Затем в течение этого часа каждый пользователь, который запрашивает этот DNS-сайт, получит кешированную версию сайта, пока распознаватель снова не получит еще одну копию обновления с полномочного сервера. Этот процесс использования кеша резолвера значительно улучшает общее впечатление конечных пользователей.
Что такое запись DNS?
Запись сервера доменных имен (DNS) — это, в конечном счете, простое сообщение, в котором указывается, к какому адресату должен быть направлен запрос и как долго это конкретное место назначения должно храниться в кэше перед обновлением (TTL).
Каковы типичные времена TTL для записей DNS?
времени TTL всегда указывается в секундах; например, 300 секунд равняются 5 минутам жизни. Следующие значения времени TTL дадут вам приблизительную оценку того, что обычно устанавливается в конфигурации DNS:
300 секунд = 5 минут = «Очень короткий» — Веб-сайты в течение этого периода времени используют фокус с низким TTL, чтобы вносить быстрые изменения, но все же могут использовать некоторый уровень кэширования, чтобы помочь снизить потребление ресурсов.
3600 секунд = 1 час = «Короткий» — веб-сайты в течение этого периода времени используют фокус с низким TTL, чтобы вносить быстрые изменения, но все же могут использовать некоторый уровень кэширования, чтобы помочь снизить потребление ресурсов.
86400 секунд = 24 часа = «Длинный» — Противоположное относится к веб-сайтам, использующим 24-часовой TTL, поскольку акцент смещается в сторону ежедневного использования кеша.
604800 секунд = 7 дней = «Очень долго» — Еженедельные TTL не так распространены, но могут использоваться для сайтов, которые содержат публикуемую или авторитетную информацию, которая не так часто меняется (например, ресурсы библиотеки, справочные сайты и т. Д. .)
Общие типы записей
Важно понимать различные типы записей и то, как они могут применяться в вашей ситуации.Хорошее понимание того, что жизненно важно для вашего веб-сайта, сыграет решающую роль в выборе подходящего времени для жизни. Ниже мы приводим некоторые соображения, которые следует принять во внимание.
- Запись A или AAAA: Ваши записи A должны быть настроены на более быстрый темп TTL, поскольку поиск IP-адресов часто меняется. Стандартный базовый уровень составляет около 1 часа, но может потребоваться корректировка в зависимости от того, как часто необходимо вносить изменения в экстренных случаях (30 секунд здесь не безумие).
- Запись CNAME: URL-адрес вашего основного веб-сайта, например (www.example.com), обычно никогда не должен изменяться. Рекомендуется установить TTL на большее время, чем среднее время сеанса (которое составляет 2-3 минуты).
- Запись TXT: Широко используется для записей DKIM, защиты электронной почты и подтверждения владения доменом. Записи TXT редко меняются, поэтому в любом месте в пределах 1–12 часов должно хватить.
- Запись MX: TTL для почтового обмена может быть установлен в диапазоне 12–24 часов, но вы можете рассмотреть возможность его понижения в случае возникновения чрезвычайной ситуации; где-то в диапазоне от 1 до 4 часов также было бы полезно.
Почему DNS кэшируется?
Конечная цель кэширования DNS — ускорить загрузку интернета и уменьшить нагрузку на DNS-серверы. Наличие кэшированного DNS позволяет конечному пользователю быстро разрешать DNS-запросы без особых задержек. Единственный недостаток кеширования заключается в том, что если ваш TTL слишком длинный для обновлений, необходимых для вашего сайта, конечные пользователи могут иметь задержку в получении обновленного сайта до истечения TTL.
Почему DNS — это сетевые подключения, а не устройства
Еще одна сложность связана со всеми различными устройствами и сетевыми соединениями, которые происходят в корпоративной сети.Каждое устройство в сети может нуждаться в обновлении своих записей в разное время или требовать большего в зависимости от выполняемой работы. Здесь необходимо точно установить TTL, как если бы вы вносили изменения на сетевом уровне, но если TTL на этих устройствах все еще находится в кэшированной копии, вы можете вызвать панику, что «система сломана» или «не работает». синхронизировать. » Обеспечение надлежащей настройки всех общих записей имеет жизненно важное значение для быстрого и своевременного получения общего сетевого опыта.
Как выбрать значения TTL для DNS
Теперь, когда у нас есть общее представление о том, за что отвечают эти значения, мы собираемся углубиться, чтобы представить способы выбора значений, которые подходят для вашей среды.
Какое типичное время TTL для значений TTL DNS?
Знание базовой линии для реализации правильного TTL для значений DNS имеет решающее значение для общей скорости реагирования. Следующее даст вам представление о том, каковы диапазоны для 500 лучших веб-сайтов и их средние значения. В этот список включены самые разные сайты — от местных новостных сайтов до google.com.
Самый низкий TTL: | 1 |
Наивысший TTL: | 129 540 |
Разрешенных доменов: | 485 |
Средний TTL: | 6468 |
Среднее значение TTL: | 300 |
Просмотрите список 500 лучших веб-сайтов Moz и загрузите CSV-файл.
Причины длинных и коротких TTL DNS
Существует множество причин, по которым вы можете рассмотреть возможность использования длинных или коротких позиций с вашими DNS TTL. Ниже мы изложили несколько популярных причин для каждого, чтобы показать вам, что TTL может помочь во всех различных аспектах бизнеса.
Причины для длинных:
- Доступность безопасности: доступность службы, если DNS-сервер когда-либо отключился на время (DDoS), все еще доступен в локальном кэше преобразователя
- Инфраструктура: статический сайт, который не часто меняется, меньше нагрузки на ваши DNS-серверы
- User Experience: более быстрые ответы из кеша
Причины отказа:
- Сеть: изменения во всей сети, которые необходимо быстро реализовать
- Конечный пользователь: частые обновления или изменения веб-сайтов Инфраструктура
- : балансировка нагрузки на основе DNS
Рекомендации для значений TTL DNS
Если копнуть глубже, вам может быть любопытно, как разные TTL распределяются по разным профессиям.Ниже приведены некоторые из наших рекомендаций, основанных на ответственности человека за доступность DNS.
- «Для обычных владельцев зон»: рекомендуется увеличивать TTL (1,4,8 и 24 часа) на основе плановых периодов обслуживания, чтобы максимизировать рентабельность.
- «Для операторов реестра»: более длительный срок жизни (около 1 часа), чтобы разрешить публичную регистрацию доменов.
- «Для сетевых инженеров»: балансировка нагрузки DNS с использованием коротких TTL для обеспечения быстрого переключения в случае сбоя системы или выхода из строя.
- «Для инженеров безопасности»: предотвращение DDoS-атак за счет использования коротких TTL для предоставления самых последних обновлений DNS доступно при реализации средств управления блокировкой.
Устранение неполадок DNS TTL
Крайне важно понимать все тонкости, связанные с устранением неполадок DNS. Правильная настройка TTL в определенное время может сэкономить ваши деньги и время.
Сколько времени займет обновление моего DNS?
Чтобы честно знать, что все видят обновленную запись DNS, важно рассчитать, сколько времени «на самом деле» потребуется для распространения по DNS.Это достигается с помощью следующей формулы
TTL X (количество шагов) = полностью распространено
Например, если ваш установленный TTL составляет 1800 секунд и есть пять шагов (не считая полномочного сервера), то ваше полное время распространения будет 9000 секунд или не более 2 часов 30 минут.
Какие факторы влияют на время распространения DNS?
Как описано выше, количество шагов является одним из ключевых факторов, которые следует учитывать при вычислении времени распространения.Но следующие скрытые факторы также следует учитывать при распространении расчетов.
- Пропускная способность сетевого подключения
- Глобальная нагрузка или сбои
- Кеширование или отсутствие кеширования
Ускорение распространения DNS
Есть несколько способов ускорить распространение DNS. Во-первых, убедитесь, что вы переключили свой TTL на короткий промежуток времени, чтобы распределение произошло раньше, а не ждать, пока истечет ваш длинный TTL.
Далее необходимо убедиться, что ваш провайдер DNS поддерживает динамические изменения.Это позволяет вам изменять ваши записи глобально.
Наконец, необходимо проверить распространение DNS с помощью нескольких различных средств проверки распространения, чтобы убедиться, что изменение было принято.
Проверка распространения DNS и поиск DNS
Настоятельно рекомендуется использовать несколько различных инструментов распространения DNS, чтобы изменения вступили в силу глобально. Большинство доступных инструментов распространения бесплатны и позволяют проверять все типы записей. Эта проверка имеет решающее значение для оценки сроков и наличия проблем во время развертывания.
Как работает поиск DNS?
Когда инициируется запрос DNS, первое действие, которое выполняется, — это проверка локального кэша, чтобы узнать, выполнялась ли ранее поиск по этой записи? Если нет, то DNS переходит к запросам записи. Если да, DNS определяет, активен ли TTL кеша.
Эти два шага (проверка кеша записей и проверка TTL) — первое, что происходит с каждым гарантированным запросом DNS. Если ни на один из этих двух вопросов нельзя ответить утвердительно, то создается новый запрос для сбора новой записи.
Сколько стоит поиск в DNS?
Поиск DNS— это, как правило, бесплатная услуга с точки зрения денег, но больше всего вас должно беспокоить то, сколько времени это будет вам стоить. Каждый запрос обычно занимает около 150 миллисекунд. Вы можете подумать: «Это ничего», но когда тысячи таких событий происходят в секунду, это довольно быстро складывается. Каждый раз, когда кто-то загружает вашу веб-страницу или ресурс без включения кеширования, вы добавляете еще 150 миллисекунд к этому счету за время.Давайте разберем пример этой стоимости времени.
Наивный расчет стоимости DNS
Ниже приведен подробный пример загрузки типичной веб-страницы с включенным кешированием и без кеширования. Вы заметите, что конечная стоимость почти вдвое больше, чем без кеширования. Вот почему так важно найти идеальный баланс с настройкой TTL.
с кешированием
(30 файлов изображений * 50 мс для загрузки каждого) + (100 мс одноразовый поиск в DNS, который затем кэшируется) = 1600 мс
Без кеширования
(30 файлов изображений * 50 мс для загрузки каждого) + (30 * 100 мс поисков DNS) = 3000 мс
Лучшие практики DNS TTL
См. Некоторые другие передовые методы управления изменениями DNS TTL, перечисленные ниже.
Как узнать, когда клиент запросит обновленную запись DNS?
Важно понимать, что TTL DNS — это не мгновенное изменение или срок действия. Думайте об этом как о поездке на американских горках. Когда вы садитесь на американские горки, правила горки должны проходить мимо и проверять, правильно ли пристегнуты ремни безопасности и перекладины. Они начинают и один конец и продвигаются к концу горки, они могут проверить всех сразу по запросу.
Как лучше всего добавлять новую запись DNS?
Добавить новую запись намного проще, чем изменить существующую.Тем не менее, рекомендуется использовать ту же самую лучшую практику для снижения TTL до и затем для возврата к нормальному уровню вскоре после создания новой записи.
Какая самая распространенная настройка TTL?
Ранее в этой статье мы рассмотрели средние значения для 500 лучших доменов Moz, сравнив их TTL. Можно с уверенностью сказать, что устойчивый длинный TTL составляет около 1 часа (3600 секунд), а короткий TTL составляет 5 минут (300 секунд).
Надеюсь, эта статья поможет организациям настроить время жизни DNS для оптимизации производительности и доступности ресурсов.
Если вас беспокоит периметр вашей сети, когда все работают из дома из-за кризиса COVID-19, узнайте, что используют профессионалы, чтобы гарантировать, что кража данных не происходит прямо у них на часах.
DNS TTL Часто задаваемые вопросы
Ниже мы включили часто задаваемые вопросы об использовании инструментов платформы DNS.
Как проверить TTL записи DNS в Windows?
Просто, возможно, вы уже запускали эту команду раньше и даже не осознавали этого.В командной строке (CMD) запустите «nslookup», а затем укажите имя URL-адреса для разрешения. Вы можете получить конкретную информацию и проверить такие вещи, как CNAME, или даже создать разные уровни информации прямо с помощью этой однострочной команды. Ниже приведен пример выполнения nslookup в Windows:
Пример: C: \> nslookup -type = cname -debug www.varonis.com
Пример:
копать www.varonis.com
TTL обведен красным.
Как проверить запись DNS из Интернета?
Существует множество веб-сайтов и инструментов для проверки DNS-записей, доступных для проверки DNS на ходу. У Google есть бесплатная версия программы проверки DNS, которая очень легкая и эффективная.
Есть ли способ заставить клиента удаленно обновить свою запись DNS?
К сожалению, удаленно «принудительно» обновить запись DNS невозможно. Лучший совет — спланировать заранее и изменить TTL на короткое время, прежде чем вносить существенные изменения.
Сколько времени жить (TTL) в сети?
TTLDNS особенно полезны для веб-сайтов, которые постоянно и часто вносят изменения и обновления. При более низком TTL веб-сайт может чаще получать самые последние обновления. Например, если у вымышленной компании под названием ABC Widgets есть веб-сайт GetWidgets.com, а значение TTL равно 3600 секундам (один час), она будет получать обновления один раз в час. Однако, если GetWidgets.com выполнял частые обновления, он мог бы скорректировать значение TTL, чтобы оно обновлялось чаще.
Индивидуальная настройка TTL может быть особенно полезной при оптимизации взаимодействия с пользователем для ваших клиентов. В примере с GetWidgets.com компании может потребоваться добавлять продукты на постоянной основе, особенно когда они увеличиваются в сезон продаж.
Например, их сотрудники могут загружать описания продуктов, изображения и видео для новых виджетов в течение всего дня, каждый день. Если бы их TTL оставался на уровне 3600 секунд, онлайн-покупателям пришлось бы ждать час, чтобы увидеть последние доступные продукты.Однако, если они сократят время TTL, клиенты веб-сайтов будут обновляться чаще, что даст им более точное представление о доступных виджетах.
С другой стороны, если каждая страница продукта должна была пройти тщательный процесс проверки перед утверждением для веб-сайта, ABC Widgets может захотеть настроить TTL, чтобы учесть время, необходимое для выполнения каждой проверки.
DNS TTL также полезен, поскольку предоставляет пользователю кешированную версию веб-сайта. Если на веб-сайте организации много контента и загрузка занимает много времени, процесс кеширования может упростить пользователям доступ к контенту, поскольку он хранится в кеше.Это позволяет большему количеству пользователей по-прежнему быть легко доступными для больших сайтов.
Поскольку DNS TTL управляет кэшированием веб-сайта, организация также может использовать его для оптимизации взаимодействия с пользователем в соответствии с ограничениями используемых серверов. Кэширование снижает нагрузку на ваш центральный сервер, сохраняя версию веб-сайта на слое, доступном для конечного пользователя.
Если сервер вашей компании максимально загружен, вы можете увеличить время жизни DNS, чтобы он реже отправлял новую версию сайта.Таким образом, серверу нужно только выполнять напряженную работу по выпуску обновленной версии всего сайта время от времени. В этом случае TTL DNS позволит серверу «отдохнуть» перед тем, как получить новую копию веб-сайта.
И наоборот, если на веб-сайте вашей организации есть интерактивный интерфейс прикладного программирования (API), который имеет решающее значение для взаимодействия с клиентами, вы можете настроить TTL, чтобы повысить производительность сайта с точки зрения пользователя.В некоторых случаях более низкое значение TTL может дать лучшие результаты, потому что пользователь чаще получает обновленную версию сайта.
Например, если вы использовали Yahoo Finance API, вы можете захотеть, чтобы пользователи видели самую последнюю финансовую информацию о компаниях, упомянутых на вашем сайте. При более низком значении TTL DNS пользователь получит доступ к более свежим данным компании.
Одним из основных преимуществ правильного управления TTL является поддержание бесперебойной и эффективной работы вашего веб-сайта.Часто, поскольку бизнес зависит от производительности его онлайн-активов, оптимизация TTL и производительности онлайн-приложений имеет первостепенное значение. Облако Fortinet FortiGSLB Cloud обеспечивает максимальное время безотказной работы независимо от ситуации.
Это облако глобальной балансировки нагрузки сервера (GSLB) является мощным инструментом обеспечения непрерывности бизнеса, поскольку оно поддерживает работу приложения и готовность его к неожиданным скачкам использования или даже в случае выхода из строя сети.
Кроме того, с помощью GSLB вы можете настроить резервные ресурсы в стратегически выбранных местах по всему миру.Это позволяет обеспечить мгновенное переключение при отказе, управляемое с помощью интегрированного API, гарантируя, что ваши клиенты всегда будут иметь доступ к приложениям, наиболее важным для вашего бизнеса.
Что такое время жизни (TTL)? — Определение из WhatIs.com
Время жизни (TTL) — это значение в пакете интернет-протокола (IP), которое сообщает сетевому маршрутизатору, находится ли пакет в сети слишком долго и от него следует отказаться. В IPv6 поле TTL в каждом пакете было переименовано в ограничение перехода.
IP TTL изначально устанавливается системой, отправляющей пакет. Может быть установлено любое значение от 1 до 255; разные операционные системы устанавливают разные значения по умолчанию. Каждый маршрутизатор, получивший пакет, вычитает по крайней мере 1 из подсчета; если счетчик остается больше 0, маршрутизатор пересылает пакет, в противном случае он отбрасывает его и отправляет сообщение протокола управляющих сообщений Интернета (ICMP) обратно исходному узлу, что может инициировать повторную отправку.
Смысл ограничения TTL / переходов состоит в том, чтобы удерживать потоки недоставленных пакетов, застрявших в циклах маршрутизации (возможно, из-за неправильных таблиц маршрутизации), от бесконечной циркуляции и засорения рассматриваемых сетей.В облаках с многопротокольной коммутацией меток (MPLS) TTL MPLS копируется из IP TTL, когда IP-пакет попадает в облако. На выходе значение MPLS TTL копируется в поле IP TTL (если оно меньше значения в этом поле).
Детализация пинга времени жизниУтилиты ping и traceroute используют значение TTL, чтобы попытаться достичь заданного хост-компьютера или проследить маршрут к этому хосту. Traceroute отправляет поток пакетов с последовательно более высокими значениями TTL, поэтому каждый из них будет по очереди отброшен следующим переходом (маршрутизатором) на маршруте к месту назначения: первый пакет имеет TTL, равный единице, и отбрасывается первым маршрутизатором, второй — TTL равен двум, и следующий маршрутизатор отбрасывает его, и так далее.Время между отправкой пакета и получением ICMP-сообщения, которое было отброшено, используется для расчета времени прохождения каждого последующего перехода.
В многоадресной IP-рассылке TTL управляет областью или диапазоном, в котором пакет может быть переадресован. Условно:
- 0 ограничен одним и тем же хостом
- 1 ограничен той же подсетью
- 32 ограничен тем же сайтом
- 64 ограничен тем же регионом
- 128 ограничен одним и тем же континентом
- 255 без ограничений
Термин «время жизни» также используется для описания времени, в течение которого запись DNS может быть возвращена из кеша.В этом контексте TTL — это числовое значение, установленное в записи DNS на полномочном DNS-сервере для домена, определяющее количество секунд, в течение которых кэширующий сервер может предоставить свое кэшированное значение для записи. По истечении этого количества секунд с момента последнего обновления кэширующий сервер снова обратится к авторитетному серверу и получит текущее (и, возможно, измененное) значение для записи.
В HTTP время жизни описывает количество секунд, в течение которых кэшированный веб-контент может быть возвращен, прежде чем веб-сервер должен будет снова проверить, что он все еще «свежий».»Значение по умолчанию определяется настройками на веб-сервере, но может быть переопределено тегами управления кешем (которые определяют, какие типы серверов, если таковые имеются, могут кэшировать данные) или тегами истечения срока действия (которые определяют дату и время, в которые содержимое устарело) в заголовках HTML-страниц.
Общие сведения о значениях TTL в записях DNS
В идеальном мире DNS была бы похожа на одну из тех печей для гриля «как на ТВ» — установи и забудь. Однако Интернет — это динамично меняющееся место, и то, что может быть актуальным в один момент, может не стать актуальным в следующий.
Чтобы справиться с этим, DNS был разработан с механизмом обновления записей и обеспечения того, чтобы пользователи всегда получали наиболее подходящий ответ, когда они его запрашивали.
Основы
Time To Live, или для краткости TTL, — это дата истечения срока, которая указывается в записи DNS. TTL служит для того, чтобы сообщить рекурсивному серверу или локальному преобразователю, как долго он должен хранить указанную запись в своем кэше. Чем длиннее TTL, тем дольше распознаватель хранит эту информацию в своем кэше.Чем короче TTL, тем меньше времени распознаватель хранит эту информацию в своем кэше.
Например, у нас есть example.com. Example.com имеет A-запись в верхней части зоны, которая указывает нам на сервер. При TTL, равном 3600 секундам или 1 часу, это означает, что, когда рекурсивный сервер узнает о example.com, он будет хранить эту информацию об A-записи на example.com в течение одного часа. Любой другой, кто использует тот же преобразователь, получит тот же ответ, а на авторитетной стороне не будет запросов к серверу, если не истечет TTL.
Лучшие Лрактики
КTTL нельзя относиться легкомысленно — они могут напрямую повлиять на объем запросов, относящихся к вашей авторитетной службе, и в случае необходимости быстро изменить запись могут привести к более длительному, чем ожидалось, распространению изменений для всех пользователей.
Для записей, которые используют своего рода расширенный сценарий управления трафиком, например цепочку фильтров NS1, лучше всего сохранять TTL как можно короче. Таким образом, когда система вводит изменение, пользователям на другом конце, запрашивающим имя, предоставляется самая последняя информация.Стоит отметить, что большинство рекурсивных серверов на самом деле не понимают TTL короче 30 секунд — хотя мы не остановим вас от снижения этого значения, результаты могут быть неблагоприятными в долгосрочной перспективе.
Для редко меняющихся записей, таких как записи TXT или MX, лучше всего хранить их где-то от часа (3600 с) до дня (86400 с). Когда действительно придет время внести изменения в отношении этих типов записей, возможно, вам следует изменить TTL на более короткий интервал, прежде чем вводить какие-либо изменения, чтобы гарантировать, что изменения распространяются быстро.
TTL SOA
В верхней части каждой зоны DNS, в начале полномочий (SOA), есть пять значений TTL, которые служат более высокой цели в DNS.
SOA TTL — Интервал обновления самой записи SOA.
Refresh TTL — Интервал, с которым вторичные серверы (вторичный DNS) настроены для обновления файла первичной зоны с первичного сервера.
Retry TTL — Частота, с которой вторичный сервер будет пытаться обновить файл первичной зоны, если начальное обновление не удалось.
Срок действия TTL — Если обновление и повтор повторяются неудачно, это период времени, по истечении которого основной узел считается утерянным и более не авторитетным для данной зоны.
NX TTL — в случае, если запрос домена приводит к несуществующему запросу (NXDOMAIN), это время, которое соблюдается рекурсором для возврата ответа NXDOMAIN.
Рекомендуется не изменять эти TTL, если у вас нет особой необходимости в этом, что часто бывает очень редко.
Сколько времени жить (TTL) | Лучшие практики TTL | Руководство CDN
Сколько времени жить
Время жизни (TTL) — это время, в течение которого объект хранится в системе кэширования перед удалением или обновлением. В контексте CDN TTL обычно относится к кэшированию контента, которое представляет собой процесс хранения копии ресурсов вашего веб-сайта (например, изображений, цен, текста) на прокси-серверах CDN для повышения скорости загрузки страницы и снижения потребления полосы пропускания исходного сервера.
В этом контексте TTL управляет частотой обновления этих копий, в идеале гарантируя, что «устаревшие» версии вашего контента не будут показаны посетителям вашего веб-сайта.
Рекомендации по настройке политики TTL
TTL устанавливается через заголовки HTTP, такие как заголовок Cache-Control, и измеряется в секундах. Например, значение «Cache-Control: max-age = 30»
— это директива для данного ресурса, которая должна обновляться каждые 30 секунд до того, как истечет время жизни.И наоборот, директива "max-age = 0"
указывает, что ресурс вообще не должен кэшироваться.
Time to live напрямую влияет на время загрузки страницы вашего сайта (т. Е. Кешированные данные загружаются быстрее), а также на актуальность контента (т. Е. Данные, кэшированные слишком долго, могут устареть).
Чтобы посетители видели только последнюю версию вашего веб-сайта, TTL должны быть установлены в соответствии с:
Тип ресурса
При установке TTL кэша следует учитывать два типа ресурсов: статический и динамический.
Статические файлы (например, файлы изображений, PDF-файлы и т. Д.) Редко обновляются и поэтому обычно имеют более длительный TTL. Например, пул изображений товаров на сайте электронной торговли представляет собой статический контент. Поскольку они редко обновляются, их можно безопасно хранить в кэше на длительный период (например, дни или недели). Это делает настройку их TTL предсказуемой и простой в обслуживании.
И наоборот, динамический контент (например, файлы HTML) постоянно обновляется, что усложняет установку точных значений TTL. Например, раздел комментариев под продуктом считается динамическим, поскольку он часто меняется.Поскольку вы не полностью контролируете этот контент и не можете предсказать время его обновления, особенно если у пользователей есть возможность изменять существующие сообщения, кэширование не рекомендуется.
Использование ресурсов
Время жизни кеша ресурса также должно быть скорректировано в зависимости от того, как часто он используется. Например, сайт электронной торговли может каждый день обновлять HTML-файл, отображающий цены на их товары. Следовательно, для страниц, включая цены, следует установить TTL, срок действия которого истекает в конце дня, чтобы клиенты видели только самую последнюю информацию.
Узнайте, как Imperva CDN может помочь вам повысить производительность веб-сайта.
Как сети CDN упрощают конфигурацию «Время жизни»
Эффективность настройки времени жизни зависит от вашей способности точно прогнозировать скорость обновления различных ресурсов вашего веб-сайта.
Ясно, что чем больше движущихся частей вам придется иметь дело, тем сложнее становится эта задача. Вот почему большинство веб-сайтов с десятками или даже сотнями элементов на странице редко могут поддерживать детальную политику TTL.
Использование CDN упрощает процесс, предоставляя удобный метод обновления настроек TTL с панели управления. Это позволяет вам изменять настройки для отдельных ресурсов или целых групп файлов без необходимости вручную возиться с их заголовками HTTP.
Некоторые сети CDN также используют методы машинного обучения для управления политикой в течение всего времени до начала работы, эффективно автоматизируя процесс. Примечательно, что это позволяет кэшировать часть динамического содержимого вашего веб-сайта.
Контролируя взаимодействия пользователей на вашем веб-сайте, CDN может отслеживать различия между версиями контента, обслуживаемого разными пользователями. Основываясь на этих различиях, сервис может определить, действительно ли определенный объект является динамическим или просто построен с использованием динамического языка (например, PHP), с идентичной копией, обслуживаемой всеми посетителями.
Расширение политики кеширования для включения динамических объектов может существенно повлиять на производительность вашего веб-сайта, часто увеличивая использование кеша на 20% и более.Кроме того, это гарантирует, что пользователи получают точную и актуальную информацию.
Что такое время жизни (TTL) и как оно работает?
Если вы не слышали о времени жизни, известном как TTL, вы могли бы подумать, что это термин, обозначающий какой-то конец. И ты был бы прав. В компьютерных сетях настройки TTL находятся во многих местах и влияют на множество служб, но основная функция — завершить инструкцию. В этой статье мы поговорим о настройках TTL, которые определяют серверы доменных имен (DNS) вашего веб-сайта, а затем о том, как TTL влияет на сети доставки контента (CDN).
TTL — это параметр, устанавливаемый для всех пакетов Интернет-протокола в виде числового значения, чтобы ограничить, как долго пакет «живет» в системе передачи Интернет. Это числовое значение известно как предел скачков.
Если мы начнем с DNS и того, как в нем работает ограничение переходов TTL, мы увидим, как TTL напрямую влияет на скорость загрузки вашего веб-сайта.
Если у вас есть домен для работы с веб-сайтом, вы будете знать, что ваш DNS помогает людям запускать ваш сайт на своих устройствах.Насколько быстро DNS может это сделать, измеряется в шагах TTL. Чем больше переходов, тем больше времени требуется для загрузки вашего сайта.
Ваш веб-сайт совершает много переходов по мере продвижения к устройству каждого человека. Но есть предел. Первое, что нужно усвоить, это то, что TTL всегда является числовым значением. В этом случае обычно от 0 до 255 переходов.
«Предел прыжков» — это технический термин, описывающий, что происходит между моментом, когда ваш веб-сайт находится на сервере хостинга и начинает свою жизнь, и количеством прыжков, которое он может сделать, прежде чем он исчерпает количество прыжков, достигнет лимита и прекратит свое существование. .Если мы выберем 255 переходов, веб-сайт может перейти на 255 серверов и перейти с каждого из них до того, как веб-сайт появится на устройстве пользователя.
В этом примере левая рабочая станция отвечает на запрос. Он отправляет информацию (или пакеты) с веб-сайта на правую рабочую станцию.
В этот момент вы можете подумать: «Почему мы останавливаем скачки?» И простое объяснение состоит в том, что TTL — это способ безопасно остановить необычную активность «зацикливания» DNS (когда скачки превышают 255), которые они могут сделать, если ваш веб-сайт DNS подвергается атаке — подробнее об этом ниже.
Ваш авторитетный сервер домена содержит все текущие записи веб-сайтов, которые составляют весь ваш сайт. Когда записи веб-сайта DNS начинают свой путь и начинают переходить, они посещают серверы распознавателей, которые проверяют имя вашего веб-сайта и весь контент на нем (или пакеты). В этом процессе задействовано много серверов. Счетчик TTL вычитает 1 из числа TTL каждый раз, когда записи запрашивают любой сервер, который может достигать 255. Записи продолжают перемещаться по инфраструктуре Интернета через множество серверов к конечному клиенту (или рабочей станции на диаграмме выше). .
Если счетчик TTL достигнет «нуля», это будет означать, что информация прошла через 255 серверов. К сожалению, если это происходит, запрошенный «пакет» автоматически отбрасывается. Или больше не «живет». Это называется истечением срока действия TTL, и если вы запрашивали веб-сайт, вы бы увидели сообщение «веб-сайт не найден» в вашем браузере.
Пример сообщения об истечении срока действия TTL, указывающего на ошибку, и время ожидания соединения истекло, поскольку доменное имя track.namecheap.net «заняло слишком много времени, чтобы ответить».
TTL и безопасность от DNS-атак DDoS
Теперь, когда Интернет действительно во всем мире, TTL — это способ остановить запросы имен веб-сайтов для записей DNS, бесконечно циркулирующих (скачкообразных) сетей серверов. Разрешение бесконечных запросов немного похоже на включение электричества, а затем никогда не выключение выключателя.
Этот обход запроса также известен как «зацикливание», что требует больших затрат. Это приводит к тому, что серверы загружаются, «перегружаются», а затем становятся уязвимыми для взлома информации. TTL может уменьшить время, разрешенное для запроса и повторного запроса, или разрешенные переходы для запроса DNS-сервера, тем самым защищая ваше время безотказной работы.
Информация — это то, что нужно хакерам, поэтому они разрабатывают атаки на слой DNS в Интернете. Атаки DNS-запросов, более известные как распределенный отказ в обслуживании (DDoS), заставляют сервер запрашивать и повторно запрашивать разрешение имени вашего веб-сайта (DNS-преобразователь пересылает запрос).
TTL и платные службы DNS
Чтобы лучше понять, как платная служба DNS использует TTL, давайте посмотрим, как Namecheap PremiumDNS гарантирует 100% работоспособность веб-сайта. На мгновение представьте, что ваша служба DNS похожа на почтовую.
Используя почтовую службу, вы не хотите, чтобы люди:
· читали ваши личные письма;
· неправильно доставили письма;
· или потеряете письма.
Премиум DNS с использованием TTL:
· шифрует информацию при ее перемещении;
· устанавливает лимиты TTL на время «доставки»;
· и надежно удаляет информацию, если TTL заканчивается.
PremiumDNS устанавливает TTL для защиты вашего веб-сайта от DNS-атак DDoS, известных как атаки «более глубокого уровня», поскольку они нацелены на «уровень доставки» или транспортную систему Интернета.TTL — это способ определить необычную активность DNS. PremiumDNS активно предотвращает любые DDoS-атаки, помогая распространять ваш веб-сайт на альтернативный сервер, когда истекает TTL.
DNS-сервисы добавляют преимущество постоянного наблюдения за подозрительной DDoS-активностью DNS, направленной на «зацикливание» запросов вашего веб-сайта, что увеличивает количество байтовых запросов к вашему DNS-серверу.
Таким образом, время TTL дает конечное значение для «скачкообразных» или перемещающихся «пакетов» веб-сайта. Думайте об этом как о своевременном обновлении записей DNS.«Больше никаких бесконечных скачков и циклов, тем не менее, ваши посетители быстрее получают последний обновленный веб-сайт, потому что их DNS-запрос никогда не застревает в системе.
DNS-записи в движении — TTL SOA
Запись SOA (Start of Authority) — это тип записи ресурса в системе доменных имен, содержащий административную информацию о зоне DNS, особенно в отношении передачи зон.
Все не так просто каждый раз, когда появляется поездка. Поскольку Интернет является динамичным местом, существует пять циклов регистрации начала авторизации (SOA) с собственным временем TTL, которые могут повлиять на движение вашего веб-сайта.
1. SOA TTL — Чтобы получить имя вашего веб-сайта, существует интервал времени, когда обновляется запись SOA.
2. Обновить TTL — чтобы убедиться, что посетители видят последнюю версию вашего веб-сайта, это интервал, с которым вторичные серверы (вторичный DNS — ближе к клиентам) сверяются с официальным сервером имен.
3. Retry TTL — Сколько раз вторичный сервер будет пытаться обновить данные с полномочного сервера, если обновление на шаге 2 не удалось.
4. Срок действия TTL — Если Refresh и Retry завершились неудачно определенное количество раз, текущие записи перестают быть авторитетными для данной зоны, и записи «умирают».
5. NX TTL — Если запрос домена приводит к несуществующему запросу (NXDOMAIN), что может произойти, если серверы хостинга DNS не имеют записи для вашего доменного имени, этот ответ NXDOMAIN будет кэширован. на указанное количество секунд.
Процесс прямого запроса преобразователя DNS включает в себя все эти настройки TTL. Когда DNS-записи вашего веб-сайта перемещаются на клиентскую рабочую станцию, это похоже на то, что каждый раз, когда происходит переход, эти пять настроек активны, а некоторые из них уменьшаются на единицу (когда это необходимо).
Стандартное время для DNS TTL
Есть несколько способов установить значения DNS TTL, но нецелесообразно изменять их, если у вас нет особой необходимости. Стандартное время для DNS TTL составляет от 1 до 255, хотя немногие из них могут опускаться ниже 30 переходов.
TTL обеспечивают защиту от взлома за счет минимизации времени, в течение которого информация о веб-сайтах с истекшим сроком действия перемещается в Интернете. Считайте это особенно актуальным, если вы обрабатываете транзакции электронной торговли и личные данные через свой веб-сайт.
Если сервер получает несколько одновременных запросов на контент вашего веб-сайта, системы CDN, такие как Supersonic CDN от Namecheap, прилагают все усилия, чтобы обойти всплески трафика, чтобы повысить производительность вашего веб-сайта.
Для борьбы с замедлением работы сети CDN оптимизируют контент с помощью интеллектуальных приложений.Алгоритмы, известные как балансировка нагрузки на сервер, измеряют, а затем перенаправляют контент HTTP (протокол передачи гипертекста), направляя его в прямом направлении к следующему ближайшему серверу по географическому местоположению. Все это регулируется временем TTL CDN для того, что мы можем рассматривать как «переходы» контента. Контент будет переходить на серверы с резервной мощностью.
«Ключевое различие между CDN и DNS заключается в том, что когда мы говорим о CDN, мы говорим о содержимом веб-сайта , а когда мы говорим о DNS, мы говорим о записях веб-сайтов .»
Основным преимуществом CDN является более эффективная доставка вашего контента, даже когда сервер выходит из строя. Почему сервер» выходит из строя «? Мы уже узнали, что один из способов — это когда его DNS не работает. ответить из-за перегрузки запросов переадресации DNS , что может быть DDoS-атакой.
Помните, что DNS-запросы передаются по тем же серверам, что и содержимое вашего веб-сайта. При DDoS-атаке сервер отдает приоритет распространению DNS . Распространение DNS является процесс доставки нового веб-сайта на мировые серверы.Находясь под атакой, сервер думает, что он должен продолжать это делать, что для него более длительный и сложный процесс.
Теперь, когда он слишком загружен, он сокращает трафик HTTP (протокол передачи гипертекста), достигающий этого сервера. HTTP доставляет контент вашего веб-сайта с использованием верхнего прикладного уровня Интернета (уровень 7) и рассматривается сервером как менее важный. В конце концов, вы не можете отображать контент без сайта? Верно?
Эта автоматическая защита замедляет трафик вашего контента и может полностью остановить его во время атаки DNS DDoS.Если вы используете службу CDN, которая помещает переходы в ваши пакеты контента, а затем может разумно перенаправлять ваш контент, вы не испытаете никаких сбоев в работе службы (если только хакер не является чрезвычайно умным на уровне гения).
Значительные замедления, вызванные DDoS-атаками контентного типа, сосредоточены на том, чтобы заставить целевой сервер выдерживать бесконечные HTTP-запросы контента. Это не побеспокоит сервер, который в основном занимается доставкой DNS. Поэтому было бы лучше, если бы у вас был CDN, и один из способов сделать это — перенаправить ваш контент на другой сервер.
Этот метод переадресации занимает микросекунды, а это означает, что ваш контент по-прежнему доставляется повсюду — очень быстро.
Как только CDN идентифицирует атаку, CDN перенаправляет контент, делая скачок, уменьшая TTL контента на один или несколько.
Система CDN приносит пользу вашему веб-сайту, инструктируя ваш контент аккуратно «перепрыгивать» через любые застрявшие серверы.
К настоящему времени вы, должно быть, задаетесь вопросом, почему вам нужно покупать сеть доставки контента (CDN)? Разве это не должно быть встроенным? Чтобы объяснить это, я должен вернуться в прошлое.
Система записей DNS
Система DNS была первоначально разработана в 1983 году. Тем не менее, безопасность DNS и доставка контента не были тем, о чем кто-то беспокоился в восьмидесятые годы. Сетевые пользователи были надежными защитниками и учеными, которые никогда не мечтали взломать или испортить собственный пользовательский опыт. Тем не менее, они боролись с запоминанием числовых адресов, и система DNS преобразовала их в легко запоминающиеся имена — что-то вроде создания внутренней телефонной книги.
Система CDN
Перенесемся в девяностые годы, когда появились сети CDN. Но почему?
Из-за дилеммы потребности / обязательность количество пользователей, пользующихся Интернетом, возросло до такого огромного количества, что переходы DNS TTL между учреждениями были заблокированы местами. Больше пользователей — больше контента.
Эта перегрузка привела к отключению отдельных серверов из-за сбоев вершинных узлов зоны. Думайте об этих узлах как о загруженных перекрестках светофоров на интернет-магистралях, ведущих к основным маршрутам.Архитекторы CDN быстро поняли, что если важный веб-сайт, также называемый «критически важными» веб-сайтами (или веб-сайтами, которые должны быть постоянно доступны — или иначе), выйдет из строя, необходимо что-то предпринять, чтобы решить эту проблему.
Как TTL влияет на DNS и CDN
Было ясно, что необходимо решение для контента, чтобы освободить эти занятые узлы и обеспечить доставку контента. Так родилась сеть доставки контента.
Получившаяся CDN — это технология, в которой были реализованы две великие инновации.Во-первых, CDN хранит весь ваш веб-сайт на глобальных серверах Anycast (именно так это делает Supersonic CDN Namecheap). Когда кто-то запрашивает ваш веб-сайт, он просто обновляет обновленный контент, и, как вы уже догадались, существует настроек времени жизни , чтобы постоянно обновлять копии вашего веб-сайта.
Это немного похоже на то, что глобальная сеть серверов Anycast ожидает запросы содержимого HTTP и активно хранит содержимое вашего веб-сайта. CDN будет искать самую последнюю версию вашего веб-сайта, потому что контент хранится в нескольких географических местоположениях.Это позволяет избежать перегрузки международного узла.
Второе нововведение произошло, когда эти изобретатели CDN задумались о том, что происходит, когда вы обновляете свой веб-сайт новым элементом контента любого типа. Что, если бы вы могли доставлять только новые фрагменты контента ко всем копиям веб-сайта, находящимся на международных серверах? Вместо того, чтобы изобретать все заново?
Это делает пакет содержимого меньше и тоньше. Узлы вершины загруженной зоны с меньшей вероятностью забивают шоссе, и крошечные пакеты проходят мимо.Ваши посетители быстрее получают весь контент вашего сайта, потому что очень мало останавливает пакеты.
Параметры TTL для этих крошечных пакетов (или обновления вашего содержимого) являются частью процесса CDN, известного как кэширование содержимого . Подумайте о своем веб-сайте в целом. Он полон программного обеспечения, изображений, текста, стилей, видео — всего, что вы хотите добавить туда. Что произойдет, если вы будете хранить (или кэшировать) копии стационарно по всему миру?
Вы экономите на сроках доставки для одного. Теперь веб-сайт стал ближе к своим пользователям, поэтому требуется меньше переходов на доставку.Быстрая доставка — гарантировано!
TTL и CDN Кэширование нового контента
Теперь добавьте идею о том, что вы можете замедлить, как часто копии вашего веб-сайта ищут более новый контент с вашего хост-сервера / домашнего / исходного сервера, и вот как TTL работает в CDN.
· Вы можете установить более высокий TTL для поиска обновлений контента . Когда вы счастливы позволить своему сайту существовать неподвижно или статично в течение более длительного времени и не обновлять его так часто.
· Вы можете установить более низкий TTL для поиска обновлений контента. , если вы хотите внести много изменений и быстро их опубликовать.(Но это увеличит ваш пакет — но только на короткое время, когда вы внесете изменения в содержимое).
· В качестве альтернативы, у вас может быть очень динамичный веб-сайт, и вам нужно постоянно вносить изменения в контент. Затем вы должны установить еще более низкий TTL , потому что обновления вашего контента являются критическими или критически важными.
В каком-то смысле CDN помогает важным динамическим веб-сайтам работать быстрее (например, банкам), в то время как менее зависимые от контента сайты (например, блоги) занимают меньше места на узлах, когда новый контент выталкивается и по серверной сети.Но оба получают более быстрое обслуживание.
Помните, что когда сервер выходит из строя, вы не узнаете, что является причиной этого, если не следите за объявлениями об услугах на веб-сайте вашего хостинг-провайдера. Атаки находятся вне чьего-либо прямого контроля — вот почему они называются «атаками». При наличии службы CDN настройки TTL вашего контента гарантируют, что ваш контент по-прежнему будет выталкиваться аудитории вашего веб-сайта даже при сбоях сервера.
Вы даже можете смотреть на свой хостинг-сервер как на неработающий, но все во всем мире все еще могут видеть и использовать ваш веб-сайт.
TTL вашего CDN не влияет на TTL DNS, но они успешно сосуществуют. TTL вашего DNS влияет на то, сколько раз кто-то может запросить последнюю копию вашего веб-сайта по ее имени, а не на то, что они увидят, когда попадут туда. DNS TTL останавливает циклический поиск или бесконечные переходы, в то время как CDN TTL сокращает время и энергию, необходимые серверам для доставки актуального контента по всему миру. Это помогает каждому иметь более безопасный и гарантированный опыт просмотра в Интернете.
Надеюсь, теперь вы понимаете, почему DNS TTL является важной частью безопасности веб-сайта и по этой причине имеет собственный протокол ICANN.Это означает, что поставщику услуг DNS необходимо, чтобы инструкции DNS, включенные в каждый заголовок доставки пакета, вызывали предупреждение в случае подозрительной активности. Это с самого начала делает запросы безопаснее для всех пользователей вашего сайта.
CDN TTL больше похожа на систему безопасности контента, использующую алгоритмы и код, чтобы помочь вашему контенту попасть куда-то вовремя. Поскольку вы арендуете место на глобальных серверах у поставщика CDN, ваш веб-сайт будет доставлен, даже если есть атака HTTP или уровень DNS создает препятствие.
Зачем вам нужны платные службы CDN и DNS
Как только появляются DDoS-атаки, обе службы вместе поддерживают работу вашего веб-сайта и приводят к наиболее эффективному срабатыванию мер, описанных в этой статье. Услуги CDN и DNS — лучший способ гарантировать бесперебойную работу, более эффективно управлять ИТ-инфраструктурой и не изнашивать локальные серверы и коммутаторы. Вы также платите меньше за пропускную способность хостинга (потому что пакеты CDN меньше). Вы можете действовать в одиночку, но если вы не касаетесь триггера TTL каждый раз, когда на ваш сайт приходит DDoS-атака, вы рискуете выйти из строя или ваш контент застрянет.
TTL Gurus
Какой у вас опыт работы с TTL? Вы пытались его отрегулировать? Использовали его, чтобы остановить кибератаку? Опишите свою историю в комментариях ниже. Мы бы хотели об этом услышать.
Время жизни (TTL) — Сетевая энциклопедия
Определение TTL в сетевой энциклопедии.
Что пора жить?
Время жизни, наиболее известное как TTL или Hop Limit , — это механизм, ограничивающий продолжительность жизни или время жизни данных в компьютере или сети.TTL может быть реализован как счетчик или отметка времени, прикрепленная к данным или встроенная в данные. По истечении установленного количества событий или временного интервала данные сбрасываются или повторно проверяются. В компьютерных сетях TTL предотвращает бесконечную циркуляцию пакета данных. В вычислительных приложениях TTL обычно используется для повышения производительности и управления кэшированием данных.
Пример времени жизниВремя жизни IP-пакетов
Чтобы гарантировать, что IP-пакеты имеют ограниченное время жизни в сети, все IP-пакеты имеют 8-битное поле заголовка Time to Live (IPv4) или Hop Limit (IPv6) и значение, которое указывает максимальное количество переходов третьего уровня (обычно маршрутизаторов), которые могут быть пройдены на пути к месту назначения.Каждый раз, когда пакет поступает на сетевое устройство третьего уровня (переход), значение уменьшается на единицу, прежде чем он будет направлен дальше. Когда значение в конечном итоге достигает единицы, пакет отбрасывается устройством, которое его получает (так как значение будет уменьшено до нуля). Хотя это не предотвратит проблемы с сетью, вызванные петлей маршрутизации или чем-то подобным, это снижает их влияние и может помочь избежать сбоев маршрутизатора. Поскольку это 8-битное поле, максимально возможное значение — 255 (11111111 в двоичном формате).
Значения TTL и Hop по умолчанию по умолчанию
Значения TTL и Hop Limit по умолчанию различаются в разных операционных системах, вот значения по умолчанию для некоторых:
- Ядро Linux 2.4 (около 2001 г.): 255 для TCP, UDP и ICMP
- Ядро Linux 4.10 (2015 г.): 64 для TCP, UDP и ICMP
- Windows XP (2001): 128 для TCP, UDP и ICMP
- Windows 10 (2015): 128 для TCP, UDP и ICMP
- Windows Server 2008: 128 для TCP, UDP и ICMP
- Windows Server 2019 (2018): 128 для TCP, UDP и ICMP
- MacOS (2001): 64 для TCP, UDP и ICMP
Как вы можете видеть, TTL или предел переходов, видимый в пакетах от хоста, может частично использоваться для идентификации операционной системы, используемой на этот хозяин.
Время жизни и кэширование DNS
ЗначениеВремя жизни (TTL) указывает локальным разрешающим серверам имен, как долго запись должна храниться локально, прежде чем новая копия записи должна быть получена из DNS. Хранилище записей называется кешем DNS, а процесс хранения записей называется кэшированием.
- TTL является частью системы доменных имен.
- TTL устанавливаются официальным сервером имен для каждой записи ресурса.
- TTL используются для кеширования.Например, для www.networkencyclopedia.com значение TTL составляет 86400 секунд, что составляет 24 часа. Чем выше TTL записи, тем дольше информация будет кэшироваться и тем меньше запросов придется делать клиенту, чтобы найти домен.
- TTL будут использоваться разрешающим сервером имен для ускорения разрешения имен путем локального кэширования результатов.
Установка более коротких TTL?
Можно установить более короткие TTL. Однако это может вызвать большую нагрузку на авторитетный сервер имен, но может быть полезно при изменении адреса критически важных служб, таких как веб-серверы или записи MX (указатели почтовых серверов), и поэтому они часто снижаются администратором DNS перед перемещением службы.