想请教一下,为什么 tracert 时相邻两跳的延迟会出现 [陡然降低] 的情况

2017-06-28 23:53:56 +08:00
 arad2333
楼主平时偶尔会和国外的朋友联机对战 FXTZ,
前些日子用 tracert 分别试了从自己家里(电信)直连到两个日本的朋友家里的线路,一条 NTT,一条 BBtec。
NTT 追踪到目标 ip 时 ping 值 200+ms,而 BBtec 只有 80+ms。

问题来了,楼主看了一下链路信息,着两条线路同样都是先经过 NTT/BBtec 分别设置在北京电信的节点,然后再到日本东京的 NTT/BBtec 节点,到此为止的延迟,这两家同样都是 200+ms

但很奇怪的是,这之后,NTT 的后面几跳直到目标依然是 200+ms,而 BBtec 在到达日本之后,下一跳的延迟从 200+ms 直接降到了 80+ms,并且一直保持 80+ms 直到到达目标。

请问这是什么原因?难道 tracert 的延时不是逐路由相加吗,明明跨国之后延迟都差不多,为什么再下一跳延迟不升反降? 中间的节点延迟如果有 200ms 的话,是不是意味着就算到目标只有 80ms,实际使用中也相当于 200ms 的情况(即所谓的“假 ping ”?)

真是百思不得其解,愿各位指点一二
3771 次点击
所在节点    宽带症候群
9 条回复
Laynooor
2017-06-29 00:12:19 +08:00
有相同的疑问,坐等楼下解答。
lydasia
2017-06-29 00:20:57 +08:00
我也想过这个问题,坐等解答+1
TtiGeR
2017-06-29 00:33:06 +08:00
可能的原因:

后序 Hop 的返回路径未必与先前的相同,后面的 Hop 因为返回路径较优,所以收到 ICMP 回复反而较快。前面的 Hop 或许也是很快就收到了数据包,但因为返回路径较差,所以整个 round trip 较慢。

有些路由有一定优化,优先转发数据包而不是优先响应 ICMP Echo,所以 Ping 反而显得慢一些。

另外,traceroute 里每个 Hop 的回复都是一个独立事件,而不是先前 Hop 事件的一个延续,所以结果并不总是递增的。
msg7086
2017-06-29 00:39:15 +08:00
可能是回程不同。
你 -> 中间节点 -> 绕路 -> 你 = 200ms
你 -> 目标节点 -> 你 = 80ms
这样差距就出来了。

对于中国的跨国线路神一样的路由,这种情况的可能性挺大的。
hadoop
2017-06-29 08:52:19 +08:00
同关注
est
2017-06-29 09:21:33 +08:00
@msg7086 我估计也是这样的。。


你 -> NTT -> 绕路 -> 绕路 -> 绕路 -> 你 = 200ms
你 -> BBtec -> 你 = 80ms
arad2333
2017-06-29 11:33:07 +08:00
@TtiGeR
@msg7086
@est
学习到了,感谢回复。从联机对战的角度出发果然感觉还是 ping 低的线路体验比较好呢 w
hlz0812
2017-06-29 18:43:11 +08:00
到每一个节点路程都不一样的,tracert 应该表示你到目标 IP 的路径,而到中间节点路径可能是其他的
NTT 现在日常堵,bbtec 江苏电信 ping30 多 ms
JackyBao
2017-06-29 23:31:50 +08:00
就是回程路由不同的原因,从你朋友那里 tracert 你的 ip 就能看出来了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/371802

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX