Керування значенням 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

Маєте ще запитання? Надіслати запит

Коментарі

0 коментарів

Будь ласка, увійдіть, щоб залишити коментар.