网络故障排除之Traceroute命令详解

这篇具有很好参考价值的文章主要介绍了网络故障排除之Traceroute命令详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

网络故障排除之Traceroute命令详解,网络


 文章来源地址https://www.toymoban.com/news/detail-528030.html

概要

遇到网络故障的时候,你一般会最先使用哪条命令进行排障?

除了Ping,还有Traceroute、Show、Telnet又或是Clear、Debug等等。

今天安排的,是Traceroute排障命令详解,给你分享3个经典排障案例哈


一. Traceroute原理和功能

 

Traceroute是为了探测源节点到目的节点之间数据报文所经过的路径。

利用IP报文的TTL域在每经过一个路由器的转发后减一,当TTL=0时则向源节点报告TTL超时这个的特性。

Traceroute首先发送一个TTL为1的Icmp request报文,因此第一跳发送回一个ICMP错误消息以指明此数据报不能被发送(因为TTL超时)。

之后Traceroute再发送一个TTL为2的报文,同样第二跳返回TTL超时,这个过程不断进行,直到到达目的地。

此时,由于数据报中使用了无效的端口号(缺省为33434),目的主机会返回一个ICMP的目的地不可达消息,表明该Traceroute操作结束。

Traceroute记录下每一个ICMP TTL超时消息的源地址,从而提供给用户报文到达目的地所经过的网关IP地址。

Traceroute 命令用于测试数据报文从发送主机到目的地所经过的网关。

主要用于检查网络连接是否可达,以及分析网络什么地方发生了故障。

 

二. 不同平台的Traceroute命令

 

 1. RGNOS平台的Traceroute命令 

举个例子,在锐捷RG系列路由器上,Traceroute命令的格式如下:

Traceroute host 『destination』

例如:查看到目的主机10.15.50.1 中间所经过的网关。

RG# traceroute 10.15.50.1
 Type esc/CTRL^c/CTRL^z/q to abort.
traceroute 192.168.0.1 ...... 
1 10.110.40.1            1 4 ms  5 ms  5 ms
 2 10.110.0.64            10 ms  5 ms  5 ms
 3 10.110.7.254          10 ms  5 ms  5 ms
 4 10.3.0.177              175 ms  160 ms  145 ms
 5 129.9.181.254        185 ms  210 ms  260 ms
 6 10.15.50.1              230 ms  185 ms  220 ms
Trace complete successfully.

2. Windows平台的Tracert 命令 

在PC机上或Windwos为平台的服务器上,Tracert命令的格式如下:

tracert [ -d ] [ -h maximum_hops ] [ -j host-list ] [ -w timeout ] host

-d :不解析主机名。

-h:指定最大TTL大小。

-j:设定松散源地址路由列表。

-w:用于设置UDP报文的超时时间,单位毫秒;例如:查看到目的主机10.15.50.1 中间所经过的前两个网关。

:\>tracert -h 2 10.15.50.1
Tracing route to 10.15.50.1 over a maximum of 2 hops:
  1     3 ms     2 ms     2 ms  10.110.40.1
  2     5 ms     3 ms     2 ms  10.110.0.64
Trace complete.

 

三. 使用Traceroute命令进行故障排除

 

排障案例①  使用Traceroute命令定位不当的网络配置点 

1、现象描述:

组网情况如下图所示:

网络故障排除之Traceroute命令详解,网络

 某校园网中,RouterB和RouterC同属于一个运行RIPv2路由协议的网络,主机4.0.0.2访问数据库服务器5.0.0.2,用户抱怨访问性能差。

2、相关信息:

在主机上ping  5.0.0.2显示如下:

C:\Documents and Settings\c>ping -n 10 -l 1000 5.0.0.2

Pinging 5.0.0.2 with 1000 bytes of data:
Reply from 5.0.0.2: bytes=1000 time=552ms TTL=250
Reply from 5.0.0.2: bytes=1000 time=5735ms TTL=250
Reply from 5.0.0.2: bytes=1000 time=551ms TTL=250
Reply from 5.0.0.2: bytes=1000 time=5734ms TTL=250
Reply from 5.0.0.2: bytes=1000 time=549ms TTL=250
Reply from 5.0.0.2: bytes=1000 time=5634ms TTL=250
Reply from 5.0.0.2: bytes=1000 time=555ms TTL=250
Reply from 5.0.0.2: bytes=1000 time=5738ms TTL=250
Reply from 5.0.0.2: bytes=1000 time=455ms TTL=250
Reply from 5.0.0.2: bytes=1000 time=5811ms TTL=250

3、原因分析:

上面的Ping显示出一个规律,奇数报文的返回时长短,而偶数报文返回时长很长(是奇数报文的10倍多)。

可以初步判断奇数报文和偶数报文是通过不同的路径传输的。

现在我们需要使用Traceroute命令来追踪这不同的路径。在RouterC上,Traceroute远端RouterA的以太网接口5.0.0.1。

RouterC(config)#traceroute
Target IP address or host: 5.0.0.1
Maximum number of hops to search for target [30]:10
Repeat count for each echo[3]:8
Wait timeout milliseconds for each reply [2000]:

Type esc/CTRL^c/CTRL^z/q to abort.
traceroute 5.0.0.1 ......
1    6 ms  4 ms  4 ms  4 ms  4 ms  4 ms  4 ms  4 ms   4.0.0.1
  。。。。。。(中间省略)
5  20 ms  16 ms  15 ms  16 ms  16 ms  16 ms  16 ms  16 ms  3.0.0.2
6  30 ms  278 ms  25 ms  279 ms  25 ms  278 ms  25 ms  277 ms  5.0.0.1
RouterC(config)#

从上面的显示可看到,直至3.0.0.2,UDP探测报文的返回时长都基本一。

而到5.0.0.1时,则发生明显变化,呈现奇数报文时长短,偶数报文时长长的现象。

于是判断,问题发生在RouterB和RouterA之间。

通过询问该段网络的管理员,得知这两路由器间有一主一备两串行链路,主链路为2.048Mbps(s0口之间),备份链路为128Kbps(s1口之间)。

网络管理员在此两路由器间配置了静态路由。

RouterB上如下配置:

RouterB(config)# ip route 5.0.0.0 255.0.0.0 1.0.0.2
RouterB(config)# ip route 5.0.0.0 255.0.0.0 2.0.0.2

RouterA上如下配置:

outerA(config)# ip route 0.0.0.0 0.0.0.0 1.0.0.1
RouterA(config)# ip route 0.0.0.0 0.0.0.0 2.0.0.1

于是问题就清楚了。

例如RouterB,由于管理员配置时没有给出静态路由的优先级,这两条路由项的管理距离就同为缺省值1。

然后就同时出现在路由表中,实现的是负载分担,而不能达到主备的目的。

4、处理过程:

可以有两种处理方法。

一个是,继续使用静态路由,进行配置更改 RouterB上进行如下更改:

RouterB(config)# ip route 5.0.0.0 255.0.0.0 1.0.0.2 (主链路仍使用缺省1)

RouterB(config)# ip route 5.0.0.0 255.0.0.0 2.0.0.2 100(备份链路的降低至100)

RouterA上进行如下更改:

RouterA(config)# ip route 0.0.0.0 0.0.0.0 1.0.0.1
RouterA(config)# ip route 0.0.0.0 0.0.0.0 2.0.0.1 100

这样,只有当主链路发生故障,备份链路的路由项才会出线在路由表中,从而接替主链路完成报文转发,实现主备目的。

第二个是,在两路由器上运行动态路由协议,如OSPF,但不要运行RIP协议(因为RIP协议是仅以hop作为Metric的)。

5、建议和总结:

本案例的目的不是为了解释网络配置问题,而是用来展示Ping命令和Traceroute命令的相互配合来找到网络问题的发生点。

尤其在一个大的组网环境中,维护人员可能无法沿着路径逐机排查,此时,能够迅速定位出发生问题的线路或路由器就非常重要了。

 

 排障案例②  使用Traceroute命令发现路由环路 

 

1、现象描述:

组网情况如下图所示:

网络故障排除之Traceroute命令详解,网络

 三台路由器均配置静态路由,完成后,登录到RouterA上Ping主机4.0.0.2,发现不通。

2、相关信息:

RouterA# ping  4.0.0.2Sending 5, 100-byte ICMP Echos to 4.0.0.2,
timeout is 2000 milliseconds.
.....

Success rate is 0 percent (0/5)
RouterA# traceroute 4.0.0.2
 Type esc/CTRL^c/CTRL^z/q to abort.
traceroute 4.0.0.2 ......
1  6 ms  4 ms  4 ms   1.0.0.1(RouterB)
 2  8 ms  8 ms  8 ms   1.0.0.2(RouterA)
 3  12 ms  12 ms  12 ms 1.0.0.1(RouterB)
 4  16 ms  16 ms  16 ms 1.0.0.2(RouterA)
 。。。。。。

3、原因分析:

从上面的Traceroute命令的显示可以立即发现,在RouterA和RouterB间产生了路由环路。

由于是配置的是静态路由,基本可以断定是RouterA或RouterB的静态路由配置错误。 

检查RouterA的路由表,配置的是缺省静态路由:ip route 0.0.0.0 0.0.0.0 1.0.0.1,没有问题。

检查RouterB的路由表,配置到4.0.0.0网络的静态路由为:ip route 4.0.0.0 255.0.0.0 1.0.0.2――下一跳配置的是1.0.0.2,而不是3.0.0.1。这正是错误所在。

4、处理过程:

修改RouterB的配置如下:

RouterB(config)# no ip route 4.0.0.0 255.0.0.0 1.0.0.2
RouterB(config)# ip route 4.0.0.0 255.0.0.0 3.0.0.1

故障排除。

5、建议和总结:

Traceroute命令能够很容易发现路由环路等潜在问题。

当路由器A认为路由器B知道到达目的地的路径,而路由器B也认为路由器A知道目的地时,就是路由环路发生了。

使用Ping命令只能知道接收端出现超时错误,而Traceroute能够立即发现环路所在――如果Traceroute命令两次或者多次显示同样的接口。

当通过Traceroute发现路由环路后,如果配置为:

 

  • 静态路由:几乎可以肯定是手工配置有问题,如本案例所示。

  • OSPF协议:可能是地址聚合产生的问题。

  • 多路由协议:可能是路由引入产生的问题。

 

好了 今天的分享到这里了,如果你觉得对你有所帮助,欢迎点赞收藏转发,感谢🙏

---END---

 

到了这里,关于网络故障排除之Traceroute命令详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 5个好用的网络故障排除工具分享

    要知道,网络排障作为每个网工的必备基础,如果能好用的网络故障排除工具高效提升你的工作效率,对于领导来说,绝对是加分项。 善用工具也是一种很强大的能力。通过高效的工具,你能够分析究竟网络在这期间究竟发生了什么事情,而不会再一头雾水。 今天就为大家

    2024年02月13日
    浏览(34)
  • 路由器ping不通怎么办故障排除及Ping命令使用注意

    路由器ping不通.原因众多...现在简单讲以下几点 叫别人PING下你的IP看看. 使用PING判断TCP/IP故障 1、Ping 127.0.0.1: 127.0.0.1是本地循环地址,如果本地址无法Ping通,则表明本地机TCP/IP协议不能正常工作。 2、Ping本机的IP地址: 用IPConfig查看本机IP,然后Ping该IP,通则表明网络适配器

    2024年02月06日
    浏览(34)
  • FANUC机器人项目中常见操作详解及故障排除

    1、 控制器构造(参考控制柜) 控制柜—机器人电缆 内部轴RM1:Motor power/brake        RP1:Pulse coder 外部轴ARM1        ARP1 及伺服枪供电 2、 自动运行(参考自动运行时序图) CMDENBL O:remote condition遥控状态条件成立。 CMDENBL的设定,专用外部信号有没有启用,仿真是

    2024年02月09日
    浏览(29)
  • MAC 网络命令(PING + TRACEROUTE)

    目录 ICMP 1.PING 发送接收过程 ping命令详解​​​​​​​ 使用技巧 2.TRACEROUTE 作用1工作原理 作用2工作原理 traceroute命令详解 在学习这两个命令之前,需要先简单的了解一下ICMP网络协议 ICMP 全称是  Internet Control Message Protocol ,也就是 互联网控制报文协议 ICMP 主要的功能包括

    2024年02月05日
    浏览(40)
  • 非常有用的Linux网络诊断命令:traceroute

    traceroute 是一个网络诊断工具,用于检测数据包从本机到目标主机经过的路由路径。它可以帮助我们分析出网络连接的瓶颈,定位网络问题,并帮助我们优化网络连接。在 Linux 系统中,traceroute 命令是一个非常常用的工具。 在大多数 Linux 发行版中,traceroute 工具已经默认安装

    2024年02月13日
    浏览(27)
  • 【Shell 命令集合 网络通讯 】Linux 追踪数据包在网络中的路径 traceroute命令 使用指南

    Shell 命令专栏:Linux Shell 命令全解析 traceroute命令用于追踪数据包在网络中的路径。它通过发送一系列的ICMP(Internet Control Message Protocol)回显请求数据包(ping包),并记录每个数据包的传输时间,从而确定数据包从源主机到目标主机经过的所有中间路由器。 当我们使用trac

    2024年02月04日
    浏览(49)
  • 【Java可执行命令】(十七)JVM运行时信息动态维护工具 jinfo:一个维护 JVM 相关的配置参数和系统属性的工具,辅助故障排除、诊断和优化 ~

    jinfo 是 Java Development Kit (JDK) 自带的一款命令行工具。它旨在为用户提供进程的运行时信息,特别是与 Java 虚拟机 (JVM) 相关的配置和系统属性。 jinfo 使得用户可以轻松地查看和修改正在运行的 Java 进程的参数,以便进行 故障排除、诊断和优化 。 jinfo 允许用户动态查询和修改

    2024年02月13日
    浏览(41)
  • 局域网故障怎么排除 局域网故障排除方法介绍

    局域网可以实现文件管理、应用软件共享、打印机共享、工作组内的日程安排、电子邮件和传真通信服务等功能,局域网故障怎么排除呢? 1.当整个网络都不通时,可能是交换机或集线器的问题,要看交换机或集线器是否在正常工作。 2.只有一台电脑网络不通,即打开这台电脑

    2024年02月06日
    浏览(32)
  • 处理Zookeeper故障:排除常见故障和错误

    [toc] 引言 Zookeeper是一款非常流行的分布式协调软件,广泛应用于许多场景,如微服务架构、负载均衡、集群管理、安全性控制等。然而,在使用Zookeeper的过程中,经常会遇到各种故障和错误。本篇文章将介绍如何处理Zookeeper故障,并提供常见的解决方案和技巧。 技术原理及

    2024年02月14日
    浏览(36)
  • 局域网故障排除经验之谈 网卡故障居多

    局域网是网中各种系统运行的硬件平台,其故障影响着系统中各项工作的顺利进行。局域网的维护工作特别是故障的预防和及时排除是保证工作顺利进行的保障。现在谈一谈维护工作中故障排除的一点体会。 我们知道,网络故障可分为硬件故障和软件故障两大类。当排除了所

    2024年02月07日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包