根據Stevens(TCP/IP Illustrated)的說法,traceroute程序使用增量TTL(1,2,3等)向目標主機發送UDP數據包,以獲得來自ICMP TTL EXPIRED的中間跳信息消息。
的「目的地達到」條件是ICMP端口不可達消息,因爲路由跟蹤解決與大量的隨機端口(即:不可能有人在那裏聽)
所以我的問題是:是否有一個技術原因(缺點,RFC中,等)的使用的UDP數據包,而不是使用,例如,ICMP迴應請求消息(隨TTL),並使用回波答覆答案作爲結束條件?
據我所知,ICMP回顯應答可能通過中間防火牆或其他網絡設備被過濾掉,但我想這也可以發生在UDP包;)爲什麼跟蹤路由發送UDP數據包,而不是ICMP的呢?
非常感謝
塞爾吉奧