-
Traceroute 程序会构造一个 ICMP 回显请求报文,并将 TTL(Time to Live)字段设置为 1。
-
Traceroute程序将 ICMP 回显请求报文发送到 IP 层。
-
IP 层会将 ICMP 回显请求报文封装在一个 IP 数据包中,并将其发送到目标主机。
-
沿途路由器会检查 IP 数据包的 TTL 字段,并将 TTL 值减 1。
-
如果 TTL 值减为 0,路由器会丢弃 IP 数据包,并向源主机发送一个 ICMP 超时报文。
-
目标主机的 IP 层会检查 IP 数据包的目标 IP 地址,如果匹配则将 ICMP 回显请求报文传递给 ICMP 层。
-
目标主机的 ICMP 层会构造一个 ICMP 回显应答报文,并将其发送回源主机。
-
源主机的 IP 层会检查 IP 数据包的目标 IP 地址,如果匹配则将 ICMP 回显应答报文传递给 ICMP 层。
-
Traceroute程序会根据 ICMP 超时报文和 ICMP 回显应答报文来计算每个路由器的 IP 地址和往返时间。
| Type (8 bits) | Code (8 bits) | Checksum (16 bits) | Identifier (16 bits) | Sequence Number (16 bits) | Data (variable) |
-
Type: 报文类型,1 表示回显请求,0 表示回显应答。
-
Code: 报文代码,通常为 0。
-
Checksum: 用于校验报文完整性的校验和。
-
Identifier: 用于标识 ICMP 回显请求报文,以便匹配相应的回显应答报文。
-
Sequence Number: 序列号,用于标识 ICMP 回显请求报文的发送顺序。
-
Data: 可选字段,通常用于携带一些附加信息。
-
使用 ICMP 协议的回显请求和回显应答报文。
-
使用 IP 协议的 TTL 字段来控制报文的转发路径。
-
使用 ICMP 超时报文来确定路由器的 IP 地址。
-
使用 ICMP 回显应答报文来计算往返时间。
-
网络故障排除 -
网络性能测试
-
路由路径分析
原文始发于微信公众号(技术修道场):Traceroute的技术原理
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论