看起来几乎是神奇的。 traceroute命令为了将整个路径映射到Internet上的某个其他节点而执行的是什么?

有帮助吗?

解决方案

Traceroute传输具有小TTL(生存时间)值的数据包。 TTL是一个IP头字段,用于防止数据包进入无限循环。当处理数据包的路由器从数据包的TTL中减去一个。数据包到期,当TTL达到零时丢弃。

Traceroute将ICMP Time Exceeded消息( RFC 792 )发送回发件人当这发生时。通过使用小的TTL值,数据包将很快到期,因此traceroute会导致数据包路径上的所有路由器生成识别路由器的ICMP消息。

例如,TTL = 1应该从第一个路由器产生消息,TTL = 2从路径中的第二个路由器生成消息,依此类推......

其他提示

traceroute将TTL(Time To LIve)字段设置为1,并为每一跳递增它。接收消息的路由器递减该值,当它达到0时,它们回复TTL已达到零的消息。通过此回复,客户知道谁介于两者之间。迭代地执行此操作直到您的目的地并且您获得了(至少其中一个)路线

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top