Traceroute程序

Traceroute程序是同Van Jacobson编写的能深入探索TCP/IP协议的方便可用的工具.它能让我们看到数据报从一台主机传到另一台主机所经过的路由.Traceroute程序还可以上我们使用IP源路由选项,让源主机指定发送路由.

Traceroute程序的操作过程

它发送一份TTL字段为1的数据报给目的主机,处理这个数据报的第一个路由器将TTL减1,丢弃该数据报,并发回一份ICMP报文.这样就得到了个路由器的IP地址.然后Traceroute程序发送一份TTL字段为2的报文,这样就得到了第二个路由器的IP地址.继续这个过程直到数据报到达目的主机.

另外,Traceroute程序还有一些应该注意的地方:

1.可以显示变化的路由.由于路由在不断的变化之中,甚至连续两份数据报之间也可能采用不同的路由,所以当新的路由发生了变化,哪么Traceroute程序将打印出新的路由.

2.不能保证ICMP报文的路由与Traceroute程序发送的UDP数据报有采用相同的路由.Traceroute程序打印出来的往返时间并不能真正反应出数据报发出的和返回的时间差.

3.返回的ICMP报文中的信源IP地址是UDP数据报到达的路由器的接口的IP地址.而IP记录路由选项中记录的IP地址是发送接口的IP地址.

IP源路选路选项

源站选路的思想是由发送者指定路由.有两种形式:

严格的源路由选择.发送端指明IP数据报所必须采用的确切路由.用Traceroute程序"-G"选项可以指定严格的必须经过的路由器.

如sun % traceroute -G netb -G netc.其中netb,netc为必须经过的路由器名.

宽松的源站选择.发送端指明了一个数据报经过的IP地址清单,可以在任意两个指定路由器之间加入最多8个中间路由器.用Traceroute程序"-g"选项,可以为宽松的源站选路指明一些中间路由器.

如:sun % traceroute -g 192.31.39.21 nic.ddn.mil. 其中sun为源主机,192.31.39.21 为指定路由器的IP地址.

IP源路选路过程:

1.发送主机从应用程序接收到源站路由清单,将第一个表项去掉(它是数据报最终的目的地址),将剩余的项移到第1个项中,并将原来的目的地址作为清单的最后一项.指针仍然指向清单的第一项.

2.每个处理数据报的路由器检查其是否为数据报的最终目的地址.如果不是,则正常转发数据报.

3.如果应该路由器是最终的目的,且指针不大于路径的长度,哪么

(1)由ptr指定的清单中的下一个地址就是数据报最终目的地址

(2)同外出接口相对应的ip取代刚才使用的源地址

(3)指针加4

阅读更多
文章标签: 路由器 sun 工具
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭