traceroute原理

traceroute经过udp和icmp两个协议的共同做用之下,实现线路探测功能。基本过程是:cdn

  1. traceroute程序设置IP头部的ttl初始值为1,发送UDP报文
  2. UDP报文到达路由器R1,R1将TTL-1,TTL变为0,内核丢弃该数据包,并响应ICMP Time to live exceeded消息
  3. traceroute收到ICMP ttl exceeded消息以后,将IP头部ttl值设为2,再次发送UDP报文
  4. 若是没到达最终的目的IP所在的机器,重复2,3,依次累加ttl
  5. 若是到达最终目的地,此时回复ICMP Destination Unreachable消息。trace过程结束

traceroute capture

我在Mac上使用traceroute命令会重复针对每一个ttl会重复三次。blog

相关文章
相关标签/搜索