TraceRoute培训手册默认分类 2007-10-26 08:43:59 阅读25 评论0 字号:大中小
TraceRoute培训手册
1、背景
网络分析是一个复杂的过程,Ping程序虽然能测试到达目的地的网络是否正常,但当网络不通时,
Ping不能告诉用户哪个网关不通。在UNIX下有traceroute、Windows 95、Windows NT下有tracert应
用程序,此程序主要用于跟踪一个IP数据包在到达目的地时都经过了哪些网关,当某一网关失效时
,可以通过traceroute分析出失效网关是哪个。在CISCO路由器上相应的命令是traceroute。
2、目前Traceroute实现的算法
Traceroute 是一个有用的网络调试工具,它用于跟踪从当前系统出发的一个IP数据包到达
目的地时所走的路径,目前它执行的方式被所有路由器自动支持。
Traceroute 的执行过程是:首先发送一个TTL为1的数据包,因此第一跳发送回一个ICMP错误消息以
指明此数据包不能被发送(因为TTL超时),之后此数据包被重新发送,TTL为2,同样第二跳返回
TTL超时,这个过程不断进行,直到达到目的地。执行这些过程的目的是记录每一个ICMP TTL超时消
息的源地址,以提供一个IP数据包到达目的地的路径。
这种算法的优点是每一个路由器都可以发送TTL 超时消息,不需要特殊的代码,缺点是产
生数据包的数量太多(对于n跳,要发送2n个数据包),占用的时间长(每一个数据包都要重复所有
前一个数据包走过的路径),路径在执行过程中可能改变,而且这个算法不能跟踪返回路径(返回
路径可能不同于外出路径)。
将来Traceroute程序将使用新的ICMP消息(为此而设计的ICMP消息),这样可以获得许多
原来的Traceroute无法得到的信息,但目前此ICMP消息报文并不为所有路由器所支持,所以,我们
实现的方法仍然是上面所描述的过程。
Traceroute的基本算法是:开始发送TTL为1的数据包,每次加1,直到收到一个“端口不可达”的
ICMP报文(意味着到达了目的地),或者到达最大跳数(缺省为30跳),对于每一个TTL,同时发送
三个探测包,之后打印出网关的地址和每一个探测包来回的时间,如果对探测包的回答来自不同的
网关,则每一个响应的网关都被列出来,如果5秒钟还没有响应,则*,表示超时。
探测包是UDP格式,由于我们不想目的主机处理它们,因此目的端口设置为一个不可能的值
。
下面是几个应用traceroute分析网络情况的例子:
例1:[Quidway]# traceroute nis..
traceroute to nis. (), 30 hops max, 56 byte packet
() 19 ms 19 ms 0 ms
lilac- () 39 ms 39 ms 19 ms
lilac- () 39 ms 39 ms 19 ms
ccngw-. ()
raceRoute培训手册 来自淘豆网m.daumloan.com转载请标明出处.