1 前言
概述
园区中完成网络部署后,在管理和维护的过程中,我们时常会遇到网络传输延迟导致上网连接时断时续,或者用户上网速度异常缓慢的现象,这些现象几乎大多都是由网络数据丢包引起的。
网络中故障发生在所难免,重要的是如何快速隔离及排除故障。如何准确、有效地解决这些故障现象是我们维护人员经常需要思考的问题。
本文档围绕部署S系列交换机的网络中丢包现象进行分析,描述了定位方法和解决步骤,同时提供了相关的典型案例及参考信息,希望为维护人员遇到网络丢包时提供参考。
由于硬件形态的差异,不同设备支持的功能特性及支持的命令行可能不同。本文档中涉及的命令以V200R008C00版本为例,使用时请参考设备对应版本的产品文档。
修改记录
发布日期
修改说明
02
2017-01-31
第二次正式发布。
01
2016-12-30
第一次正式发布。
2 网络丢包的定位与处理
2.1 确认发生网络丢包
网络丢包的故障现象通常表现为:
l 用户上网时:
? 网络速度不稳定,打开网页的速度特别的慢,有时候还会出现网页部分内容或是整个页面无法显示的问题;
? 观看视频业务时有马赛克或花屏等卡顿现象;
? QQ等即时通讯工具等频繁掉线或提示登陆超时;
? 下载文件速度慢;
l 交换机工作时:
? 在交换机上执行Ping操作,对网络进行连通性测试,提示超时;
? 端口无法正常转发数据;
? 管理用户登录交换机,提示超时;
? 业务经常中断;
这些故障现象几乎都跟网络丢包有关。如果现网当中出现以上故障现象中的一种或多种,基本可以确认发生了网络丢包。
2.2 排查产生丢包现象的PC
排查产生丢包现象的PC本身问题。
如PC的网卡是否正常、PC连接设备的线缆是否正常都有可能造成设备丢包。解决方法:断开网络后给PC查杀病毒、检查网线重装操作系统、检查网卡等。
确认PC正常后,如果故障仍然存在,继续执行下一步。
2.3 检查接口物理状态是否为Down
一般来说,接口的物理状态Down,或接口双工模式或速率协商模式与对端不一致,会造成接口的状态异常。
1. 在设备上执行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 Last physical down time : 2016-08-10 21:09
Current system time: 2016-08-10 21:09
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命令查看以上信息,如表2-1所示。
表2-1 检查链路两端的设备接口双工、速率、协商模式
显示信息解释说明
后续操作
Negotiation
接口协商状态
l “ENABLE”:自协商状态。
l “DISABLE”:非自协商状态。
保持两边的协商状态一致,要么都工作在自协商状态下,要么都工作在非自协商状态下。
1. 在接口视图下可以执行命令negotiation auto配置接口工作在自协商状态。
2. 如果自协商状态下接口仍然频繁Down,可以尝试将接口改成非自协商状态,同时强制两边速率、双工一致。
Speed
接口当前速率。
l 自协商状态下,如果链路两端的设备接口速率不一致,可以执行命令restart再重启接口,使之重新协商为一致。
l 在非自协商状态下,如果链路两端的设备接口速率不一致,在接口视图下执行speed { 10 | 100 | 1000 }命令配置接口速率为一致。
说明
对于电口,当出现协商成10M/100M工作正常,而协商成1000M工作异常时,请检测网线是否正常,如果有问题请更换网线。
Duplex
接口工作的双工模式。
l FULL:全双工模式。
l HALF:半双工模式。
l 自协商状态下,如果设备两端接口双工不一致,可以执行命令restart再重启接口,使之重新协商为一致。或者在接口视图下执行命令auto duplex full将接口设置为全双工模式。
l 非自协商状态下,如果设备两端接口双工不一致,请在接口视图下执行命令duplex full将接口设置为全双工模式。
Mdi
接口的网线适应方式。
l across:交叉网线。
l auto:自动识别网线。即与该接口实际连接的网线类型既可以使用直通网线也可以使用交叉网线。
l normal:直通网线。
保证两端设备接口的网线适应方式和网线类型一致。
缺省情况下,网线适应方式为auto模式,如果接口网线适应方式为非auto模式,请在接口视图下执行mdi auto命令更改为auto模式。
? 输出信息显示“current state : ERROR DOWN (down-cause)”,表示接口由亍错误事件而被Shutdown,需要根据down-cause具体字段信息排查故障。
请参考《S系列交换机以太网接口物理DOWN故障专题》进行排查。
如果接口的运行状态仍然Down,请执行下一步。
2. 尝试将线缆连接到其他空闲接口,检查接口状态是否正常。
? 如果接口的物理状态仍然Down,请联系技术支持工程师。
? 如果接口运行状态为UP、工作在全双工模式,并且自协商状态和对端一致,表明接口状态正常。而丢包现象仍然存在,请参考下一节内容。
2.4 检查接口入方向是否存在CRC校验错误
本节点内容也应该包含在“检查设备的接口状态”章节,但由于拥塞造成丢包的现网问题较多,所以在此单独介绍。
检查报文经过的物理端口是否存在CRC校验错误,且错误计数是否在不断增长。
如果输出信息显示字段“CRC”有计数,且重复执行命令发现计数在不断增长,说明端口接收到了CRC错误报文,即存在CRC校验错误,说明是由于物理链路或者设备问题导致的错包。
请参考2.10.3 检查设备之间的物理链路排查物理链路问题,如果问题仍然存在,请联系技术支持工程师处理。
<HUAWEI> display interface gigabitethernet 1/0/2
GigabitEthernet1/0/2 current state : UP
Line protocol current state : UP
Description:
Switch Port,PVID : 1,TPID : 8100(Hex),The Maximum Frame Length is 1600
IP Sending Frames‘ Format is PKTFMT_ETHNT_2, Hardware address is 0025-9e80-2494
Current system time: 2016-08-10 21:09-05:13
Port Mode: COMMON COPPER
Speed : 1000, Loopback: NONE
Duplex: FULL, Negotiation: ENABLE
Mdi : AUTO
Last 300 seconds input rate 760 bits/sec, 0 packets/sec
Last 300 seconds output rate 896 bits/sec, 0 packets/sec
Input peak rate 12304 bits/sec,Record time: 2016-08-10 21:09
Output peak rate 14568 bits/sec,Record time: 2016-08-10 21:09
Input: 28643 packets, 2734204 bytes
Unicast : 20923,Multicast : 7703
Broadcast : 17,Jumbo : 0
CRC : 0,Giants : 0
Jabbers : 0,Fragments : 0
Runts : 0,DropEvents : 0
Alignments : 0,Symbols : 0
Ignoreds : 0,Frames : 0
Discard : 474,Total Error : 0
Output: 68604 packets, 8057155 bytes
Unicast : 20429,Multicast : 14054
Broadcast : 34121,Jumbo : 0
Collisions : 0,Deferreds : 0
Late Collisions: 0,ExcessiveCollisions: 0
Buffers Purged : 0
Discard : 0,Total Error : 0
Input bandwidth utilization threshold : 100.00%
Output bandwidth utilization threshold: 100.00%
Input bandwidth utilization : 0.01%
Output bandwidth utilization : 0.00%
2.5 检查接口出方向是否存在Discard计数
本节点内容也应该包含在“检查设备的接口状态”章节,但由于拥塞造成丢包的现网问题较多,所以在此单独介绍。
拥塞是指网络资源不足而造成速率下降,引入额外延时的现象。当网络中存在大量的组播流容易引起流量突发,或者多业务并存的复杂环境下,拥塞现象极为常见。流量突发导致设备接口发送带宽超出限制,设备出现拥塞丢包。
1. 检查端口是否存在Discard丢包计数。
在任意视图执行命令display interface interface-type interface-number,或在接口视图执行命令display this interface,查看设备连接用户侧端口出方向报文计数,存在Discard丢包计数则说明端口曾经存在拥塞。在业务受到影响时,观察该Discard是否增加。
? 如果不增加,则业务影响与Discard丢包无关。请跳过该节,参考下一节进行问题定位。
? 如果增加,则业务影响与Discard丢包相关,请执行下一步;
[HUAWEI]display interface GigabitEthernet 1/0/2
GigabitEthernet1/0/2 current state : UP
Line protocol current state : UP
Description:link-to-OLT-LB
Switch Port, PVID :1, TPID : 8100(Hex), The Maximum Frame Length is 1600
IP Sending Frames‘ Format is PKTFMT_ETHNT_2, Hardware address is 4c1f-cc45-b1c0
Current system time: 2016-08-10 21:09
Port Mode: COMMON COPPER
Speed : 1000,Loopback: NONE
Duplex: FULL,Negotiation: ENABLE
Mdi: AUTO,Flow-control: DISABLE
Last 300 seconds input rate 99894144 bits/sec, 141895 packets/sec
Last 300 seconds output rate 190939848 bits/sec, 271220 packets/sec
Input peak rate 173002368 bits/sec, Record time: 2016-08-10 21:09
Output peak rate 346005880 bits/sec, Record time: 2016-08-10 21:09
Input:175946456 packets, 15483288128 bytes
Unicast:0,Multicast:0
Broadcast:175946456,Jumbo:0
Discard:0, Pause:0
Total Error:0
CRC:0,Giants:0
Jabbers:0,Fragments:0
Runts:0,DropEvents:0
Alignments:0,Symbols:0
Ignoreds:0,Frames:0
Output:348119287 packets, 30634557621 bytes
Unicast:0,Multicast:773
Broadcast:348118514,Jumbo:0
Discard:3769937,Pause:0
Total Error:0
Collisions:0,ExcessiveCollisions:0
Late Collisions:0,Deferreds:0
Buffers Purged:0
2. 配置接口缓存管理的突发模式为增强模式,检查端口Discard计数是否增加。
一般来说,交换机接口缓存较小,接口上的流量如果突发达到接口带宽的50%~60%左右就会出现丢包现象。而在接口上配置缓存管理的突发模式为增强模式,单个接口可以抢占到更多的剩余动态缓存,接口应对流量突发的能力更强,拥塞丢包现象就会减少。
<HUAWEI> system-view
[HUAWEI] interface gigabitethernet 1/0/2
[HUAWEI-GigabitEthernet1/0/1] qos burst-mode enhanced
X1E系列单板不支持此命令。
配置为增强模式时,qos burst-mode(接口视图)命令与qos burst-mode(系统视图)命令不能同时配置,且上述两条命令均不能与qos queue length命令同时配置。
重新执行步骤1,检查端口Discard计数是否增加。
? 如果不增加,则拥塞问题解决。观察丢包现象是否解决,如果未解决,请跳过该节,参考下一节进行问题定位。
? 如果仍然增加或设备不支持qos burst-mode命令,则需要优化网络,请执行下一步。
3. 优化网络。
一般从以下方面考虑,来进行网络优化:
? 对设备的上行流量做限速或进行流量整形
突发是造成网络中无规则丢包的主要原因,当突发的尺寸超过端口缓存的限制时,就会存在业务丢包,从而可能影响到客户的业务。从这方面来说,在上游设备对用户的数据做限速或进行流量整形,在一定程度上可以减少突发的产生或者减少突发尺寸,在下行设备上出现突发的拥塞丢包的可能性就会降低。
? 对端口业务进行差分服务,关键业务入高优先级队列,在拥塞时得到优先处理
一般而言,接口上承载的业务比较多,有高优先级的业务(如语音,视频业务),也有低优先级的业务(如上网业务)。对于高优先级的业务在上行设备指定不同的优先级,或者在设备的入方向进优先级映射,确保在出方向时,关键业务入高优先级队列,在出方向配置PQ调度,确保高优先级的业务能够得到优先调度。
? 如果有多条流量冲突,可以扩大设备之间的链路带宽,或者用Eth-Trunk增加成员端口负载分担。
? 如果设备使用了组播业务,通过调整组播源服务器发包方式,对服务器发包优化,减小发生流量拥塞的情况。
2.6 检查是否存在环路
这是最容易造成丢包现象的因素,并且具有比较强的隐蔽性,例如在较大型的网络环境中,管理员很容易把交换机之间的端口连接错误,从而引起网络环路,导致丢包。
1. 观察是否出现如下环路相关的现象。
网络出现环路后,除了产生丢包现象,一般还有如下现象产生:
? 执行display interface brief | include up命令,查看所有Up接口下的流量,存在环路的接口上InUti和OutUti两个计数会逐步增加,甚至接近100%,远远超过业务流量。
第一次查询:
<SwitchA> display interface brief | include up
...
Interface PHY Protocol InUti OutUti inErrors outErrors
GigabitEthernet0/0/2 up up 0.56% 0.56% 0 0
...
最后一次查询:
<SwitchA> display interface brief | include up
...
Interface PHY Protocol InUti OutUti inErrors outErrors
GigabitEthernet0/0/2 up up 76% 76% 0 0
...
? 使用display interface命令查看该接口统计信息时,发现接口收到大量广播报文。
? 设备上发生环路的VLAN的接口指示灯频繁闪烁。
? 设备CPU占用率超过80%。
<SwitchB> display cpu-usage
CPU Usage Stat. Cycle: 60 (Second)
CPU Usage : 95% Max: 97%
CPU Usage Stat. Time : 2013-08-21 16:38:44
CPU utilization for five seconds: 95%: one minute: 95%: five minutes: 95%
Max CPU Usage Stat. Time : 2016-08-10 21:09.
....
执行命令display cpu-usage查看CPU的利用率。网络环路会导致CPU利用率一直很高,报文未经处理就被设备丢弃了。
? 设备出现频繁的MAC漂移。
n 执行命令display trapbuffer,查看是否存在MAC漂移告警记录。
MAC漂移时有如下告警记录。
L2IFPPI/4/MFLPVLANALARM:OID 1.3.6.1.4.1.2011.5.25.160.3.7 MAC move detected, VlanId = 22, MacAddress = 0000-5e00-0116, Original-Port = Eth-Trunk1, Flapping port = Eth-Trunk11. Please check the network accessed to flapping port.
观察是否存在和Ping丢包相关设备的MAC地址在漂移。
n 执行mac-address flapping detection命令配置MAC地址漂移检测功能,然后通过display mac-address flapping record命令来判断是否出现MAC地址漂移。
<HUAWEI> system-view
[HUAWEI] mac-address flapping detection
<HUAWEI> display mac-address flapping record
S : start time
E : end time
(Q) : quit VLAN
(D) : error down
------------------------------------------------------------------------------
Move-Time VLAN MAC-Address Original-Port Move-Ports MoveNum
-------------------------------------------------------------------------------
S:2016-08-10 21:09 300 0000-0000-0007 Eth-Trunk1 Eth-Trunk2 81
E:2016-08-10 21:09
-------------------------------------------------------------------------------
Total items on slot 2: 1
n 多次执行display mac-address来观察,若MAC地址在交换机不同的接口学习到,则存在MAC地址漂移。
<HUAWEI> display mac-address
-------------------------------------------------------------------------------
MAC Address VLAN/VSI Learned-From Type
-------------------------------------------------------------------------------
0022-0022-0033 100/- GE1/0/1 dynamic
0000-0000-0001 -/HUAWEI GE1/0/2 static
-------------------------------------------------------------------------------
Total items displayed = 2
? 设备部署环路检测功能后,设备出现环路告警。
环路相关告警如表2-2所示。
表2-2 交换机上环路相关告警
告警信息
告警解释
1.3.6.1.4.1.2011.5.25.174.3.1
LDT/4/DetectLoop: OID [oid] The port detected loop. (InterfaceIndex: [INTEGER] InterfaceName: [OCTET] VlanListLow: [OCTET] VlanListHigh: [OCTET])
如果本端口发出去的报文又通过该端口所属VLAN转发回到该设备端口,说明发生报文环回,环路的存在可能导致广播风暴。
当检测到这种环回现象后,产生此告警。
1.3.6.1.4.1.2011.5.25.174.3.2
LDT/4/LoopResume: OID [oid] The detected loop is removed. (InterfaceIndex: [INTEGER] InterfaceName: [OCTET] VlanListLow: [OCTET] VlanListHigh: [OCTET])
本端口发生的报文环回现象消失。
1.3.6.1.4.1.2011.5.25.174.3.3
LBDT/4/PORTTRAP: OID [OID] Loopback exists on interface([INTEGER1]) [OCTET1] ([OCTET2]), loopback detection status: [INTEGER2].(1:normal; 2:block; 3:shutdown; 4:trap; 5:nolearn; 6:quitvlan)
设备检测到端口下的二层网络发生环路时上报告警。
1.3.6.1.4.1.2011.5.25.174.3.4
LBDT/4/PORTTRAP: OID [OID] Loopback is removed on interface([INTEGER1]) [OCTET], loopback detection status: [INTEGER2].(1:normal; 2:block; 3:shutdown; 4:trap; 5:nolearn; 6:quitvlan)
环路检测功能检测到端口环路消失后上报告警恢复。
根据查看到的环路相关信息,结合现网情况,选择处理方法。
1. 通过接口指示灯的闪烁情况和接口流量情况,确认存在广播风暴的接口。
2. 根据链路拓扑,逐跳排查产生环路的设备。
3. 判断产生环路的接口并破环。
根据定位方法,可以发现GE0/0/2可能存在环路,从而导致SwitchB处理Ping报文的时候丢包。为了进一步确认是不是环路问题导致SwitchB上丢包,此时可以关闭SwitchB的GE0/0/2的接口,然后执行Ping操作进行测试。
# 关闭SwitchB的GE0/0/2的接口。
<SwitchB> system-view
[SwitchB] interface gigabitethernet 0/0/3
[SwitchB-GigabitEthernet0/0/3] shutdown
[SwitchB-GigabitEthernet0/0/3] quit
# 执行Ping操作。
<SwitchB> ping -c 100 192.168.2.21
PING 192.168.2.21: 56 data bytes, press CTRL_C to break
Reply from 192.168.2.21: bytes=56 Sequence=1 ttl=255 time=1 ms
...
Reply from 192.168.2.21: bytes=56 Sequence=100 ttl=255 time=2 ms
--- 192.168.2.21 ping statistics ---
100 packet(s) transmitted
100 packet(s) received
0.00% packet loss
round-trip min/avg/max = 1/1/19 ms
确认是SwitchB下挂网络环路引起Ping丢包问题后,关闭端口不能从根本上解决问题,此时需要去解决下挂网络的环路问题。通常我们可以部署RRPP、SEP、Smart Link、STP/RSTP/MSTP等协议,对环路进行处理。
4. 如果执行上述措施后仍然无法解决问题,请收集组网信息(包括端口连接情况)和日志信息(可以是log.log日志文件,也可以是执行display logbuffer输出的信息),联系华为交换机经销商。
这里仅介绍关于网络环路的简单定位方法和处理建议,详细信息请参考《S交换机环路故障专题》文档。
2.7 检查是否存在攻击
发生网络攻击时,交换机忙于处理来自于攻击源的非正常网络交互请求,无法处理其他业务造成丢包。
常见的网络攻击包括ARP、ARP-Miss以及DHCP等协议报文攻击,这些攻击行为的共同特点是攻击源产生大量的协议报文对设备进行冲击,因此可以在设备上看到大量上送CPU的报文统计。
l ARP协议报文攻击和ARP-Miss协议报文攻击
l DHCP协议报文攻击
l 其他攻击
? ICMP攻击
? DDoS攻击
? 广播报文攻击
? TTL-expired报文攻击
? 目的IP为设备IP的报文攻击
? SSH/FTP/Telnet等应用层协议报文攻击
1. 使用display cpu-defend statistics命令查看上送CPU报文的统计信息,判断是否存在过多由于来不及处理而丢弃的协议报文。
a. 执行reset cpu-defend statistics命令,清除上送CPU报文的统计信息。
b. 隔几秒display cpu-defend statistics命令,查看上送CPU报文的统计信息。
如果观察到某种协议报文过多,根据组网判断是否可能出现这么多的协议报文。如果不可能出现这么多协议报文,则可基本判断为协议报文的攻击。
<HUAWEI> reset cpu-defend statistics
<HUAWEI> display cpu-defend statistics all
Statistics on slot 2:
-----------------------------------------------------------------------------------------------------------
Packet Type Pass(Bytes) Drop(Bytes) Pass(Packets) Drop(Packets)
-----------------------------------------------------------------------------------------------------------
arp-miss 0 0 0 0
arp-request 40800 35768 600 52600
bgp 0 0 0 0
……
-----------------------------------------------------------------------------------------------------------
可以观察到这台设备出现过多被丢弃的ARP-Request报文,如果现网不可能出现这么多的ARP-Request报文,确定设备遭受到了ARP攻击。
2. 使用本机防攻击的攻击溯源功能找出攻击源。
设备提供本机防攻击功能来保护CPU,解决CPU因处理大量正常上送CPU的报文或者恶意攻击报文造成的业务中断问题。本机防攻击策略主要包括攻击溯源、端口防攻击、CPCAR和黑名单这四大功能。
关于本机防攻击功能的详细信息,请参考《S系列交换机CPU占用率高故障专题》。
a. 创建基于攻击溯源的本机防攻击策略。
i. 创建ACL,用于将网关IP加入攻击溯源的白名单。
<HUAWEI> system-view
[HUAWEI] acl number 2000
[HUAWEI-acl-basic-2000] rule 5 permit source 10.1.1.1 0 //10.1.1.1为网关IP地址
[HUAWEI-acl-basic-2000] quit
ii. 创建基于攻击溯源的本机防攻击策略。
[HUAWEI] cpu-defend policy policy1
[HUAWEI-cpu-defend-policy-policy1] auto-defend enable //使能攻击溯源功能(缺省情况下,未使能该功能)
[HUAWEI-cpu-defend-policy-policy1] undo auto-defend trace-type source-portvlan //配置攻击溯源的溯源模式为基于源MAC地址和源IP地址(缺省情况下,攻击溯源的溯源模式为基于源MAC地址、基于源IP地址和基于源接口 VLAN。一般是使用undo auto-defend trace-type命令来删除不需要的攻击溯源模式。)
[HUAWEI-cpu-defend-policy-policy1] undo auto-defend protocol 8021x dhcp icmp igmp tcp telnet ttl-expired udp //删除攻击溯源防范的报文类型(缺省情况下,攻击溯源防范的报文类型为802.1x、ARP、DHCP、ICMP、IGMP、TCP、Telnet、TTL-expired和UDP。)
[HUAWEI-cpu-defend-policy-policy1] auto-defend whitelist 1 acl 2000 //将网关IP加入白名单
[HUAWEI-cpu-defend-policy-policy1] quit
b. 应用本机防攻击策略。
框式交换机
对框式交换机来说,主控板和接口板上均有CPU,本机防攻击策略的配置和应用也需要按主控板和接口板来做区分。
先检查主控板和接口板的受报文攻击情况,再创建防攻击策略并应用。如果主控板和接口板上受报文攻击的情况相同,可以在主控板和接口板上应用相同的防攻击策略,否则需要应用不同的防攻击策略。
i. 在主控板上应用防攻击策略。
<HUAWEI> system-view
[HUAWEI] cpu-defend-policy policy1
[HUAWEI] quit
ii. 在接口板上应用防攻击策略。
如果在所有接口板上应用防攻击策略,则不能在指定接口板上应用该防攻击策略。反之亦然。
□ 如果设备的接口板承载业务类似,在所有接口板上应用防攻击策略。
<HUAWEI> system-view
[HUAWEI] cpu-defend-policy policy2 global
□ 如果设备的接口板承载业务各有差异,在指定接口板上应用防攻击策略。
<HUAWEI> system-view
[HUAWEI] slot 1
[HUAWEI-slot-1] cpu-defend-policy policy2
盒式交换机
n 非堆叠情况下,在设备上应用防攻击策略。
<HUAWEI> system-view
[HUAWEI] cpu-defend-policy policy1 global
n 堆叠情况下:
- 在主设备上应用防攻击策略
<HUAWEI> system-view
[HUAWEI] cpu-defend-policy policy1
- 在所有堆叠设备上应用防攻击策略
<HUAWEI> system-view
[HUAWEI] cpu-defend-policy policy1 global
c. 查看攻击源信息。
配置基于攻击溯源的本机防攻击功能后,可以执行display auto-defend attack-source和display auto-defend attack-source slot slot-id命令,查看攻击源信息。
识别的攻击源MAC中可能包含网关的MAC地址,需要注意剔除。
3. 根据查看到的攻击源信息,结合现网情况,选择处理方法。
? 配置ARP安全功能,防范ARP协议攻击。
针对ARP和ARP-Miss协议报文攻击,可以部署ARP安全功能,来防止设备后续遭受这类攻击。
设备提供了多种ARP安全的解决方案,请参考产品文档的“配置指南-安全配置-ARP安全配置”的“ARP安全解决方案”进行配置。
? 配置攻击溯源的惩罚功能,在指定周期内丢弃识别为攻击的报文。
# 使能攻击溯源的惩罚功能,在300秒内,将识别为攻击的报文全部丢弃。
<HUAWEI> system-view
[HUAWEI] cpu-defend policy policy1
[HUAWEI-cpu-defend-policy-policy1] auto-defend enable //使能攻击溯源功能(缺省情况下,未使能该功能)
[HUAWEI-cpu-defend-policy-policy1] auto-defend action deny timer 300 //(缺省情况下,未使能攻击溯源的惩罚功能)
? 配置本机防攻击策略的黑名单,直接丢弃黑名单用户上送的报文。
如果判断攻击源为特定用户的恶意报文(假设攻击源为1.1.1.0/24)攻击,可以通过ACL把符合特定特征的用户纳入到黑名单中,被纳入黑名单的用户所发的报文到达设备后均会被丢弃。
# 配置ACL 2001匹配源1.1.1.0/24的报文,命中该ACL的特征报文将被设备直接丢弃。
[HUAWEI] acl number 2001
[HUAWEI-acl-basic-2001] rule permit source 1.1.1.0 0.0.0.255
[HUAWEI-acl-basic-2001] quit
[HUAWEI] cpu-defend policy policy1
[HUAWEI-cpu-defend-policy-policy1] blacklist 1 acl 2001
? 配置攻击溯源的惩罚功能,将攻击报文进入的接口shutdown,避免攻击源继续攻击设备。
如果判断攻击报文来自某端口,并且将该端口shutdown,不会对设备业务造成影响,可以使用该方法。
如果配置攻击溯源的惩罚措施是将攻击报文进入的接口shutdown,有可能会造成设备业务的中断,接口下合法的用户会受牵连,请谨慎使用。
# 配置攻击溯源的惩罚措施为将攻击报文进入的端口shutdown。
<HUAWEI> system-view
[HUAWEI] cpu-defend policy policy1
[HUAWEI-cpu-defend-policy-policy1] auto-defend enable //使能攻击溯源功能(缺省情况下,系统未使能该功能)
[HUAWEI-cpu-defend-policy-policy1] auto-defend action error-down
找到攻击源并采取相应措施后,观察丢包现象是否缓解,如果仍未缓解,请参考下一节。
2.8 检查上送CPU的报文速率是否超出设备限速
设备针对每类协议报文都有缺省的CPCAR值,一般情况下,设备上协议报文的CPCAR值采用默认值就可以满足应用。部分协议报文的CPCAR值需要根据实际业务规模和具体的用户网络环境进行调整。
1. 通过display cpu-defend statistics all命令查看上送CPU报文的统计信息,确认对应的业务是否丢包。
2. 通过display cpu-defend configuration [ packet-type packet-type ] { all | slot slot-id | mcu }命令查看设备对上送CPU的报文限速值。
3. 通过display cpu-defend rate [ packet-type packet-type ] { all | mcu | slot slot-id }命令查看上送CPU的报文速率。
4. 结合现网规模确认当前CPCAR设定值是否匹配。
例如,某网络中有丢包现象,确认当前CPCAR设定值是否与现网规模匹配。
# 确认上送CPU的ICMP报文有丢包。
<HUAWEI> display cpu-defend statistics all
Statistics on mainboard:
--------------------------------------------------------------------------------
Packet Type Pass(Packet/Byte) Drop(Packet/Byte) Last-dropping-time
--------------------------------------------------------------------------------
icmp 880928 44380928 2016-08-10 21:09
25301 693450
……
表示设备主控板总共丢弃了44380928个ICMP报文。
# 查看设备对上送CPU的ICMP报文限速值。
<HUAWEI> display cpu-defend configuration packet-type icmp all
Car configurations on mainboard.
----------------------------------------------------------------------
Packet Name Status Cir(Kbps) Cbs(Byte) Queue Port-Type
----------------------------------------------------------------------
icmp Enabled 256 48128 3 NA
----------------------------------------------------------------------
……
表示设备主控板每秒允许上送CPU的ICMP报文为256kbit/s=256*1024bit/s=262144bit/s。
# 查看上送CPU的ICMP报文速率。
<HUAWEI> display cpu-defend rate packet-type icmp all
Info: Please wait for a moment....
Cpu-defend rate on mainboard:
-------------------------------------------------------------------------------
Packet Type Pass(bps) Drop(bps) Pass(pps) Drop(pps)
-------------------------------------------------------------------------------
icmp 239211 3389532 5854 69585
-------------------------------------------------------------------------------
……
表示设备主控板每秒通过的上送CPU的ICMP报文为239211bit数,已接近设备主控板允许的数值262144,同时还有大量丢包。这表明当前CPCAR设定值与现网规模可能不太匹配。
5. 如果判断CPCAR设定值与现网规模可能不匹配,由于调整CPCAR不当将会影响网络业务,请联系技术支持工程师调整CPCAR。
2.9 检查相关配置是否合理
1. 查看接口、VLAN、VLANIF以及全局的配置,检查是否配置了与丢包相关的配置。
配置检查项:
? 是否有相关的流量过滤、抑制或限速,以及是否正确运用了流策略。例如流策略误配置了对某类报文采取丢弃。
n 流策略检查:主要检查是否正确应用了流策略,流策略中定义的流行为动作和流分类中匹配的规则是否有导致报文被丢弃的配置。
# 执行命令display traffic policy user-defined查看配置的流策略信息。
<HUAWEI> display traffic policy user-defined
User Defined Traffic Policy Information:
Policy: p1
Classifier: c1
Operator: AND
Behavior: b1
Permit
Remark:
Remark 8021p 4
Committed Access Rate:
CIR 10000 (Kbps), PIR 10000 (Kbps), CBS 1880000 (byte), PBS 3130000 (byte)
Color Mode: color Blind
Conform Action: pass
Yellow Action: pass
Exceed Action: discard
Total policy number is 1
# 执行命令display traffic behavior user-defined [ behavior-name ]查看配置的流行为信息,是否有导致报文被丢弃的配置。
<HUAWEI> display traffic behavior user-defined
User Defined Behavior Information:
Behavior: b1
permit
Remark:
Remark 8021p 4
Redirect:
Redirect cpu
Committed Access Rate:
CIR 10000 (Kbps), PIR 10000 (Kbps), CBS 1880000 (byte), PBS 3130000 (byte)
Color Mode: color Blind
Conform Action: pass
Yellow Action: pass
Exceed Action: discard
Total behavior number is 1
# 执行命令display traffic classifier user-defined [ classifier-name ]查看配置的流分类信息。
<HUAWEI> display traffic classifier user-defined
User Defined Classifier Information:
Classifier: c1
Precedence: 5
Operator: AND
Rule(s) : if-match acl 2046
Total classifier number is 1
# 执行命令display acl { acl-number | all }查看流分类中匹配的ACL是否包含deny内容。
<HUAWEI> display acl all
Total nonempty ACL number is 1
Advanced ACL 2046, 1 rule
Acl‘s step is 5
rule 5 deny icmp
如果配置不正确,请修改配置。
n 流量抑制检查,请在明确有广播报文攻击或有抑制广播报文需求的时候使用该命令。
broadcast-suppression:配置接口下允许通过的最大广播报文流量。当广播流量超过配置阈值时会自动丢弃,并且该丢弃没有日志信息。
2. 是否存在安全相关的配置,如端口安全、IPSG、URPF等。
port-security enable:使能端口安全功能后,接口会将学习到的MAC地址转换为安全动态MAC地址。当接口学习的安全动态MAC数量达到上限后(缺省值为1),不再学习新的MAC地址,对超过MAC地址学习数量限制的报文采取直接丢弃的动作。
ip source check user-bind enable:使能IP报文检查功能,对IP报文中的IP、MAC、VLAN、接口信息进行绑定表匹配检查。
urpf strict:使能接口的URPF严格检查功能,从子接口进入的报文无法通过严格检查而被直接丢弃检查功能。
3. 如果交换机做二层转发,还要同时检查以下内容。
a. 检查接口的VLAN配置是否正确。
n 接口没有加入相应的VLAN,导致接口不允许报文通过。
执行display vlan vlan-id命令,查看接口是否以Untagged或Tagged方式加入到指定的VLAN中。如果接口配置了PVID,对于Untagged的报文在入接口会被打上PVID tag,此时需要将接口加入PVID VLAN。
<HUAWEI> display vlan 10
--------------------------------------------------------------------------------
U: Up; D: Down; TG: Tagged; UT: Untagged;
MP: Vlan-mapping; ST: Vlan-stacking;
#: ProtocolTransparent-vlan; *: Management-vlan;
--------------------------------------------------------------------------------
VID Type Ports
--------------------------------------------------------------------------------
10 common UT:GE2/9/0/1(D) GE2/9/0/3(D)
TG:GE2/9/0/4(D)
VID Status Property MAC-LRN Statistics Description
--------------------------------------------------------------------------------
10 enable default enable disable VLAN 0010
n 入端口和出端口是否配置在相同的业务转发VLAN。
n 接口下配置了丢弃入方向带VLAN Tag的报文。
port discard tagged-packet:配置该命令的接口将丢弃入方向带VLAN Tag的报文。如果因配置错误导致丢包,请通过命令undo port discard tagged-packet修改配置。
n 接口下配置了丢弃没有匹配灵活QinQ和VLAN Mapping的报文。
qinq vlan-translation miss-drop:灵活QinQ和VLAN Mapping接口下配置该命令后,接口会对没有匹配叠加前或映射前的VLAN的入报文进行丢弃。如果因配置错误导致丢包,请通过undo qinq vlan-translation miss-drop命令修改配置。
对于配置灵活QinQ的接口,注意要将接口加入替换后的VLAN。
b. 检查源MAC地址学习是否正常。
执行display mac-address mac-address命令,检查源MAC地址和VLAN、接口的绑定关系是否正确。
<HUAWEI> display mac-address
-------------------------------------------------------------------------------
MAC Address VLAN/VSI Learned-From Type
-------------------------------------------------------------------------------
0022-0022-0033 100/- GE1/0/1 dynamic
0000-0000-0001 -/HUAWEI GE1/0/2 static
-------------------------------------------------------------------------------
Total items displayed = 2
如果源MAC没有学习到,请重新配置MAC地址、VLAN和设备端口的绑定关系。
对于配置了灵活QinQ的接口,源MAC是学习在替换后的外层VLAN上的。
c. 检查MAC地址配置中是否有导致丢包的配置项。
n 是否关闭了MAC地址学习,并指定了丢弃动作。
在接口视图或VLAN视图下查看配置,显示信息有“mac-address learning disable action discard”,设备将不再从接口进行MAC地址学习,如果MAC地址表中有匹配表项,则按照MAC表进行转发;如果无匹配表项,则丢弃该报文。
n 是否配置了MAC地址学习限制规则。
在接口视图或VLAN视图下查看配置,显示信息有“mac-limit maximum max-num”,MAC地址表项数目达到限制后,源MAC为新MAC地址的报文会被丢弃。
n 是否配置了静态MAC。
执行display mac-address static命令查看静态MAC地址表项信息。
如果配置了静态MAC,只有绑定了静态MAC的接口才会处理该MAC的报文,其他接口收到该MAC的报文会被丢弃。
n 是否配置了黑洞MAC。
执行display mac-address blackhole命令查看黑洞MAC地址表项信息。
如果配置了黑洞MAC,当某个报文的源MAC地址或目的MAC地址等于黑洞MAC地址表项的MAC地址,该报文会被丢弃。
4. 如果交换机做三层转发,还要同时检查以下内容。
a. 检查ARP表项是否存在、是否冲突、是否超规格。
n 执行命令display arp all,检查本端是否学习到对端IP地址的ARP表项。
n 执行命令display arp learning strict,查看全局和VLANIF接口是否配置了ARP表项严格学习。
<HUAWEI> display arp learning strict
The global configuration:arp learning strict
Interface LearningStrictState
------------------------------------------------------------
Vlanif100 force-disable
Vlanif200 force-enable
------------------------------------------------------------
Total:2
Force-enable:1
Force-disable:1
配置该功能后,只有本设备主动发送的ARP请求报文的应答报文才能触发本设备学习ARP,其他设备主动向本设备发送的ARP报文不能触发本设备学习ARP。
n 执行命令display logbuffer命令,查看设备上的日志信息。当显示有如下信息时,表明设备从接口接收到IP地址冲突的ARP报文。
ARP/4/ARP_DUPLICATE_IPADDR:Received an ARP packet with a duplicate IP address from the interface. (IpAddress=[IPADDR], InterfaceName=[STRING], MacAddress=[STRING])
处理方法如下:
系统视图下执行命令arp anti-attack gateway-duplicate enable,使能ARP防网关冲突攻击功能。设备在收到地址冲突的报文后,会下发防攻击表项过滤攻击源,在后续一段时间内对收到具有相同源MAC地址的报文直接丢弃(该功能会导致攻击源一段时间不能访问网络)。
如果用户允许,也可以直接配置本机防攻击策略的黑名单来过滤该报文,更严厉的惩罚措施可以配置黑洞MAC,彻底不让该攻击者上网。
配置请参见2.7 检查是否存在攻击。
b. 检查是否有到对端的路由
执行命令display ip routing-table和display fib,沿转发路径逐跳查看路由,检查本端是否有可达对端的路由,对端是否有回程路由,路由协议是否配置正常。
执行命令display ip routing-table statistics,查看路由总数是否超过设备规格导致的硬件表项下发失败。
c. 如果是三层子接口,检查子接口下是否使能了终结子接口的ARP广播功能arp broadcast enable。终结子接口将不能转发广播报文,在收到广播报文后它们直接把该报文丢弃。
5. 查看接口是否被STP、RRPP、LDT、SmartLink等协议阻塞。
一般在同一接口上不会配置多种环路协议,所以先看接口目前配置了哪种协议类型,再查看对应的接口状态。这里以STP、RRPP为例说明。
? 若交换机上配置了STP协议,需检查接口是否被STP阻塞。
执行命令display stp brief查看接口状态,正常情况下接口的“STP State”字段为“FORWARDING”。
<HUAWEI> display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet1/0/1 DESI FORWARDING NONE
0 GigabitEthernet1/0/2 DESI FORWARDING NONE
0 GigabitEthernet1/0/4 ROOT FORWARDING NONE
若该字段为DISCARDING,则说明该接口上报文被STP阻塞。需要在系统视图下执行stp priority priority-level命令修改STP的优先级,将本交换机选举为根桥,使接口不被阻塞。(priority-level的取值是0~61440,取值越小则优先级越高,设置较低的优先级可使本交换机成为环路的根桥。)
? 若交换机上配置了RRPP协议,需检查接口是否被RRPP阻塞。
执行命令display rrpp verbose domain domain-index查看接口状态,正常情况下接口的“Port status”字段都为“Up”。
<HUAWEI> display rrpp verbose domain 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: UP
Secondary port : GigabitEthernet1/0/2 Port status: BLOCKED
若接口显示状态为为“BLOCK”,则说明该接口上报文被RRPP阻塞。RRPP协议阻塞的是副接口(Secondary port),所以需要重新规划修改配置,不要将该接口配置成RRPP协议的副接口。
2.10 通过流量统计判断丢包位置
1. 沿着发生丢包的链路,在设备的入接口和出接口上部署流策略,分别统计入接口的Inbound方向和出接口的Outbound方向的特定报文,以确认该类报文是否在本设备被丢弃。
在本例中,如图2-1所示,在Switch_3、Switch_2和Switch_1上同时配置流策略功能,查看端口a~端口f在同一走向的流量统计情况。
图2-1 部署流策略示例
配置流量统计
# 配置进入Switch_3(端口a入方向)报文的流量统计。
a. 配置ACL规则。
<Switch_3> system-view
[Switch_3 acl number 3000
[Switch_3-acl-adv-3000] rule permit icmp source 192.168.100.1 0 destination 202.10.1.1 0
[Switch_3-acl-adv-3000] quit
b. 配置流分类。
[Switch_3] traffic classifier 3000
[Switch_3-classifier-3000] if-match acl 3000
[Switch_3-classifier-3000] quit
c. 配置流行为。
[Switch_3] traffic behavior 3000
[Switch_3-behavior-3000] statistic enable
[Switch_3-behavior-3000] quit
d. 配置流策略。
[Switch_3] traffic policy 3000
[Switch_3-trafficpolicy-3000] classifier 3000 behavior 3000
[Switch_3-trafficpolicy-3000] quit
e. 在接口上应用流策略。
[Switch_3] interface gigabitethernet 1/0/2
[Switch_3-GigabitEthernet1/0/2] traffic-policy 3000 inbound
[Switch_3-GigabitEthernet1/0/2] quit
# 配置离开Switch_3(端口b出方向)报文的流量统计。
a. 配置ACL规则。
[Switch_3] acl number 3001
[Switch_3-acl-adv-3001] rule permit icmp source 202.10.1.1 0 destination 192.168.100.1 0
[Switch_3-acl-adv-3001] quit
b. 配置流分类。
[Switch_3] traffic classifier 3001
[Switch_3-classifier-3001] if-match acl 3001
[Switch_3-classifier-3001] quit
c. 配置流行为。
[Switch_3] traffic behavior 3001
[Switch_3-behavior-3001] statistic enable
[Switch_3-behavior-3001] quit
d. 配置流策略。
[Switch_3] traffic policy 3001
[Switch_3-trafficpolicy-3001] classifier 3001 behavior 3001
[Switch_3-trafficpolicy-3001] quit
e. 在接口上应用流策略。
[Switch_3] interface gigabitethernet 1/0/2
[Switch_3-GigabitEthernet1/0/2] traffic-policy 3001 outbound
[Switch_3-GigabitEthernet1/0/2] quit
在Switch_2和Switch_1上做类似Switch_3的流量统计,配置步骤不再详述。有关流量统计的概念和配置请参考4.1 配置流量统计。
分析统计结果
a. 在设备上执行命令display traffic policy statistics interface interface-type interface-number inbound/outbound verbose rule-base查看接口流量统计信息。
b. 分别比较端口a入方向和端口b出方向,端口b出方向和端口c入方向,端口c入方向和端口d出方向,端口d出方向和端口e入方向,端口e入方向和端口f出方向的报文Passed计数,判断丢包位置。
以端口a入方向和端口b出方向,端口b出方向和端口c入方向的流量统计情况为例。
n 如果端口a入方向和端口b出方向Passed计数大致相等,说明此处无丢包。
n 如果端口a入方向的报文Passed计数多于端口b出方向的报文Passed计数,说明丢包发生在Switch_3。
请参考2.10.1 加载设备版本对应最新补丁和2.10.2 尝试复位或更换单板进行定位处理。
n 如果端口b出方向和端口c入方向Passed计数大致相等,说明此处无丢包。
n 如果端口b出方向的报文Passed计数多于端口c入方向的报文Passed计数,说明丢包发生在Switch_3和Switch_2之间的物理链路上,请参考2.10.3 检查设备之间的物理链路进行定位处理。
2.10.1 加载设备版本对应最新补丁
请加载并激活版本对应最新的补丁文件,查看问题是否有所缓解。
请登录http://support.huawei.com/enterprise/网站获取补丁的软件和安装补丁需要参考的文档(包括补丁说明书和补丁安装指导书)。
2.10.2 尝试复位或更换单板
确认在对业务没有影响的状况下,请尝试复位或拔插单板恢复业务,观察丢包现象是否有所缓解。同时联系技术工程师更换单板解决。
2.10.3 检查设备之间的物理链路
本文给出的例子中,通过查看SwitchA和SwitchB上的流量统计信息,可以发现进入SwitchB的报文数目少于离开SwitchA的报文数目,进入SwitchA的报文数目少于离开SwitchB的报文数目,因此可以判断是A与B之间物理链路上发生丢包。
常见物理链路故障有以下几种:
l 线缆接头接触不良或松脱。
l 光模块波长参数与实际需求不一致。
l 设备的通信接口损坏。
l 物理连线过长或出现破损。
针对物理链路故障,具体排查方法如下:
1. 查看设备端口指示灯状态。
如果是常灰,说明无连接。此时需要更换接口或者网线再进行尝试。
2. 检查设备连接的线缆以及设备上的硬件模块等是否插好,不可松动。
检查连接完好之后,如果故障仍然存在,请执行下一步。
3. 检查设备之间的链路、接口模块是否故障。
? 如果设备之间通过双绞线连接,需要根据表2-3做如下检查。
表2-3 设备之间通过双绞线时的检查项
检查标准
后续操作
用测试仪测试双绞线是否故障。
测试仪显示双绞线正常。
如果检查出线缆故障,请更换线缆。
设备间双绞线长度是否满足要求。
设备间线缆长度<100m。
说明
10/100/1000M电接口采用RJ-45连接器,接口线缆为5类或5类以上双绞线,传输距离100m。
如果线缆长度大于100m,
l 缩短设备之间的距离,以缩短双绞线长度。
l 如果不能改变设备之间的距离,可以通过中继或交换机串联等方式连接设备。
检查双绞线线序类型是否正确。
直通网线用来连接以下设备之间的以太网接口:
l 路由器和集线器
l 路由器和交换机
l PC和交换机
l PC和集线器
交叉网线用来连接以下设备之间的以太网接口:
l 路由器和路由器
l 路由器和计算机
l 集线器和集线器
l 集线器和交换机
l 交换机和交换机
l PC和PC
如果双绞线类型选择错误,请选择正确类型的双绞线。
检查两边的电口模块是否正常。
1. 检查网口里面是否有金针凹陷或偏位。
2. 看是否存在接触不好及网线外部损坏的情况。
如果电口模块不正常,请更换两端电口模块。
l 如果设备之间通过光纤连接,需要根据表2-4做如下检查。
表2-4 设备之间通过光纤连接时的检查项
检查标准
后续操作
检查光模块和光纤的对应关系。
检查光纤类型是否正确。
如果对应关系不正确,请选择更换光模块或光纤。
设备间光纤的长度和光模块支持的传输距离是否匹配。
光纤的长度小于光模块支持的传输距离。
根据现网实际情况缩短光纤长度或者更换支持更大传输距离的光模块。
用测试仪测试信号的衰减在允许的范围内。
光信号的衰减范围与光模块型号有关。
1. 如果衰减过大请更换光纤。
2. 如果更换光纤仍不符合衰减要求,请缩短光纤的长度。
用测试仪或物理环回方法检查链路两端是否故障。
l 使用测试仪测试时,测试仪显示收发正常。
l 使用物理环回时,可以看到接口Up。
1. 如果检查出线缆故障,请尝试更换线缆。
2. 如果更换线缆故障依然存在请尝试更换两端接口光模块。
请根据已知型号或光模块的类型,参考产品文档-硬件描述的“接口可插拔模块”章节,来获取光模块的中心波长、传输距离、支持的光纤类型、接收光功率、发送光功率等信息。
另外,光功率不正常会触发设备告警,也可以通过告警信息查看光功率是否正常。
2.11 联系技术支持工程师
如果执行上述措施后仍然无法解决问题,请收集组网信息(包括端口连接情况)、故障的源IP,源MAC,目的IP,目的MAC,入端口,出端口和日志信息(log.log日志文件或者执行命令display logbuffer的输出信息),联系技术支持工程师。
3 后续预防网络丢包措施
根据前面的问题定位章节,我们可以得知引起部署S交换机的网络丢包的原因,建议在网络的部署和维护过程当中,请参考表3-1采取一些预防措施,尽量减少丢包现象发生的可能。
表3-1 避免网络丢包措施
后续预防措施
对端设备或下挂PC引起
定期给设备下接的PC或服务器杀毒,减少攻击。
硬件故障(如物理线路故障、单板未插紧或单板故障需要更换以及接口状态异常等。)
l 检查设备上物理连线、单板等硬件模块是否插紧。
l 设备电口使用的网线必须为标准电缆,非标准的网线可能会引起链路问题。
l 设备电口必须为全双工状态,半双工状态会带来很多问题。
l 使用的光模块必须为华为交换机产品认证的光模块。
很多厂家光模块实现方法不统一,产生的问题也不可控,比如现网出现过很多使用非认证光模块导致出现丢包的问题,因此使用的光模块必须为华为交换机产品认证的光模块。
流量突发超出接口带宽,导致网络拥塞
l 对服务器进行发包优化,减少流量突发。
l 用Eth-Trunk增加成员端口做负载分担,减小单个端口流量。
配置不当
/
网络环路
合理规划网络,预先配置破环协议,同时使能环回检测功能,避免网络成环。
l 全局视图下配置loopback-detect untagged mac-address ffff-ffff-ffff,保证设备环路探测报文BPDU报文为广播报文,不会被其他设备终结。
l 接口视图下配置loopback-detect enable,使能环回检测功能。
当设备所有使能环回检测功能的接口下的VLAN个数总和超过1024时,建议通过命令loopback-detect action shutdown配置接口检测到环路时的处理动作为shutdown。(对于每个端口,每加入到一个VLAN,VLAN个数就加1,即使是多个端口同时加入同一个VLAN。)
攻击
l 配置ARP安全功能,防止设备受到ARP和ARP-Miss协议报文攻击。
l 在经常出现DHCP、ARP协议报文攻击的网络(如校园网),配置基于DHCP、ARP协议报文的本机防攻击策略。
上送CPU的报文速率超出CPU限速
设备针对每类协议报文都有缺省的CPCAR值,一般情况下,缺省的CPCAR值即可满足需要。如果存在正常业务的流量过大的问题,请联系华为交换机经销商根据实际业务规模和具体的用户网络环境进行调整。
产品规格限制或组网规划不当
在跨板转发流量较大的场景下,设备款型建议尽量选择S9700等款型,主控单元尽量选择SRUB/SRUD两种主控板,以确保更大的板间通讯带宽。
4 附录
4.1 配置流量统计
概述
如图4-1所示,S系列交换机支持接口入方向、出方向的流量统计,基于全局入方向、出方向的流量统计。流量统计使用流策略功能实现,在接口视图下应用时,只统计接口的入方向或出方向流量;在全局应用时,能够统计所有接口的入方向与出方向的流量。
接口视图下的流策略优先级高于全局视图下的流策略,当接口下的流量统计优先命中时,全局视图则无法命中,即没有统计值。
图4-1 流量统计介绍示意图
基于流量统计,可以分析如下问题:
1. 流量是否到达设备入口,进而判断上游设备是否丢包;
2. 流量是否被转发到设备出口,进而判断设备是否丢包;
3. 流量在设备入口二三层信息是否正确,进而判断上游设备转发封装是否正常;
4. 流量在设备出接口二三层信息是否正确,进而判断设备转发封装是否正常;
5. 是否存在MAC漂移、路由变化、IP冲突等导致的流量瞬间漂移。
配置步骤
配置ACL规则,匹配需要统计的流量。
配置流分类,根据ACL规则匹配不同的流量,从而区分不同数据流量。
配置流行为,在流行为中配置流量统计。
配置流策略,绑定以上流分类和流行为,并应用在Switch的入方向,实现对不同用户报文的流量统计。
<HUAWEI> system-view
[HUAWEI] acl 3999
[HUAWEI-acl-adv-3999] rule permit icmp source 1.1.1.1 0 destination 2.2.2.2 0 //配置ACL
[HUAWEI-acl-adv-3999] quit
[HUAWEI] traffic classifier test operator or precedence 45 //创建流分类,并引用ACL 3999
[HUAWEI-classifier-test] if-match acl 3999 //
[HUAWEI-classifier-test] quit
[HUAWEI] traffic behavior test //创建流行为,并统计使能
[HUAWEI-behavior-test] statistic enable
[HUAWEI-behavior-test] quit
[HUAWEI] traffic policy test //创建流策略,绑定流分类与流行为
[HUAWEI-classifier-test] classifier test behavior test
[HUAWEI-classifier-test] quit
[HUAWEI] interface GigabitEthernet1/0/1
[HUAWEI-GigabitEthernet1/0/1] traffic-policy test inbound //在接口入方向应用流策略,也可以在系统视图执行命令traffic-policy test global inbound将流策略在全局下应用
# 查询流量整体的统计值:
<Quidway> display traffic policy statistics interface GigabitEthernet 1/0/1 inbound
Interface: GigabitEthernet1/0/1
Traffic policy inbound: test
Rule number: 1
Current status: OK!
---------------------------------------------------------------------
Board : 1
Item Packets Bytes
---------------------------------------------------------------------
Matched 0 0
--Passed 0 0
--Dropped 0 0
--Filter 0 0
--CAR 0 0
# 查询基于每条rule的统计值:
<Quidway> display traffic policy statistics interface GigabitEthernet 1/0/1 inbound verbose rule-base
Interface: GigabitEthernet1/0/1
Traffic policy inbound: test
Rule number: 1
Current status: OK!
---------------------------------------------------------------------
Classifier: test operator or
Behavior: test
Board : 1
rule 5 permit icmp source 192.168.1.3 0
Passed Packet 0,Passed Bytes 0
Dropped Packet 0,Dropped Bytes 0
对流量做完统计,请及时删除流量统计相关配置,减轻CPU压力。
S3700不支持出方向流量统计功能,可以使用下面方法快速排除是否存在丢包
l 可以考虑在对端入方向做流量统计,将对端设备入方向的流量统计和S3700设备入方向的流量统计比较,确认是否丢在S3700上。
l 可以在端口入方向配置重定向,将报文直接重定向到出端口,如果丢包的话说明与S3700无关,如果不丢包说明丢在S3700上。