加载中...

traceroute 是逐跳探测 IP 报文转发路径的经典诊断工具,由 Van Jacobson 于 1987 年编写,Windows 上的对应命令为 tracert。
工具巧妙利用了 IP 头的 TTL(生存时间)字段:先发 TTL=1 的探测包,第一跳路由器将 TTL 减到 0 后丢弃报文并回送 ICMP 超时消息,由此暴露自己的地址;再发 TTL=2、3……逐跳收集沿途路由器,直到抵达目的地。Unix 传统实现用高端口 UDP 作探测,tracert 用 ICMP Echo,tcptraceroute 则用 TCP SYN 以穿透只放行业务端口的防火墙。
结果解读需要经验:某跳显示星号可能只是路由器限速 ICMP 而非故障;每跳三次探测的时延波动大多来自路由器控制面处理而非转发路径;负载均衡(ECMP)会让不同探测包走不同路径,Paris traceroute 通过固定五元组解决此问题。

登录 后参与讨论
暂无讨论,来发表第一条评论吧