主要观点:
- Traceroute 并不真实存在,如今在现代网络环境中已无法正常工作,它只是一种“巧妙但脆弱”的“黑客手段”,并非真正的网络协议。
- 其原理是通过操纵数据包的 TTL 值来获取路径信息,但 TTL Exceeded 本不是用于路径追踪,且在现代网络中存在诸多问题,如网络抽象化(如 MPLS)、路由器优化(数据平面和控制平面的设计)等,导致大多数网络提供商不会花费时间去实现它。
- Traceroute 提供的信息有限、客观上不准确且具有误导性,难以解释,甚至可能导致错误的诊断,网络技术人员应谨慎使用,避免受其影响。
- 网络故障排查充满不确定性和迷信,大多数网络技术人员能力有限,容易受到错误信息的误导,而了解这些的人往往会陷入“感恩节叔叔问题”,即知道真相却无法改变他人的错误。
关键信息:
- RFC1393 是关于 Traceroute 的 RFC,但已过时且无人支持,现代 Traceroute 与之无关。
- Traceroute 利用 TTL Exceeded 消息来获取路径信息,但该消息并非为此目的设计,且在现代网络中存在诸多问题,如路由器处理能力有限、数据平面和控制平面的分工等。
- 大多数网络提供商不会将 Traceroute 作为优先事项,学术研究人员可能会遵循规范,但也没有财务动力去正确实现。
- Traceroute 提供的信息有限,缺乏响应并不一定意味着节点故障,高延迟等情况也不能说明问题,其结果可能具有误导性。
重要细节:
- MPLS 等技术会封装 IP,使 Traceroute 无法满足预期。
- 路由器中的数据平面由专用硅片组成,用于处理路由相关部分,控制平面负责处理异常情况,如接口故障等。
- 路由器中的 CPU 速度较慢,处理 TTL Exceeded 消息可能会成为负担,且控制平面很忙,不一定会处理这些消息。
- Traceroute 默认发送随机的 UDP 数据包,没有标准特征,网络也未对其进行规划,因此其结果可能不可靠。
- 网络故障排查充满不确定性,大多数技术人员能力有限,容易受到错误信息的影响,而了解真相的人往往会陷入困境。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。