time to live
該字段在設置的時候確實是報文在網絡中存在的秒數。
基于兩個原因,該字段被改為路由跳轉數:
- 數據幀經過一個路由其TTL值-1
- 數據幀實際轉發時間遠小于1
實際中TTL字段被用于限定一個IPv4數據報在被路由器丟棄之前所允許的跳數限制。
工具
linux 下
traceroute
window下
tracert
該方法首先發送IPv4 TTL字段設置為1的數據報,到期的數據報促使沿途路由器發送ICMPv4超時(代碼0)報文。每一輪,發送的TTL值增加1,導致數據報在更遠一跳的路由器處超時,并產生一個ICMP報文。
這是ping google.com的顯式
icmp tracert
黑色的表示路由ping不通
TTL為一的數據幀
TTL=1
這里協議寫明了是ICMP怎么還是用UDP發送的?但書上確實也說了使用的udp。