Перейти к содержимому

Что такое ttl при пинге

  • автор:

проверка связи

Проверяет подключение на уровне IP к другому компьютеру TCP/IP, отправляя сообщения об эхо-запросе протокола ICMP. Отображается получение соответствующих сообщений эхо-ответа, а также время кругового пути. ping — это основная команда TCP/IP, используемая для устранения неполадок с подключением, доступностью и разрешением имен. Используется без параметров, эта команда отображает содержимое справки.

Эту команду можно также использовать для проверки имени компьютера и IP-адреса компьютера. Если проверка подключения к IP-адресу выполнена успешно, но проверка pinging имя компьютера не является, у вас может возникнуть проблема с разрешением имен. В этом случае убедитесь, что указанное имя компьютера можно разрешить через файл локальных узлов, используя запросы системы доменных имен (DNS) или методы разрешения имен NetBIOS.

Эта команда доступна только в том случае, если протокол TCP/IP установлен в качестве компонента в свойствах сетевого адаптера в сетевых Подключение ions.

Синтаксис

ping [/t] [/a] [/n ] [/l ] [/f] [/I ] [/v ] [/r ] [/s ] [] [/w ] [/R] [/S ] [/4] [/6]

Параметры

Параметр Описание
/T Указывает, что связь продолжает отправлять сообщения эхо-запроса в место назначения до прерывания. Чтобы прервать и отобразить статистику, нажмите клавиши CTRL+ВВОД. Чтобы прервать и выйти из этой команды, нажмите клавиши CTRL+C.
/a Указывает разрешение обратного имени на целевом IP-адресе. Если эта операция выполнена успешно, отображается соответствующее имя узла.
/N

Указывает количество отправленных сообщений эхо-запроса. Значение по умолчанию — 4.
/L

Указывает длину в байтах поля данных в сообщениях эхо-запроса. Значение по умолчанию — 32. Максимальный размер — 65 500.
/f Указывает, что сообщения эхо-запроса отправляются с флагом «Не фрагментировать » в заголовке IP-адреса с значением 1 (доступно только для IPv4). Сообщение эхо-запроса не может быть фрагментировано маршрутизаторами в пути к месту назначения. Этот параметр полезен для устранения неполадок с максимальной единицей передачи (PMTU).

Указывает значение поля Time To Live (TTL) в заголовке IP-адреса для отправленных сообщений эхо-запроса. Значение по умолчанию — значение TTL по умолчанию для узла. Максимальное значение TTL — 255.
/V

Указывает значение поля типа службы (TOS) в заголовке IP-адреса для отправленных сообщений эхо-запроса (доступно только для IPv4). По умолчанию установлено значение 0. TOS указывается как десятичное значение от 0 до 255.
/R

Указывает параметр «Маршрут записи» в заголовке IP-адреса для записи пути, принятого сообщением запроса эхо и соответствующим сообщением ответа на эхо (доступно только в IPv4). Каждый прыжк в пути использует запись в параметре «Маршрут записи». Если это возможно, укажите число , равное или больше количества прыжков между источником и назначением. Число должно быть не менее 1 и не более 9.
/s

Указывает, что параметр метки времени Интернета в заголовке IP-адреса используется для записи времени прибытия сообщения эхо-запроса и соответствующего сообщения эхо-ответа для каждого прыжка. Число должно быть не менее 1 и не более 4. Этот параметр необходим для адресов назначения канала.
/J

Указывает сообщения эхо-запроса, используя параметр «Свободный исходный маршрут » в заголовке IP с набором промежуточных назначений, указанных в списке узлов (доступно только для IPv4). При слабой маршрутизации источника последовательные промежуточные назначения могут быть разделены одним или несколькими маршрутизаторами. Максимальное число адресов или имен в списке узлов — 9. Список узлов представляет собой ряд IP-адресов (в точечной десятичной нотации), разделенных пробелами.
/K

Указывает сообщения эхо-запроса, используя параметр «Строгий исходный маршрут » в заголовке IP с набором промежуточных назначений, указанных в списке узлов (доступно только для IPv4). При строгой маршрутизации источника следующий промежуточный целевой объект должен быть напрямую доступен (он должен быть соседом в интерфейсе маршрутизатора). Максимальное число адресов или имен в списке узлов — 9. Список узлов представляет собой ряд IP-адресов (в точечной десятичной нотации), разделенных пробелами.

Указывает время ожидания сообщения эхо-ответа в миллисекундах, соответствующего заданному сообщению эхо-запроса. Если сообщение эхо-ответа не получено в течение времени ожидания, отображается сообщение об ошибке «Время ожидания запроса». Время ожидания по умолчанию — 4000 (4 секунды).
/R Указывает трассировку пути кругового пути (доступно только для IPv6).
/S

Указывает исходный адрес, используемый (доступен только в IPv6).
/4 Указывает протокол IPv4, используемый для проверки связи. Этот параметр не требуется для идентификации целевого узла с IPv4-адресом. Это необходимо только для идентификации целевого узла по имени.
/6 Указывает протокол IPv6, используемый для проверки связи. Этот параметр не требуется для идентификации целевого узла с IPv6-адресом. Это необходимо только для идентификации целевого узла по имени.
Указывает имя узла или IP-адрес назначения.
/? Отображение справки в командной строке.

Пример выходных данных команды ping

C:\>ping example.microsoft.com pinging example.microsoft.com [192.168.239.132] with 32 bytes of data: Reply from 192.168.239.132: bytes=32 time=101ms TTL=124 Reply from 192.168.239.132: bytes=32 time=100ms TTL=124 Reply from 192.168.239.132: bytes=32 time=120ms TTL=124 Reply from 192.168.239.132: bytes=32 time=120ms TTL=124 

Примеры

Чтобы выполнить связь с назначением 10.0.99.221 и разрешить 10.0.99.221 имя узла, введите:

ping /a 10.0.99.221 

Чтобы получить связь с конечным 10.0.99.221 с 10 сообщениями эхо-запроса, каждая из которых имеет поле «Данные» размером 1000 байт, введите:

ping /n 10 /l 1000 10.0.99.221 

Чтобы ping the destination 10.0.99.221 и записать маршрут для 4 прыжков, введите:

ping /r 4 10.0.99.221 

Чтобы получить связь с назначением 10.0.99.221 и указать свободный исходный маршрут 10.12.0.1-10.29.3.1-10.1.44.1, введите:

ping /j 10.12.0.1 10.29.3.1 10.1.44.1 10.0.99.221 

Дополнительные ссылки

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

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

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

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

Energoblock

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

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

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

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

MaxDukov

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

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

Что такое время жизни пакета (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 «прыгает» с 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)

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

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

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

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

Что такое TTL в Linux

В Linux TTL (Time to Live) — это значение, которое определяет время жизни пакета в сети. Это поле содержится в заголовке IP-пакета и определяет максимальное количество шагов (количество узлов, через которые может пройти пакет), которое пакет может сделать, прежде чем он будет отброшен.

Подробней о TTL

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

В Linux, вы можете установить значение TTL для исходящих пакетов, используя утилиту ping с опцией -t. Например, команда «ping -t 10.0.0.1» отправит ICMP-пакеты на хост 10.0.0.1 с TTL, установленным на значение по умолчанию, обычно 64. Если вы хотите изменить значение TTL, вы можете использовать опцию -i, например, «ping -t 10.0.0.1 -i 128» установит TTL равным 128.

Для чего?

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

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

Наконец, в Linux TTL может быть использован для тестирования сетевых подключений и диагностики проблем с сетью. Например, команда ping с опцией -t позволяет отправить пакеты с заданным значением TTL на удаленный хост и измерить время, необходимое для получения ответа. Если ответ не получен, это может указывать на проблемы в сети или на то, что удаленный хост недоступен.

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

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