В соответствии с Stevens (TCP/IP Illustrated) программа traceroute отправляет UDP-пакеты на целевой хост с инкрементным TTL (1, 2, 3 и т.д.), чтобы получить информацию промежуточных перелетов от сообщения ICMP TTL EXPIRED.
Условие "достигнутое достижение" - это сообщение ICMP PORT UNREACHABLE, потому что traceroute обращается к случайному порту с большим числом (то есть: маловероятно, что кто-то там слушает)
Поэтому мой вопрос: есть ли техническая причина (недостатки, RFC и т.д.) Использовать пакеты UDP, а не использовать, например, сообщения ICMP echo request (с увеличением TTL) и использовать ответ эхо-ответа как конечное условие?
Я понимаю, что эхо-ответ ICMP может быть отфильтрован брандмауэрами или другими сетевыми устройствами посередине, но я думаю, это может случиться и с UDP-пакетами;)
Большое спасибо
Sergio