Как 8 бит, достаточных для TTL в IP-заголовке?

TTL (время жить) - это 8-битное поле в заголовке IPv4. Он может принимать любое значение от 0 до 255. Если это означает, что пакет может принимать не более 255 переходов (маршрутизаторов) на своем пути к месту назначения, тогда пакет будет отброшен.

Как мне можно отправлять пакеты по континентам?

14 голосов | спросил reddi hari 22 FebruaryEurope/MoscowbThu, 22 Feb 2018 15:12:01 +0300000000pmThu, 22 Feb 2018 15:12:01 +030018 2018, 15:12:01

4 ответа


24

Даже при отправке пакетов по континентам TTL 255 более чем достаточно - там просто не задействовано больше маршрутизаторов.

Запуск быстрого теста (из Германии) показывает 17 прыжков в США и 18 в Японию. Обычно вы не получаете выше 30 или около того. Это связано с иерархической структурой Интернета - вы нажимаете основную сеть вашего интернет-провайдера всего на 2-5 переходов, еще 2-3 хэта переходят к следующему провайдеру и т. Д.

Обратите внимание, что TTL учитывает только переходы уровня 3. Гораздо более часто используемые переходы уровня 2 на коммутаторы не влияют на TTL - в Ethernet и подобных протоколах нет такой концепции.

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

ответил Zac67 22 FebruaryEurope/MoscowbThu, 22 Feb 2018 15:17:05 +0300000000pmThu, 22 Feb 2018 15:17:05 +030018 2018, 15:17:05
8

8 бит более чем достаточно. из-за ISP-пиринга вы можете добраться до пункта назначения, путешествуя через менее 5 или 6 интернет-провайдеров, а из-за базовой сетевой архитектуры пакет будет передавать только через 3 или 4 маршрутизатора максимум в одном интернет-провайдере.

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

ответил abdul_razak 22 FebruaryEurope/MoscowbThu, 22 Feb 2018 15:35:44 +0300000000pmThu, 22 Feb 2018 15:35:44 +030018 2018, 15:35:44
7

Небольшое дополнение к другим ответам будет более полным: хотя многие маршрутизаторы, похоже, отправляют пакеты с TTL 255 (для пакетов, которые они производят, конечно, не те, которые они отправляют!), большинство операционных систем отправляют пакеты со значительно более низкими начальными значениями TTL:

  • Windows использует 128 (начиная с Windows NT 4),
  • MacOS X и Linux используют 64

Некоторые системы, используемые для отправки более низких значений (например, в Windows 95 был установлен TTL по умолчанию 32), эти значения были подняты для предотвращения проблем с возможными более длинными маршрутами ... но эти системы определенно могли охватить практически любой хост в Интернете Тогда. И, хотя у меня нет никаких доказательств этого, я бы сказал, что необходимое количество хмелей уменьшилось с тех пор, поскольку все больше и больше волокон дальнего света установлено для переноса трафика.

Также не забывайте, что количество переходов и географическое расстояние не коррелируют . Океаны обычно пересекаются с одним прыжком (оптические повторители вдоль подводных волокон не касаются пакетов, только маршрутизаторы уменьшают TTL). Просто сделал traceroute из Швейцарии в Новую Зеландию: хоп № 7 находится менее чем в 50 км от моего места, № 9 находится в Калифорнии, а №10 - в Новой Зеландии ... межконтинентальная транзитная часть, как правило, всего лишь несколько перелетов в маршруте остальное в основном доходит до международного перевозчика и прибывает в пункт назначения из него.

ответил Ale 23 FebruaryEurope/MoscowbFri, 23 Feb 2018 03:34:12 +0300000000amFri, 23 Feb 2018 03:34:12 +030018 2018, 03:34:12
3

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

Из интернет-протокола RFC 791:

  

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

Многосекундные пакеты не были необычными: минимальная допустимая IP-датаграмма из 68 октетов занимает более 2 секунд при 300 бодах. Тем не менее, я никогда не видел маршрутизатора, который уменьшался более чем на 1 для многосекундных пакетов.

В наши дни мир быстрее.

ответил jonathanjo 10 Maypm18 2018, 14:09:52

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132