Почему traceroute отправляет пакеты UDP, а не ICMP?

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

Большое спасибо
Серхио

14
задан sergico 25 April 2012 в 08:53
поделиться