现在网络四通八达,网线光纤基站卫星,只要运营商能收费的地方,就有网络,覆盖了全世界所有的区域。彻底改变了以前通讯基本靠吼的情况。那么宽广的网络世界,超过100米就得需要中继放大信号的网线,即使现在的光纤线缆距离也是有限。全世界那么大,有没有统计过,在有限的IPV4里,全球有多少的路由器,没有答案。
那我们访问一个网站的时候,从手下的主机到底经过了多少个路由器?才能达到目的地服务器。
Windows有个网络命令可以实现,它就是Tracert。
Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据包访问目标所采取的路径。Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。
命令参数如图
Tracert命令对于了解包括解决大型网络非常使用,它能摸索所处大型局域网里网络拓扑架构,除了一些禁止Ping的路由器(一般出口路由器或者防火墙上)。
Tracert命令功能同Ping类似,但它所获得的信息要比Ping命令详细得多,它把数据包所走的全部路径、节点的IP以及花费的时间都显示出来。该命令比较适用于大型网络。
Tracert 先发送 TTL 为 1 的回应数据包,当数据包上的 TTL在路由器收到后TTL自动减1 ,一旦某个服务器将TTL减1后,等于了0,路由器应该将“ICMP Time Exceeded”的消息发回源计算机,源计算机就根据收到的信息判断达到的路由器和所用时间。下次再次发送数据包时,将TTL递增 1,继续上述测试,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP 已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL过期的数据包,这在 Tracert 实用程序中看不到,我们会显示请求超时的请求信息。
命令使用案例使用ping命令测试www.qq.com服务器设置的TTL初始值为52,如下图
下图所示,我们测试到www.qq.com的路经过了16道路由,结合上图ping命令结果,得知小编在ping www.qq.com时候得到TTL=52。又由下图得知经过16道路由后到达我们客户机,52 16=68,说明www.qq.com设置的TTL初始值为68。下图中请求超时的反馈信息是因为路由器对ping命令做了处理,关闭了ping的响应,所以我们收不到发给他的反馈信息。
总结
Tracert命令适合大型网络,能测算出当前主机到目的主机之间经过了多少个路由,并详细记录所经过所有路由的地址。
,