Управление значением TTL для входящих (от провайдера) и исходящих (к провайдеру) пакетов

Как в интернет-центре можно настраивать значения TTL?


Внимание! Информация, приведенная в данной статье, предназначена только для опытных пользователей.

 

Time To Live (TTL) в компьютерных сетях — предельный период времени или число итераций или переходов, за который набор данных (пакет) может существовать до своего исчезновения. Значение TTL может рассматриваться как верхняя граница времени существования IP-датаграммы в сети. Поле TTL устанавливается отправителем датаграммы и уменьшается каждым узлом (например, маршрутизатором) на пути его следования, в соответствии со временем пребывания в данном устройстве или согласно протоколу обработки. Если поле TTL становится равным нулю до того, как датаграмма прибудет в пункт назначения, то такая датаграмма отбрасывается и отправителю отсылается ICMP-пакет с кодом 11 — Превышение TTL (ICMP Time Exceeded). Отбрасывание пакетов с истекшим временем жизни позволяет избежать ситуаций, когда недоставленные датаграммы продолжают "вечно" циркулировать в системе Интернет, перегружая сеть (например, при образовании зацикленных маршрутов из-за некорректной маршрутизации).

 

В интернет-центрах серии Keenetic с микропрограммой второго поколения NDMS V2 существует возможность управления значением TTL для входящих (от провайдера) и исходящих (к провайдеру) пакетов. По умолчанию, если мы подключимся к интернет-центру для выхода в Интернет, значение TTL будет уменьшаться на 1 при прохождении пакета через маршрутизатор как для входящих пакетов (WAN>LAN), так и для исходящих (LAN>WAN).

 

Для примера, посмотрим дампы сетевых пакетов в программе анализаторе трафика Wireshark (дополнительную информацию вы найдете в статьях «Использование встроенного модуля захвата сетевых пакетов» и «Захват сетевых пакетов с помощью программы Wireshark») и увидим изменения TTL для входящего пакета (от провайдера).
Так, при подключении напрямую к провайдеру TTL имеет значение 56 (дамп снят с сетевого интерфейса ПК, подключенного напрямую к провайдеру):

При подключении этого ПК через интернет-центр это значение уменьшится и станет равным 55 (дамп снят с сетевого интерфейса ПК, подключенного к интернет-центру):

В некоторых случаях данное уменьшение может быть критичным (например, некоторые провайдеры выставляют TTL=1 на пакеты, идущие уже к абоненту для предотвращения использования маршрутизаторов в своей сети), поэтому в настройках интернет-центра Keenetic есть опция Не уменьшать TTL. Эта опция доступна в веб-интерфейсе интернет-центра в меню Интернет на вкладке Подключения в настройках внешнего физического интерфейса (Broadband connection ISP).
Если установить галочку в указанной опции, значение TTL не будет уменьшаться для приходящих от провайдера сетевых пакетов.
Данная настройка аналогична выполнению команды interface ISP ip adjust-ttl inc 1 в интерфейсе командной строки (CLI) интернет-центра.

 

Также микропрограмма второго поколения NDMS V2 позволяет управлять значением 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 останется неизменным.
 
В версии NDMS 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

 

KB-3265

Была ли эта статья полезной?

Пользователи, считающие этот материал полезным: 29 из 33

Еще есть вопросы? Отправить запрос

Комментарии

Комментариев: 2

Войдите в службу, чтобы оставить комментарий.