TTL (время жизни) - это 8-битное поле в заголовке IPv4. Может принимать любое значение от 0 до 255. Если это означает, что пакет может пройти максимум 255 прыжков (маршрутизаторов) на пути к месту назначения, тогда пакет будет отброшен.
Как я могу отправлять пакеты через континенты?
traceroute
инструментов отказываются после 30 прыжков - «диаметр интернета» не так велик, как вы думаете.Ответы:
Даже при отправке пакетов через континенты TTL 255 более чем достаточно - просто не задействовано больше маршрутизаторов.
Быстрый тест (из Германии) показывает 17 прыжков в США и 18 в Японию. Обычно вы не получаете больше 30 или около того. Это связано с иерархической структурой Интернета - вы попали в магистраль своего провайдера всего за 2-5 прыжков, еще 2-3 прыжка приведут вас к следующему поставщику и т. Д.
Обратите внимание, что TTL учитывает только прыжки уровня 3. Гораздо более часто используемые переходы уровня 2 между коммутаторами не влияют на TTL - такого понятия нет в Ethernet или подобных протоколах.
Кроме того, инкапсуляция пакета для туннельного транспорта «замораживает» TTL, находясь в туннеле - независимо от того, сколько прыжков принимает внешний пакет (у него есть собственный TTL), весь туннель считается только одним или двумя прыжками для внутреннего пакета.
источник
Небольшое дополнение к другим ответам, чтобы быть более полным: хотя многие маршрутизаторы, похоже, отправляют пакеты с TTL 255 (для пакетов, которые они производят сами, а не для тех, которые они пересылают!), Большинство операционных систем отправляют пакеты с большим количеством более низкие начальные значения TTL:
Некоторые системы использовали для отправки более низких значений (например, Windows 95 имел TTL по умолчанию 32), эти значения были увеличены, чтобы предотвратить проблемы с возможно более длинными маршрутами ... но эти системы определенно были в состоянии достигнуть почти любого хоста в Интернете тогда. И, хотя у меня нет никаких доказательств этого, я бы сказал, что необходимое количество прыжков с тех пор уменьшилось, потому что для передачи трафика устанавливается все больше и больше дальних волокон.
Также не забывайте, что количество прыжков и географическое расстояние не коррелируют . Океаны обычно пересекаются с помощью одного перехода (оптические повторители вдоль подводных волокон не касаются пакетов, только маршрутизаторы уменьшают TTL). Только что сделал трассировку из Швейцарии в Новую Зеландию: перелет № 7 находится менее чем в 50 км от моего места, № 9 - в Калифорнии, а № 10 - в Новой Зеландии ... межконтинентальная транзитная часть, как правило, всего несколько прыжков на маршруте остальная часть в основном достигает международного перевозчика и прибывает к месту назначения от него.
источник
8 бит более чем достаточно. из-за пиринга ISP вы можете достичь пункта назначения, путешествуя менее чем через 5 или 6 ISP, а из-за архитектуры магистральной сети пакет будет передаваться максимум через 3 или 4 маршрутизатора в одном ISP.
если вы увеличите TTL, для не маршрутизируемых пунктов назначения пакет будет перемещаться по сети, пока TTL не станет равным 0 - что будет излишне потреблять полосу пропускания.
источник
Примечание от исторического отдела: единицами TTL являются секунды , а разрешенный временной бюджет уменьшается на секунду для каждого прыжка маршрутизатора.
Из интернет-протокола RFC 791:
Мультисекундные пакеты не были чем-то необычным: минимально допустимая датаграмма IP в 68 октетов занимает более 2 секунд при скорости 300 бод. Тем не менее, я никогда не видел маршрутизатор, который уменьшился более чем на 1 для мультисекундных пакетов.
Мир быстрее в эти дни.
источник