当应用程序通过Internet请求服务时,服务器可能位于远端,两者之间通过多个网关或路由器相连。traceroute命令可以显示分组途径的所有网关的地址。这些信息可以帮助我们搞明白分组到达目的地需要经过多少跳。中途的网关或路由器的数量给出了网络上两个节点之间的有效距离,这未必和物理距离有关。传输时间会随着每一跳增加。对于路由器而言,接收、解析以及发送分组都是需要花时间的。
实战演练
traceroute 命令的格式如下:
$ yum install traceroute -y$ traceroute destinationIP
destinationIP可以是IP地址,也可以是域名。
$ traceroute baidu.comtraceroute to baidu.com (220.181.38.251), 30 hops max, 60 byte packets1 MiHome.mshome.net (172.26.64.1) 0.521 ms 0.480 ms 0.472 ms2 192.168.1.1 (192.168.1.1) 2.490 ms 3.780 ms 1.715 ms3 100.64.0.1 (100.64.0.1) 11.955 ms 11.949 ms 12.665 ms4 61.184.37.59.broad.dg.gd.dynamic.163data.com.cn (59.37.184.61) 13.563 ms 12.862 ms 13.551 ms5 202.105.158.65 (202.105.158.65) 12.887 ms 183.56.65.57 (183.56.65.57) 16.907 ms 14.147.127.13 (14.147.127.13) 13.526 ms6 202.97.22.170 (202.97.22.170) 41.800 ms 202.97.55.241 (202.97.55.241) 44.163 ms 44.542 ms7 36.110.245.66 (36.110.245.66) 44.511 ms 36.110.246.130 (36.110.246.130) 42.188 ms 36.110.245.194 (36.110.245.194) 39.051 ms8 * 36.110.245.73 (36.110.245.73) 44.311 ms 36.110.245.77 (36.110.245.77) 44.297 ms9 * * *10 220.181.17.150 (220.181.17.150) 49.841 ms 220.181.17.22 (220.181.17.22) 44.235 ms *30 * * *
如今的Linux发布版中还包括了一个命令mtr,它类似于traceroute,但是能够显示实时刷新的数据。这对于检查网络线路质量等问题很有帮助。
$ yum install mtr -y

