网络相关的命令工具研究报告-tracert

当今世界是一个网络的世界,互联网已经覆盖了整个地球,我们可以通过网络访问万里之外的用户,与之交流通信,那么当我们访问一个网站的时候,我们如何知道从当前主机到目的主机之间经过了多少个路由器、路由IP是什么?在Windows操作系统下有个网络命令可以帮助我们完成,那就是神奇的Tracert。

一、什么是tracert命令

  Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP数据报访问目标所采取的路径。Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。它可以列出分组经过的路由节点,以及它在IP 网络中每一跳的延迟。(这里的延迟是指:分组从信息源发送到目的地所需的时间,延迟也分为许多的种类——传播延迟、传输延迟、处理延迟、排队延迟等,是大多数网站性能的瓶颈之一) Tracert(跟踪路由)将包含不同生存时间 (TTL) 值的 Internet 控制消息协议 (ICMP)回显数据包发送到目标,以决定到达目标采用的路由。要在转发数据包上的 TTL 之前至少递减 1,必需路径上的每个路由器,所以 TTL 是有效的跃点计数。数据包上的 TTL 到达 0 时,路由器应该将“ICMP 已超时”的消息发送回源系统。Tracert 先发送 TTL 为 1 的回显数据包,并在随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。路由通过检查中级路由器发送回的“ICMP 已超时”的消息来确定路由。不过,有些路由器悄悄地下传包含过期 TTL 值的数据包,而 tracert 看不到。

二、tracert命令的工作原理:

  tracert命令通过向目标发送不同 IP 生存时间 (TTL) 值的“Internet 控制消息协议 (ICMP)”回应数据包,Tracert诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减 1。数据包上的 TTL 减为 0 时,路由器应该将“ICMP 已超时”的消息发回源系统。Tracert 先发送 TTL 为 1 的回应数据包,并随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP 已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL 过期的数据包,这在 Tracert 实用程序中看不到。Tracert 命令按顺序打印出返回“ICMP 已超时”消息的路径中的近端路由器接口列表。
 
三、tracert命令的用法及作用:
下面以tracert 百度为例说明,tracert系列命令的各种用法以及他们的功能网络相关的命令工具研究报告-tracert

①、-d表示不将地址解析成主机名。

网络相关的命令工具研究报告-tracert

②、-h maximum_hops表示搜索目标的最大跃点数。

网络相关的命令工具研究报告-tracert

③、-w timeout表示等待每个回复的超时间(以毫秒为单位)。

网络相关的命令工具研究报告-tracert

其他还有几种不是很常用的命令:

④、-j host-list表示与主机列表一起的松散源路由(仅适用于IPv4)。

⑤、-R表示跟踪往返行程路径(仅适用于IPv6)。

⑥、-S srcaddr表示要使用的源地址(仅适用于IPv6)。

⑦、-4和-6表示强制使用IPv4或者IPv6。

⑧、target_name表示目标主机的名称或者IP地址。