time to live
该字段在设置的时候确实是报文在网络中存在的秒数。
基于两个原因,该字段被改为路由跳转数:
- 数据帧经过一个路由其TTL值-1
- 数据帧实际转发时间远小于1
实际中TTL字段被用于限定一个IPv4数据报在被路由器丢弃之前所允许的跳数限制。
工具
linux 下
traceroute
window下
tracert
该方法首先发送IPv4 TTL字段设置为1的数据报,到期的数据报促使沿途路由器发送ICMPv4超时(代码0)报文。每一轮,发送的TTL值增加1,导致数据报在更远一跳的路由器处超时,并产生一个ICMP报文。
这是ping google.com的显式
黑色的表示路由ping不通
TTL为一的数据帧
这里协议写明了是ICMP怎么还是用UDP发送的?但书上确实也说了使用的udp。