1.4 tracert实战
实验目的
1.掌握tracert命令及其用途,理解输入参数和输出结果。
2.掌握利用tracert命令测试和分析主机的网络连通性、网络延迟、域名解析、跟踪网络路由的方法,具备基本的检错和排错能力。
实验装置和工具
一台连入本地局域网或互联网的Microsoft Windows 10主机。
(说明:本实验的命令、步骤和屏幕截图均以Windows 10为例。)
实验原理(背景知识)
tracert也被称为路由跟踪实用程序,用于跟踪源主机到目的主机之间的路由,检测网络延迟。
ping可以测试数据是否能到达目的主机,以及到达目的主机的延迟和TTL,但未给出数据到达目的主机的路径。tracert则给出了更为详细的信息,它显示数据从源主机到目的主机的路由和延迟,包括:经过了哪些路由器和到达每台路由器的延迟,所以,tracert不仅能测量延迟,还能定位延迟,有助于确定产生网络延迟或发生故障的网络(或链路)和路由器。tracert通常与ipconfig、ping、netstat、nslookup等配合使用。
Windows上的tracert与Linux上的traceroute的实现方法不同。Windows上的tracert向目的主机发送一系列ICMP echo请求消息,Linux上的traceroute则向目的主机发送一系列UDP数据报。不论哪种实现方法,它们都使用了IP分组中的TTL(Time-To-Live)字段。
tracert发送的第1个IP分组的TTL=1,第2个分组的TTL=2,依次类推,后续每个分组的TTL都等于其前一个分组的TTL加1,直到目的主机响应或TTL达到最大值。路由上的每个路由器在收到IP分组后,将其TTL减1。如果TTL等于0,则路由器丢弃该分组,并向源主机发送ICMP超时(Time Exceeded)错误消息进行响应。通过这种方式发送IP分组,tracert可以确保路由上的每台路由器丢弃分组并发送响应,这样就可以计算从源主机到达目的主机的路由包括哪些路由器,以及达到每个路由器的延迟。
命令执行
tracert是Windows的一个控制台应用程序,需要从Windows命令窗口运行。
tracert命令格式如下:
tracert支持的常用选项和参数见表1-11。按下“Ctrl+C”组合键可以终止命令的执行。
表1-11 tracert常用选项和参数
命令结果
假设按域名跟踪到网站www.phei.com.cn的路由,则在本地主机的命令提示符下输入以下命令,然后按回车键。tracert返回的结果如图1-8所示。
结果信息包括:
1.跟踪信息
(1)目的主机名及其IP地址。若按IP地址跟踪,则显示该IP地址。
(2)最大跃点数(即路由器数)。默认值为30。
图1-8 tracert www.phei.com.cn的返回结果
2.详细路由信息
包括多行,每行代表路由上的一个路由器(即一跳)。每行包括5列信息。每行的格式如表1-12所示。
表1-12 tracert命令输出的详细路由信息
其中:
(1)序号:分组当前在路由的第几个路由器上。第一路由器为源主机所接入网络的路由器,例如默认网关,最后一跳为目的主机。
(2)往返时间1,往返时间2,往返时间3:从发送分组到收到该路由器响应的往返时间,单位为毫秒(ms)。该时间也被称为延迟。tracert连续发送三个分组,因此会显示3个往返时间,这样就可以知道延迟的波动程度。若某列显示的是“*”,表示未在规定时间内收到响应。等待响应的默认超时时间是4000 ms。有些主机或路由器会丢弃TTL过期的分组,不发送响应。
(3)主机名[IP地址]:如果允许,显示路由器的名字。如果不允许,则显示路由器的IP地址。若三个往返时间都超时,则显示“请求超时”。