目前思科路由器的市场需求量很高,于是我研究了一下思科路由器trace命令,在这里拿出来和大家分享一下,希望对大家有用。trace命令提供思科路由器到目的地址的每一跳的信息。它通过控制IP报文的生存期(TTL)字段来实现。
TTL等于1的ICMP回应请求报文将被首先发 送。路径上的***个思科路由器将会丢弃该报文并且发送回标识错误消息的报文。错误消息通常是ICMP超时消息,表明报文顺利到达路径的下一跳,或者端口不可达消息,表明报文已经被目的地址接收但是不能向上传送到IP协议栈。特权模式扩展Trace 用于扩展ping命令的许多属性都可以用来扩展trace命令的功能。扩展trace命令的特殊属性有:
Numeric display 在缺省情况下,trace命令的输出中既包括IP地址也包括其对应的DNS域名。如果用户不需要显示DNS域名,则可以使用该属性。Probe count 其缺省值为3,用户可以根据需要进行调整。TTL 该值可以在***和最小TTL值之间变化。Port number 这是一个非常有用的属性,它可以使工程技术人员跟踪特定的传输层端口。因此,不但可以确认源端与目的端之间的IP连通性, 而且可以确认高层服务是否可被访问。
与trace命令相关的另外一个问题是,如果存在到达目的地的多条路径,返回报文的源地址可能不相同。在这种情况下,用户需要仔细比较不同返回报文的延迟时间。如果仍不能得到明确的结果,可以远程访问路径上的一个或多个思科路由器,使用trace命令访问源地址和目的地址。
为了获得往返延迟时间的信息,trace发送三个报文并显示平均延迟时间。然后将报文的TTL字段加1并发送3个报文。这些报文将到达路径的第二个思科路由器上,并返回超时错误或者端口不可达消息。反复使用这一方法,不断增加报文的TTL字段的值,直到接收到目的地址的响应消息。
在有些情况下,使用trace命令可能会导致故障。因为IOS中存在与trace命令相关的bug。这些bug的相关信息可以从CCO得到。另外一个问题是,某些目标站点不响应ICMP端口不可达消息。当命令的输出显示一系列星号(*)时,就可能碰到了此类站点。用户可以使用Ctrl-Shift-6中断命令的执行。
用户执行模式 下面展示了一个简单的在用户执行模式下执行的trace命令的输出。到达目的地的距离是3跳。TTL值为1的3个报文的响应消息是ICMP超时错误,并且返回报文的IP地址有两个。因为思科路由器1和路由器2在同一个网段中,并且它们到路由器3的距离都是一跳,因此这些路由器都响应该报文。