路由跟踪traceroute

发表于:2007-07-04来源:作者:点击数: 标签:
traceroute是一个通用的TCP/IP工具,它能显示出数据包从本地机到达目标机时经过的所有路由器。由于traceroute会人为地给 网络 造成一些通信负担,所有它主要被系统或 网络 管理员,作为一个简单而有效的 网络 手工查错工具使用,普通用户最好少用。尽管如此
traceroute是一个通用的TCP/IP工具,它能显示出数据包从本地机到达目标机时经过的所有路由器。由于traceroute会人为地给网络造成一些通信负担,所有它主要被系统或网络管理员,作为一个简单而有效的网络手工查错工具使用,普通用户最好少用。尽管如此,traceroute对于用户了解Internet的结构,了解自身的网络故障会有很大帮助。

下面给出的语法和例子都是在Unix操作系统下的情况,在其它操作系统中,该命令可能有不同的使用方法或表示,例如在Windows NT和Windows 95下,类似的命令叫tracert。

traceroute的语法为:

traceroute [-m Max_ttl] [-n ] [-p Port] [-q Nqueries] [-r] [-s SRC_Addr]
[-t TypeOfService] [-v] [-w WaitTime] Host [PacketSize]

其中,

-m Max_ttl:指定最大生存期(Maximum Time-to-live)。也就是数据包从本地机到达目标机所经过的最大跳步(hop),即最多经过这么多路由器。缺省值为30步。

-n:只显示途径路由器的IP地址,不再显示其名字。

-p:指定包传输时使用的UDP端口号。

-q:指定每次跳步发送的探询包的数目,缺省值为3。

-v:列出详细信息。

-w WaitTime:指定每次跳步等待接收响应包的最长时间,缺省值为3秒。

Host:目标机的IP地址或机器名。

PacketSize:指定每个跳步传输的数据包的大小,缺省值为38个字节。



traceroute实际上是通过给目标机的一个非法UDP端口号发送一系列UDP数据包来工作的。使用缺省设置时,本地机给每个路由器发送3个数据包,最多可经过30个路由器。如果已经经过了30个路由器,但还未到达目标机,那么traceroute将终止。每个数据包都对应一个Max_ttl值,同一跳步的数据包该值一样,不同跳步的数据包的值从1开始,每经过一个跳步值加1。当本地机发出的数据包到达路由器时,路由器就响应一个ICMP Time Exceed消息,于是traceroute就显示出当前跳步数,路由器的IP地址或名字,3个数据包分别对应的周转时间(以ms为单位)。如果本地机在WaitTime内未收到响应包,那么在数据包的周转时间栏就显示出一个星号。当一个跳步结束时,本地机根据当前路由器的路由信息,给下一个路由器又发出3个数据包,周而复始,直到收到一个ICMP PORT_UNREACHABLE的消息,意味着已到达目标机,或者已达到指定的最大跳步数。

% traceroute www.cnc.ac.cn

traceroute to www.cnc.ac.cn (159.226.1.17), 30 hops max, 40 byte packets

1 router1.sp.net.edu.cn (202.112.35.254) 2 ms 2 ms 2 ms

2 202.112.1.210 (202.112.1.210) 4 ms 2 ms 2 ms

3 202.38.96.1 (202.38.96.1) 3 ms 2 ms 2 ms

4 159.226.1.17 (159.226.1.17) 3 ms 2 ms 2 ms

例中www.cnc.ac.cn是中科院的WWW服务器,本地机是CERNET高性能计算中心SP2的一个节点机。首先从SP2连到CERNET的HUB(202.112.35.254)出去,然后经过CERNET和CASnet的路由器到达目标服务器。可以看到,数据包的平均周转时间为2ms,这是相当快的速度了。

% traceroute www.mhpclearcase/" target="_blank" >cc.edu

traceroute to wailea.mhpcc.edu (164.122.9.37), 30 hops max, 40 byte packets

1 router1.sp.net.edu.cn (202.112.35.254) 2 ms 2 ms 2 ms

2 202.112.1.198 (202.112.1.198) 7 ms 11 ms 4 ms

3 us-igw.net.edu.cn (202.112.1.206) 45 ms 54 ms *

4 gsl-stock-3-Serial10/4.gsl.net (204.59.160.245) 554 ms 552 ms 575 ms

5 gsl-sl-stock-fddi.gsl.net (204.59.128.198) 559 ms 553 ms 551 ms

6 sl-mae-w-H3/0-T3.sprintlink.net (144.228.10.110) 562 ms 557 ms 564 ms

7 mae-west.dren.net (198.32.136.81) 571 ms 622 ms 587 ms

8 wahiawa-nctams.dren.net (138.18.232.2) 677 ms 617 ms 621 ms

9 maui.dren.net (138.18.236.1) 611 ms 649 ms 629 ms

10 bcn77-f11-7.mhpcc.edu (164.122.7.7) 613 ms 608 ms 610 ms

11 wailea.mhpcc.edu (164.122.9.37) 622 ms 617 ms *

要到达MHPCC的WWW服务器,在第3跳步到达CERNET通往美国的路由器,然后经过Sprint公司的其它路由器在第8跳步到达Hawaii,最后经过Maui的路由器到达目标节点。可以看出,从本地机发往国内几个路由器的周转时间为几十ms,到达美国后猛增到500多ms。

原文转自:http://www.ltesting.net