图8-1 网络丢包的定位与处理
本文采用某园区的丢包故障现象为例,给出部署了交换机的网络发生丢包的定位与处理方法。
例如,某园区部署的网络如图8-2上连接用户A、用户B和用户C上连接入交换机Switch_3和Switch_2,用户D和用户E上连接入交换机Switch_4,之后共同接入到核心交换机Switch_1,并通过防火墙连接到Internet。
图8-2 某园区部署网络组网图
用户A反馈上网很慢,有时甚至打不开网页,而其他用户没有异常反馈。此时在用户A的PC上直接Ping公网地址有丢包。
二、确认发生网络丢包
网络丢包的故障现象通常表现为:
用户上网时:
- 网络速度不稳定,打开网页的速度特别的慢,有时候还会出现网页部分内容或是整个页面无法显示的问题;
- 观看视频业务时有马赛克或花屏等卡顿现象;
- QQ等即时通讯工具等频繁掉线或提示登录超时;
- 下载文件速度慢;
交换机工作时:
- 在交换机上执行Ping操作,对网络进行连通性测试,提示超时;
- 端口无法正常转发数据;
- 管理用户登录交换机,提示超时;
- 业务经常中断;
这些故障现象几乎都跟网络丢包有关。如果现网当中出现以上故障现象中的一种或多种,基本可以确认发生了网络丢包。
三、排查产生丢包现象的PC
排查产生丢包现象的PC本身问题。
如PC的网卡是否正常、PC连接设备的线缆是否正常都有可能造成设备丢包。解决方法:断开网络后给PC查杀病毒、检查网线重装操作系统、检查网卡等。
确认PC正常后,如果故障仍然存在,继续执行下一步。
四、检查接口物理状态是否为Down
一般来说,接口的物理状态Down,或接口双工模式或速率协商模式与对端不一致,会造成接口的状态异常。在设备上执行:
display interface interface-type interface-number命令查看接口运行状态是否正常。
这里以检查Switch_3的GE1/0/2为例。
<HUAWEI> display interface gigabitethernet 1/0/2
GigabitEthernet1/0/2 current state : DOWN //接口当前物理状态
Line protocol current state : DOWN
Description:
Switch Port, Link-type : access(negotiated),
PVID : 1, TPID : 8100(Hex), The Maximum Frame Length is 9216
IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is 000b-0974-a475
Last physical up time : 2016-08-10 21:09:51 Last physical down time : 2013-08-10 21:10:51
Current system time: 2016-08-10 21:15:06
Port Mode: COMMON FIBER //接口工作模式。COMMON COPPER表示此接口为电接口;COMMON FIBER表示此接口为光接口
Speed : 1000, Loopback: NONE //接口速率、环回状态,链路两端需要保持一致
Duplex: FULL, Negotiation: ENABLE //接口双工模式及自协商状态,链路两端需要保持一致
---- More ----
- 输出信息显示“current state : UP”,表明接口的运行状态正常。请跳过本节,参考下一节进行定位与处理。
- 输出信息显示“current state : Administratively down”,表示接口被人为Shutdown。
请在系统视图下执行interface interface-type interface-number进入故障接口视图,然后执行display this命令查看接口是否执行了shutdown操作,如果是请在接口下执行undo shutdown命令。
- 输出信息显示“current state : DOWN”,则需要查看接口的协商状态、速率、双工模式以及网线适应方式是否链路两端保持一致。分别在链路两端的设备执行display interface命令查看以上信息,如表8-1所示。
表8-1 检查链路两端的设备接口双工、速率、协商模式
输出信息显示“current state : ERROR DOWN (down-cause)”,表示接口由于错误事件而被Shutdown,需要根据down-cause具体字段信息排查故障。
五、检查接口入方向是否存在CRC校验错误
检查报文经过的物理端口是否存在CRC校验错误,且错误计数是否在不断增长。如果输出信息显示字段“CRC”有计数,且重复执行命令发现计数在不断增长,说明端口接收到了CRC错误报文,即存在CRC校验错误,说明是由于物理链路或者设备问题导致的错包 。
六、检查接口出方向是否存在Discard计数
检查端口是否存在Discard丢包计数。
在任意视图执行命令display interface interface-type interface-number,或在接口视图执行命令display this interface,查看设备连接用户侧端口出方向报文计数,存在Discard丢包计数则说明端口曾经存在拥塞。在业务受到影响时,观察该Discard是否增加。如果不增加,则业务影响与Discard丢包无关。
七、检查是否存在环路
这是最容易造成丢包现象的因素,并且具有比较强的隐蔽性,例如在较大型的网络环境中,管理员很容易把交换机之间的端口连接错误,从而引起网络环路,导致丢包。观察是否出现如下环路相关的现象。网络出现环路后,除了产生丢包现象,一般还有如下现象产生:
- 执行display interface brief | include up命令,查看所有Up接口下的流量,存在环路的接口上InUti和OutUti两个计数会逐步增加,甚至接近100%,远远超过业务流量。
- 使用display interface命令查看该接口统计信息时,发现接口收到大量广播报文。
- 设备上发生环路的VLAN的接口指示灯频繁闪烁。
- 设备CPU占用率超过80%