FAQ-Ping不通,如何定位

发布时间:  2015-03-13 浏览次数:  334 下载次数:  0
问题描述
Ping不通,如何定位?
解决方案
故障定位步骤:

步骤1:检查配置

检查交换机上端口配置、VLAN配置、VLANIF接口配置、IP地址配置是否正确,首先排除配置问题;确认两端端口的端口类型,两端VLAN的封装方式是否一致,VLANIF接口下IP地址配置的网段是否存在问题。

步骤2:检查链路

检查物理链路:
1)光纤或网线连接的端口需要和网络要求的部署一致。
2)光纤所带的光模块波长参数需要一致,光模块建议使用华为认证光模块。
3)如果是通过Eth-Trunk接口连接,两端设备上Eth-Trunk中加入的物理成员端口数量需要保持一致;若Eth-Trunk启用LACP协议,需要保证LACP协议状态稳定。
4)检查两端设备之间是否有传输设备,两端的物理端口是否处于UP状态。
5)确认Ping业务经过的物理端口是否存在CRC校验错误,且错误计数是否在不断增长。
检查物理端口是否存在阻塞现象。检查设备上是否运行了STP、RRPP或SMART LINK等二层协议,确认Ping业务经过的物理端口是否被阻塞。

步骤3:检查路由

检查设备上是否存在到Ping目的地址的路由。
• 如果和交换机连接的是终端设备,检查终端设备上是否配置了正确的网关地址。
• 如果和交换机连接的是交换机或路由设备,检查对端设备上是否有正确的回程路由。
参考命令:display ip routing-table
如果路由不正常,检查接口协议状态是否UP,设备上运行的路由协议是否正常,排查路由故障。

步骤4:检查ARP表项

1、检查直连地址的ARP是否学习正常。
相关命令:
display arp
display arp interface vlanifvlanif-id

2、如果ARP学习正确,查看MAC表项,确认MAC地址的出端口和ARP的物理出端口是否一致。
相关命令:
display mac-addressmac-address
display mac-addressmac-addressvlanvlan-id

3、如果ARP学习不到,排查ARP故障,步骤如下:
1)检查设备上是否使能严格ARP学习,若配置将其去使能后观察能否正常学习ARP。
2)在不能互相学习ARP的两端设备的其中一端执行长Ping操作,命令行如下:
ping -c 100000ip-address
也可视情况添加-t/-m等参数将Ping的速率适当调整。
3)长ping操作会不断触发本端设备发出ARP请求报文,可通过流量统计确认ARP请求报文是否从端口送出。
4)通过流量统计检查对端设备的物理端口是否收到了ARP请求报文。若收到ARP请求,查看是否能生成ARP表项,并是否能回应ARP-REPLY;若收到请求未生成表项,联系华为工程师处理。
5)同样可采用流量统计方法确认ARP-REPLY报文是否从对端设备物理口发出。若未发出,联系华为工程师处理。
6)检查本端设备是否收到ARP-REPLY报文,若物理端口上收到ARP-REPLY但没有上送CPU,联系华为工程师处理。
ARP请求和ARP回应报文的流量统计配置,示例如下:
[huawei] traffic classifier aa operator and//配置流分类
[huawei-traffic-classifier-aa]if-match l2-protocol arp //匹配ARP报文
[huawei-traffic-classifier-aa]if-match source-mac 1111-1111-1111 //匹配源MAC
[huawei-traffic-classifier-aa]if-match destination-mac 2222-2222-2222 //匹配目的MAC
[huawei-traffic-classifier-aa]if-match vlan-id 33 //匹配VLAN
[huawei-traffic-classifier-aa]quit

Tips:对应ARP请求报文,目的MAC需要匹配广播MAC(FFFF-FFFF-FFFF),源MAC匹配发送端设备的MAC;对于ARP回应报文,目的MAC匹配对端MAC,源MAC匹配本设备MAC。上面的数据仅是举例,实际故障定位中需要按照这个原则替换。

[huawei]traffic behavior bb //配置流行为
[huawei-traffic-behavior-bb] statistic enable //使能流量统计功能
[huawei-traffic-behavior-bb]quit
[huawei]traffic policy pp//配置流策略
[huawei-traffice-policy-pp]classifier aa behavior bb //关联流分类和流行为
[huawei-traffice-policy-pp]quit
[huawei]interface gigabitethernet 3/0/0
[huawei-gigabitethernet3/0/0] traffic policy pp inbound //在接口的入方面应用流策略。对于ARP请求报文,应该是接口的出方向。

步骤5:检查报文收发情况

Ping不通问题或Ping有丢包问题的定位关键主要是确认报文丢在哪里了,可以通过如下几个方式进行确认。

1、ICMP统计
进行Ping操作时,通过命令display icmp statistics查看ICMP报文的收发情况,echo和echo reply报文收发是否一致,是否存在checksum错误统计计数。
reset ip statistics命令用来清除统计计数。
<HUAWEI> display icmp statistics
Input: bad formats 0     bad checksum 0
      echo          521     destination unreachable 0
      source quench   0     redirects               0
      echo reply     19     parameter problem       0
      timestamp       0     information request     0
      mask requests   0     mask replies            0
      time exceeded   0     timestamp reply         0
      Mping request   0     Mping reply             0
Output:echo  19     destination unreachable 0
      source quench   0     redirects                0
      echo reply     512    parameter problem        0
      timestamp       0     information request      0
      mask requests   0     mask replies             0
      time exceeded   0     timestamp reply          0
      Mping request   0     Mping reply              0

2、IP层调试开关
这一层调试开关需要定义ACL匹配Ping报文,即源IP、目的IP地址,进行Ping操作同时打开IP层调试开关,观察报文的收发情况。
配置命令如下:
#
acl number 3333
rule 5 permit icmp source x.x.x.x 0 destination y.y.y.y 0
rule 10 permit icmp source y.y.y.y 0 destination x.x.x.x 0
#
debugging ip packet acl 3333 verbose

下面举例说明:
如:ping 7.8.20.5
PING 7.8.20.5: 56 data bytes, press CTRL_C to break*0.55569503 L3FC-4 IP/7/debug_case:Sending, interface = Vlanif20, version = 4, headlen = 20, tos = 0,pktlen = 84, pktid = 35000, offset = 0, ttl = 255, protocol = 1,checksum = 64727, s = 7.8.20.4, d = 7.8.20.5prompt: Sending the packet from local at Vlanif20
45 00 00 54 88 b8 00 00 ff 01 fc d7 07 08 14 04
07 08 14 05 08 00 00 9e ab cf 00 01 03 4f ec 5e
81 00 c0 01 50 49 4e 00 00 00 ff 05 00 01 02 03
04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13
14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23
24 25 26 27
Reply from 7.8.20.5: bytes=56 Sequence=1 ttl=255 time=2 ms*0.55569603 L3FC-4 IP/7/debug_case:Receiving, interface = Vlanif20, version = 4, headlen = 20, tos = 0,pktlen = 84, pktid = 44132, offset = 0, ttl = 255, protocol = 1,checksum = 55595, s = 7.8.20.5, d = 7.8.20.4prompt: Receiving IP packet from Vlanif20
45 00 00 54 ac 64 00 00 ff 01 d9 2b 07 08 14 05
07 08 14 04 00 00 0e 9d ab cf 00 01 03 4f ec 5e
81 00 c0 01 50 4e 47 00 00 00 00 02 00 01 02 03
04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13
14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23
24 25 26 27

3、CPCAR统计
查看CPCAR的统计情况,检查ICMP报文是否被car掉了。相关命令:
大S V100R002版本、小S V100R005版本:display cpu-defend icmp statistics all
大S V100R003及之后、小S V100R006及之后的版本:display cpu-defend statistics packet-type icmp all
主要关注Drop计数是否在增加。如果Drop计数在增加,说明存在CPCAR丢包,可以适当增加car值再进行Ping测试,看问题是否解决。最后建议恢复car值。

4、流量统计
配置流量统计,确认报文的收发情况。定义流分类时需要匹配到Ping的源IP和目的IP,其他配置同ARP报文的统计。
配置完成后,执行Ping命令,查看流量统计情况。相关命令:
display traffic policy statistics interface GigabitEthernet 0/0/1 inbound
display traffic policy statistics interface GigabitEthernet 0/0/1 outbound
如果outbound方向没有统计计数,说明报文没有发送出去;如果inbound方向没有统计计数,说明没有收到应答报文。

5、配置镜像查看报文收发情况
通过镜像来确认报文的收发情况。
如果端口上流量不大,可以直接用端口镜像;
如果端口上流量较大,可以使用流镜像。
通过对镜像报文进行分析,不仅可以确认报文的收发情况,同时可以对报文进行校验,包括:报文的VLAN是否正确、报文的目的MAC地址是否是设备系统MAC地址、报文IP头的checksum是否正确、ICMP的checksum是否正确。

一般情况,这几个步骤基本就可以解决Ping不通的问题了。

END