因特网控制报文协议 Internet Control Message Protocol

用于主机路由器之间彼此交流网络层信息

  • 差错报告:不可到达的主机、网络、端口、协议
  • 请求/应答

位于 IP 之上

Traceroute

​(1)源端发送 IP 分组​
  • ​TTL 策略​​:
    • 源端发送一系列 IP 分组,​​首个分组 TTL=1​​,第二个 TTL=2,依次递增。
    • ​每组 TTL 发送 3 次​​(图中标注“对每个 TTL 作三次”),用于计算平均 RTT 并减少误差。
  • ​分组行为​​:
    • 当分组到达第 n 个路由器时,TTL 减 1 后变为 0,路由器丢弃该分组。
    • 路由器向源端返回​​ICMP 超时报文(Type=11, Code=0)​​,报文中包含该路由器的​​IP 地址和名称​​(如可解析)。
​(2)源端处理 ICMP 报文​
  • ​RTT 计算​​: 源端根据发送分组与接收 ICMP 报文的时间差,计算到该路由器的​​往返时间(RTT)​​。
  • ​路径记录​​: 通过 ICMP 报文中的路由器信息,逐步构建路径列表(如:Hop 1: 192.168.1.1, RTT=5ms)。
​(3)终止条件​

Traceroute 在以下情况停止发送分组:

  1. ​到达目的主机​​:
    • 当 IP 分组的 TTL 足够大时,分组到达目的主机。
    • 目的主机返回​​ICMP 端口不可达报文(Type=3, Code=3)​​(因 Traceroute 默认使用无效端口触发此响应)。
  2. ​收到目标响应​​: 源端收到目的主机的 ICMP 报文后,确认路径探测完成,终止流程。