2008-10-17 41 views
15

这似乎很神奇。什么是traceroute命令,以便将整个路径映射到Internet上的某个其他节点?traceroute如何工作?

+0

[如何路由跟踪工作?]( http://www.tek-tips.com/faqs.cfm?fid=381) – thijs 2008-10-17 08:39:23

回答

22

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

当发生这种情况时,跟踪路由将ICMP超时消息(RFC 792)发送回发送方。通过使用小TTL值,数据包将快速过期,因此,跟踪路由会导致沿数据包路径的所有路由器生成标识路由器的ICMP消息。

例如,TTL = 1应产生从所述第一路由器的消息,TTL = 2的路径,生成从所述第二路由器的消息,等等...

+0

这是否意味着您可以通过指定ttl = 5 – webly 2009-10-20 12:55:01

26

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