Принцип работы утилит Tracert и Traceroute заключается в отслеживании маршрута, по которому данные проходят от отправителя к получателю. 4 Эти утилиты предоставляют информацию о времени задержки при передаче данных, а также об именах и IP-адресах устройств. 4
Tracert использует протокол ICMP (Internet Control Message Protocol) для отслеживания пути пакетов данных. 4 Процесс начинается с отправки ICMP-пакета с начальным TTL (Time to Live), равным 1. 4 TTL — это условный счётчик на каждом маршрутизаторе, который уменьшается на единицу при каждом переходе пакета от одного устройства к другому. 4 Когда TTL достигает нуля, маршрутизатор, обработавший пакет, не отправляет его дальше, а возвращает исходному хосту сообщение ICMP «Time Exceeded». 4 Это позволяет Tracert зарегистрировать устройство как промежуточный пункт (хоп). 4 Процесс повторяется, увеличивая TTL на единицу за каждую итерацию, пока либо не будет достигнут конечный хост, либо не будет достигнут предел (как правило, в 30 или 64 прыжка). 4
Traceroute использует UDP (User Datagram Protocol) вместо ICMP для отправки пакетов. 4 Traceroute отправляет несколько UDP-пакетов с последовательно увеличивающимися значениями TTL (начиная с 1 и далее). 4 Как и в случае с Tracert, каждый маршрутизатор уменьшает TTL на 1, и при достижении нуля отправляет обратно ICMP сообщение «Time Exceeded». 4 Ключевое отличие состоит в том, как Traceroute определяет достижение конечной цели: когда UDP-пакет достигает целевого хоста, последний обычно отвечает сообщением «Destination Port Unreachable» из-за того, что целевой порт (обычно редко используемый порт, например, 34434) закрыт. 4 Это сообщение означает, что пакет достиг своего конечного пункта. 4
Таким образом, основное различие между утилитами заключается в используемых протоколах: Tracert работает на основе ICMP, а Traceroute — на основе UDP. 45