V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
youKnowDai
V2EX  ›  程序员

traceroute 疑问,有些地方看不懂,求指导

  •  
  •   youKnowDai · 2016-07-07 15:21:26 +08:00 · 4883 次点击
    这是一个创建于 3059 天前的主题,其中的信息可能已经有所发展或是发生改变。

    DO 的新加坡节点,本机 ISP 是山西电信

    mtr 结果如下,发现到新加坡的 ping 有 437ms

    第一个疑问是为什么有的后一跳的平均值比前一跳都小?

    第二个是“ ix-xe-10-2-6-0.tcore2.LVW-Los-Angeles.as6453.net (64.86.252.157)”的 ip 查了归属是印度,好像也没绕美国,如何分析为啥 ping 这么高?大概查了下中国到新加坡 ping 应该也就 100-200ms 左右

    谢谢各位 dalao

                                                                                                                                               Packets               Pings
     Host                                                                                                                                     Loss%   Snt   Last   Avg  Best  Wrst StDev
     1. 223.10.232.1                                                                                                                           0.0%   357    2.3   6.8   1.8  66.3   9.4
     2. 223.10.232.1                                                                                                                           0.0%   357    2.8   6.7   1.8  64.5   9.2
     3. 59.48.57.113                                                                                                                           0.0%   356   14.2   9.2   1.8 118.6  12.4
     4. 59.48.56.221                                                                                                                           0.0%   356    9.3   7.5   2.6 205.5  13.4
     5. 202.97.73.33                                                                                                                           0.0%   356   13.1  18.7  10.3 137.9  13.7
     6. 202.97.53.34                                                                                                                           2.5%   356   36.9 100.3  17.9 289.7  34.7
     7. 202.97.53.78                                                                                                                           3.9%   356   33.2  97.0  14.8 221.4  34.8
     8. 202.97.52.166                                                                                                                          2.8%   356  186.8 253.7 169.5 757.6  44.0
     9. 202.97.50.30                                                                                                                           1.7%   356  279.1 344.4 259.5 661.9  38.4
    10. ix-xe-10-2-6-0.tcore2.LVW-Los-Angeles.as6453.net (64.86.252.157)                                                                       1.7%   356  174.9 246.4 164.1 595.2  37.9
    11. if-ae-12-2.tcore2.TV2-Tokyo.as6453.net (66.110.59.62)                                                                                 21.1%   356  432.1 411.9 331.0 471.9  32.9
    12. if-ae-6-2.tcore1.SVW-Singapore.as6453.net (180.87.12.109)                                                                              4.8%   356  362.1 430.5 349.3 483.2  33.9
    13. if-ae-11-2.thar1.SVQ-Singapore.as6453.net (180.87.98.37)                                                                               2.5%   356  381.5 438.6 356.9 515.0  35.1
    14. 180.87.98.6                                                                                                                            4.2%   356  377.3 432.0 311.4 502.8  35.2
    15. ???
    16. 128.199.124.196                                                                                                                        7.9%   356  380.7 437.3 353.9 678.0  36.3
    

    ————————————————————

    PS: 有啥traceroute + ip location + visualization集成的好工具吗

    ————————————————————

    curl ipinfo.io/64.86.252.157
    {
      "ip": "64.86.252.157",
      "hostname": "ix-xe-10-2-6-0.tcore2.LVW-Los-Angeles.as6453.net",
      "city": "Wilmington",
      "region": "Delaware",
      "country": "US",
      "loc": "39.7351,-75.6684",
      "org": "AS6453 TATA COMMUNICATIONS (AMERICA) INC",
      "postal": "19808"
    }
    

    某度查出来的ip归属竟然是印度

    22 条回复    2016-07-08 13:10:02 +08:00
    redsonic
        1
    redsonic  
       2016-07-07 16:24:15 +08:00   ❤️ 1
    1. 后一跳有时比前一跳小,因为探测一次路径需要同时发 N 个包,不可能每次都按照先后顺序到达,是有可能后一跳的 icmp ttl 超时应答包比前一跳的先到达你这一端的,回程时的跃点顺序可能与去的时候不一样。另外小于 1ms 的差异说明不了什么问题,可能出去的时候时间就抖了,协议栈也有调度算法。

    2. 不要用区域内一个点的延时来衡量到同一区域另一个点的延时,线路不同差别很大。
    New2016
        2
    New2016  
       2016-07-07 16:25:46 +08:00
    ipip.net 的客户端
    popu111
        3
    popu111  
       2016-07-07 16:26:59 +08:00
    redsonic
        4
    redsonic  
       2016-07-07 16:28:00 +08:00   ❤️ 1
    补充一下 1 , 去的时候顺序可能也不一样,没办法保证各个点依照你发包的顺序收到这些包。
    youKnowDai
        5
    youKnowDai  
    OP
       2016-07-07 19:10:35 +08:00
    @redsonic 第 9 条的平均时延是 344ms , 第十跳是 246ms ,想问下 traceroute 得到的结果对于接下来的一段时间内是否准确可靠,即挨个 ping 这些路由节点的路径就是沿着之前 traceroute 得到的路径;回来时的路径和去时的不同完全可以理解,那么也就是造成后一跳比前一跳时间短的原因主要是因为回来时的时延小得多造成的。不知道这样理解对不对,希望 dalao 指正。
    youKnowDai
        6
    youKnowDai  
    OP
       2016-07-07 19:11:02 +08:00
    redsonic
        7
    redsonic  
       2016-07-07 19:38:27 +08:00   ❤️ 1
    @youKnowDai 除了路径不同外,即使相同,因为一次探测是发 N 个包,去的时候每个包 TTL 依次递减,因为网络问题可能 TTL=4 的包先到达第 4 跳, TTL=3 的包后到达第 3 跳,这样返回和收到的时候第 4 跳的应答可能会出现在第 3 跳的应答之前。抓个包看一下就明白了。
    另, traceroute 这类的工具参考一下就好,它不是标杆,运营商会根据流量的不同走不同路由,实际应用的流量方向和 trace 出来的有小差异,实际上普通用户无法追踪。
    loggerhead
        8
    loggerhead  
       2016-07-07 20:52:29 +08:00
    @redsonic 如果客户端用 icmp 来衡量多个服务器的延时,然后选择延时短的进行服务,这样做优选线路合理吗?
    jasontse
        9
    jasontse  
       2016-07-07 21:07:13 +08:00 via iPad
    写得明明白白 Los Angeles 洛杉矶
    redsonic
        10
    redsonic  
       2016-07-07 21:48:18 +08:00
    @loggerhead mtr 有--tcp 选项,还可以-p 选择目的端口,个人觉得这个相对 icmp 好些
    wql
        11
    wql  
       2016-07-07 21:54:04 +08:00 via Android
    #8 +1
    PTR 记录写的明明白白,你这是洛杉矶绕路的路由。
    wql
        12
    wql  
       2016-07-07 21:54:45 +08:00 via Android
    而且要注意,这条路由是骨干-洛杉矶-东京-新加坡
    youKnowDai
        13
    youKnowDai  
    OP
       2016-07-07 22:28:34 +08:00
    @jasontse 然而 ip 在 Wilmington ,并不相信 as name
    youKnowDai
        14
    youKnowDai  
    OP
       2016-07-07 22:31:20 +08:00
    @wql 具体是注意哪点,没 get 到点。。。
    mytsing520
        15
    mytsing520  
       2016-07-08 01:30:21 +08:00
    10. ix-xe-10-2-6-0.tcore2.LVW-Los-Angeles.as6453.net (64.86.252.157) 1.7% 356 174.9 246.4 164.1 595.2 37.9
    11. if-ae-12-2.tcore2.TV2-Tokyo.as6453.net (66.110.59.62) 21.1% 356 432.1 411.9 331.0 471.9 32.9
    12. if-ae-6-2.tcore1.SVW-Singapore.as6453.net (180.87.12.109) 4.8% 356 362.1 430.5 349.3 483.2 33.9
    13. if-ae-11-2.thar1.SVQ-Singapore.as6453.net (180.87.98.37)

    写的很清楚了,第 10 跳是在洛杉矶,第 11 跳是在东京,第 12 跳和 13 跳在新加坡,这里你完全可以看 PTR 反向解析名称,因为国际宽带运营商为了方便记忆,会将 IP 地址进行反向名称解析。
    maoyipeng
        16
    maoyipeng  
       2016-07-08 09:28:08 +08:00 via Android
    非对称路由
    youKnowDai
        17
    youKnowDai  
    OP
       2016-07-08 11:59:24 +08:00
    @mytsing520 感谢,我是不确定前面的名称是否准确可信才查的 ip
    youKnowDai
        18
    youKnowDai  
    OP
       2016-07-08 12:00:30 +08:00
    @maoyipeng 感觉只是非对称路由会有 100ms 这么大的差别太反直观了
    Siril
        19
    Siril  
       2016-07-08 12:58:58 +08:00
    很多厂商的路由器会优先保证其基本的转发功能, 稍有点负载 icmp 就丢包和延迟。

    注意是此路由器回复 icmp (一般要经过路由器的 cpu 处理,即使是高端的)就丢包和延迟,无关拥塞与否;
    此路由器转发 icmp (一般高端的都是 asic 电路处理),与转发其他的 ip 包一视同仁,除非拥塞否则不(在本路由器)丢包。
    Siril
        20
    Siril  
       2016-07-08 13:00:07 +08:00
    广东移动到新加坡 50ms 左右。
    youKnowDai
        21
    youKnowDai  
    OP
       2016-07-08 13:00:58 +08:00
    @Siril 所以第九跳国内出口延迟比较高, thx!
    maoyipeng
        22
    maoyipeng  
       2016-07-08 13:10:02 +08:00
    @youKnowDai 有 traffic engineering 情况下很正常啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   950 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 21:30 · PVG 05:30 · LAX 13:30 · JFK 16:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.