Что такое TTL в пинге? Что такое время жизни пакета (TTL) Изменение на Linux

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

Определение

Что такое TTL? Термин «время жизни» относится к количеству времени или «перескокам», когда пакет устанавливается в сети, прежде чем отбрасывается маршрутизатором. Технология также используется в других контекстах, включая кэширование CDN и кэширование DNS.

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

Как работает технология?

Когда пакет информации создается и отправляется через интернет, существует риск того, что он будет продолжать переходить с маршрутизатора на маршрутизатор на неопределенный срок. Чтобы уменьшить эту возможность, пакеты создаются с истечением срока действия, называемым пределом времени жизни. Пакет TTL также может быть полезен при определении того, как долго он находился в обращении, и позволяет отправителю получать информацию о пути пакета через интернет.
Каждый пакет имеет место, где он хранит числовое значение, определяющее, насколько долго он должен продолжать перемещаться по сети. Каждый раз, когда маршрутизатор получает пакет, он вычитает одно значение из счета TTL и затем передает его в следующее место в сети. Если в любой момент счетчик TTL равен нулю после вычитания, маршрутизатор отбросит пакет и отправит сообщение ICMP обратно на исходный узел.

Техническое описание процесса

IP TTL устанавливается первоначально системой, отправляющей пакет. Его можно разместить в любое значение от 1 до 255. Разные операционные системы устанавливают разные значения по умолчанию. Каждый маршрутизатор, который получает пакет, вычитает не менее 1 из счета. Если счетчик остается больше 0, маршрутизатор перенаправляет пакет, в противном случае он отбрасывает его и отправляет сообщение управления интернет-протоколом (ICMP) обратно на исходный узел, что может вызвать повторную отправку.

Точка ограничения TTL/hop должна поддерживать непрерывный поток пакетов, застрявших в циклах маршрутизации (возможно, из-за некорректных таблиц с данными и засорения сетей). В облаках Multiprotocol Label Switching (MPLS) TTL копируется из IP TTL, когда IP-пакет входит в облако. При выходе значение MPLS TTL копируется в соответствующее поле до тех пор, пока оно меньше значения в поле.

Изменяем TTL

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

  • 0 — хостом;
  • 1 — подсетью;
  • 32 — сайтом;
  • 64 — регионом;
  • 128 — континентом;
  • 255 — неограничен.

Кэширование TTL и DNS

Что такое TTL в контексте DNS? Значение сообщает локальным серверам, как долго запись должна храниться локально прежде, чем новая копия записи будет восстановлена ​​из DNS. Хранилище записей известно, как DNS-кэш, а акт хранения записей называется кэшированием.

Термин «время жизни» также используется для описания времени, в течение которого запись DNS может быть возвращена из кэша. В этом контексте USB TTL представляет собой числовое значение, заданное в записи DNS на авторитетном DNS-сервере для домена, определяющее количество секунд, за которое сервер кэширования может предоставить свое значение для записи. Когда прошло нужное количество секунд с момента последнего обновления, кэширующий сервер снова выйдет на сервер и получит текущее (и, возможно, измененное) значение для записи. Характерные особенности процесса кеширования, где TTL:

  • Является частью системы доменных имен.
  • Устанавливается авторитетным сервером имен для каждой записи ресурса.
  • Используется для целей кэширования. Например, значение TTL для www.dnsknowledge.com составляет 86400 секунд (24 часа). Чем выше TTL записи, тем дольше будет кэшироваться информация, и тем меньше потребуется запросов, которые клиент должен будет сделать, чтобы найти домен.
  • Используется разрешающим сервером имен для ускорения решения путем локального кэширования результатов.

TTL — что такое и как это работает?

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

Пакет является фундаментальной единицей информационного транспорта во всех современных компьютерных сетях и в других сетях связи. Маршрутизатор представляет собой электронное устройство или программное обеспечение сетевого уровня, которое соединяет локальные или глобальные сети и пересылает пакеты между ними.

Общие значения

Обычно значение составляет 86400 секунд, что составляет 24 часа. Это хорошая отправная точка для большинства записей. Однако вы можете установить более высокий TTL Patch для записей MX или CNAME, поскольку они будут меняться очень редко. Если ваш сервис имеет решающее значение, рекомендуется установить TTL на 1 час (3600 секунд).

Случаи применения

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

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

В контексте записи DNS TTL представляет собой числовое значение, определяющее, как долго сервер кэша DNS может обслуживать запись, прежде чем обратиться к авторитарному DNS-серверу и получить новую копию записи.

Интернет-центр Keenetic Lite предназначен для подключения к Интернету, районной сети и IP-телевидению по выделенной линии Ethernet. С его помощью можно создать собственную домашнюю сеть, выходить в Интернет с нескольких компьютеров, играть в многопользовательские онлайн-игры, участвовать в файлообменных сетях и одновременно с доступом в Интернет пользоваться информационно-развлекательными ресурсами районных сетей и локальных серверов вашего провайдера. Встроенная точка доступа беспроводной сети Wi-Fi нового поколения с увеличенным радиусом действия обеспечивает подключение к интернет-центру ноутбуков, игровых приставок, медиаплееров и других сетевых устройств стандарта IEEE 802.11n на скорости до 150 Мбит/с*. Аппаратно реализованная функция TVport дает возможность без дополнительных устройств подключить к интернет-центру ресивер IP-телевидения и принимать телепередачи высокой четкости без потери качества даже при загрузке торрентов/файлов на максимальной скорости. Удобная программа NetFriend поможет настроить доступ в Интернет для десятков известных провайдеров, домашнюю беспроводную сеть, проброс портов и способ подключения ресивера IPTV, не обращаясь за помощью специалистов.

Настройка сетевой карты компьютера перед установкой маршрутизатора (роутера):

Настройка роутера ZyXel Keenetic Lite

Настраивать роутер ZyXel Keenetic Lite (Кинетик Лайт) мы принципиально будем через вэб-интерфейс, позволяющий провести тонкую подстройку всех необходимых параметров. Чтобы войти в вэб-интерфейс нашего Кинетик Лайт, Вам необходимо в любом браузере компьютера (Opera, Internet Explorer, Mozilla ) в адресной строке перейти по адресу: http://192.168.1.1 (этот адрес маршрутизатор ZyXel Keenetic Lite имеет по умолчанию). Вы увидите приветствие интернет-центра Зайксель на экране компьютера:

Для входа в вэб-интерфейс Keenetic Lite потребуется ввести имя пользователя и пароль, а затем нажать на Вход . По умолчанию: Имя пользователя – admin, Пароль - 1234.

Настройка ZyXel Keenetic Lite в режиме PPTP VPN

Настройка ZyXel Keenetic Lite в режиме PPTP VPN начинается с процесса Интернет - Подключение

Для этого в поле Настройка параметров IP необходимо перевести опцию в положение Ручная (эта опция подразумевает ручное указание параметров TCP/IP для соединения через PPTP, но некоторые провайдеры могут выдавать их и автоматически).

В случае ручного назначения параметров в поле IP-адрес необходимо указать IP адрес, который выдает провайдер по договору (см. свой договор или обращайтесь в техподдержку).

В поле Маска сети следует указать значение маски подсети, которая используется провайдером.

В поле Основной шлюз требуется указать адрес основного шлюза в сети провайдера.

В поле DNS 1 (сервер доменных имён) мы укажем значение IP адреса предпочитаемого DNS сервера.

После чего ниже в DNS 2 укажем значение альтернативного DNS-сервера.

В поле Использовать MAC-адрес Вы можете занести своё, особое значение MAC-адреса (физического адреса) для роутера Keenetic Lite. Поскольку каждое сетевое устройство имеет свой уникальный МАС адрес, данная опция позволяет избежать звонка в службу поддержки в случае смены сетевого оборудования. Вы можете сделать в роутере МАС-адрес, идентичный МАС-адресу Вашего компьютера, на котором Вы работали до установки маршрутизатора. Вариант по умолчанию оставит роутер ZyXel Keenetic с «родным» MAC-адресом. «Родной» МАС-адрес указан прямо в меню, кроме того, MAC можно узнать на наклейке, что расположена на днище роутера (шесть пар цифро-букв). Ниже в данной опции располагается вариант Взять с компьютера, с помощью него ZyXel сам подхватит МАС-адрес сетевой карты того компьютера, с которого Вы в данный момент настраиваете маршрутизатор. Это избавит Вас от необходимости набивать значение МАС адреса вручную (полезно, если данный компьютер и был подключен к Интернету до установки роутера). Кроме того, с помощью опции Установить Вы можете ввести другое значение МАС-адреса для интернет-центра. Если Вы желаете использовать роутер с «неродным» МАС адресом, то воспользуйтесь данной возможностью! Если же хотите зарегистрировать MAC-адрес роутера, то придется совершить звонок по номеру 6-13-13 и сообщить ему «родной» МАС-адрес Зайкселя.

Пункт Отвечать на Ping-запросы из Интернета позволит Вашему Keenetic Lite оставаться «видимым» для технической поддержки Вашего провайдера, когда те захотят Вас «пропинговать». Активировать данный пункт необязательно.

Авто-QoS – активирует систему приоритета полезного исходящего траффика (включайте по своему усмотрению).

Не уменьшать TTL – не позволяет роутеру уменьшать параметр TTL на единичку при прохождении траффика через NAT.

Разрешить UPnP - включает возможность автоматической настройки Интернет-приложений для их беспрепятственной работы через NAT роутера.

Когда все необходимые опции в данном меню заполнены, нажимаем на Применить и переходим к следующему этапу.

Параметры PPTP VPN в ZyXel Kinetic Lite задаются в пункте Интернет – Авторизация

Протокол доступа в Интернет выберите вариант PPTP .

В поле Адрес сервера необходимо указать адрес VPN-сервера (vpn.rgtsparus.ru ).

В поле Имя пользователя необходимо указать логин для VPN-соединения (пароль на VPN совпадает с паролем для входа в личный кабинет).

В поле Пароль следует указать пароль для соединения с VPN-сервером (пароль совпадает с паролем для входа в личный кабинет).

Метод проверки подлинности определяет тип аутентификации на VPN-сервере устанавливаем в автоопределении .

Безопасность данных (MPPE) определяет используется ли шифрование в VPN-туннеле до провайдера. Обычно шифрование не используется, поэтому выбираем вариант Не используется .

Также следует отметить галочкой пункт Получать IP-адрес автоматически , чтобы VPN-сервер провайдера выдавал IP автоматически.

В поле размер MTU Вы задаете размер сетевого пакета, значение можно оставить по умолчанию (или поставить его в районе 1100-1300 в случае нестабильного соединения).

После заполнения всех необходимых опций остается только нажать на кнопку Применить для сохранения настроек Вашего Keenetic Lite.

Настройка Wi-Fi соединения в роутере ZyXel Keenetic Lite (Кинетик Лайт)

Маршрутизатор ZyXel Keenetic поддерживает стандарты беспроводной связи IEEE 802.11n/g/b, что гарантирует возможность работы с большинством существующего сегодня Wi-Fi оборудования. Настройка Wi-Fi сети в Keenetic Lite начинается Сеть Wi-Fi - Соединение

Включить точку беспроводного доступа – включает и выключает Wi-Fi модуль в роутере Keenetic.

Имя сети (SSID) – название Вашей будущей беспроводной WiFi сети. Здесь можно ввести своё значение. Под этим названием Вы будете видеть беспроводную сеть роутера ZyXel в своих Wi-Fi клиентах.

Пункт Скрывать SSID – отключает рассылку сетевого идентификатора (SSID), что позволяет спрятать свою беспроводную сеть от устройств с ОС Windows, являясь, своего рода, средством безопасности. С помощью данной опции можно дополнительно обезопасить Вашу беспроводную сеть от начинающих хакеров. Дело в том, что компьютеры с операционной системой Windows «не видят» Wi-Fi сети со скрытым SSID. В то же время при помощи специальных утилит найти такие сети не составляет особой проблемы. Поэтому защититься таким образом Вы сможете разве что от своих соседей. Если же Вы отключите рассылку SSID, то Вам придется вручную создать профиль для подключения в своем ПК (понадобится знание SSID и пароля для подключения к беспроводной сети – про пароль смотрите ниже).

Стандарт определяет стандарты беспроводной связи, по которым будет работать Ваша сеть Wi-Fi дома. Мы рекомендуем оставить вариант 802.11g/n, чтобы обеспечить поддержку всего актуального клиентского Wi-Fi оборудования. Но имейте в виду, что подключение клиентского устройства 802.11g просадит скорость беспроводной сети 802.11n до уровня 27 Мбит/с.

Канал – выбор канала для беспроводной Wi-Fi связи. Не рекомендуем иметь дело с каналом номер 6, поскольку большинство Wi-Fi оборудования по умолчанию работает именно на этом канале. В идеале рекомендуем остановить свой выбор на канале 1 или канале 12, чтобы минимизировать вероятность интерференции с сетями соседей.

Мощность сигнала Вы можете снизить мощность излучения антенны Вашего Keenetic Lite. Можно опытным путем подобрать значение так, чтобы роутер по-прежнему пробивал всю квартиру и при этом Wi-Fi сеть не сильно "высовывалась" бы из окон. Это снизит вероятность взлома сети со стороны злоумышленников.

После чего жмете кнопку Применить и переходите к следующему этапу настройки Wi-Fi в ZyXel Keenetic Lite.

Теперь настроим безопасность Wi-Fi сети нашего Keenetic Lite (Кинетик Лайт). Сделать это можно в Сеть Wi-Fi – Безопасность

В опции Проверка подлинности задается тип шифрования Wi-Fi сети. С учетом уязвимости WEP-протокола, мы рекомендуем использовать в своей сети исключительно WPA/WPA2 шифрование. Поэтому останавливаем свой выбор на универсальном варианте WPA-PSK/WPA2-PSK .

Тип защиты определяет с помощью какого алгоритма будет осуществляться шифрование в беспроводной Wi-Fi сети. Можно выбрать вариант TKIP/AES , чтобы минимизировать вероятность конфликтов с беспроводными клиентами (а вообще AES – куда более стойкий вариант, но не все Wi-Fi клиенты с ним работают без проблем).

Опция Формат сетевого ключа определяет в каких символах Вы зададите ключ беспроводной сети. Удобнее работать с символами ASCII .

В поле Сетевой ключ (ASCII) необходимо указать ключ шифрования Вашей Wi-Fi сети. Он должен быть длиной не менее 8 символов. Рекомендуем использовать в пароле на Wi-Fi заглавные/прописные буквы, цифры и специальные символы. Это минимизирует возможность подбора пароля к Вашей беспроводной сети. Разумная длина WPA пароля: 8-12 символов.

Отметьте галочкой Показывать сетевой ключ , чтобы видеть символы, которые Вы вводите выше.

После чего следует нажать на Применить для сохранения настроек беспроводной сети внутри вашего интернет-центра ZyXel Keenetic.

На этом настройку беспроводной WiFi сети в интернет-центре ZyXel Keenetic Lite можно считать оконченной. Теперь Вы можете попробовать подключить ноутбук или компьютер к роутеру по Wi-Fi, используя назначенный пароль.

Вероятно, многие из нас обращали внимание на параметр TTL в запущенной команде ping. Расшифровывается TTL как Time to live .

Время жизни пакета это предельное число итераций, которое пакет данных может совершить до своего исчезновения. Выражаясь не так официально, TTL — это число «прыжков» от устройства к устройству, которое может совершить пакет.

Строго говоря, TTL это не только про пакеты данных. Время жизни имеют и другие вещи, например, DNS-записи на серверах. Поэтому не связывайте понятие TTL только с пакетами данных.

Возвращаясь к теме статьи, объясним предназначение времени жизни пакета. Дело в том, что данные в сети имеют свойство , что создаёт своего рода «мусорный» трафик. Поскольку количество «прыжков» между узлами у пакетов ограничено, они не смогут «бродить» по сети вечно.

На самом деле, изначально предполагалось, что TTL пакетов будет измеряться в секундах. Так что это должно было быть время в буквальном смысле слова. Однако позже от этой концепции отказались в пользу простого числа «прыжков» или хопов (hop). На каждом промежуточном узле это число уменьшается на единицу (по умолчанию, хотя настройки можно выставить иначе). Если число «прыжков» у пакета истекло, а адресата он так и не достиг, этот пакет уничтожается, а адресату направляется сообщение о необходимости повторной отправки данных (Time Exceeded ). Учтите, что коммутаторы оставшееся число «прыжков» не изменяют, так как действуют на канальном уровне (более низком) , а не сетевом.

Время жизни пакета задаётся в соответствующем поле в заголовке IPv4-пакета. В стандарте IPv6 используется уже другое поле Hop Limit. Максимально возможное значение TTL равно 255. В большинстве популярных операционных систем (macOS, Linux, Android, iOS и т.д.) TTL=64. В Windows по умолчанию TTL=128.

TTL и интернет-провайдеры

Достаточно интересно используют TTL пакетов интернет провайдеры для обнаружения несанкционированного подключения устройств. Способ массово стал использоваться со временем распространения мобильного интернета и устройств, которые могут этот интернет не только потреблять, но и раздавать другим (смартфоны, планшеты).

Как это выглядит на практике? Если Вы пользуетесь мобильным интернетом со смартфона, то тот отправляет TTL=64, но, если раздать с него Wi-Fi, то TTL подключенных устройств будет изменяться на единицу. Нагляднее это можно проследить на схеме ниже.


Изменение TTL при раздаче Wi-Fi со смартфона.

Таким образом, оператор видит, что TTL «прыгает» с 64 до 63, а то и до 127 (если это ноутбук с Windows), и делает вывод, что в сеть выходит не одно устройство, а больше. В зависимости от условий предоставления связи, это может привести к блокировке.

Мы не будем в этой статье рассматривать способы обхода блокировок. Скажем лишь, что значение TTL по умолчанию можно изменить. Возьмём для примера Windows. Если вы запустите ping localhost, то увидите, что, как и говорилось ранее, TTL=128.

Для изменения установленного по умолчанию значения TTL нам нужно открыть редактор реестра, пройти в ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters и отредактировать (или создать, если его нет) параметр DefaultTTL . Если у вас 64-битная версия ОС, то тип параметра будет QWORD (64 бита) , если 32-битная версия ОС, то тип DWORD (32 бита) . Система исчисления — десятичная, а значение можете задать от 1 до 255. Например, 65. Тогда пакеты данных, пройдя через раздающий Wi-Fi смартфон, будут выдавать TTL=64.

Изменение значения TTL в Windows.

После этого перезагрузите компьютер. Снова запустив ping localhost, можно увидеть, что значение 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 от себя, 127 от компьютера и 63 от потребляющего телефона.

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

  1. Либо поменять TTL на потребляющем устройстве,
  2. Либо на раздающем телефоне сделать так, чтобы пакеты к оператору шли всегда с одним значением TTL.

Приведение TTL к единому значению для обхода ограничений оператора

  • Можно привести TTL к единому значению 63, поменяв его на раздающем телефоне и на принимающем компьютере. Это изменение TTL без фиксации.

  • Можно ничего не менять на принимающих устройствах, но «заставить» раздающий телефон всегда отправлять оператору пакеты с TTL=63, независимо от того, откуда они: с самого раздающего телефона или с принимающего устройства (компьютера или телефона). Это фиксация TTL.

Вторая схема удобнее, но она пригодна не для всех телефонов.

Итак, мы рассмотрели, что такое TTL, и зачем его нужно менять. Как именно изменить TTL требует рассмотрения в отдельной статье. .

TTL — что это такое? TTL расшифровывается как Time to Live. То есть время жизни пакета, отведённое ему в момент перехода от начального узла к конечному. В стандарте IPv4 для отражения TTL выделено восьмиразрядное поле в заголовке. Проходя через многочисленные узлы к адресату, значение пакета каждый раз уменьшается на 1 единицу. Это сделано с целью ограничить время его присутствия в узлах конкретным числом. А это, в свою очередь, позволяет избежать перегрузок в сетях.

Что произойдёт, если значение TTL достигнет нуля? Пакет исчезнет, и отправитель получит сообщение о том, что время жизни его истекло, а значит, нужно попытаться снова. Максимальное значение, которое способно отразить восьмиразрядное поле, составляет 255. Для операционных систем есть значения по умолчанию. Например TTL в Windows равен 128, а в Linux и производных — Mac, Android — 64.

В среде DNS имеется свой TTL, и он отражает актуальность кэшированных данных. Но речь в статье будет не о нем.

Для чего применяется TTL и в каких сферах

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

Для примера можно описать процесс работы смартфона на базе "Андроида". Устройство отправляет запрос на получение данных с определенного сайта. Вместе с ним посылается TTL, значение которого 64. Провайдер знает, что это стандартная для данного устройства цифра времени жизни пакета, поэтому свободно позволяет ему получать доступ к Сети.

Теперь устройство начинает раздавать Wi-Fi и становится своего рода маршрутизатором. Подключившийся смартфон работает на платформе Windows, и его TTL, пройдя через раздающее устройство, будет 127. Провайдер встретит этот пакет и поймет, что его интернет раздается. Поэтому и заблокирует содиненение.

Возможности изменения TTL на различных устройствах

Изменение значения времени жизни пакета может пригодиться для обхода блокировки трафика провайдером. Например, если отключили кабельное подключение, а пользователю нужно срочно выйти в интернет с компьютера. Тогда смартфон становится точкой доступа и выводит ПК в сеть.

Стоит отметить, что некоторые провайдеры блокируют доступ не только по TTL, но и отслеживают посещение сайтов. И если ресурс никак не связан со смартфоном, т. е. не нужен ему, соединение обрывается.

Изменить TTL можно несколькими способами, которые будут описаны далее.

Изменение TTL на устройствах на платформе "Андроид"

Самым простым способом изменения времени жизни пакета на устройствах "Андроид" будет использование специализированного программного обеспечения. Например, очень эффективный продукт — TTL Master. Он может изменить время жизни пакета раздающего аппарата на то, которое получается в результате прохода данных. Например, при раздаче Wi-Fi на устройство с Windows нужно установить значение 127, а на Андроид или Linux — 63.

Программа бесплатна, и ее легко можно найти в официальном магазине Google Play. Однако для ее функционирования требуются права root на устройстве.

Интерфейс программы прост — в верхней части отображено текущее значение параметра. Чуть ниже расположены заготовки для операционных систем Windows и остальных. Также можно установить желаемое значение вручную. Чуть ниже находится кнопка с возможностью перейти из приложения сразу в настройки модема. В некоторых версиях доступно решение через iptables, для чего есть определённый пункт.

В настройках есть возможность установить запуск и смену времени жизни автоматически при загрузке устройства. Некоторые версии "Андроида" позволяют произвести сразу после смены значения запуск точки доступа. Есть поддержка русского языка.

Приложение постоянно развивается и совершенствуется. Имеется профиль на github, в котором все желающие могут ответвиться и добавлять свои возможности в проект. Если их примут разработчики, то они войдут в последующий релиз.

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

Затем воспользоваться любым проводником, который способен редактировать файлы. В нем надо перейти по пути proc/sys/net/ipv4. В этом каталоге интересует файл с именем ip_default_ttl. Он содержит значение 64, которое нужно изменить на 63.

Далее нужно вывести телефон из режима полета, чтобы он снова зарегистрировался в Сети. Теперь можно раздать беспроводной интернет и попробовать подключить устройство на базе iOS или "Андроида", то есть с TTL 64.

Если необходимо использовать в качестве одного из клинетов ПК с Windows, то нужно будет установить постоянное значение времени жизни пакета способом, описанным ниже.

Смена TTL на компьютере с операционными системами Windows

Если нужно раздать интернет со смартфона под управлением Windows, то придется немного подкорректировать значения реестра. Этот способ будет актуален, когда телефон не имеет рут и обойти блокировку на нем не получается.

Запуск реестра в линейке операционных систем можно осуществить через пункт меню «Пуск» «Выполнить». В нем надо ввести Regedit и нажать ОК. В открывшемся окне появятся две области. В левой находится древовидная структура, а в правой - значения. Нужно найти ветку HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet\Services\Tcpip\Parameters. Для Windows 8 Tcpip может быть заменён на Tcpip6.

В окне со значениями надо создать новое. Это делается щелчком правой кнопкой мыши. В контекстном меню выбирается «Создать», затем новый параметр DWORD, и присваивается название Default TTL. Что это? Это будет статичный параметр для постоянного значения времени жизни. Затем снова щелчок правой кнопкой, и выбрать «Изменить». Тип счисления должен быть десятичным, а значение — 65. Таким образом, система будет передавать время жизни пакета в 65, то есть на один больше чем у "Андроида". То есть, проходя сквозь смартфон, он потеряет одну единицу, и провайдер не заметит подвоха. После внесённых изменений нужно перезагрузить компьютер.

Теперь можно раздавать интернет на "Андроид", не используя особых программных средств и приспособлений.

Изменение на Linux

Как осуществляется смена TTL на компьютере с операционными системами Linux? Для Linux смена времени жизни пакета меняется одной строкой в терминале: sudo iptables -t mangle -A POSTROUTING -j TTL --ttl-set 65

Изменение времени жизни пакета на модемах

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

На сайте 4PDA имеется подборка решения для смены времени жизни на модемах от разных производителей и моделей. Также там можно найти подробные реализации данной задачи.

Смена времени жизни пакета на iOS

С помощью твика TetherMe можно сменить на iOS TTL. deb-приложение, которое разблокирует режим модема на устройствах с iOS на борту. Дело в том, что Apple позволяет некоторым операторам сотовой сети блокировать функцию "Режим модема" на уровне симки. Данное приложение даёт возможность его активировать и использовать телефон в качестве модема.

Изменение TTL в MacOS

MacOS по умолчанию обладает временем жизни 64. Если требуется его изменить, нужно в терминале ввести команду: sudo sysctl -w net.inet.ip.ttl=65.

Однако при таком подходе значение после перезагрузки снова изменится на 64. Поэтому необходимо выполнить ряд манипуляций. В корне диска существует каталог etc. Он скрытый, но в него нужно попасть. Там создаётся файл sysctl.conf. В нем нужно прописать всего одну строчку — net.inet.ip.ttl=65. Ну и естественно, сохранить.

Для отображения данной скрытой папки в Findere надо перейти в основной диск и нажать сочетание клавиш cmd+shift+G. В появившемся окне вводится имя искомой папки, после чего она найдется.

Выводы

Существует такое понятие, как USB TTL конвертер. Однако к контексту статьи он не имеет никакого отношения, и не стоит путать его с временем жизни пакета. USB TTL конвертер — своего рода переходник для создания соединений между устройствами USB и логикой TTL.

В статье было подробно объяснено про TTL — что это такое и для чего нужен. Несколько способов его изменения позволят обойти ограничение по блокировке трафика на некоторых провайдерах. Это даёт возможность использовать интернет повсеместно.

Реализация на разных устройствах отличается, можно сделать это как с помощью программных средств, так и изменяя системные файлы вручную. Некоторые модемы придётся прошивать, причём под каждый свою версию ПО.

Данными инструкциями можно обойти блокировку многих провайдеров, предоставляющих доступ в интернет посредством сотовой сети.