TTL – что это такое и зачем его менять
Раз вы сюда попали, скорее всего вам нужно поменять TTL для обхода ограничений мобильного оператора на раздачу трафика, но вы не понимаете, что такое TTL, и зачем его менять. Постараюсь объяснить.
Понятие TTLВ интернете все передается пакетами – маленькими порциями данных. Они ходят от маршрутизатора к маршрутизатору (то же самое, что от роутера к роутеру) по узлам сети. Например, ваш мобильный телефон тоже может стать роутером, если его использовать для раздачи данных на компьютер и другие устройства.
TTL расшифровывается как Time To Live, то есть время жизни пакета данных в секундах. При прохождении пакета через очередной роутер TTL уменьшается на единицу. Нужно это для того, чтобы пакет бесконечно не гулял по сети, если не сможет дойти до адресата. Роутер, при попадании в который пакет исчерпал свое значение TTL, посылает отправителю сообщение ICMP о том, что данный пакет превысил максимально допустимое время своего пребывания в сети. Максимальное значение TTL=255. Причем разные операционные системы генерируют пакеты с разным TTL.
Если говорить совсем простыми словами…
Представьте себе, что вам 5 лет и вы хотите кушать (вы — пакет). Вы идете к папе и говорите: «Папа, я хочу кушать». Ваш папа смотрит телевизор, согласно таблице маршрутизации о посылает вас к маме. Вы идете к ней и просите «Мамааа, я хочу кушать». Мама болтает с подругой по телефону и согласно своей таблице маршрутизации посылает вас к папе. И так вы ходите как дурак от папы к маме и обратно, туда-сюда, туда-сюда, а все потому что криворукие админы (родители папы и мамы) неправильно настроили таблицу маршрутизации. Чтобы защититься от таких ситуаций придумали понятие TTL (Time To Live), что применительно к нашей ситуации означает количество терпения у мальчика, пока он не скажет «достало» и не упадет перед ногами мамы или папы в беспомощном состоянии. Последний, по правилам (стандарты – это «так заведено в семье»), обязан послать короткий нелестный отзыв адрес того, кто послал мальчика кушать. Это так называемый ICMP-пакет «мальчик сдох»
Ок, так при чем тут операторы? Дело в том, что по полученным от абонента TTL оператор узнает, раздается интернет или нет.
Как операторы узнают, что трафик раздаетсяПотому что ему от абонента начинают приходить пакеты с разными значениями TTL. На это есть две причины:
- Во-первых, у разных устройств TTL может быть разным. А при раздаче интернета появляется ведь второе устройство – то, на которое мы раздаем интернет. Так у телефона на iOS или Android значение TTL равно 64, а у компьютера на Windows – 128. И при раздаче интернета с телефона на компьютер появится два разных значения TTL: 64 и 128. Оператору уходят пакеты и с TTL=64, и TTL=127 (при отправке пакета с компьютера через раздающий телефон-роутер значение 128 уменьшается на единицу).
- Во-вторых, даже если TTL устройств одинаков (с телефона на телефон), раздающий телефон опять же уменьшает TTL на 1 как всякий нормальный роутер. И оператору уходят пакеты с разными значениями TTL=64 (если это пакет с раздающего телефона) и TTL=63 (пакет с потребляющего телефона).
Итак оператор получает пакеты с разными значениями:
- TTL пакета с самого телефона.
- TTL пакета с потребляющего трафик устройства, уменьшенное на единицу при проходе через телефон-роутер.
На всякий случай прикладываю картинки.
Это работа без интернета. Телефон передает оператору только пакеты с TTL=64.
А при раздаче интернета телефон передает оператору пакеты с тремя разными значениями TTL: 64 от себя, 127 от компьютера и 63 от потребляющего телефона.
Оператор замечает такую ситуацию разброса значений TTL, делает вывод, что происходит раздача трафика и принимает карательные меры в отношении абонента-нарушителя, желающего поживиться безлимитным интернетом на полную катушку, раздав его куда хочется. Как же скрыть раздачу от оператора? Очевидно, надо сравнять TTL – привести их всех к одному значению. Для этого можно
- Либо поменять TTL на потребляющем устройстве,
- Либо на раздающем телефоне сделать так, чтобы пакеты к оператору шли всегда с одним значением TTL.
Приведение TTL к единому значению для обхода ограничений оператора
- Можно привести TTL к единому значению 63, поменяв его на раздающем телефоне и на принимающем компьютере. Это изменение TTL без фиксации.
- Можно ничего не менять на принимающих устройствах, но «заставить» раздающий телефон всегда отправлять оператору пакеты с TTL=63, независимо от того, откуда они: с самого раздающего телефона или с принимающего устройства (компьютера или телефона). Это фиксация TTL.
Вторая схема удобнее, но она пригодна не для всех телефонов.
Итак, мы рассмотрели, что такое TTL, и зачем его нужно менять. Как именно изменить TTL требует рассмотрения в отдельной статье. Как изменить TTL на Windows.
Автор adminОпубликовано Рубрики ПК
TTL Что Это — В Смартфоне и На Компьютере [Лайфхаки]
Содержание
- 1 Что такое TTL?
- 2 Как изменить TTL на Андроид?
- 3 Ручное изменение TTL
- 4 Как пользоваться TTL Master?
- 5 Как поменять TTL на Windows 7 и выше?
Хотя современные компании, предоставляющие доступ в интернет, обеспечивают абонентам максимальную скорость доступа и оптимальные настройки для работы, некоторые модификации в программное обеспечение доступа может внести и сам пользователь. Благодаря таким изменениям удается добиться более качественного, быстрого и стабильного соединения. Материал рассматривает понятие 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 в DNS?
TTL — это числовое значение, определяющее время, которое требуется пакету данных для существования на компьютере или в сети, прежде чем он будет удален.
В этой статье мы рассмотрим, что такое TTL по отношению к DNS. Это отличается от CDN TTL, другого контекста, в котором существует TTL. Итак, давайте посмотрим, почему это важно, каковы лучшие практики и многое другое.
Что такое TTL в DNS ?Время жизни DNS (TTL) — это время, в течение которого запись остается в кэше DNS-сервера до ее обновления. Это означает, как долго записи остаются в кэше в памяти DNS-сервера после того, как сервер обнаружил соответствующий IP-адрес хоста.
TTL является основным элементом сервера доменных имен или DNS. На всех веб-сайтах они установлены по умолчанию или владельцами доменов.
В зависимости от числового значения сопоставитель DNS знает, как долго кэшировать запрос, прежде чем он запросит новый от авторитетного сервера имен.
Значение срока жизни DNS задается в секундах. Например, если установлено значение 600 секунд, пройдет 10 минут, прежде чем запись DNS будет удалена из кэш-памяти. С другой стороны, если установлено значение 86 400 секунд, запись будет оставаться в кэше в течение 24 часов.
DNS TTL может играть жизненно важную роль в повышении удобства посещения веб-сайта посетителями. Это особенно актуально для веб-сайтов, которые часто обновляются.
Как это происходит на практике?Допустим, пользователь вводит URL-адрес в браузер, чтобы открыть веб-сайт. Пользователь невольно запрашивает у локального преобразователя DNS или запросчика IP-адрес домена.
Но что, если кто-то другой недавно сделал такой же запрос?
В этом случае запись этого запроса, скорее всего, будет храниться в кэш-памяти преобразователя DNS. Продолжительность времени, в течение которого он остается там, зависит от значения TTL.
Таким образом, если владелец доменного имени устанавливает TTL на 3600 секунд (что равно 1 часу) и пользователь получает доступ к URL-адресу в течение часа после последнего пользователя, то преобразователь не будет снова запрашивать авторитетный сервер имен. Вместо этого он извлечет его из кэш-памяти, ускорив процесс разрешения DNS.
С другой стороны, по истечении часа запись удаляется из кэш-памяти. Теперь для любых запросов на доступ к этому URL-адресу преобразователь снова запрашивает домен у авторитетного сервера имен.
Каковы различные значения TTLКак установлено, значения TTL устанавливаются в секундах. Например, значение TTL, равное 300, эквивалентно 300 секундам или 5 минутам, значение 900 соответствует 15 минутам и так далее.
Вы можете установить значение TTL всего на 1 секунду. Однако на практике минимальное время жизни обычно равно 30. Большинство сайтов имеют значение DNS TTL по умолчанию, равное 3600 или один час.
Существует пять значений TTL Start of Authority (SOA), которые могут повлиять на производительность вашего веб-сайта.
- SOA TTL: Это интервал обновления записи SOA.
- Refresh TTL: Это интервал, в течение которого вторичные серверы обновляют данные с авторитетного сервера имен. Это гарантирует, что посетители увидят последние обновления.
- Retry TTL: Если первоначальное обновление выше не удается, вторичный сервер несколько раз попытается обновить данные с авторитетного сервера имен. Значение здесь обычно составляет час или меньше.
- Срок действия TTL: Если последние два процесса завершатся сбоем после многих попыток, срок действия записи DNS истекает. После этого запись считается устаревшей и больше не может быть использована.
- NX TTL: Это интервал кэширования несуществующего запроса (NXDOMAIN).
Главной проблемой для владельцев веб-сайтов является то, сколько времени требуется для загрузки веб-страниц.
Для этого есть веская причина. Статистика показывает, что 53% посетителей сайта уходят, если страница загружается 3 секунды или дольше. Медленный и устойчивый не выигрывает гонки здесь.
К счастью, есть способы сократить время загрузки веб-сайта. Один из них связан с настройкой TTL сайта.
DNS TTL является жизненно важным элементом для веб-сайтов. Большинство веб-сайтов содержат большое количество текста, изображений, видео и других данных. Если бы им приходилось загружаться с нуля каждый раз, когда есть посетитель, это снизило бы производительность.
Именно поэтому TTL в DNS так важен.
Чем выше значение TTL DNS, тем реже приходится извлекать запись DNS из авторитетного сервера имен. Кэшированный сайт дольше не обновляется, что ускоряет загрузку вашего сайта. Это также оказывает меньшее давление на авторитетный сервер имен.
Хотя более короткий TTL также имеет свое применение, особенно для веб-сайтов, которые часто обновляют свое содержимое. Эти веб-сайты не могут позволить посетителям просматривать контент, который уже является избыточным.
DNS TTL РекомендацииК настоящему моменту вы поняли, что существует неявный компромисс между DNS TTL и количеством запросов. Тем не менее, есть факторы, которые следует учитывать при выборе значения TTL для веб-сайта.
Когда следует использовать длинный TTL Более длинные TTL максимизируют экономическую выгоду для многих владельцев веб-сайтов. Они идеально подходят для статических веб-сайтов, которые не подвергаются частым обновлениям или изменениям. Поскольку контент на этих веб-сайтах не обновляется быстро, пользователи не сталкиваются с избыточной информацией из-за длительного кэширования.
В результате длительного срока жизни DNS сокращается количество операций поиска, снижаются затраты и ускоряется время загрузки. Кроме того, значительно снижается нагрузка на сервер имен.
Когда следует использовать короткий TTLПреимущества более длинных значений TTL распространяются не на каждый веб-сайт. Сайтам, которые часто пересматривают свои записи, требуется более быстрый срок действия кеша. Таким образом, запросы на записи будут выполняться чаще, предоставляя пользователям самую свежую информацию.
Еще одним преимуществом более коротких значений является перенос доменов на новые серверы. Значения TTL, установленные для более коротких интервалов, направляют пользователей на новый IP-адрес как можно быстрее.
Подведение итогов Значение TTL в DNS — это жизненно важный параметр, который позволяет владельцу домена контролировать, как долго информация сайта остается актуальной до того, как будут обнаружены обновления.
У них есть значения (в секундах), которые показывают, как долго каждая запись остается в кэш-памяти. Стандартный интервал для большинства веб-сайтов составляет час.
Идеальное значение TTL помогает снизить время загрузки веб-сайта и обеспечить актуальность контента.
Понимание значений TTL в записях DNS
В идеальном мире DNS была бы похожа на одну из тех гриль-печей, которые транслируются по телевизору — установите ее и забудьте. Однако Интернет — это динамично меняющееся место, и то, что может быть актуальным в один момент, может быть неактуальным в следующий.
Чтобы справиться с этим, DNS был разработан с механизмом обновления записей и гарантией того, что пользователи всегда получат наиболее подходящий ответ, когда они его запросят.
Что такое TTL в DNS — изучение основ
Время жизни, или сокращенно TTL, — это срок действия, который указывается в записи DNS. TTL служит для того, чтобы сообщить рекурсивному серверу или локальному распознавателю, как долго он должен хранить указанную запись в своем кеше. Чем больше значение TTL, тем дольше преобразователь хранит эту информацию в своем кэше. Чем короче TTL, тем меньше времени распознаватель удерживает эту информацию в своем кэше.
Например, у нас есть example.com. У Example.com есть A-запись на вершине зоны, которая указывает нам на сервер. С TTL в 3600 секунд или 1 час это означает, что когда рекурсивный сервер узнает о example.com, он будет хранить эту информацию об A-записи на example.com в течение одного часа. Любой другой, кто использует тот же преобразователь, получит тот же ответ, а с авторитетной стороны не будет запроса к серверу, пока не истечет TTL.
Рекомендации DNS TTL
TTL нельзя воспринимать легкомысленно — они могут напрямую влиять на объем запросов, относящийся к вашей авторитетной службе, и в случае необходимости быстрого изменения записи могут привести к более длительному, чем ожидалось, распространению изменений для всех пользователей.
Для записей, использующих какой-то расширенный сценарий управления трафиком, такой как цепочка фильтров NS1, лучше всего сделать TTL как можно короче. Таким образом, когда система вводит изменение, пользователи на другом конце, запрашивающие имя, получают самую последнюю информацию. Стоит отметить, что большинство рекурсивных серверов на самом деле не понимают TTL короче 30 секунд — хотя мы не будем останавливать вас от снижения ниже этого значения, в долгосрочной перспективе результаты могут быть неблагоприятными.
Для записей, которые редко изменяются, таких как записи TXT или MX, лучше всего хранить их где-то между часом (3600 с) и днем (86400 с). Когда придет время внести изменения в отношении этих типов записей, вам может потребоваться уменьшить TTL до более короткого интервала, прежде чем вносить какие-либо изменения, чтобы обеспечить быстрое распространение изменений.
TTL SOA
В верхней части каждой зоны DNS, в начале полномочий (SOA), есть пять значений TTL, которые служат более высокой цели в DNS.
SOA TTL — интервал обновления самой записи SOA.
Refresh TTL — интервал, с которым вторичные серверы (вторичный DNS) должны обновлять файл первичной зоны с основного сервера.