ICMP 和 traceroute,ICMP 在经过跳数时如何保持计数器

ICMP 和 traceroute,ICMP 在经过跳数时如何保持计数器

当跟踪路由目的地并经过所有这些跳转时,此过程中会发生什么?是否ICMP有初始计数器并在经过的每个跳转上减少此计数器?如果计数器的初始值为 30,这将如何在网络上工作RIP?RIP 仅知道大约 15 个跳转,这就是它停止的地方。

感谢您的回答!

答案1

“Traceroute 的工作方式是发送 TTL 值逐渐增加的数据包,从 TTL 值 = 1 开始。第一个路由器接收数据包,减少 TTL 值并丢弃数据包,因为此时数据包的 TTL 值为零。路由器将 ICMP 超时消息发送回源。下一组数据包的 TTL 值为 2,因此第一个路由器转发数据包,但第二个路由器丢弃它们并以 ICMP 超时回复。以这种方式继续,traceroute 使用返回的 ICMP 超时消息来构建数据包遍历的路由器列表,直到到达目的地并返回 ICMP 回显回复消息。”

来源。

http://en.wikipedia.org/wiki/Traceroute

答案2

您可以定义 ICMP 包中的最大跳数。对于每个跳数,此计数器都会减少,当达到 0 时,将发回错误。

Traceroute 以最大 1 跳数开始,每次出现错误后将值加一,并根据收集到的错误确定返回目的地的路由。

相关内容