Ping是我们网络工程师排除设备访问故障的常见方法,它使用Internet控制消息协议ICMP确定以下内容:
远程设备是否处于可访问状态。
访问远程设备时是否丢失报文。
本端与远程设备之间通信的往返延迟。
但是也常常听网工朋友在群里抱怨:咋又不通呢?
所以今天有空就总结了一下网络Ping不通的一些常见故障和处理方法,希望能帮到你。
Ping命令的参数非常的丰富,用户可以依据检测目的、网络类型、当前网络状况等因素选择不同的参数。
ping [ ip ] [ –a source-ip-address | –c count | –d | { –f | ignore-mtu } | –h ttl-value | –nexthop nexthop-ip-address | -i interface-type interface-number | -m time | –n | –name | –p pattern | –q | –r | { –s packetsize | –range [ min min-size | max max-size | step step-size ] * } | –system-time | –t timeout | –tos tos-value | –v | –vpn-instance vpn-instance-name ] * host [ ip-forwarding ]
01 故障分析
Ping不通是指Ping报文在网络中传输,由于各种原因(如链路故障、ARP学习失败等)而接收不到所有Ping应答报文的现象。@ 网 络 工 程 师 俱 乐 部
如果您需要了解Ping的原理
图1 Ping不通故障组网图
如图1所示,以一个Ping不通的尝试示例,介绍Ping不通故障的定位思路。
02 现象描述
SwitchA Ping不通SwitchD。
<SwitchA> ping 192.168.3.11
PING 192.168.3.11: 56 data bytes, press CTRL_C to break
Request time out
Request time out
Request time out
Request time out
Request time out
--- 192.168.3.11 ping statistics ---
5 packet(s) transmitted
0 packet(s) received
100.00% packet loss
表1 Ping命令输出信息描述
项目 |
描述 |
项目 |
查看所有接口的概要信息 |
PING 192.168.3.11 |
对IP地址为192.168.3.11的目的主机进行Ping测试,检测目的主机是否可达。 |
56 data bytes |
发送的Echo Request报文的长度 |
press CTRL_C to break |
在执行命令的过程中,执行Ctrl+C可终止Ping操作 |
Request time out |
如果超时时间内没有收到响应报文,则显示“Request time out”。 |
192.168.3.11 ping statistics |
对目的主机进行Ping测试的统计结果,包括以下内容:1、packet(s) transmitted:2、发送的ICMP Echo Request报文数目。packet(s) received 3、接收到的ICMP Echo Reply报文数目。% packet loss:未响应报文数占发送报文总数的百分比。4、round-trip min/avg/max:响应时间的最小值、平均值、最大值,单位为毫秒(ms)。Ping失败的时候不会打印该信息。 |
03 故障定位
如图1所示,Ping操作涉及三个角色:
——源端:Ping报文发起端SwitchA
——中间设备:SwitchB和SwitchC
——目的端:Ping报文接收端SwitchD
当在源端SwitchA上直接Ping IP地址192.168.3.11不通时,直接判定故障出现的原因比较困难。
此时可以缩小故障范围,在SwitchA上分别Ping SwitchB、SwitchC、SwitchD,然后在SwitchB上分别Ping SwitchC、SwitchD,依此类推,最后可以判断出哪一段网络出现故障。
以下述两种情况为例,介绍Ping不通的故障定位方法。
04 情况一
假设故障发生在SwitchA和SwitchB之间,即SwitchA Ping SwitchB的IP地址192.168.1.11不通,定位流程如图2所示(其他直连网段Ping不通的故障处理方法类似),详细的定位方法请参见Ping不通故障定位指导。
05 情况二
假设SwitchA Ping SwitchB的IP地址192.168.1.11能通,SwitchB Ping SwitchC的IP地址192.168.2.21能通,但是SwitchA Ping SwitchC的IP地址192.168.2.21不通。@ 网 络 工 程 师 俱 乐 部
这种情况需要在SwitchA、SwitchB和SwicthC上做ICMP报文的流量统计,进而判断流量是在哪丢弃的,关于流量统计的方法,请参见ICMP报文流量统计。
图2 直连Ping不通流程图
01 检查Ping命令是否合理
在SwitchA上检查是否执行了 ping –f 192.168.1.11 命令。
如果执行了此操作,则ICMP报文发送的过程中不支持分片,此时需要检查链路上出接口的MTU值。
<SwitchA> system-view
[SwitchA] interface GigabitEthernet 1/0/1
[SwitchA-GigabitEthernet1/0/1] display this
[SwitchA-GigabitEthernet1/0/1] undo portswitch
[SwitchA-GigabitEthernet1/0/1] mtu 1600 //接口的MTU值为1600字节,如果此字段不显示,代表接口的MTU为缺省值1500字节。
如果MTU值小于ICMP报文长度,由于ICMP报文的发送过程中不支持分片,如果ICMP报文的大小超过链路的MTU值,ICMP报文将会被丢弃,所以会导致Ping不通。@ 网 络 工 程 师 俱 乐 部
此时可以通过不使用-f参数或者增大链路MTU值的方式使ICMP报文不被丢弃。
02 检查配置是否正确
若PC直连交换机,确保PC与所属VLAN配置的VLANIF IP地址为同一网段。
若交换机与其他网络设备直连,确保两端设备接口类型、VLAN配置一致,两端VLANIF IP地址为同一网段。以SwitchA为例,查看方法如下:
执行命令 display port vlan 查看GE1/0/1接口的接口类型和VLAN配置。
其中Link Type代表的是接口链路类型,Trunk VLAN List代表的是接口动态加入和静态配置允许通过的VLAN ID。
<SwitchA> display port vlan
Port Link Type PVID Trunk VLAN List
-------------------------------------------------------------------------------
GigabitEthernet1/0/1 trunk 1 10
GigabitEthernet1/0/2 access 1 1-11 13-30
GigabitEthernet1/0/3 hybrid 50 -
……
执行命令 display ip interface brief 查看VLANIF10接口下的IP地址配置。其中IP Address/Mask代表的是接口的IP地址和掩码。
<SwitchA> display ip interface brief
……
Interface IP Address/Mask Physical Protocol
Vlanif10 192.168.1.10/24 up up
……
03 检查物理链路状态是否正常
1、检查物理链路连接
查看设备接口指示灯状态,如果是常灭,说明无连接。此时需要更换接口或者网线再进行尝试。
查看光纤或网线连接的接口和网络要求的部署是否一致。
如果不一致,需要重新对接口进行部署。
光纤所带的光模块波长参数需要一致,光模块建议使用华为认证光模块。
如果是通过Eth-Trunk接口连接,执行命令 display eth-trunk trunk-id 检查两端设备上Eth-Trunk中加入的物理成员接口数量是否一致,如果不一致,需要进行Eth-Trunk的重新配置。
如果是手工模式Eth-Trunk,回显如下,其中PortName代表的是加入Eth-Trunk的接口。
<SwitchA> display eth-trunk 11
Eth-Trunk11's state information is:
WorkingMode: NORMAL Hash arithmetic: According to SIP-XOR-DIP
Least Active-linknumber: 1 Max Bandwidth-affected-linknumber: 8
Operate status: up Number Of Up Port In Trunk: 1
--------------------------------------------------------------------------------
PortName Status Weight
GigabitEthernet1/0/1 Up 1
如果是LACP模式Eth-Trunk,回显如下,其中ActorPortName代表的是加入Eth-Trunk的接口。
<SwitchA> display eth-trunk 10
Eth-Trunk10's state information is:
Local:LAG ID: 10 WorkingMode: LACP
Preempt Delay Time: 10 Hash arithmetic: According to SIP-XOR-DIP
System Priority: 120 System ID: 0018-82d4-04c3
Least Active-linknumber: 1 Max Active-linknumber: 2
Operate status: up Number Of Up Port In Trunk: 2
--------------------------------------------------------------------------------
ActorPortName Status PortType PortPri PortNo PortKey PortState Weight
GigabitEthernet1/0/1 Selected 1GE 10 262 2609 10111100 1
GigabitEthernet1/0/2 Selected 1GE 10 263 2609 10111100 1
GigabitEthernet1/0/3 Unselect 1GE 32768 264 2609 10100000 1
Partner:
--------------------------------------------------------------------------------
ActorPortName SysPri SystemID PortPri PortNo PortKey PortState
GigabitEthernet1/0/1 32768 00e0-fc6e-bb11 32768 262 2609 10111100
GigabitEthernet1/0/2 32768 00e0-fc6e-bb11 32768 263 2609 10111100
GigabitEthernet1/0/3 32768 00e0-fc6e-bb11 32768 264 2609 10110000
2、检查对应的VLANIF接口是否Up
VLANIF接口UP是能Ping通的前提。
执行命令display ip interface brief查看VLANIF接口的状态,如果VLANIF接口Down,说明该VLAN下没有成员接口Up。
<SwitchA> display ip interface brief
……
Interface IP Address/Mask Physical Protocol
Vlanif10 10.1.1.1/24 down down
Vlanif30 unassigned *down down
……
执行命令display interface brief 查看接口状态,保证接口Up。如果接口为Down状态,请首先排除接口Down的故障。
<SwitchA> display interface brief
…
Interface PHY Protocol InUti OutUti inErrors outErrors
GigabitEthernet1/0/1 down down 0% 0% 0 0
GigabitEthernet1/0/2 down down 0% 0% 0 0
3、如果VLANIF和物理接口均为UP状态,检查设备上是否运行了STP、RRPP或Smart Link等二层协议,确认Ping业务经过的物理接口是否被阻塞。@ 网 络 工 程 师 俱 乐 部
如果接口被阻塞,需要修改相关的配置。
1)执行命令 display stp brief 命令,查看STP状态,回显信息中STP State为FORWARDING表示转发状态,为DISCARDING表示阻塞状态。
<SwitchA> display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet1/0/1 DESI DISCARDING LOOPBACK
2)执行命令 display rrpp verbose [ domain domain-id [ ring ring-id ] ],查看RRPP配置的详细信息,回显信息中Port status为UP表示转发状态,为BLOCKED表示阻塞状态
<SwitchA> display rrpp verbose domain 1 ring 1
Domain Index : 1
Control VLAN : major 400 sub 401
Protected VLAN : Reference Instance 30
Hello Timer : 1 sec(default is 1 sec) Fail Timer : 6 sec(default is 6 sec)
RRPP Ring : 1
Ring Level : 0
Node Mode : Master
Ring State : Complete
Is Enabled : Enable Is Active : Yes
Primary port : GigabitEthernet1/0/1 Port status: BLOCKED
Secondary port : GigabitEthernet1/0/2 Port status: UP
3)执行命令 display smart-link group all ,查看Smart Link组的状态信息,回显信息中State为Active表示转发状态,为Inactive表示阻塞状态。
<SwitchA> display smart-link group all
Smart Link group 1 information :
Smart Link group was enabledLink status: Lock
Wtr-time is: 60 sec.
Load-Balance Instance: 10
Protected-vlan reference-instance: 1
DeviceID: 0025-9e80-2494 Control-vlan ID: 505
Member Role State Flush Count Last-Flush-Time
----------------------------------------------------------------------
GigabitEthernet1/0/1 Master Inactive 1 2010/09/29 09:30:09 UTC+08:00
GigabitEthernet1/0/2 Slave Active 0 0000/00/00 00:00:00 UTC+00:00
04 检查路由是否正常
1、 检查是否有直连路由
如果和交换机连接的是终端设备,检查终端设备上是否配置了正确的网关地址。
如果和交换机连接的是交换机或路由设备,检查设备上是否有正确的回程路由。
在源端执行命令display ip routing-table ip-address 检查有无到对端的路由。@ 网 络 工 程 师 俱 乐 部
如有路由则显示如下信息,回显字段中Proto为Direct表示为直连路由。
由于遵循最长匹配原则,同一路由前缀,当非直连路由掩码长度大于直连路由时,将导致报文无法从直连接口转发。
若检查目的IP匹配的路由为非直连路由,需排查路由故障。
<SwitchA> display ip routing-table 192.168.1.11
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Table : Public
Summary Count : 1
Destination/Mask Proto Pre Cost Flags NextHop Interface
192.168.1.0/24 Direct 0 0 D 192.168.1.10 Vlanif1
如果没有路由,则输入上述命令后无任何信息显示,需要检查路由协议配置是否正确。
2、检查是否配置了策略路由
例如:SwitchB在GE1/0/2接口调用策略路由,将SwitchA上送的源IP地址为192.168.1.10的报文重定向到下一跳192.168.2.11。
可以通过下述步骤查看策略路由配置并做相应配置的修改。
a、执行display traffic-policy applied-record命令,查看流策略的应用记录。
<SwitchB> display traffic-policy applied-record
#
-------------------------------------------------
Policy Name: p1
Policy Index: 0
Classifier:c1 Behavior:b1 //流策略p1中关联了流分类c1和流行为b1
-------------------------------------------------
*interface GigabitEthernet1/0/2
traffic-policy p1 inbound //流策略p1应用在接口GE1/0/2的入方向
slot 1 : success
-------------------------------------------------
Policy total applied times: 1. #
b、执行display traffic behavior user-defined behavior-name命令,查看已配置的流行为信息。
<SwitchB> display traffic behavior user-defined b1
User Defined Behavior Information:
Behavior: bb
Permit
Redirect: no forced
Redirect ip-nexthop
192.168.2.11 //流行为b1的动作为重定向,下一跳IP为192.168.2.11
c、执行display traffic classifier user-defined classifier-name命令,查看策略中流分类关联的ACL编号。
<SwitchB> display traffic classifier user-defined c1
User Defined Classifier Information:
Classifier: c1
Precedence: 15
Operator: AND
Rule(s) : if-match acl 3000 //流分类c1关联的ACL为acl 3000
d、执行display acl acl-number命令,查看ACL具体内容。
<SwitchB> display acl 3000
Advanced ACL 3000, 1 rule
Acl's step is 5rule 5 permit ip source 192.168.1.10 0 //acl 3000中匹配了源地址为192.168.1.10的所有IP
3、修改流策略,保证SwitchA与SwitchB之间的流量正常转发。
配置思路:新建ACL,匹配SwitchA到SwitchB的流量,这部分流量不做重定向。
配置顺序:配置流分类时,先创建不做重定向的流分类,再配置用于重定向的流分类。网 络 工 程 师 俱 乐 部
配置流策略时,先绑定不做重定向的流分类和流行为,再绑定用于重定向的流分类和流行为。
<SwitchB> system-view
[SwitchB] acl 3001 //新建ACL
[SwitchB-acl-adv-3001] rule permit ip source 192.168.1.10 0 destination 192.168.1.11 0.0.0.255 //匹配SwitchA到SwitchB的IP报文(不做重定向的流量)
[SwitchB-acl-adv-3001] quit[SwitchB] traffic behavior b2 //新建流行为[SwitchB-behavior-b2] permit //动作为允许(正常转发,不做重定向动作)
[SwitchB-behavior-b2] quit//由于之前的策略已经调用在接口,所以需要先在接口下取消策略调用,再到流策略中解除绑定的流分类,在全局删除流分类后再按顺序配置。
[SwitchB] interface GigabitEthernet1/0/1[SwitchB-GigabitEthernet1/0/1] undo traffic-policy inbound //进入接口下取消策略调用
[SwitchB-GigabitEthernet1/0/1] quit[SwitchB] traffic policy p1[SwitchB-trafficpolicy-p1] undo classifier c1 //解除策略下绑定的流分类
[SwitchB-trafficpolicy-p1] quit[SwitchB] undo traffic classifier c1 //全局下取消之前创建的流分类
[SwitchB] traffic classifier c2 //先创建不做重定向的流分类c2
[SwitchB-classifier-c2] if-match acl 3001 //在c2中匹配acl 3001
[SwitchB-classifier-c2] quit
[SwitchB] traffic classifier c1 //再创建用于重定向的流分类c1
[SwitchB-classifier-c1] if-match acl 3000 //在c1中匹配acl 3000
[SwitchB-classifier-c1] quit
[SwitchB] traffic policy p1 //进入流策略,先绑定不做重定向的流分类和流行为,再绑定需要重定向的流分类和流行为
[SwitchB-trafficpolicy-p1] classifier c2 behavior b2
[SwitchB-trafficpolicy-p1] classifier c1 behavior b1
[SwitchB-trafficpolicy-p1] quit
[SwitchB] interface GigabitEthernet1/0/1 //进入接口下调用流策略
[SwitchB-GigabitEthernet1/0/1] traffic-policy p1 inbound
[SwitchB-GigabitEthernet1/0/1] quit
05 检查ARP学习是否正确
执行display arp all命令,检查直连地址的ARP是否学习正常。
下述回显信息中,如果MAC ADDRESS显示的是MAC地址,则代表ARP学习正确;
如果显示的是Incomplete,表示当前表项为临时ARP表项,尚未学习到ARP,出现MAC地址后,代表ARP学习完成。
<SwitchA> display arp all
IP ADDRESS MAC ADDRESS EXPIRE(M) TYPE INTERFACE VPN-INSTANCE
VLAN
------------------------------------------------------------------------------
192.168.1.10 4c1f-cc17-1ca5 I - Vlanif10
192.168.1.11 4c1f-cc2f-3634 19 D-0 GE1/0/1
10------------------------------------------------------------------------------
Total:2 Dynamic:1 Static:0 Interface:1
如果ARP学习正确,通过display mac-address interface-type interface-number命令查看MAC表项,确认MAC地址的出接口和ARP的物理出接口是否一致。
若不一致,排查是否存在环路或MAC冲突。
<SwitchA> display mac-address 4c1f-cc2f-3634
-------------------------------------------------------------------------------
MAC Address VLAN/VSI Learned-From Type
-------------------------------------------------------------------------------
4c1f-cc2f-3634 10/- GE1/0/1 dynamic
-------------------------------------------------------------------------------
Total items displayed = 2
如果ARP学习失败,有以下几种可能性,请参照表1进行排查ARP学习失败的原因(SwitchA向SwitchB发送ARP请求报文)。
表1 ARP学习失败可能的原因
06 检查是否配置黑名单
配置cpu-defend黑名单后,设备将直接丢弃黑名单用户上送的报文。
通过display cpu-defend policy查看调用在全局或特定槽位的策略名,然后通过display cpu-defend policy policy-name查看策略中是否配置黑名单(Blacklist),再通过display acl acl-number查看黑名单调用的ACL具体内容。
<SwitchA> display cpu-defend policy
----------------------------------------------------------------
Name : default
Related slot : <>
----------------------------------------------------------------
Name : test1
Related slot : <1> //名称为test1的policy调用在1号槽位
----------------------------------------------------------------
<SwitchA> display cpu-defend policy test1
Related slot : <1>
Configuration :
Blacklist 1 ACL number : 3300 //该策略test1下配置了黑名单,关联的ACL编号为3300
Car packet-type icmp : CIR(5000) CBS(20000)
Car packet-type tcp : CIR(2000) CBS(376000)
<SwitchA> display acl 3300
Advanced ACL 3300, 1 rule
Acl's step is 5
rule 5 permit ip source 10.1.1.1 0 (match-counter 0) //ACL匹配源IP地址为10.1.1.1的IP报文
黑名单中应用的ACL,无论其rule配置为permit还是deny,命中该ACL的报文均会被丢弃。
如果策略中配置了黑名单,且黑名单中包含对端IP,请尝试删除黑名单或修改黑名单关联的ACL,保证报文可以被正常处理。
例如:取消防攻击策略test1下的黑名单配置。
<SwitchA> system-view
[SwitchA] cpu-defend policy test1
[SwitchA-defend-policy-test] display this
cpu-defend policy test1
blacklist 1 acl 3300
car packet-type icmp cir 5000 cbs 20000
car packet-type tcp cir 2000 cbs 376000
……
[SwitchA-defend-policy-test1] undo blacklist 1
[SwitchA-defend-policy-test1] quit
如果策略中没有配置黑名单,或者黑名单中不包含对端IP,进行下一步排查。
07 检查报文收发是否正常
如果通过以上步骤排查配置、链路、ARP表项和路由表项均正常,但是仍然Ping不通,接下来检查ICMP报文收发是否正常。
1.ICMP统计查询
进行Ping操作时,通过命令display icmp statistics查看ICMP报文的收发情况,ICMP Echo Request和ICMP Echo Reply报文收发是否一致,是否存在checksum错误统计计数。
SwitchA Ping SwitchB,以SwitchA的回显为例,Output方向的echo字段代表的是请求报文数目,Input方向的echo reply代表的是应答报文数目,bad checksum代表的是校验错误的报文数目。
<SwitchA> display icmp statistics
Input: bad formats 0 bad checksum 0
echo 0 destination unreachable 0
source quench 0 redirects 0
echo reply 25 parameter problem 0
timestamp request 0 information request 0
mask requests 0 mask replies 0
time exceeded 0 timestamp reply 0
Mping request 0 Mping reply 0
Output:echo 25 destination unreachable 0
source quench 0 redirects 0
echo reply 0 parameter problem 0
timestamp request 0 information reply 0
mask requests 0 mask replies 0
time exceeded 0 timestamp reply 0
Mping request 0 Mping reply 0
在SwitchA上执行Ping操作的前后查看bad checksum计数是否一直增长,如果一直增长,需要检查对端设备SwitchB的协议栈软件回应ICMP报文的格式是否正确。@ 网 络 工 程 师 俱 乐 部
如果echo和echo reply数目一致,但是仍然Ping不通,接下来需要进行ICMP报文流量统计进而判断报文的收发情况。
如果echo和echo reply数目不一致:
如果SwitchA发出的echo报文数目少于Ping发送的报文数目,说明报文在SwitchA上被丢弃。
如果SwitchA发出的echo报文数目多于SwitchB接收到的echo报文的数目,说明报文在传输链路上被丢弃。
如果SwitchA发出的echo报文数目等于SwitchB接收到的echo报文的数目,但是离开SwitchB的echo reply报文数目少于进入SwitchB的echo报文的数目,说明报文在SwitchB上被丢弃。
如果报文在链路上被丢弃,请更换链路再进行Ping测试;
如果报文在终端或其他厂商设备被丢弃,请排查终端或者其他厂商设备;
如果报文在华为交换机被丢弃,可进入下一步排查或者联系技术支持人员处理。
2.ICMP报文流量统计
以SwitchA为例,介绍如何对ICMP报文做流量统计。
(1)配置进入SwitchA报文的流量统计。
• 配置ACL规则。这里的ACL一定要是高级ACL,编号范围为3000~3999。
<SwitchA> system-view
[SwitchA] acl number 3000
[SwitchA-acl-adv-3000] rule permit icmp source 192.168.1.11 0 destination 192.168.1.10 0
[SwitchA-acl-adv-3000] quit
• 配置流分类。
[SwitchA] traffic classifier 3000
[SwitchA-classifier-3000] if-match acl 3000
[SwitchA-classifier-3000] quit
• 配置流行为。
[SwitchA-behavior-3000]
statistic enable [SwitchA-behavior-3000] quit
• 配置流策略。
[SwitchA] traffic policy 3000
[SwitchA-trafficpolicy-3000] classifier 3000 behavior 3000
[SwitchA-trafficpolicy-3000] quit
在接口上应用流策略
[SwitchA] interface gigabitethernet 1/0/1
[SwitchA-GigabitEthernet1/0/1] traffic-policy 3000 inbound
[SwitchA-GigabitEthernet1/0/1] return
(2)配置离开SwitchA报文的流量统计
配置ACL规则。这里的ACL一定要是高级ACL,编号范围为3000~3999。
[SwitchA] acl number 3001
[SwitchA-acl-adv-3001] rule permit icmp source 192.168.1.10 0 destination 192.168.1.11 0
[SwitchA-acl-adv-3001] quit
• 配置流分类。
[SwitchA-classifier-3001] if-match acl 3001
[SwitchA-classifier-3001] quit
• 配置流行为。
[SwitchA-behavior-3001] statistic enable
[SwitchA-behavior-3001] qui
• 配置流策略。
[SwitchA] traffic policy 3001
[SwitchA-trafficpolicy-3001] classifier 3001 behavior 3001
[SwitchA-trafficpolicy-3001] quit
• 在接口上应用流策略
[SwitchA] interface gigabitethernet 1/0/1
[SwitchA-GigabitEthernet1/0/1] traffic-policy 3001 outbound
[SwitchA-GigabitEthernet1/0/1] return
如果是交换机直连PC,在连接PC的接口出、入方向调用流统策略;
如果是交换机与其他网络设备直连,建议在两台设备两个接口的出、入方向都使用流量统计。@ 网 络 工 程 师 俱 乐 部
配置完成后,先执行reset命令清空计数信息,以保证接口流统计数归零,相关命令如下:
reset traffic policy statistics interface
GigabitEthernet 1/0/1 inbound
reset traffic policy statistics interface
GigabitEthernet 1/0/1 outbound
在SwitchA上持续Ping SwitchB,通过display traffic policy statistics interface interface-type interface-number { inbound | outbound } verbose rule-base命令查看接口流量统计信息。
以SwitchA出方向为例,介绍上述display命令的回显,其中Packets和Bytes分别代表报文包个数和报文字节数
<SwitchA> display traffic policy statistics interface gigabitethernet 1/0/1 outbound verbose rule-base
Interface: GigabitEthernet1/0/1 Traffic policy outbound: 3001
Rule number: 1
Current status: OK! Statistics interval: 300
---------------------------------------------------------------------
Classifier: 3001 operator or
Behavior: 3001
Board : 1
rule 5 permit icmp source 10.1.1.1 0 destination 10.1.1.2 0 (match-counter 0)
---------------------------------------------------------------------
Passed | Packets: 100
| Bytes: 10,200
| Rate(pps): 0
| Rate(bps): 0
---------------------------------------------------------------------
Dropped | Packets: 0
| Bytes: 0
| Rate(pps): 0
| Rate(bps): 0
---------------------------------------------------------------------
如果离开SwitchA的报文数目少于Ping发送的报文数目,说明报文在SwitchA上被丢弃。
如果离开SwitchA的报文数目多于进入SwitchB的报文数目,说明报文在传输链路上被丢弃。
如果离开SwitchA的报文数目等于进入SwitchB的报文数目,但是离开SwitchB的报文数目少于进入SwitchB的报文数目,说明报文在SwitchB上被丢弃。
如果报文在链路上被丢弃,请更换链路再进行Ping测试;
如果报文在终端或其他厂商设备被丢弃,请排查终端或者其他厂商设备;如果报文在华为交换机被丢弃,可进入下一步排查或者联系技术支持人员处理。
08 检查CPCAR统计是否有过多ICMP报文被丢弃
查看CPCAR的统计情况,检查ICMP报文是否由于CPCAR超出限制被丢弃,相关命令行如下(不同形态、不同版本的命令行有所不同):
对于框式交换机V100R002版本、盒式交换机V100R005版本,执行display cpu-defend icmp statistics all命令查看Drop计数是否在增加。
<HUAWEI> display cpu-defend icmp statistics all
CPCAR on mainboard
-------------------------------------------------------------------------------
Packet Type Pass(Bytes) Drop(Bytes) Pass(Packets) Drop(Packets)
icmp 0 0 0 0
-------------------------------------------------------------------------------
CPCAR on slot 4
-------------------------------------------------------------------------------
Packet Type Pass(Bytes) Drop(Bytes) Pass(Packets) Drop(Packets)
icmp 0 0 0 0
-------------------------------------------------------------------------------
对于框式交换机V100R003及之后版本、盒式交换机V100R005及之后版本,执行display cpu-defend statistics packet-type icmp all命令查看Drop计数是否在增加。
<HUAWEI> display cpu-defend statistics packet-type icmp all
Statistics on mainboard:
-------------------------------------------------------------------------------
Packet Type Pass(Bytes) Drop(Bytes) Pass(Packets) Drop(Packets)
-------------------------------------------------------------------------------
icmp 4488 0 44 0
-------------------------------------------------------------------------------
Statistics on slot 3: -------------------------------------------------------------------------------
Packet Type Pass(Bytes) Drop(Bytes) Pass(Packets) Drop(Packets)
-------------------------------------------------------------------------------
icmp 0 0 0 0
-------------------------------------------------------------------------------
对于框式交换机V100R003及之后版本、盒式交换机V100R005及之后版本,执行display cpu-defend statistics packet-type icmp all命令查看Drop计数是否在增加。
如果Drop计数在增加,说明存在CAR丢包,可以适当增加CAR值再进行Ping测试,看问题是否解决,最后建议恢复CAR值。
调整CPCAR不当将会影响网络业务,如果需要调整CPCAR,建议联系技术支持人员处理。
修改CAR的命令如下:
配置cpu-defend policy,执行命令car packet-type icmp cir cir-value指定新的CAR值。
<HUAWEI> system-view
[HUAWEI] cpu-defend policy 1
[HUAWEI-cpu-defend-policy-1]
car packet-type icmp cir 256
[HUAWEI-cpu-defend-policy-1] display this
cpu-defend policy 1
car packet-type icmp cir 256 cbs 48128
#
将该Policy策略在全局或者指定的接口板应用。全局应用:
[HUAWEI] cpu-defend-policy 1 global
在指定的接口板应用:
[HUAWEI] slot 1
[HUAWEI-slot-1] cpu-defend-policy 1
[HUAWEI-slot-1] display this
slot 1
cpu-defend-policy 1
#
09 检查报文格式是否正确
有时虽然交换机收到了报文,但是可能报文的格式不对,导致无法得到正确处理。例如目的MAC错误,VLAN的CFI被置为1等,此时则需要通过获取报文信息来确认。
在端口获取报文可以更加直接的看到设备上报文的收发情况,可以使用端口镜像或者流镜像获取端口下的所有报文,然后分析ICMP报文格式是否正确。
在镜像获取报文无法实施时,使用capture命令确认报文接收情况,然后分析ICMP报文格式是否正确。@ 网 络 工 程 师 俱 乐 部
配置镜像查看报文收发情况
如果端口上流量不大,可以配置端口镜像,确认报文的收发情况(以SwitchA为例)。
配置观察口
<SwitchA> system-view
[SwitchA] observe-port 1 interface gigabitethernet 1/0/1
配置镜像口,获取双向报文。
[SwitchA] interface gigabitethernet 1/0/2
[SwitchA-GigabitEthernet1/0/1] port-mirroring to observe-port 1 both
[SwitchA-GigabitEthernet1/0/1] return
如果端口上流量比较大,可以配置流镜像(以SwitchA为例)。配置观察口。
<SwitchA> system-view
[SwitchA] observe-port 1 interface gigabitethernet 1/0/1
配置ACL规则。
[SwitchA] acl number 3033
[SwitchA-acl-adv-3033] rule permit icmp source 192.168.1.11 0 destination 192.168.1.10 0
[SwitchA-acl-adv-3033] rule permit icmp source 192.168.1.10 0 destination 192.168.1.11 0
[SwitchA-acl-adv-3033] quit
配置流分类。
[SwitchA] traffic classifier 3033
[SwitchA-classifier-3033] if-match acl 3033
[SwitchA-classifier-3033] quit
配置流行为。
[SwitchA] traffic behavior 3033
[SwitchA-behavior-3033] mirroring to observe-port 1
[SwitchA-behavior-3033] quit
配置流策略。
[SwitchA] traffic policy 3033
[SwitchA-trafficpolicy-3033] classifier 3033 behavior 3033
[SwitchA-trafficpolicy-3033] quit
在接口上应用流策略。
[SwitchA] interface gigabitethernet 1/0/1
[SwitchA-GigabitEthernet1/0/1] traffic-policy 3033 inbound
[SwitchA-GigabitEthernet1/0/1] traffic-policy 3033 outbound
[SwitchA-GigabitEthernet1/0/1] return
通过对镜像报文进行分析,不仅可以确认报文的收发情况,同时可以对报文进行校验,包括:报文的VLAN是否正确、报文的目的MAC地址是否是设备系统MAC地址、报文IP头的checksum是否正确、ICMP的checksum是否正确。
使用capture命令确认报文接收情况 在镜像获取报文无法实施时,也可以使用Capture命令来确认端口收到的报文情况,可以将报文打印到登录终端进行显示,也可以存入.cap文件中保存到设备上,然后对获取到的报文进行分析。
capture命令如下:
[HUAWEI] capture-packet interface GigabitEthernet 1/0/1 destination terminal packet-num 100
Info: Captured packets will be shown on terminal.
[HUAWEI]
Packet: 1
-------------------------------------------------------
00 00 0a 88 15 d0 00 00 0a 88 15 d5 81 00 00 c8
08 00 45 00 00 54 17 9e 00 00 ff 01 05 eb 07 08
c8 0d 07 08 c8 02 08 00 40 69 ab e4 00 01 0f 84
d1 ea 00 00 00 00 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 28 29
2a 2b 2c 2d 2e 2f
-------------------------------------------------------
Packet: 2
-------------------------------------------------------
00 00 0a 88 15 d0 00 00 0a 88 15 d5 81 00 00 c8
08 00 45 00 00 54 17 9e 00 00 ff 01 05 eb 07 08
c8 0d 07 08 c8 02 08 00 40 69 ab e4 00 01 0f 84
d1 ea 00 00 00 00 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 28 29
2a 2b 2c 2d 2e 2f
-------------------------------------------------------
10 收集信息并寻求技术支持
1.收集信息
收集上述各个操作步骤的执行结果。
采集logbuffer信息、trapbuffer信息。
<HUAWEI> display logbuffer
<HUAWEI> display trapbuffer
采集一键式诊断信息。
<HUAWEI> display diagnostic-information
若输出诊断信息过长,可以按Ctrl+C停止。
此命令主要用于问题定位,搜集系统诊断信息,搜集时可能会影响系统的性能(例如CPU占用率升高等)。
因此,在系统正常运行时不建议执行此命令。
严禁在连接到设备的多个终端上同时执行display diagnostic-information命令,否则可能造成设备的CPU占用率明显增高,导致设备性能下降。
保存交换机的日志、诊断日志。
<HUAWEI> save logfile
<HUAWEI> system-view
[HUAWEI] diagnose
[HUAWEI-diagnose] save diag-logfile
将框式交换机CF卡中保存的日志、诊断日志文件导出到相关文件路径。
<HUAWEI> cd cfcard:/logfile
将盒式交换机Flash中保存的日志、诊断日志文件导出到相文件路径。
<HUAWEI> cd logfile/
原创文章,作者:速盾高防cdn,如若转载,请注明出处:https://www.sudun.com/ask/49642.html