7

Я знаю, что значение «Время жизни по умолчанию» равно 255, каждый раз, когда пакет ipv4 пересекает маршрутизатор, это значение уменьшается на 1.

Но, когда я пингую мой маршрутизатор adsl, он показывает TTL как 64

Pinging 192.168.0.1 with 32 bytes of data:
Reply from 192.168.0.1: bytes=32 time=1ms TTL=64
Reply from 192.168.0.1: bytes=32 time=2ms TTL=64
Reply from 192.168.0.1: bytes=32 time=2ms TTL=64
Reply from 192.168.0.1: bytes=32 time=2ms TTL=64

Существует только один переход ч / б от компьютера к маршрутизатору, поэтому мой ожидаемый TTL составляет 254, но почему здесь ping показывает TTL как 64 ..

Любая помощь может быть оценена ...

3 ответа3

10

Вот соответствующая цитата на странице ping :

ДЕТАЛИ TTL Значение TTL IP-пакета представляет собой максимальное количество IP-маршрутизаторов, через которые пакет может пройти, прежде чем его выбросят. В текущей практике вы можете ожидать, что каждый маршрутизатор в Интернете будет уменьшать поле TTL ровно на единицу.

Спецификация TCP/IP рекомендует установить для поля TTL для IP-пакетов значение 64, но во многих системах используются меньшие значения (4.3BSD использует 30, 4.2BSD использует 15).

И процитировать RFC 1700:

Текущее рекомендуемое время жизни по умолчанию (TTL) для Интернет-протокола (IP) составляет 64.

4

Максимальный TTL составляет 255, но это не значение по умолчанию. Значение по умолчанию зависит от операционной системы, как вы можете видеть здесь.

Например, посмотрите на pings до 127.0.0.1 в Windows против Linux:

Мои окна 7:

Пинг Windows

Мой Linux-компьютер:

Линукс пинг

Таким образом, кажется, что вы получаете ответы от машины, по умолчанию 64.

0

Значения TTL определяются удаленной машиной. Например, если вы пропингуете компьютер Linux, его исходное значение TTL равно 64. В зависимости от того, сколько сетей он пересекает, чтобы вернуться к вам, TTL вычитается значением 1. Так что если вы пингуете 8.8.8.8, который является сервером имен Googles, он имеет исходное значение 128. К тому времени, когда он вернется к вам, он может иметь значение 121 (для меня). Это означает, что он пересек 7 сетей, чтобы добраться до меня, и это была машина Windows.

Общие значения TTL - Маршрутизатор - 255 Windows - 128 Linux-Mac - 64

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .