Почему меняется ttl при пинге
Перейти к содержимому

Почему меняется ttl при пинге

  • автор:

Почему при пинге выдаёт высокий TTL?

В нормальном состоянии маршрутизатор (TPLINK) пингуется с 64 TTL, сеть работает без проблем.
В некоторые моменты времени пинг выдаёт TTL 254, время пинга не увеличивается, сетка падает, инета нет. До перезагрузки устройства. К остальным устройствам пинг обычный

  • Вопрос задан более трёх лет назад
  • 14921 просмотр

Комментировать
Решения вопроса 1

Energoblock

Константин ™ @Energoblock

Иногда такой TTL появляется при переводе устройства в Recovery mode.
Если роутер делает так самостоятельно, то лучше обновить прошивку до самой последней версии, сбросить к настройкам по-умолчанию и настроить заново.

Либо подключиться к консольному порту на плате роутера и напрямую смотреть логи в момент перехода в такое состояние.

Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Ответы на вопрос 2

MaxDukov

впишусь в проект как SRE/DevOps.

TTL — это «время» (в кавычках — потому что не в секундах, а в переходах) жизни пакета. сколько маршрутизаторов он сможет пройти, прежде чем «помрет».
поле 8-и битное, так что максимальный TTL = 255. Большой ttl на работоспособность сети влиять никак не должен — пакет в любом случае умрет, достигнув точки назначения. Стандартный TTL = 64.
изменение TTL скорее всего вызвано тем, что пингуете с разных устройств/ ОС.

Почему меняется ttl при пинге

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

Определение

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

ttl что такое

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

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

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

usb ttl

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

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-сообщения используется для вычисления каждого последующего времени перемещения.

ip ttl

В многоадресной рассылке IP TTL управляет областью или диапазоном, в котором может быть перенаправлен пакет. Условно IP ограничивается:

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

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

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

ttl patch

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

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

изменяем ttl

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

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

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

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

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

ttl pl

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

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

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

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

forum.lissyara.su

В моей практике такого еще не было, суть в том, что с некоторых пор начал пропадать пинг до сервера
с 8.0-RELEASE FreeBSD. Сервер смотрит одним интерфейсом в локальную сеть и имеет ip 10.40.40.40.1 а вторым в инет.
Проблема появилась не так давно, до этого работал 3 месяца без сбоев.
Когда Я начинаю пинговать до сервака из локальной сети до интерфейса 10.40.40.1 до пинг имеет ttl 127 и нифига ничего не работает(апач, днс,фтп). Когда же Я самого сервера начинаю пинговать какой нить компьютер из сегмента локальной сети к примеру 10.40.40.4, то у пинга с домашнего компа до сервера с фряхой ttl меняется резко до 63 и всё начинает работать(апач, фтп,днс).

На рисунке видно как пингуется сервер, ttl 127-> начинаю пинговать до с фряхи до др. сервака и ttl поменялась, пинга пропала и ttl обратно поменялась на 127. Как будто интерфейс нужна какая то взбучка
Написал скрипт, чтобы он постояно пинговал какой нить другой сервер. Но не прокатывает всё равно.

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

Может ли быть такое, что кто то из локальной сети себе ставит такой же IP ? И на моём сервере приключается такая же муть. Ядро не пере собирал, фаерволл не подключен.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

После этого перезагрузите компьютер. Снова запустив ping localhost, можно увидеть, что значение TTL изменилось.

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

Отдельно стоит упомянуть протокол IPv6. Если вы его используете, то нужная вам в реестре ветка: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\TCPIP6\Parameters.

О том, как провернуть подобную настройку в Ubuntu, читайте в статье по этой ссылке.

Как изменить TTL в Windows 10 и раздать безлимитный интернет со смартфона на компьютер

Как изменить TTL в Windows 10

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

Что это за технология и как обойти ограничения – поговорим в сегодняшней статье.

Что такое TTL и зачем он нужен

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

Значение TTL в компьютерных сетях находится в диапазоне от 0 до 255. Перемещаясь между различными маршрутизаторами, параметр постоянно меняется. Для владельцев устройств на базе iOS и Android начальное значение обычно равняется 64, для Windows – 128. Каждый переход через беспроводной канал уменьшает показатель на 1 единицу. Если произойдет множество скачков от одного клиента к другому, значение становится равным 0 – в таком случае все данные в пакете уничтожаются.

Как работает TTL

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

Более детально это выглядит так:

Как работает TTL на смартфоне

Чтобы обойти блокировку оператора, необходимо увеличить значение TTL на 1 единицу. Так мы получим увеличенное число, которое будет снижаться до исходного. В таком случае оператор не сможет заподозрить клиента в раздаче интернета.

О том, как это сделать, поговорим далее.

Как узнать значение TTL на компьютере

Прежде чем переходить к изменению TTL, необходимо определить, чему оно равняется. В Windows 10 сделать это довольно просто – достаточно ввести нужную команду в командную строку, запущенную от имени администратора. Рассмотрим на примере:

  1. Открываем меню «Пуск» на компьютере и вводим запрос «Командная строка». В верхней части находим нужную нам программу и кликаем по ней правой кнопкой мыши. Затем выбираем «Запуск от имени администратора».Как запустить командную строку от имени администратора
  2. В результате мы попадаем в консольное окно – оно то нам и нужно. Вводим в него команду ping 127.0.01 или ping 127.0.0.1. Получаем информацию о TTL:Как узнать значение TTL на компьютере

Узнав нужное нам значение, можем переходить к его изменению.

Как изменить TTL в Windows 10

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

Перейдем к настройке:

  1. Зажимаем на клавиатуре комбинацию клавиш «Win+R», где Win – кнопка с логотипом Windows, расположенная в нижнем левом углу. Перед нами откроется окно «Выполнить» – вводим в нем запрос regedit и жмем «ОК».Как запустить редактор реестра в Windows 10
  2. В отобразившемся окне вводим: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parame.Как изменить значение TTL в Windows 10
  3. Теперь нам нужно создать новый файл – для этого кликаем правой кнопкой мыши по пустой области и выбираем «Создать» -> «Параметр DWORD (32 бита). Если вы на 64-битной системе, то выберите QWORD (64 бита). В результате мы получаем новый параметр – зададим ему имя DefaultTTL.Как изменить TTL в Windows 10
  4. Открываем созданный нами параметр и вносим в него изменения. Устанавливаем значение 65, в блоке «Система исчисления» выбираем «Десятичная».Как через реестр изменить значение TTL

Осталось перезагрузить компьютер, и значение TTL будет изменено на 65. При передаче интернета со смартфона оно изменится на стандартное 64. Оператор сотовой связи ничего не заподозрит, а вы сможете пользоваться раздачей интернета как ни в чем не бывало.

Как раздать интернет на Android-смартфоне

Есть три способа раздачи интернета – через мобильную точку доступа, USB или Bluetooth.

Мобильная точка доступа

Алгоритм действий следующий:

  1. Выдвигаем на телефоне шторку и зажимаем кнопку «Точка доступа», чтобы перейти в основное меню.Как раздать интернет на смартфоне Samsung
  2. Переводим ползунок в режим «Включено».Как включить мобильную точку доступа на Samsung

В моем случае выполняется раздача Wi-Fi под именем «Frank» с паролем «12345678». На вашем смартфоне будут указаны другие параметры, но вы всегда можете их поменять. Также в настройках можно отключить вход по паролю – для этого необходимо в верхнем правом углу нажать на троеточие и выбрать «Настройки точки доступа». Затем в блоке «Безопасность» изменить значение на «Открытый».

Раздаем интернет через Bluetooth

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

  1. Для начала включаем Bluetooth на самом смартфоне – для этого выдвигаем шторку и активируем нужную нам функцию.Как включить Bluetooth на Android смартфоне
  2. Переходим к компьютеру – нажимаем на крайнюю правую кнопку в нижней строке и активируем Bluetooth.Как в Windows 10 включить Bluetooth
  3. После этого в панели задач отобразится иконка блютуза – кликаем по ней правой кнопкой мыши и открываем параметры. Как подключиться к интернету через BlueTooth
  4. В отобразившемся окне выбираем «Добавление Bluetooth или другого устройства».Как в Windows 10 подключиться к интернету через Bluetooth
  5. Нажимаем «Bluetooth».Как в Windows 10 подключиться к телефону через Bluetooth
  6. Выбираем нужное нам устройство и жмем «Подключиться». В это время на телефон придет уведомление, которое также нужно подтвердить.Как в Windows 10 подключиться к смартфону по Bluetooth
  7. Возвращаемся в настройки Bluetooth и выбираем «Устройства и принтеры».Подключение к интернету через Bluetooth Windows 10
  8. Осталось найти наш смартфон и подключиться к нему через точку доступа.Как подключиться к интернету смартфона через Bluetooth

Убедитесь, что ваш телефон и ноутбук не подключены к какой-либо другой сети.

Через USBподключение

Для подключения через USB нам потребуется простой провод Type-A/C на Type-C/Micro B – в общем тот, который вы обычно используете для зарядки.

Подключаем телефон к компьютеру и выполняем следующие действия:

  1. Выдвигаем шторку и нажимаем на «USB для передачи файлов».Как подключить компьютер к интернету смартфона через USB
  2. В отобразившемся окне активируем пункт «USB модем».Как передать интернет телефона через USB
  3. Теперь переходим к компьютеру – в правой части должно появиться новое окно с предложением подключить новую сеть. Жмем «Да».Как подключиться к интернету телефона через USB
  4. Если окно не появилось, то вы можете подключиться через нижнюю панель:Подключение к интернету через кабель

Вот такими несложными манипуляциями мы смогли подключиться к интернету, который раздается со смартфона на Android.

Как раздать интернет на iOS-устройстве

Раздача интернета на iOS практически не отличается от таковой на Android. Для этого необходимо перейти в раздел «Настройки» -> «Сотовые данные» -> «Режим модема» или «Настройки» -> «Режим модема». В отобразившемся окне выбрать «Разрешать другим». Здесь же мы можем изменить пароль – достаточно нажать на пункт «Пароль Wi-Fi» и ввести новый пароль.

Как на iPhone раздать интернет

Раздать интернет на Mac, PC и другие устройства мы также можем через Bluetooth:

  1. Открываем «Настройки» -> Bluetooth.
  2. Находим на компьютере опцию «Подключение к Bluetooth» и выбираем нужное нам устройство. Случай с компьютером на Windows мы рассматривали ранее – можете воспользоваться им.

После изменения TTL вы можете пользоваться раздачей интернета без каких-либо проблем, если ранее они были. Удачи!

Почему меняется ttl при пинге

У меня всегда открытое окно работает непрерывно с ping -t 8.8.8.8 .

Много раз мой TTL меняется через некоторое время, и это вызывает отключение и повторное подключение приложений и игр. Например, мой TTL равен 117 на один час, и без объяснения он меняется на 121. При изменении мои приложения и игры отключаются и подключаются автоматически.

Это так раздражает, и никто из техников службы поддержки не может объяснить, что происходит.

Пока я не автономен, кто-нибудь может объяснить мне, что происходит с этими изменениями TTL ?!

У меня Windows 10.

5 комментариев
Меняется ли ваш (публичный) IP-адрес? Kamil Maciorowski 5 лет назад 0

@ twisty-impersonator, похоже, вы создали тег [ttl] и выдержку из вики. Два вопроса: 1. Есть ли вероятность того, что тег будет неправильно использован и применен к другим значениям TTL (если это необходимо, будет ли он лучше прописан, чем аббревиатура)? 2. Выдержка не совпадает с определением Википедии: механизмом, ограничивающим срок жизни данных в компьютере или сети (я не специалист по сетевым технологиям, так что это не в моей области, но я хотел поднять вопрос). fixer1234 5 лет назад 0

@ fixer1234 хорошая точка зрения на возможное столкновение имен, учитывая короткую аббревиатуру. Я посмотрю о «переименовании» этого, потому что, хотя я не могу придумать другого идентичного термина, кажется, что он может существовать. Я тоже настрою, кроме. Отличная обратная связь — спасибо! Twisty Impersonator 5 лет назад 0

@TwistyImpersonator, когда я впервые увидел его, я подумал, что это относится к транзисторно-транзисторной логике, используемой в микросхемах. �� fixer1234 5 лет назад 0

@ fixer1234 LOL, не шучу! ОК, я, очевидно, должен это исправить. Twisty Impersonator 5 лет назад 0
Комментировать

1 ответ на вопрос

Twisty Impersonator 2018-11-03 в 11:47

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

Когда пакет проходит через маршрутизатор, маршрутизатор уменьшает поле TTL (Time To Live) пакета. Это сделано для двух целей:

  • Он обеспечивает механизм, позволяющий узнать, сколько маршрутизаторов (то есть прыжков) прошел пакет
  • Это предотвращает передачу пакетов в бесконечном цикле в случае ошибки конфигурации сети. Когда TTL достигает нуля, маршрутизаторы отбрасывают пакет.

Команда ‘ping’ показывает вам полученный TTL после того, как он уже прошел это уменьшение. Обычно отправитель указывает TTL 128 (или 64), поэтому, если вы получаете его с TTL 117, это означает, что он прошел через 11 маршрутизаторов (128-117).

Может кто-нибудь объяснить мне, что происходит с изменениями TTL ?!

Маршрутизаторы в Интернете обычно имеют несколько подключений к другим маршрутизаторам. Часто маршрутизаторы имеют несколько соединений, которые могут быть использованы для доставки вашего пакета. Задача маршрутизаторов — выбрать лучший. Из-за изменяющихся условий в сети маршрутизатор может не всегда выбирать один и тот же маршрут каждый раз для ваших пакетов. Когда это происходит, ваш пакет может в конечном итоге пройти путь, который включает в себя другое количество маршрутизаторов. Вот почему вы видите другой TTL. Это совершенно нормально. Тот факт, что существует множество маршрутов между пунктами назначения, действительно является одной из причин, по которым Интернет настолько устойчив.

мой TTL составляет 117 в течение 1 часа, и в одно мгновение без подсказки он меняется на 121, и с этим изменением мои приложения и игры отключаются и переподключаются

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

Выбор другого пути особенно распространен для серверов 8.8.8.8 и аналогичных [anycast] (https://en.wikipedia.org/wiki/Anycast), поскольку это также может означать перенаправление на другой экземпляр, когда исходный находится под обслуживание или тому подобное. grawity 5 лет назад 2

спасибо большое, приятель, я почти понял твое объяснение с немного большим изучением и поиском. Alireza Mohebi 5 лет назад 1

@AlirezaMohebi пожалуйста. Если это ответило на ваш вопрос, пожалуйста, отметьте зеленую галочку, чтобы указать это. Twisty Impersonator 5 лет назад 2

Почему при пинге выдаёт высокий TTL?

В нормальном состоянии маршрутизатор (TPLINK) пингуется с 64 TTL, сеть работает без проблем.
В некоторые моменты времени пинг выдаёт TTL 254, время пинга не увеличивается, сетка падает, инета нет. До перезагрузки устройства. К остальным устройствам пинг обычный

  • Вопрос задан более трёх лет назад
  • 14236 просмотров

Комментировать
Решения вопроса 1

Energoblock

Иногда такой TTL появляется при переводе устройства в Recovery mode.
Если роутер делает так самостоятельно, то лучше обновить прошивку до самой последней версии, сбросить к настройкам по-умолчанию и настроить заново.

Либо подключиться к консольному порту на плате роутера и напрямую смотреть логи в момент перехода в такое состояние.

Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Ответы на вопрос 2

MaxDukov

впишусь в проект как SRE/DevOps.

TTL — это «время» (в кавычках — потому что не в секундах, а в переходах) жизни пакета. сколько маршрутизаторов он сможет пройти, прежде чем «помрет».
поле 8-и битное, так что максимальный TTL = 255. Большой ttl на работоспособность сети влиять никак не должен — пакет в любом случае умрет, достигнув точки назначения. Стандартный TTL = 64.
изменение TTL скорее всего вызвано тем, что пингуете с разных устройств/ ОС.

forum.lissyara.su

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.

Первое новое сообщение • 12 сообщений • Страница 1 из 1
treycom проходил мимо Сообщения: 2 Зарегистрирован: 2010-12-18 10:50:05

Проблема с сетевкой ttl странности

Добрый день коллеги, прошу помощи!

В моей практике такого еще не было, суть в том, что с некоторых пор начал пропадать пинг до сервера
с 8.0-RELEASE FreeBSD. Сервер смотрит одним интерфейсом в локальную сеть и имеет ip 10.40.40.40.1 а вторым в инет.
Проблема появилась не так давно, до этого работал 3 месяца без сбоев.
Когда Я начинаю пинговать до сервака из локальной сети до интерфейса 10.40.40.1 до пинг имеет ttl 127 и нифига ничего не работает(апач, днс,фтп). Когда же Я самого сервера начинаю пинговать какой нить компьютер из сегмента локальной сети к примеру 10.40.40.4, то у пинга с домашнего компа до сервера с фряхой ttl меняется резко до 63 и всё начинает работать(апач, фтп,днс).

На рисунке видно как пингуется сервер, ttl 127-> начинаю пинговать до с фряхи до др. сервака и ttl поменялась, пинга пропала и ttl обратно поменялась на 127. Как будто интерфейс нужна какая то взбучка
Написал скрипт, чтобы он постояно пинговал какой нить другой сервер. Но не прокатывает всё равно.

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

Может ли быть такое, что кто то из локальной сети себе ставит такой же IP ? И на моём сервере приключается такая же муть. Ядро не пере собирал, фаерволл не подключен.

bge0: flags=8843 metric 0 mtu 1500 options=9b ether 00:18:fe:28:4e:08 inet 10.40.40.1 netmask 0xffff0000 broadcast 10.40.255.255 media: Ethernet autoselect (100baseTX ) status: active bge1: flags=8843 metric 0 mtu 1500 options=9b ether 00:18:fe:28:4e:09 inet 77.233.172.131 netmask 0xfffffff8 broadcast 77.233.172.135 media: Ethernet autoselect (1000baseT ) status: active lo0: flags=8049 metric 0 mtu 16384 options=3 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3 inet6 ::1 prefixlen 128 inet 127.0.0.1 netmask 0xff000000 
teleset74# netstat -rn Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire default 77.233.172.129 UGS 3 4717 bge1 10.40.0.0/16 link#1 U 0 1882 bge0 10.40.40.1 link#1 UHS 0 111 lo0 77.233.172.128/29 link#2 U 0 0 bge1 77.233.172.131 link#2 UHS 0 0 lo0 127.0.0.1 link#3 UH 0 35 lo0 Internet6: Destination Gateway Flags Netif Expire ::1 ::1 UH lo0 fe80::%lo0/64 link#3 U lo0 fe80::1%lo0 link#3 UHS lo0 ff01:3::/32 fe80::1%lo0 U lo0 ff02::%lo0/32 fe80::1%lo0 U lo0 

Последний раз редактировалось f_andrey 2011-01-12 8:03:04, всего редактировалось 1 раз.
Причина: Автору, выбирайте пожалуйста раздел соответствуюший тематике вашего сообщения

почему может изменяться TTL?

если сделать ping 194.х.х.х (веб-сервер нашего корпуса), то получается такое:

Обмен пакетами с 194.х.х.х по 32 байт:

Ответ от 194.х.х.х: число байт=32 время=1мс TTL=63
Ответ от 194.х.х.х: число байт=32 времяОтвет от 194.х.х.х: число байт=32 времяОтвет от 194.х.х.х: число байт=32 время

при этом в таблицу arp того компа, с которого пинг пускаешь, добавляется запись для 194.х.х.х (после первого же пинга)

посмотреть на 194.х.х.х разумеется нельзя, кто нас туда пустит. тем не менее надо что то ответить, почему первые 2 пинга возвращаются с ТТЛ=63?

буду благодарен за идеи

rain87
03.06.09 21:27:31 MSD

Re: почему может изменяться TTL?

e000xf000h ★
( 03.06.09 21:41:15 MSD )
Ответ на: Re: почему может изменяться TTL? от e000xf000h 03.06.09 21:41:15 MSD

Re: почему может изменяться TTL?

Поле Время жизни (Time to Live = TTL) занимает один байт и означает предельный срок, в течение которого пакет может перемещаться по сети. Время жизни данного пакета измеряется в секундах и задается источником передачи. На маршрутизаторах и в других узлах сети по истечении каждой секунды из текущего времени жизни вычитается единица; единица вычитается и в том случае, когда время задержки меньше секунды. Поскольку современные маршрутизаторы редко обрабатывают пакет дольше, чем за одну секунду, то время жизни можно считать равным максимальному числу узлов, которые разрешено пройти данному пакету до того, как он достигнет места назначения. Если параметр времени жизни станет нулевым до того, как пакет достигнет получателя, этот пакет будет уничтожен. Время жизни можно рассматривать как часовой механизм самоуничтожения. Значение этого поля изменяется при обработке заголовка IP-пакета.

e000xf000h ★
( 03.06.09 21:43:41 MSD )
Ответ на: Re: почему может изменяться TTL? от e000xf000h 03.06.09 21:43:41 MSD

Re: почему может изменяться TTL?

e000xf000h ★
( 03.06.09 21:45:33 MSD )

Re: почему может изменяться TTL?

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

Соответстенно там где пакет проходил через один лишний узел TTL меньше на 1

kol65536
( 03.06.09 21:49:45 MSD )
Ответ на: Re: почему может изменяться TTL? от e000xf000h 03.06.09 21:43:41 MSD

Re: почему может изменяться TTL?

e000xf000h, а вы вопрос мой вообще читали? что такое ТТЛ я вроде как не спрашивал, благо и сам знаю. я спрашивал почему он меняется, и всегда одинаково — первые 2 пинга возвращаются с ТТЛ=63, все следующие — 64. если остановить пинг и минут через 10 опять попробовать — опять первые 2 будут 63, следующие — 64

rain87
( 03.06.09 21:51:33 MSD ) автор топика
Ответ на: Re: почему может изменяться TTL? от rain87 03.06.09 21:51:33 MSD

Re: почему может изменяться TTL?

А известна топология сети? Мне кажется трудно ответить на вопрос о том какие должны быть TTL и почему не зная топологии.

kol65536
( 03.06.09 21:58:39 MSD )

Re: почему может изменяться TTL?

очевидно же: там где-то венда. это баги, да.

MoRoZ
( 03.06.09 21:59:41 MSD )
Ответ на: Re: почему может изменяться TTL? от rain87 03.06.09 21:51:33 MSD

Re: почему может изменяться TTL?

>вы вопрос мой вообще читали?

>я спрашивал почему он меняется

Ты спросил, я тебе ответил, что-то не так?

e000xf000h ★
( 03.06.09 22:00:21 MSD )
Ответ на: Re: почему может изменяться TTL? от rain87 03.06.09 21:51:33 MSD

Re: почему может изменяться TTL?

>первые 2 пинга возвращаются с ТТЛ=63, все следующие

e000xf000h ★
( 03.06.09 22:02:16 MSD )
Ответ на: Re: почему может изменяться TTL? от e000xf000h 03.06.09 21:43:41 MSD

Re: почему может изменяться TTL?

согласно этой логике дело в задержке

andreas90
( 03.06.09 22:02:36 MSD )

Re: почему может изменяться TTL?

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

kol65536
( 03.06.09 22:04:35 MSD )
Ответ на: Re: почему может изменяться TTL? от kol65536 03.06.09 21:58:39 MSD

Re: почему может изменяться TTL?

>А известна топология сети? Мне кажется трудно ответить на вопрос о том какие должны быть TTL и почему не зная топологии.

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

есть предположение что 10.64.255.254 и 194.х.х.х это одна и та же машина, причём оба эти интерфейса смотрят в одну сеть (буквально в один свич воткнуты). однако хз чем это предположение может помочь

ты хочешь сказать что первые 2 пакета там стабильно по секунде ждут непонятно чего? не смешно

rain87
( 03.06.09 22:05:32 MSD ) автор топика
Ответ на: Re: почему может изменяться TTL? от andreas90 03.06.09 22:02:36 MSD

Re: почему может изменяться TTL?

Да нету там нигде задержки больше 1с. Посмотрите время ответа пингов — 1мс.

kol65536
( 03.06.09 22:06:01 MSD )

Re: почему может изменяться TTL?

serji@localhost:~$ ping 195.94.224.3 PING 195.94.224.3 (195.94.224.3) 56(84) bytes of data. 64 bytes from 195.94.224.3: icmp_seq=1 ttl=59 time=6.52 ms 64 bytes from 195.94.224.3: icmp_seq=2 ttl=59 time=10.6 ms 64 bytes from 195.94.224.3: icmp_seq=3 ttl=59 time=5.33 ms 64 bytes from 195.94.224.3: icmp_seq=4 ttl=59 time=5.23 ms ^C --- 195.94.224.3 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3004ms rtt min/avg/max/mdev = 5.233/6.938/10.658/2.207 ms serji@localhost:~$ tracepath 195.94.224.3 1: 192.168.20.135 (192.168.20.135) 0.168ms pmtu 1500 1: 192.168.20.129 (192.168.20.129) 6.372ms 1: 192.168.20.129 (192.168.20.129) 6.368ms 2: 77.108.96.169 (77.108.96.169) 8.627ms 3: 62.117.100.166 (62.117.100.166) 10.822ms 4: dul-iki.comcor.ru (62.117.100.194) 9.900ms 5: 62.117.100.154 (62.117.100.154) 11.505ms asymm 3 6: 77.108.101.154 (77.108.101.154) 11.899ms asymm 4 7: switch.westcall.ru (195.94.226.33) 10.812ms asymm 5 8: ns2.westcall.ru (195.94.224.3) 10.923ms reached Resume: pmtu 1500 hops 8 back 59

e000xf000h ★
( 03.06.09 22:06:08 MSD )
Ответ на: Re: почему может изменяться TTL? от e000xf000h 03.06.09 22:06:08 MSD

Re: почему может изменяться TTL?

Resume: pmtu 1500 hops 8 back 59

e000xf000h ★
( 03.06.09 22:07:01 MSD )
Ответ на: Re: почему может изменяться TTL? от e000xf000h 03.06.09 22:07:01 MSD

Re: почему может изменяться TTL?

e000xf000h, ты(вы?) случаем не мой препод? �� лаконичность у вас схожа

rain87
( 03.06.09 22:18:57 MSD ) автор топика
Ответ на: Re: почему может изменяться TTL? от rain87 03.06.09 22:18:57 MSD

Re: почему может изменяться TTL?

>ты(вы?) случаем не мой препод?

>лаконичность у вас схожа

Спасибо, я не специально.

e000xf000h ★
( 03.06.09 22:32:10 MSD )
Ответ на: Re: почему может изменяться TTL? от rain87 03.06.09 22:05:32 MSD

Re: почему может изменяться TTL?

> есть предположение что 10.64.255.254 и 194.х.х.х это одна и та же машина, причём оба эти интерфейса смотрят в одну сеть (буквально в один свич воткнуты). однако хз чем это предположение может помочь

Ну как раз это предположение помочь может. Рутер при таком раскладе по идее пошлёт редирект (http://en.wikipedia.org/wiki/ICMP_Redirect_Message) хосту.

До того как хост получит его, пакеты идут через 10.64.255.254 (+1 хоп, TTL-=1). После получения редиректа, пакеты перенаправляются на 194. напрямую, минуя 10.64.255.254 (лишнего хопа нет, TTL не уменьшается).

DrLivsy
( 03.06.09 22:33:27 MSD )
Ответ на: Re: почему может изменяться TTL? от DrLivsy 03.06.09 22:33:27 MSD

Re: почему может изменяться TTL?

логично, я оже об этом пдумал, но где тогда редирект-сообщение?

Den0k ★
( 03.06.09 22:54:46 MSD )
Ответ на: Re: почему может изменяться TTL? от DrLivsy 03.06.09 22:33:27 MSD

Re: почему может изменяться TTL?

спс за ответ, но я не совсем понимаю как оно работает в моём случае
вот сценарий:

The ICMP Redirect message is only sent in the following situation:

1. Host A is sending a packet to Host B. Host A’s default IP router is router R1. Because Host B is a remote host, Host A forwards the packet destined for Host B to its default router R1.
2. R1 checks its routing table and finds that the next hop for the route to the network for Host B is router R2.
3. If Host A and R2 are on the same network that is also directly attached to R1, an ICMP Redirect message is sent to Host A informing it that R2 is the better route when sending to Host B.
4. Router R1 then forwards the IP datagram to R2.
5. Host A adds a host route to its routing table for Host B’s IP address with router R2’s IP address as the forwarding address. Subsequent datagrams from Host A to Host B are forwarded by means of router R2.

пункт 3 — If Host A and R2 are on the same network — в моём случае мой комп находится в сети 10.64.0.0/16, а R2 (который в моём случае является и Host B, 194.х.х.х) — в другой сети. и соответственно пункт 5 никак не может выполнится

rain87
( 03.06.09 23:00:54 MSD ) автор топика
Ответ на: Re: почему может изменяться TTL? от rain87 03.06.09 23:00:54 MSD

Re: почему может изменяться TTL?

Есть такое понятие, shared medium, когда на одном к примеру эзернет сегменте сидят несколько различных ip подсеток. Вот, почитай, в принципе вроде здесь http://book.chinaunix.net/special/ebook/oreilly/Understanding_Linux_Network_I. как раз твой случай описан.

DrLivsy
( 04.06.09 00:02:05 MSD )
Ответ на: Re: почему может изменяться TTL? от Den0k 03.06.09 22:54:46 MSD

Re: почему может изменяться TTL?

так это проверить можно только tcpdump’ом, до пинга оно не доходит

DrLivsy
( 04.06.09 00:05:16 MSD )
Ответ на: Re: почему может изменяться TTL? от rain87 03.06.09 23:00:54 MSD

Re: почему может изменяться TTL?

а пробовал tcpdump глядеть что по интерфейсу при пинге проходит? нужно нечто вроде

tcpdump -n -v ‘icmp’

tcpdump -n -v -X ‘icmp’

и глядеть содержимое. опять же traceroute до узла полезно сделать.

iero
( 04.06.09 00:12:36 MSD )
Ответ на: Re: почему может изменяться TTL? от iero 04.06.09 00:12:36 MSD

Re: почему может изменяться TTL?

tcpdump не канает. админских прав на машины нет, а к 194.х.х.х вообще доступа нет

traceroute идёт за 2 хопа, 10.64.255.254 и потом 194.х.х.х

>Есть такое понятие, shared medium, когда на одном к примеру эзернет сегменте сидят несколько различных ip подсеток. Вот, почитай, в принципе вроде здесь http://book.chinaunix.net/special/ebook/oreilly/Understanding_Linux_Network_I. как раз твой случай описан.

очень похоже на мой случай. как я понимаю, дело происходит таким макаром: есть А (мой комп, 10.64.0.1 к примеру), Б (мой шлюз, 10.64.255.254, который знает где 194.х.х.х), В (194.х.х.х, у него в качестве маршрута на 10.64.0.0/16 прописан Б). все 3 компа включены в один свич

когда А посылает первый пинг на В(194.х.х.х), он идёт к Б(10.64.255.254), который соображает что А и В находятся в shared media, и говорит А чтоб тот говорил с В напрямую. при этом, допустим, он SNAT-ит этот пинг и пересылает его на В. В отвечает через Б, ТТЛ=63

А посылает АРП запрос, узнаёт мак В. и посылает второй пинг уже напрямую В. В отвечает через Б (поскольку 10.64.0.0/16 у него в роутах прописана на Б), Б аналогично соображает что А и В находятся в shared media, и отсылает В редирект. второй пинг проходит с ТТЛ=63

А посылает третий пинг, напрямую В. к этому времени В уже тоже узнал мак А и отвечает напрямую, ТТЛ=64. все последующие пинги аналогичные

похоже на правду?

rain87
( 04.06.09 00:53:02 MSD ) автор топика
Ответ на: Re: почему может изменяться TTL? от rain87 04.06.09 00:53:02 MSD

Re: почему может изменяться TTL?

Вроде так. За исключением того, что Б не SNAT-ит ничего, он просто форвардит пакет по таблице на В. И сообщение-редирект по идее приходит только на A. Почему это проходит спустя 2 пинга — хз.

DrLivsy
( 04.06.09 01:11:42 MSD )
Ответ на: Re: почему может изменяться TTL? от DrLivsy 04.06.09 01:11:42 MSD

Re: почему может изменяться TTL?

>Вроде так. За исключением того, что Б не SNAT-ит ничего, он просто форвардит пакет по таблице на В. И сообщение-редирект по идее приходит только на A. Почему это проходит спустя 2 пинга — хз.

я для этого и написал что он снатит. если б он просто форвардил, то по идее только один пинг был 63. а если снат, то вроде как раз 2

хотя нафиг снат когда прописаны роуты — загадка конечно. но у нас в универе всё можно ожидать, вполне может быть что так и есть

rain87
( 04.06.09 01:34:56 MSD ) автор топика
Ответ на: Re: почему может изменяться TTL? от rain87 04.06.09 01:34:56 MSD

Re: почему может изменяться TTL?

в общем про SNAT я тупанул, ночью дело было. понятно что снат он не будет редиректить, иначе глупость может получиться

вопрос теперь стоит ребром — почему именно в начале именно 2 ТТЛа по 63?

если ставить его пинговать, скажем, на полчасика, то каждые минут 10 проскакивает один ТТЛ=63, т.е. чётко вписывается в теорию про ICMP REDIRECT. но в самом начале 2 ТТЛа по 63, и вопрос именно про них. куда нить ещё ткнёте?

rain87
( 04.06.09 12:25:25 MSD ) автор топика

Re: почему может изменяться TTL?

доброго времени суток. отпишусь таки, на всякий пожарный

препод сёдня соизволил дать ответ на вопрос, заданный в начале топика. привожу ответ дословно (в меру своей памяти):

«ТТЛ изменяется из-за того, что в сети находится реальный ИП. Первый пакет он пытается вытолкнуть наружу, но потом раздупляется что он находится в одной сети с ним, и шлёт напрямую. А почему 2 раза? А потому что винда так работает с ARP кешем, и не успевает до второго пинга. А если сеть будет сильно загружена, то тогда второй пинг будет 64»

короче бред редкостный. особенно порадовал ещё один его изыск на тему, почему винда отсылает пакеты с ТТЛ=128, а линух — с ТТЛ=64: «а линух принимает 128, а что такое 128 он не знает, он знает 64, вот и посылает»

почему _на самом деле_ 2 первых пинга возвращаются с ТТЛ=63, я так и не разобрался. ересь про то что винда что то там не успевает легко опровергается двумя одиночными пингами с разрывом секунд 10 (оба приходят с ТТЛ=63). да и собсно причём тут винда, если это ответные пинги с 194.х.х.х? ))

ноут свой я к сети подключал, снифером смотрел. действительно, первые 2 пинга возвращаются от шлюза, с маком шлюза, следующие пакеты — с маком от 194.х.х.х. шлюз действительно высылает ICMP_REDIRECT, правда я так и не уловил закономерности — иногда он приходил через 2 пинга, иногда через 3

в любом случае, спс всем за участие. особенно спасибо за статью про ICMP_REDIRECT, я про него не знал ) терь осталось повторить вышенаписанный бред преподу на консультации и получить допуск

Почему меняется ttl при пинге

если сделать ping 194.х.х.х (веб-сервер нашего корпуса), то получается такое:

Обмен пакетами с 194.х.х.х по 32 байт:

Ответ от 194.х.х.х: число байт=32 время=1мс TTL=63
Ответ от 194.х.х.х: число байт=32 времяОтвет от 194.х.х.х: число байт=32 времяОтвет от 194.х.х.х: число байт=32 время

при этом в таблицу arp того компа, с которого пинг пускаешь, добавляется запись для 194.х.х.х (после первого же пинга)

посмотреть на 194.х.х.х разумеется нельзя, кто нас туда пустит. тем не менее надо что то ответить, почему первые 2 пинга возвращаются с ТТЛ=63?

буду благодарен за идеи

Re: почему может изменяться TTL?

Re: почему может изменяться TTL?

Поле Время жизни (Time to Live = TTL) занимает один байт и означает предельный срок, в течение которого пакет может перемещаться по сети. Время жизни данного пакета измеряется в секундах и задается источником передачи. На маршрутизаторах и в других узлах сети по истечении каждой секунды из текущего времени жизни вычитается единица; единица вычитается и в том случае, когда время задержки меньше секунды. Поскольку современные маршрутизаторы редко обрабатывают пакет дольше, чем за одну секунду, то время жизни можно считать равным максимальному числу узлов, которые разрешено пройти данному пакету до того, как он достигнет места назначения. Если параметр времени жизни станет нулевым до того, как пакет достигнет получателя, этот пакет будет уничтожен. Время жизни можно рассматривать как часовой механизм самоуничтожения. Значение этого поля изменяется при обработке заголовка IP-пакета.

Re: почему может изменяться TTL?

Re: почему может изменяться TTL?

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

Соответстенно там где пакет проходил через один лишний узел TTL меньше на 1

Re: почему может изменяться TTL?

e000xf000h, а вы вопрос мой вообще читали? что такое ТТЛ я вроде как не спрашивал, благо и сам знаю. я спрашивал почему он меняется, и всегда одинаково — первые 2 пинга возвращаются с ТТЛ=63, все следующие — 64. если остановить пинг и минут через 10 опять попробовать — опять первые 2 будут 63, следующие — 64

Re: почему может изменяться TTL?

А известна топология сети? Мне кажется трудно ответить на вопрос о том какие должны быть TTL и почему не зная топологии.

Re: почему может изменяться TTL?

очевидно же: там где-то венда. это баги, да.

Re: почему может изменяться TTL?

>вы вопрос мой вообще читали?

>я спрашивал почему он меняется

Ты спросил, я тебе ответил, что-то не так?

Re: почему может изменяться TTL?

>первые 2 пинга возвращаются с ТТЛ=63, все следующие

Re: почему может изменяться TTL?

согласно этой логике дело в задержке

Re: почему может изменяться TTL?

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

Re: почему может изменяться TTL?

>А известна топология сети? Мне кажется трудно ответить на вопрос о том какие должны быть TTL и почему не зная топологии.

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

есть предположение что 10.64.255.254 и 194.х.х.х это одна и та же машина, причём оба эти интерфейса смотрят в одну сеть (буквально в один свич воткнуты). однако хз чем это предположение может помочь

ты хочешь сказать что первые 2 пакета там стабильно по секунде ждут непонятно чего? не смешно

Re: почему может изменяться TTL?

Да нету там нигде задержки больше 1с. Посмотрите время ответа пингов — 1мс.

Re: почему может изменяться TTL?

Re: почему может изменяться TTL?

Resume: pmtu 1500 hops 8 back 59

Re: почему может изменяться TTL?

e000xf000h, ты(вы?) случаем не мой препод? �� лаконичность у вас схожа

Re: почему может изменяться TTL?

>ты(вы?) случаем не мой препод?

>лаконичность у вас схожа

Спасибо, я не специально.

Re: почему может изменяться TTL?

> есть предположение что 10.64.255.254 и 194.х.х.х это одна и та же машина, причём оба эти интерфейса смотрят в одну сеть (буквально в один свич воткнуты). однако хз чем это предположение может помочь

Ну как раз это предположение помочь может. Рутер при таком раскладе по идее пошлёт редирект (http://en.wikipedia.org/wiki/ICMP_Redirect_Message) хосту.

До того как хост получит его, пакеты идут через 10.64.255.254 (+1 хоп, TTL-=1). После получения редиректа, пакеты перенаправляются на 194. напрямую, минуя 10.64.255.254 (лишнего хопа нет, TTL не уменьшается).

Re: почему может изменяться TTL?

логично, я оже об этом пдумал, но где тогда редирект-сообщение?

Re: почему может изменяться TTL?

спс за ответ, но я не совсем понимаю как оно работает в моём случае
вот сценарий:

The ICMP Redirect message is only sent in the following situation:

1. Host A is sending a packet to Host B. Host A’s default IP router is router R1. Because Host B is a remote host, Host A forwards the packet destined for Host B to its default router R1.
2. R1 checks its routing table and finds that the next hop for the route to the network for Host B is router R2.
3. If Host A and R2 are on the same network that is also directly attached to R1, an ICMP Redirect message is sent to Host A informing it that R2 is the better route when sending to Host B.
4. Router R1 then forwards the IP datagram to R2.
5. Host A adds a host route to its routing table for Host B’s IP address with router R2’s IP address as the forwarding address. Subsequent datagrams from Host A to Host B are forwarded by means of router R2.

пункт 3 — If Host A and R2 are on the same network — в моём случае мой комп находится в сети 10.64.0.0/16, а R2 (который в моём случае является и Host B, 194.х.х.х) — в другой сети. и соответственно пункт 5 никак не может выполнится

Re: почему может изменяться TTL?

Есть такое понятие, shared medium, когда на одном к примеру эзернет сегменте сидят несколько различных ip подсеток. Вот, почитай, в принципе вроде здесь http://book.chinaunix.net/special/ebook/oreilly/Understanding_Linux_Network_I. как раз твой случай описан.

Re: почему может изменяться TTL?

так это проверить можно только tcpdump’ом, до пинга оно не доходит

Re: почему может изменяться TTL?

а пробовал tcpdump глядеть что по интерфейсу при пинге проходит? нужно нечто вроде

tcpdump -n -v ‘icmp’

tcpdump -n -v -X ‘icmp’

и глядеть содержимое. опять же traceroute до узла полезно сделать.

Re: почему может изменяться TTL?

tcpdump не канает. админских прав на машины нет, а к 194.х.х.х вообще доступа нет

traceroute идёт за 2 хопа, 10.64.255.254 и потом 194.х.х.х

>Есть такое понятие, shared medium, когда на одном к примеру эзернет сегменте сидят несколько различных ip подсеток. Вот, почитай, в принципе вроде здесь http://book.chinaunix.net/special/ebook/oreilly/Understanding_Linux_Network_I. как раз твой случай описан.

очень похоже на мой случай. как я понимаю, дело происходит таким макаром: есть А (мой комп, 10.64.0.1 к примеру), Б (мой шлюз, 10.64.255.254, который знает где 194.х.х.х), В (194.х.х.х, у него в качестве маршрута на 10.64.0.0/16 прописан Б). все 3 компа включены в один свич

когда А посылает первый пинг на В(194.х.х.х), он идёт к Б(10.64.255.254), который соображает что А и В находятся в shared media, и говорит А чтоб тот говорил с В напрямую. при этом, допустим, он SNAT-ит этот пинг и пересылает его на В. В отвечает через Б, ТТЛ=63

А посылает АРП запрос, узнаёт мак В. и посылает второй пинг уже напрямую В. В отвечает через Б (поскольку 10.64.0.0/16 у него в роутах прописана на Б), Б аналогично соображает что А и В находятся в shared media, и отсылает В редирект. второй пинг проходит с ТТЛ=63

А посылает третий пинг, напрямую В. к этому времени В уже тоже узнал мак А и отвечает напрямую, ТТЛ=64. все последующие пинги аналогичные

похоже на правду?

Re: почему может изменяться TTL?

Вроде так. За исключением того, что Б не SNAT-ит ничего, он просто форвардит пакет по таблице на В. И сообщение-редирект по идее приходит только на A. Почему это проходит спустя 2 пинга — хз.

Re: почему может изменяться TTL?

>Вроде так. За исключением того, что Б не SNAT-ит ничего, он просто форвардит пакет по таблице на В. И сообщение-редирект по идее приходит только на A. Почему это проходит спустя 2 пинга — хз.

я для этого и написал что он снатит. если б он просто форвардил, то по идее только один пинг был 63. а если снат, то вроде как раз 2

хотя нафиг снат когда прописаны роуты — загадка конечно. но у нас в универе всё можно ожидать, вполне может быть что так и есть

Re: почему может изменяться TTL?

в общем про SNAT я тупанул, ночью дело было. понятно что снат он не будет редиректить, иначе глупость может получиться

вопрос теперь стоит ребром — почему именно в начале именно 2 ТТЛа по 63?

если ставить его пинговать, скажем, на полчасика, то каждые минут 10 проскакивает один ТТЛ=63, т.е. чётко вписывается в теорию про ICMP REDIRECT. но в самом начале 2 ТТЛа по 63, и вопрос именно про них. куда нить ещё ткнёте?

Re: почему может изменяться TTL?

доброго времени суток. отпишусь таки, на всякий пожарный

препод сёдня соизволил дать ответ на вопрос, заданный в начале топика. привожу ответ дословно (в меру своей памяти):

«ТТЛ изменяется из-за того, что в сети находится реальный ИП. Первый пакет он пытается вытолкнуть наружу, но потом раздупляется что он находится в одной сети с ним, и шлёт напрямую. А почему 2 раза? А потому что винда так работает с ARP кешем, и не успевает до второго пинга. А если сеть будет сильно загружена, то тогда второй пинг будет 64»

короче бред редкостный. особенно порадовал ещё один его изыск на тему, почему винда отсылает пакеты с ТТЛ=128, а линух — с ТТЛ=64: «а линух принимает 128, а что такое 128 он не знает, он знает 64, вот и посылает»

почему _на самом деле_ 2 первых пинга возвращаются с ТТЛ=63, я так и не разобрался. ересь про то что винда что то там не успевает легко опровергается двумя одиночными пингами с разрывом секунд 10 (оба приходят с ТТЛ=63). да и собсно причём тут винда, если это ответные пинги с 194.х.х.х? ))

ноут свой я к сети подключал, снифером смотрел. действительно, первые 2 пинга возвращаются от шлюза, с маком шлюза, следующие пакеты — с маком от 194.х.х.х. шлюз действительно высылает ICMP_REDIRECT, правда я так и не уловил закономерности — иногда он приходил через 2 пинга, иногда через 3

в любом случае, спс всем за участие. особенно спасибо за статью про ICMP_REDIRECT, я про него не знал ) терь осталось повторить вышенаписанный бред преподу на консультации и получить допуск

Что такое TTL в пинге?

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

Определение

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

ttl что такое

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

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

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

usb ttl

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

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-сообщения используется для вычисления каждого последующего времени перемещения.

ip ttl

В многоадресной рассылке IP TTL управляет областью или диапазоном, в котором может быть перенаправлен пакет. Условно IP ограничивается:

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

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

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

ttl patch

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

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

изменяем ttl

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

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

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

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

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

ttl pl

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

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

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

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

Почему при пинге выдаёт высокий TTL?

Energoblock

Иногда такой TTL появляется при переводе устройства в Recovery mode.
Если роутер делает так самостоятельно, то лучше обновить прошивку до самой последней версии, сбросить к настройкам по-умолчанию и настроить заново.

Либо подключиться к консольному порту на плате роутера и напрямую смотреть логи в момент перехода в такое состояние.

Похожие публикации:

  1. Как остановить выполнение макроса в excel
  2. Как распечатать пдф файл на принтере формат а4
  3. Почему не работает сенсорный экран на ноутбуке
  4. Что такое протокол wps

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *