一、常用的命令:
对于网络工程师来说,需要熟练掌握的Windows路由追踪命令有两个:tracert和pathping,其中pathping是tracert和ping命令的结合,不但可以追踪目标IP地址的路由,还可以测试经过的每一跳的时延和丢包率。
1.1 tracert命令及举例
tracert命令,通过向目标IP地址发送不同 TTL值的Internet 控制消息协议ICMP回应数据包,发送规则是:先发送 TTL 为 1 的回应数据包,并在随后的每次发送过程将 TTL 递增 1,直到目标IP地址响应或 TTL 达到最大值。
路径上的每个路由器,在转发数据包之前至少将数据包上的 TTL 递减 1,直到 TTL 减为 0 时,路由器将ICMP超时消息发回源地址。通过检查ICMP超时信息,tracert命令就可以显示出目标IP地址所经过的路径。
Tracert命令格式如下:
Tracert[-d] [-h maximum_hops] [-j computer-list] [-w timeout] target_name
如果不带选项的话,会将IP地址解析成主机名,因为需要查询DNS,所以速度比较慢。
-d选项:不将IP地址解析成主机名,因此路由追踪速度快很多。
-h选项:说明路由的最大跳数,默认是30跳。
-w选项:说明等待每一个ICMP响应报文的时间,默认4s,如果接收超时,则显示星号*。跳数和等待时间,使用默认值即可,所以平时一般都不需要添加这两个选项。
-j选项:说明ICMP报文要使用IP头中的松散源路由选项,后面是经过的中间节点的地址或主机名字,最多9个,各个中间节点用空格隔开。
这里说明下松散源路由和严格源路由,严格源路由是指,相邻路由器之间不得有中间路由器,并且所经过路由器的顺序不可更改。
而松散源路由,则相反,相邻路由器之间可以有中间路由器。一般的路由追踪,也用不到-j这个选项。除非是针对大的网络故障,需要检测几条路径到达同一个目的地址,才需要使用-j选项。
所以,通常情况下,我们使用tracert–d这种格式就可以了。我们以追踪百度网站为例。
从路由表中,可以清楚看出到达百度站点的每一跳的IP地址。如果追踪不了目的地址,那么故障肯定出在第一个请求超时的节点。
当能够追踪目的地址的时候,有时候也会出现请求超时的现象。这是因为某些核心节点,为了防止IP泄露,设置了禁止跟踪。
从路由表中,我们还可以看出,每一条都有三个时间,这是因为tracert 每一跳会发出三个TTL包,三个数字都表示ping值。有时候,这三个时间,也有可能个别出现星号,即意味着数据报超时没有返回,该节点可能存在问题。当然,也有可能是由于路由器限速的原因。
从tracert每一跳的三个时间值,我们也可以大致得出每一跳的网络时延。比如在私网和省内,时延都在10ms以内,到了省外就超过了20ms了。
如果需要了解每一跳的丢包率等信息,那就必须使用pathping命令了。
1.2 pathping命令及举例
Pathping命令的格式如下:
pathping [-g host-list] [-hmaximum_hops] [-n] [-p period] [-q num_queries] [-w timeout] target_name
-g选项:使用松散源路由,功能与tracert 命令的-j选项相同。
-h选项:追踪的最大跳数,功能与tracert 命令的-h选项相同。
-n选项:不将IP地址解析成主机名,功能与tracert 命令的-d选项相同。
-q选项:发送给每个路由器的请求报文的数量,默认100个。
-p选项:两次ping之间的时间间隔,默认0.25秒。
-w选项:每次等待回声响应的时间,默认3秒。功能与tracert 命令的-w选项相同。
因此,在通常情况下,我们使用pathping -n格式就行了,路由追踪速度更快。下面,还是以百度为例:
Pathping运行的第一个结果就是路由表,这个和tracert的结果是一致的。
经过200秒的统计时间,显示时延和丢包率的测试结果。往返时延RTT,显示省内都在10ms以内,省外时延20毫米以上,链路丢包率都是0,网络质量还是不错的。
针对CDN网络,当接到客户反馈网络质量不稳定的时候,就可以用pathping命令,根据时延和丢包率,来简单判断到底是哪个节点出现了问题。
总结,常用这两个:tracert -d/pathping -n
标签:选项,pathping,tracert,IP地址,常用命令,路由,路由器 From: https://blog.csdn.net/crayonlittlestar/article/details/140604802