Что такое TTL и на что влияет «Время жизни пакета» на смартфоне и у маршрутизатора?

ВНИМАНИЕ! На текущий день TTL – это только один из признаков, по которым оператор может понять, что интернет раздается на другие устройства. Поэтому изменение TTL помогает не всегда. Если вам нужна именно теория по TTL в телефоне, ноутбуке и роутере, а также объяснение, зачем этот параметр вообще нужен, смотрите материал ниже.

Всем доброго времени суток! Скорее всего ты зашел сюда для того, чтобы разобраться с ограничениями мобильного оператора при раздаче интернета. Раньше многие сводили все только к TTL, но на практике ситуация уже давно чуть сложнее. Оператор может смотреть не только на TTL, но и на характер трафика, тип подключенного устройства, работу обновлений, IPv6 и даже на условия конкретного тарифа. Поэтому я сразу скажу честно – TTL часто помогает, но не является волшебной кнопкой на все случаи жизни.

Введение

Что такое TTL? Это не отдельный «протокол», а поле в IP-пакете. Расшифровывается как Time To Live – время жизни пакета. Если говорить совсем просто, это счетчик, который уменьшается на каждом сетевом узле по пути. Как только значение доходит до нуля, пакет отбрасывается. Это нужно для того, чтобы трафик не ходил по сети бесконечно по кругу при ошибках маршрутизации.

Когда пользователь включает режим модема или точки доступа, телефон начинает раздавать Wi-Fi вместе с интернетом. При подключении компьютера, ноутбука, телевизора, приставки или другого телефона оператор действительно может заметить раздачу в том числе по измененному TTL. Но на текущий день операторы и тарифы отличаются очень сильно – где-то ограничение мягкое, где-то жесткое, а где-то раздача вообще разрешена официально. Поэтому ориентироваться только на название оператора уже не стоит – всегда смотрите условия именно своего тарифа.

Если вам сначала нужно просто включить режим модема и проверить саму раздачу, а уже потом разбираться с TTL, у нас есть отдельная подробная инструкция по раздаче интернета с телефона. Это полезно в тех случаях, когда проблема вообще не в TTL, а, например, в выключенной точке доступа, лимите на тарифе, неверном пароле Wi-Fi или сбившихся сетевых настройках смартфона.

Более подробно про TTL

Разберем на простом примере. У вас есть телефон, который при подключении к мобильному интернету оператора постоянно отправляет запросы. В каждом таком запросе есть значение TTL. На большинстве Android-смартфонов и iPhone стартовое значение обычно равно 64. У Windows чаще всего используется 128. У старых Windows Phone могли встречаться другие значения, но эта платформа на текущий день уже практически не актуальна, поэтому в реальной жизни на нее почти никто не ориентируется.

Что такое TTL и на что влияет «Время жизни пакета» на смартфоне и у маршрутизатора?

После того как на телефоне включен режим роутера и идет раздача Wi-Fi с интернетом, к нему подключаются другие устройства. У Windows TTL по умолчанию чаще всего равен 128. У других телефонов, планшетов, Linux и многих систем на базе Unix он нередко стартует с 64. Поэтому уже на этом этапе видно, что трафик разных устройств может изначально отличаться еще до того, как он пройдет через смартфон-раздатчик.

А теперь мы подошли к самой сути TTL. Как вы помните, TTL – это «время жизни» пакета, но в реальной сети удобнее воспринимать его как счетчик переходов. При проходе через один маршрутизатор или другое устройство 3 уровня это значение уменьшается на 1. В итоге компьютер, подключенный к вашему телефону, будет отправлять запрос в интернет с TTL, который для оператора станет равен 127. От подключенных телефонов TTL будет равен уже 63.

Что такое TTL и на что влияет «Время жизни пакета» на смартфоне и у маршрутизатора?

В итоге до сети оператора приходят пакеты с разными значениями, и это может выглядеть как раздача на стороннее устройство. Но здесь есть еще один важный нюанс, про который часто забывают. Если у вас активно работает IPv6, то там используется не TTL, а очень похожий по смыслу параметр Hop Limit. Логика та же самая – при каждом переходе значение уменьшается. Поэтому бывают ситуации, когда человек поменял TTL для IPv4, а часть приложений продолжает ходить через IPv6, и ограничение никуда не исчезает.

Еще один момент, который полезно понять обычному читателю. Сам по себе TTL не говорит оператору название вашего ноутбука или модель приставки. Он просто показывает, что пакет прошел на один узел больше, чем ожидается от самого телефона. Из-за этого TTL и стал одним из самых известных признаков раздачи. Но повторюсь – на текущий день он не единственный, и именно поэтому дальше я отдельно объясню, почему после смены TTL интернет иногда все равно режется.

Обход блокировок

Самый известный способ обхода ограничений – на подключенных устройствах выставить TTL, который будет на 1 больше, чем у раздающего телефона. Например, вы раздаете интернет на ноутбук, тогда на нем чаще всего ставят TTL 65. В итоге пакет от компьютера, попадая на телефон, будет уменьшаться до 64. Для внешней сети это будет похоже на обычный трафик самого смартфона.

ПРИМЕЧАНИЕ! На практике удобнее менять TTL не на телефоне, а на принимающем устройстве – ноутбуке, ПК, роутере или мини-ПК. На iPhone штатной настройки TTL нет. На Android без ROOT тоже обычно нельзя нормально изменить системный TTL для всего трафика. Поэтому схема «телефон раздает, а TTL меняем на клиенте» обычно самая простая и понятная для обычного пользователя.

Но есть еще одна загвоздка, про которую раньше писали мало. Дело в том, что операторы могут определять раздачу не только по TTL. Они могут смотреть на тип трафика, на обращения к сервисам, которые гораздо чаще встречаются на компьютерах, а не на телефонах, на работу обновлений системы, игровых клиентов, облачных резервных копий и других «не телефонных» сценариев. Например, если подключенный ноутбук начинает тянуть обновления Windows, большие патчи Steam, синхронизацию облака или резервные копии, это уже выглядит совсем иначе, чем обычное использование мобильного интернета на самом смартфоне.

Именно поэтому не стоит воспринимать TTL как единственное решение. Бывает так: человек поставил на ноутбуке значение 65, а интернет все равно режется через несколько минут или снижается скорость. В такой ситуации уже нужно смотреть шире – проверять тариф, IPv6, VPN, фоновые обновления, DNS, режим раздачи по Wi-Fi или USB и сам телефон. Иногда проблема вообще не в TTL, а в том, что услуга модема на тарифе ограничена отдельно.

По этому поводу у нас на портале есть подробные инструкции для всех операторов:

Там расписаны дополнительные шаги с картинками и пояснениями. Но я бы все равно советовал сначала понять сам принцип. Тогда вы не будете бездумно повторять команды из интернета, а сможете быстро сообразить, почему в одном случае помогает значение 65, а в другом – нет. Это особенно важно, если интернет раздается не напрямую на ноутбук, а еще и через роутер, USB-адаптер, VPN-клиент или виртуальную машину.

Как быстро проверить и поменять TTL на компьютере

Я специально добавлю короткий практический блок, потому что многие читают теорию, но потом не понимают, что делать дальше. Самый частый сценарий такой – интернет раздается с телефона на ноутбук с Windows. В этом случае обычно меняют TTL именно на ноутбуке, а не на телефоне. Так проще, безопаснее и не нужно трогать сам смартфон.

Windows

  • Откройте командную строку или PowerShell от имени администратора.
  • Чтобы посмотреть текущие глобальные параметры IPv4, выполните команду: netsh interface ipv4 show global
  • Чтобы поставить TTL 65 и сохранить его после перезагрузки, выполните: netsh interface ipv4 set global defaultcurhoplimit=65 store=persistent
  • Если у вас активно используется IPv6, имеет смысл так же выставить Hop Limit: netsh interface ipv6 set global defaultcurhoplimit=65 store=persistent

После этого я советую отключить и заново включить Wi-Fi на ноутбуке или просто перезагрузить компьютер. Если захотите вернуть типичное значение Windows обратно, обычно используют 128. Это удобно, если вы меняете настройки только на время раздачи, а потом хотите вернуть систему к привычному состоянию.

ПРИМЕР. Если интернет раздает iPhone или Android с обычным стартовым значением 64, то на ноутбуке с Windows чаще всего ставят 65. После прохождения через телефон пакет станет 64, и снаружи это будет выглядеть как обычный трафик самого смартфона. Но если между ноутбуком и телефоном есть еще один дополнительный сетевой узел, итоговое значение уже может отличаться. Поэтому иногда приходится не копировать чужую цифру, а проверять свою схему подключения головой.

Linux

  • Проверить текущее значение можно командой: sysctl net.ipv4.ip_default_ttl
  • Временно изменить TTL до перезагрузки: sudo sysctl -w net.ipv4.ip_default_ttl=65
  • Чтобы сохранить настройку постоянно, добавьте строку net.ipv4.ip_default_ttl=65 в файл /etc/sysctl.conf или в отдельный файл внутри /etc/sysctl.d/, после чего выполните: sudo sysctl --system

На Linux я бы еще отдельно проверил, не ходит ли часть трафика через IPv6. Если ходит, а оператор смотрит и на него, одной правки IPv4 может не хватить. В такой ситуации или настраивают Hop Limit отдельно, или временно отключают IPv6 на клиенте для проверки. Делать это нужно аккуратно, чтобы не поломать Docker, виртуалки, VPN и внутреннюю сеть.

Android и iPhone

На обычном, не модифицированном телефоне вручную менять TTL неудобно. На iPhone штатной настройки для этого нет. На Android без ROOT чаще всего тоже не получится нормально поменять системное значение для всего трафика. Поэтому на практике обычно меняют TTL на ноутбуке, ПК или роутере, а телефон оставляют как есть. Это и проще, и безопаснее, и откатить такую настройку потом легче.

ВАЖНО! Не забывайте про условия тарифа. На одних тарифах режим модема разрешен полностью, на других ограничен по скорости, объему или списку доступных устройств. Если услуга модема у оператора урезана на уровне тарифа или APN, одна только правка TTL может не дать результата. То есть проблема может быть не в вашем ноутбуке, а в самом тарифном плане.

TTL в роутере

Также этот параметр встречается и в роутере, а также в любых сетях, которые работают с IP-адресами. На уровне маршрутизации пакетов TTL постоянно используется как внутри сети пользователя, так и в сети провайдера. Здесь он нужен не только для истории с мобильным интернетом, но и вообще для корректной работы маршрутизации.

Раньше на некоторых роутерах Keenetic в веб-интерфейсе можно было встретить понятную галочку вроде «Не уменьшать TTL». На старых скриншотах именно это и видно. Но на текущий день в современных версиях KeeneticOS настройка TTL для большинства моделей относится уже к CLI, то есть к командной строке роутера. Поэтому не удивляйтесь, если на вашем свежем Keenetic такой галочки в панели управления уже нет.

Что такое TTL и на что влияет «Время жизни пакета» на смартфоне и у маршрутизатора?

Смысл здесь такой же – при проходе через роутер TTL уменьшается на 1. В некоторых сетях это критично. Например, некоторые провайдеры действительно могут отдавать пакеты с очень маленьким TTL, из-за чего при прохождении через ваш роутер они просто «умирают». Тогда устройство за роутером уже не получает нормальный трафик. В обычной домашней сети это встречается не каждый день, но как технический механизм это абсолютно реальная история.

Но важнее другое – на роутере TTL можно использовать не только для приема входящих пакетов от провайдера, но и для отправки исходящих пакетов к нему. Именно поэтому настройка TTL на роутере бывает полезна, если интернет у вас идет не напрямую на ноутбук, а через отдельный маршрутизатор. Это уже более продвинутый сценарий, и тут нужно понимать, что именно вы меняете и зачем.

Если вы не можете попасть в веб-интерфейс роутера, сначала посмотрите как зайти в настройки роутера. А если после экспериментов интернет пропал окончательно, иногда быстрее сделать сброс настроек роутера и настроить все заново, чем пытаться наугад откатывать каждую правку.

Для Keenetic актуальные команды в CLI сейчас выглядят так:

  • Для исходящих пакетов к провайдеру:

interface ISP ip adjust-ttl send 128

  • Для входящих пакетов от провайдера:

interface UsbQmi0 ip adjust-ttl recv 65

Здесь нужно понимать логику. Команда send задает TTL для исходящего трафика на выбранном интерфейсе. Команда recv работает для входящего трафика. Название интерфейса у вас может быть не ISP и не UsbQmi0, а другим – это зависит от модели роутера, способа подключения и конфигурации. Поэтому копировать команды символ в символ без понимания не стоит.

Если нужно убрать эти настройки, используются команды:

no ip adjust-ttl recv

no ip adjust-ttl send

На роутерах ASUS встречаются похожие по смыслу параметры. В зависимости от модели и прошивки они могут называться так:

  • «Увеличить значение TTL» (Extend the TTL value) – помогает не «убить» пакет, если он пришел с очень маленьким TTL со стороны провайдера.
  • «Подделать значение LAN TTL» (Spoof LAN TTL value) – отправляет трафик с заданной логикой TTL со стороны локальной сети.

Названия пунктов меню у ASUS могут немного отличаться в зависимости от региона, языка интерфейса и версии прошивки, но смысл остается тем же. Обычно эти параметры находятся в разделе WAN, где задаются специальные требования провайдера. Поэтому, если в одном обзоре вы видите «Extend the TTL value», а в другом «Увеличить значение TTL», это не значит, что речь идет о разных функциях – просто перевод и версия интерфейса отличаются.

Подобные настройки есть не у всех роутеров и не всегда вынесены в веб-интерфейс. Иногда их можно поменять только через CLI, SSH, Telnet или скрипты прошивки. Поэтому если ваш роутер старый, операторский или сильно урезанный по функциям, вполне возможно, что проще будет поменять TTL на ноутбуке, чем пытаться заставить сам роутер делать то, чего в его прошивке просто нет.

И еще один практический момент. Я бы не советовал менять TTL на роутере без резервного плана. Лучше заранее записать исходные настройки, сделать экспорт конфигурации и понимать, как откатиться назад. Потому что в интернете полно советов в стиле «впиши команду и все заработает», но никто не пишет, что потом может перестать нормально работать часть локальной сети, IPTV, VPN или отдельные сервисы, если настройка сделана не под вашу схему.

Что такое TTL и на что влияет «Время жизни пакета» на смартфоне и у маршрутизатора?

Теоретически TTL можно использовать и в более серьезных сценариях – например, при настройке сложной локальной сети компании, лаборатории или тестового стенда с несколькими маршрутизаторами. Но там это уже не «магия против оператора», а обычная сетевая инженерия. То есть задача не обмануть кого-то, а добиться правильного прохождения пакетов через нужную вам схему маршрутизации.

Поэтому важно разделять бытовой и профессиональный сценарий. Для обычного человека TTL чаще всего всплывает именно из-за раздачи интернета. Для администратора – из-за особенностей маршрутизации, туннелей, провайдерского оборудования и топологии сети. И чем быстрее вы это поймете, тем меньше будете верить в миф о том, что TTL решает вообще все сетевые проблемы сразу.

Что такое TTL и на что влияет «Время жизни пакета» на смартфоне и у маршрутизатора?

Короткий FAQ для новичков

Почему после смены TTL интернет все равно не заработал?

Потому что ограничение может быть не только по TTL. Очень часто мешают условия тарифа, IPv6, системные обновления, VPN, DNS, APN или просто сама раздача на стороне телефона. Я бы в такой ситуации сначала проверил, работает ли интернет напрямую на самом смартфоне, затем отключил фоновую загрузку обновлений на ноутбуке, а уже после этого смотрел на TTL и роутер.

 

Какое значение ставить – 65 или 129?

Все зависит от того, какое стартовое значение у устройства-раздатчика. Если телефон обычно работает с 64, то на клиенте часто ставят 65. Если раздача идет через устройство, где базовое значение другое, логика меняется. Именно поэтому универсальной цифры для всех схем не существует, хотя для связки «смартфон + ноутбук с Windows» чаще всего вспоминают именно 65.

 

Нужно ли менять TTL на самом телефоне?

Обычно нет. В большинстве бытовых случаев проще и безопаснее менять TTL на ноутбуке, ПК или роутере. На iPhone это штатно не настраивается, а на Android без ROOT такие действия тоже сильно ограничены. Плюс вносить изменения в клиентское устройство легче откатить назад, если что-то пошло не так.

 

Можно ли использовать USB вместо Wi-Fi?

Да, и иногда это даже удобнее. USB-раздача нередко работает стабильнее, меньше ест батарею телефона и дает чуть более предсказуемую схему подключения. Но сам факт подключения по USB не отменяет ограничений тарифа. Если оператор режет режим модема в целом, то тип подключения не всегда спасает.

 

Нужно ли отключать IPv6?

Не всегда, но для диагностики это полезный шаг. Если вы поменяли TTL только для IPv4, а часть трафика идет через IPv6, оператор все равно может видеть «лишний» переход уже по Hop Limit. Поэтому временное отключение IPv6 на клиенте иногда помогает понять, где именно проблема. Но постоянно отключать его без необходимости я бы не рекомендовал.

 

Можно ли проверить, что проблема точно в TTL?

На сто процентов – не всегда, потому что оператор не показывает вам свои внутренние правила фильтрации. Но косвенно понять ситуацию можно. Если интернет на самом телефоне работает нормально, а после подключения ноутбука скорость резко падает или часть сайтов перестает открываться только в режиме раздачи, TTL и другие признаки tethering действительно стоит проверить в первую очередь.

Автор статьи
Бородач 2889 статей
Сенсей по решению проблем с WiFiем. Обладатель оленьего свитера, колчана витой пары и харизматичной бороды. Любитель душевных посиделок за танками.
WiFiGid
Комментарии: 4
  1. Анон

    За доп инструкции благодарю

  2. Евгений

    Если не ТТЛ, то что тогда они ещё палят?

  3. Анон

    Евгений, ну автор же даже ссылк идал – иди туда, там все написано подробно. Хотя надо тестить, иногда и ТТЛ хватает

  4. Аноним

    Напишите пожалуйста инструкцию про то как обойти ограничение скорости интернета на Теле2.

Добавить комментарий
После отправки комментарий может не отображаться - это нормально. Сразу же после модерации он будет опубликован. Если Вы хотите быстро узнать о получении ответа, рекомендуем оставить свой e-mail (это необязательно). E-mail используется исключительно для Вашего оповещения, мы не занимаемся спамом.

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.