Учитывая, что разные операционные системы могут использовать разные типы пакетов (например: UDP-пакеты, TCP-пакеты, ICMP-эхо-запросы), могу ли я быть уверен, что активный сеанс браузера будет идти по тому же пути, что и вызов traceroute?

Другими словами, если я активно просматриваю www.stackexchange.com, могу ли я быть уверен, что мой сеанс маршрутизируется через узлы, возвращаемые traceroute на www.stackexchange.com одновременно с активным сеансом браузера?

2 ответа2

2

Если вы еще не понимаете IP-маршрутизацию, результаты traceroute ничего вам не скажут. Маршрут между двумя узлами через более широкий Интернет может меняться со второго на второй. И маршрут в одном направлении не совпадает с обратным. И это даже не учитывает тот факт, что конкретный случай, о котором вы упоминаете, использует CDN, а это означает, что не только может измениться маршрут, но и фактические машины, с которыми вы разговариваете, могут отличаться.

Сказав это, нет никакой гарантии, что маршрут, который вы получите от traceroute, будет таким же, как и ваше приложение. Это может быть по нескольким причинам (вероятно, более десятка, если вы считаете малоизвестные случаи), в том числе:

  • Интернет-провайдер на пути, который намеренно по-разному маршрутизирует пакеты traceroute, чтобы скрыть их топологию

  • топология каким-то образом меняется между traceroute и TCP SYN

  • существует какая-то форма балансировки нагрузки или CDN, которая намеренно перенаправляет некоторый трафик

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

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

1

Обычно traceroute будет использовать сообщение ICMP. Если мы используем сообщение TCP или UDP, traceroute не может знать службы, работающие на конечном компьютере, что означает, что трудно определить порт в сообщении TCP или UDP. Но сообщение ICMP должно быть в порядке, если нет брандмауэра, блокирующего сообщение ICMP.

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

Короче нет. Если есть балансировщик нагрузки между вашим компьютером и конечным компьютером, путь может отличаться, потому что traceroute и браузер используют два сеанса.(Это зависит от правил балансировки нагрузки.)

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