跟踪路由中第一个重复的 paket 是什么意思?



当我执行traceroute时,我发送的第一个数据包ttl=1,并且我的路由器的回复总是"null" "timeout"。这是我不明白的第一件事:为什么我的路由器不给我发送超时icmp消息?

使用wireshark,我观察到至少有2个重复的第一个数据包(ttl=1的那个),并且只有一个来自路由器的空回复。

我认为这是我的代码的问题,但有很多视频在youtube上wireshark显示同样的事情:pc发送2或3数据包ttl=1之前接收超时icmp消息和增量ttl为2。

你能解释一下吗?

编辑:我犯了一个错误:"null"或"timeout"包不是由路由器发送的;这是一条来自PC的消息,它还没有收到任何包。所以ttl没有增加。现在我可以制定正确的问题:为什么第一个数据包不能到达目的地?这不是ttl的问题(我可以将其设置为2-3-4,并且我在第一次发送时总是有相同的副本)。

也许是碎片化的问题?但是为什么呢?一些wireshark的日志显示,在第一次传输后,mss(或mtu)…

"I thought it is my code's problem"

是代码问题还是traceroute命令问题?第一个数据包的TTL为1,并且第一个路由器减少TTL,看到它是0,并且应该响应一个错误,TTL时间超过我记得。

最新更新