网络设备排障怎么破?这五个命令申请出战!( 二 )

  • 登录RG路由器查看邻居状态,发现邻居状态机处于Exstart状态 。打开相应的debug开关查看相应的报文信息,发现双方都可以收到Hello报文,但RG路由器发送DD报文后,一直没有收到对方回应的DD报文;
  • 登录其他厂商的那台路由器,打开相应的debug开关,发现对方收到RG路由器发送的DD报文后,一发送了相应的DD报文予以回应 。
  • (3) 原因分析:
    初步断定,RG路由器没有收到DD回应报文,但对方确实发出来了 。
    既然可以接收到HELLO 报文说明链路是通畅的,而且多播报文的收发也没有问题 。那么有可能是对方发送的DD 报文有错误导致RG路由器拒收,但查看相应的信息,并没有报告接收到错误的DD 报文 。
    仔细查看某厂商路由器的调试信息发现这个DD报文很大有2000 多字节 。会不会是由于报文太大导致的问题呢?试着Ping了一个2000字节的报文,结果不通 。那么故障原因很可能是--由于双方的MTU不一致导致大包不通 。
    (4) 处理过程:
    检查配置,发现对方路由器的MTU设置为4000多而RG路由器的MTU设置为1500,于是修改对端路由器的MTU为1500 。故障排除 。
    那么为什么工程初期没有问题呢?这是因为前期DD报文长度小于1500字节,而后来网络扩容导致路由信息过多使DD 报文的长度超过了1500 字节 。
    (5) 建议和总结:
    由于Ping 缺省报文是56 个字节,所以显示的Ping 通信息只是表示56字节的报文可以通而并不一定表示其他大小的报文仍旧可以通 。所以,应当善于使用Ping的其他参数来进行故障排除 。
    案例三:A能Ping通B,B就一定能Ping通A吗?
    (1) 现象描述
    组网图如下:
    图1-1 案例:A能Ping通B,B就一定能Ping通A吗?
    网络设备排障怎么破?这五个命令申请出战!

    文章插图
    在RouterA上配置一条指向2.0.0.0/8的静态路由:
    RouterA(config)# ip route 2.0.0.0 255.0.0.0 1.1.1.1
    在RouterA 上Ping RouterB 的以太网地址2.2.2.2,显示可以正常Ping通;但是在RouterB上Ping RouterA的以太网地址3.3.3.3,却无法Ping通 。
    (2) 原因分析:
    由于在RouterB 上却没有相应的配置到3.0.0.0/8 路由,所以从RouterB 上Ping不通RouterA的以太网口3.3.3.3。
    但是为何在A上可以Ping 通2.2.2.2 呢?同样是没有回程路由呀?打开路由器上的IP报文调试开关发现,原来从RouterA上发出的ICMP报文的源地址填写的是1.1.1.1而不是3.3.3.3,由于两台路由器的s0口处于同一网段,所以响应报文可以顺利到达RouterB 。
    (3) 建议和总结:
    A能够Ping通B则B一定能够Ping通A(不考虑防火墙的因素),这句话的对错取决于A和B到底是指主机还是指路由器 。
    • 如果是指两台主机,那么这句话就是正确的 。
    • 如果是指两台路由器那就是错误的,因为路由器通常会有多个IP地址 。现在就有如下问题:当从一台路由器上执行Ping命令它发出的ICMP Echo报文的源地址究竟选择哪一个呢?实际情况是路由器选择发出报文的接口的IP地址 。
    1.2 Traceroute 命令
    1.原理
    Traceroute是为了探测源节点到目的节点之间数据报文所经过的路径 。利用IP报文的TTL域在每经过一个路由器的转发后减一,当TTL=0时则向源节点报告TTL超时这个的特性 。Traceroute首先发送一个TTL为1的Icmp request报文,因此第一跳发送回一个ICMP错误消息以指明此数据报不能被发送(因为TTL超时),之后Traceroute再发送一个TTL为2的报文,同样第二跳返回TTL超时,这个过程不断进行,直到到达目的地,此时由于数据报中使用了无效的端口号(缺省为33434)此时目的主机会返回一个ICMP的目的地不可达消息,表明该Traceroute操作结束 。Traceroute记录下每一个ICMP TTL超时消息的源地址,从而提供给用户报文到达目的地所经过的网关IP地址 。
    2.功能
    Traceroute 命令用于测试数据报文从发送主机到目的地所经过的网关,主要用于检查网络连接是否可达,以及分析网络什么地方发生了故障 。
    3.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.
    4.Windows平台的Tracert 命令


    推荐阅读