此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科采用人工翻译与机器翻译相结合的方式将此文档翻译成不同语言,希望全球的用户都能通过各自的语言得到支持性的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 Cisco Systems, Inc. 对于翻译的准确性不承担任何责任,并建议您总是参考英文原始文档(已提供链接)。
本文档介绍如何对基于UADP ASIC的Catalyst 9000系列平台上的高速接口上的输出丢弃进行故障排除。
Cisco 建议您了解以下主题:
本文档中的信息基于以下软件和硬件版本:
注意:有关在其他思科平台上启用这些功能的命令,请参阅相应的配置指南。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
高速接口上的输出丢弃在任何网络环境中都可能发生,特别是当它处理支持10 Gbps或以上数据传输速率的接口时。当数据包在传输到网络之前被接口丢弃时,即发生输出丢弃。
当输出丢弃发生在低使用率水平时,人们经常误解接口利用率的解释:
但是,在大多数情况下,输出丢包是由耗尽端口缓冲区的微爆发流量引起的:
网络流量通常以链路的平均利用率来衡量(根据配置测得30秒到5分钟不等)。虽然此平均值显示流量稳定且相对均匀,但是以毫秒级规模查看接口利用率时通常非常突发。
图 1. 显示高速接口上输出丢弃的根本原因的直观表示。
接口“速度/带宽”都有一些误称:
“速度”差异是交织能力/每时间间隔的通道数/脉冲数、编码机制等,而介质(光/电子)的速度则更快。
提示:在接口配置模式下使用load-interval <30-600>命令修改加载间隔延迟(以秒为单位)。(加载间隔代表交换机轮询接口计数器的频率)。
对高速接口上的输出丢弃进行故障排除的过程可能很复杂,但以下是一些可帮助确定和解决此问题的常规步骤:
确定受影响的接口:
标识入站和出站接口:
验证缓冲区分配:
使用Wireshark验证微burts:
考虑硬件升级:
要识别出现输出丢弃的受影响接口,请使用show interfaces命令。
要缩小接口列表的范围并快速确定受影响的接口,可使用show interfaces | include is up|Total output drops命令过滤出接口关闭或管理关闭,并仅显示处于活动状态且具有丢弃的接口。
Cat9k(config)#show interfaces | in is up|Total output drops
HundredGigE1/0/1 is up, line protocol is up (connected)
Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 54845
HundredGigE1/0/10 is up, line protocol is up (connected)
Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 1540231
--snip--
提示:使用show interfaces命令并使用适当的条件过滤输出,以便快速轻松地识别受影响的接口。采取必要的步骤来解决问题。
默认情况下,在Catalyst 9000系列交换机上,出口数据包丢弃以字节而不是数据包显示。确定找到的输出丢弃量是否具有任何实际影响或只是由临时突发流量引起,这一点非常重要。
要计算接口上传输的总输出字节数中已丢弃的百分比,请执行以下操作:
这提供了接口上丢弃的输出字节的百分比,可以帮助您确定是否存在需要解决的拥塞或缓冲区分配问题,或者输出丢弃是否由瞬时微总线流量引起。
使用showinterface <interface>命令收集信息。
Cat9k#show interfaces twentyFiveGigE 1/0/41 TwentyFiveGigE1/0/41 is up, line protocol is up (connected) Hardware is Twenty Five Gigabit Ethernet, address is dc77.4c8a.4289 (bia dc77.4c8a.4289) MTU 1500 bytes, BW 25000000 Kbit/sec, DLY 10 usec, reliability 255/255, txload 3/255, rxload 1/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) Full-duplex, 10Gb/s, link type is auto, media type is SFP-10GBase-AOC1M input flow-control is on, output flow-control is off ARP type: ARPA, ARP Timeout 04:00:00 Last input 00:00:06, output 00:00:10, output hang never Last clearing of "show interface" counters 6w1d Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 299040207 Queueing strategy: Class-based queueing Output queue: 0/40 (size/max) 30 second input rate 767000 bits/sec, 155 packets/sec 30 second output rate 14603000 bits/sec, 1819 packets/sec 931864194 packets input, 572335285416 bytes, 0 no buffer Received 933005 broadcasts (933005 multicasts) 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored 0 watchdog, 0 multicast, 0 pause input 0 input packets with dribble condition detected 1067891106 packets output, 5930422327799 bytes, 0 underruns
--snip--
总输出丢包数:299040207
总输出字节数:5930422327799
输出丢弃的百分比= 299040207/5930422327799 x 100 = 0.005%
在本示例中,总输出丢弃代表过去六周(最后清除计数器6w1d)在该接口上传输的总字节量的0.005%。
要更好地分配Catalyst 9000系列交换机上的软缓冲区和管理流量,请考虑选择不同ASIC中的入站和出站接口。
软缓冲区也称为动态缓冲区或共享缓冲区,是指在拥塞或高流量负载期间动态分配以临时存储数据包的一部分内存。
提示:有关Catalyst 9000系列交换机中缓冲区分配的详细信息,请参阅了解Catalyst 9000交换机上的队列缓冲区分配文档。
根据Catalyst 9000交换机特定型号的架构,必须注意它们通常包含负责各种功能的多个ASIC。
要验证接口到ASIC的映射,您可以运行命令:show platform software fed <switch|active> ifm mappings
本示例显示接口到ASIC的映射。接口范围TenGigabitEthernet1/0/1到TenGigabitEthernet1/0/24映射到ASIC 1,而其余映射到ASIC 0:
Cat9k#show platform software fed switch active ifm mappings Interface IF_ID Inst Asic Core Port SubPort Mac Cntx LPN GPN Type Active TenGigabitEthernet1/0/1 0x9 3 1 1 0 0 11 0 1 1 NIF Y TenGigabitEthernet1/0/2 0xa 3 1 1 1 0 10 1 2 2 NIF Y TenGigabitEthernet1/0/3 0xb 3 1 1 2 0 9 2 3 3 NIF Y TenGigabitEthernet1/0/4 0xc 3 1 1 3 0 8 3 4 4 NIF Y TenGigabitEthernet1/0/5 0xd 3 1 1 4 0 7 4 5 5 NIF Y TenGigabitEthernet1/0/6 0xe 3 1 1 5 0 6 5 6 6 NIF Y TenGigabitEthernet1/0/7 0xf 3 1 1 6 0 5 6 7 7 NIF Y TenGigabitEthernet1/0/8 0x10 3 1 1 7 0 4 7 8 8 NIF Y TenGigabitEthernet1/0/9 0x11 3 1 1 8 0 3 8 9 9 NIF Y TenGigabitEthernet1/0/10 0x12 3 1 1 9 0 2 9 10 10 NIF Y TenGigabitEthernet1/0/11 0x13 3 1 1 10 0 1 10 11 11 NIF Y TenGigabitEthernet1/0/12 0x14 3 1 1 11 0 0 11 12 12 NIF Y TenGigabitEthernet1/0/13 0x15 2 1 0 12 0 11 0 13 13 NIF Y TenGigabitEthernet1/0/14 0x16 2 1 0 13 0 10 1 14 14 NIF Y TenGigabitEthernet1/0/15 0x17 2 1 0 14 0 9 2 15 15 NIF Y TenGigabitEthernet1/0/16 0x18 2 1 0 15 0 8 3 16 16 NIF Y TenGigabitEthernet1/0/17 0x19 2 1 0 16 0 7 4 17 17 NIF Y TenGigabitEthernet1/0/18 0x1a 2 1 0 17 0 6 5 18 18 NIF Y TenGigabitEthernet1/0/19 0x1b 2 1 0 18 0 5 6 19 19 NIF Y TenGigabitEthernet1/0/20 0x1c 2 1 0 19 0 4 7 20 20 NIF Y TenGigabitEthernet1/0/21 0x1d 2 1 0 20 0 3 8 21 21 NIF Y TenGigabitEthernet1/0/22 0x1e 2 1 0 21 0 2 9 22 22 NIF Y TenGigabitEthernet1/0/23 0x1f 2 1 0 22 0 1 10 23 23 NIF Y TenGigabitEthernet1/0/24 0x20 2 1 0 23 0 0 11 24 24 NIF Y TenGigabitEthernet1/0/25 0x21 1 0 1 24 0 11 0 25 25 NIF Y TenGigabitEthernet1/0/26 0x22 1 0 1 25 0 10 1 26 26 NIF Y TenGigabitEthernet1/0/27 0x23 1 0 1 26 0 9 2 27 27 NIF Y TenGigabitEthernet1/0/28 0x24 1 0 1 27 0 8 3 28 28 NIF Y TenGigabitEthernet1/0/29 0x25 1 0 1 28 0 7 4 29 29 NIF Y TenGigabitEthernet1/0/30 0x26 1 0 1 29 0 6 5 30 30 NIF Y TenGigabitEthernet1/0/31 0x27 1 0 1 30 0 5 6 31 31 NIF Y TenGigabitEthernet1/0/32 0x28 1 0 1 31 0 4 7 32 32 NIF Y TenGigabitEthernet1/0/33 0x29 1 0 1 32 0 3 8 33 33 NIF Y TenGigabitEthernet1/0/34 0x2a 1 0 1 33 0 2 9 34 34 NIF Y TenGigabitEthernet1/0/35 0x2b 1 0 1 34 0 1 10 35 35 NIF Y TenGigabitEthernet1/0/36 0x2c 1 0 1 35 0 0 11 36 36 NIF Y TenGigabitEthernet1/0/37 0x2d 0 0 0 36 0 11 11 37 37 NIF Y TenGigabitEthernet1/0/38 0x2e 0 0 0 37 0 10 10 38 38 NIF Y TenGigabitEthernet1/0/39 0x2f 0 0 0 38 0 9 9 39 39 NIF Y TenGigabitEthernet1/0/40 0x30 0 0 0 39 0 8 8 40 40 NIF Y TenGigabitEthernet1/1/1 0x31 0 0 0 40 0 0 19 41 41 NIF N TenGigabitEthernet1/1/2 0x32 0 0 0 41 0 0 18 42 42 NIF N TenGigabitEthernet1/1/3 0x33 0 0 0 42 0 0 17 43 43 NIF N TenGigabitEthernet1/1/4 0x34 0 0 0 43 0 0 16 44 44 NIF N TenGigabitEthernet1/1/5 0x35 0 0 0 44 0 0 15 45 45 NIF N TenGigabitEthernet1/1/6 0x36 0 0 0 45 0 0 14 46 46 NIF N TenGigabitEthernet1/1/7 0x37 0 0 0 46 0 0 13 47 47 NIF N TenGigabitEthernet1/1/8 0x38 0 0 0 47 0 0 12 48 48 NIF N FortyGigabitEthernet1/1/1 0x39 0 0 0 48 0 4 4 49 49 NIF N FortyGigabitEthernet1/1/2 0x3a 0 0 0 49 0 0 0 50 50 NIF N
缓冲区分配是避免输出丢弃的一个重要因素,因为缓冲区用于临时存储因拥塞或其他变量而无法转发的流量。如果没有足够的可用缓冲区,流量将被丢弃,从而导致网络性能下降和潜在的中断。通过此验证,您可以确保交换机有足够的缓冲区空间来处理高流量负载。
使用show platform hardware fed switch active qos queue stats interface <interface>命令可以查看接口上的每个队列统计信息,其中包括排入缓冲区中的字节数以及由于缺少可用缓冲区而丢弃的字节数。
在本例中:
Cat9k#show platform hardware fed active qos queue stats interface twentyFiveGigE 1/0/41 ---------------------------------------------------------------------------------------------- AQM Global counters GlobalHardLimit: 16257 | GlobalHardBufCount: 0 GlobalSoftLimit: 39039 | GlobalSoftBufCount: 0 ---------------------------------------------------------------------------------------------- High Watermark Soft Buffers: Port Monitor Disabled ---------------------------------------------------------------------------------------------- Asic:0 Core:0 DATA Port:8 Hardware Enqueue Counters ---------------------------------------------------------------------------------------------- Q Buffers Enqueue-TH0 Enqueue-TH1 Enqueue-TH2 Qpolicer (Count) (Bytes) (Bytes) (Bytes) (Bytes) -- ------- -------------------- -------------------- -------------------- -------------------- 0 0 0 40588200 9368282 0 1 0 0 23584521 789524 0 2 0 0 0 110307150901 0 3 0 0 0 487852543 0 4 0 0 0 5483512 0 5 0 0 0 0 0 6 0 0 0 0 0 7 0 0 0 0 Asic:0 Core:0 DATA Port:8 Hardware Drop Counters -------------------------------------------------------------------------------------------------------------------------------- Q Drop-TH0 Drop-TH1 Drop-TH2 SBufDrop QebDrop QpolicerDrop (Bytes) (Bytes) (Bytes) (Bytes) (Bytes) (Bytes) -- -------------------- -------------------- -------------------- -------------------- -------------------- -------------------- 0 0 0 0 0 0 0 1 0 0 0 0 0 0 2 0 0 24010607 <-- (drops on Q2) 0 0 0 3 0 0 0 0 0 0 4 0 0 0 0 0 0 5 0 0 0 0 0 0 6 0 0 0 0 0 0 7 0 0 0 0 0 0
要增加接口使用的软缓冲区的值,请在全局配置模式下使用qos queue-softmax-multipliercommand:
此配置适用于所有接口:
在全局配置模式下使用 qos queue-softmax-multiplier<100 4800>命令修改软缓冲区分配。如果将此值配置为可用的最大值,则可为交换机提供最大可能性来消除或减少输出丢弃。这是尽可能避免丢弃的常用最佳实践。
Cat9k(config)#qos queue-softmax-multiplier ?
<100-4800> multiplier(%)
使用show platform hardware fed active qos queue config interface <interface>命令确定Catalyst 9000系列上的软缓冲区分配。
此示例显示Catalyst 9500上已协商为10Gbps速度的接口上分配的默认软缓冲区。
Cat9k#show platform hardware fed active qos queue config interface twentyFiveGigE 1/0/41 Asic:0 Core:0 DATA Port:8 GPN:141 LinkSpeed:0x12 AFD:Disabled FlatAFD:Disabled QoSMap:0 HW Queues: 64 - 71 DrainFast:Disabled PortSoftStart:5 - 4320 BufferSharing:Disabled DTS Hardmax Softmax PortSMin GlblSMin PortStEnd QEnable ----- -------- -------- -------- -------- --------- ------- 0 1 6 480 8 1920 16 960 0 0 3 5760 En <-- 1920 is the total soft buffers allocated to queue 0 on interface twentyFiveGigE 1/0/41 1 1 5 0 11 2880 16 1440 8 720 3 5760 En <-- 2880 is the total soft buffers allocated to queue 1 on interface twentyFiveGigE 1/0/41 2 1 5 0 6 0 0 0 0 0 3 5760 En 3 1 5 0 6 0 0 0 0 0 3 5760 En 4 1 5 0 6 0 0 0 0 0 3 5760 En 5 1 5 0 6 0 0 0 0 0 3 5760 En 6 1 5 0 6 0 0 0 0 0 3 5760 En 7 1 5 0 6 0 0 0 0 0 3 5760 En Priority Shaped/shared weight shaping_step sharpedWeight -------- ------------- ------ ------------ ------------- 0 0 Shared 50 0 0 1 0 Shared 75 0 0 2 0 Shared 10000 0 0 3 0 Shared 10000 0 0 4 0 Shared 10000 0 0 5 0 Shared 10000 0 0 6 0 Shared 10000 0 0 7 0 Shared 10000 0 0 Port Port Port Port Priority Shaped/shared weight shaping_step -------- ------------- ------ ------------ 2 Shaped 1023 1023 QPolicer Refresh Credit Max Credit Interval Idx ----------- -------------- ---------- ------------ 0 Disabled 0 0 0 1 Disabled 0 0 0 2 Disabled 0 0 0 3 Disabled 0 0 0 4 Disabled 0 0 0 5 Disabled 0 0 0 6 Disabled 0 0 0 7 Disabled 0 0 0 Weight0 Max_Th0 Min_Th0 Weigth1 Max_Th1 Min_Th1 Weight2 Max_Th2 Min_Th2 ------- ------- ------- ------- ------- ------- ------- ------- ------ 0 0 1912 0 0 2137 0 0 2400 0 <-- Thresholds values in queue 0 on interface twentyFiveGigE 1/0/41 1 0 2295 0 0 2565 0 0 2880 0 <-- Thresholds values in queue 1 on interface twentyFiveGigE 1/0/41 2 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0
本示例显示已配置了4800倍数的Catalyst 9500上协商为10Gbps速度的接口上分配的软缓冲区。
Cat9k#show platform hardware fed active qos queue config interface twentyFiveGigE 1/0/41 Asic:0 Core:0 DATA Port:8 GPN:141 LinkSpeed:0x12 AFD:Disabled FlatAFD:Disabled QoSMap:0 HW Queues: 64 - 71 DrainFast:Disabled PortSoftStart:4 - 42000 BufferSharing:Disabled DTS Hardmax Softmax PortSMin GlblSMin PortStEnd QEnable ----- -------- -------- -------- -------- --------- ------- 0 1 6 480 10 42000 1 1312 0 0 4 42000 En <-- 42000 is the total soft buffers allocated to queue 0 on interface twentyFiveGigE 1/0/41 1 1 5 0 10 42000 1 1312 1 1312 4 42000 En <-- 42000 is the total soft buffers allocated to queue 1 on interface twentyFiveGigE 1/0/41 2 1 5 0 6 0 0 0 0 0 4 42000 En 3 1 5 0 6 0 0 0 0 0 4 42000 En 4 1 5 0 6 0 0 0 0 0 4 42000 En 5 1 5 0 6 0 0 0 0 0 4 42000 En 6 1 5 0 6 0 0 0 0 0 4 42000 En 7 1 5 0 6 0 0 0 0 0 4 42000 En Priority Shaped/shared weight shaping_step sharpedWeight -------- ------------- ------ ------------ ------------- 0 0 Shared 50 0 0 1 0 Shared 75 0 0 2 0 Shared 10000 0 0 3 0 Shared 10000 0 0 4 0 Shared 10000 0 0 5 0 Shared 10000 0 0 6 0 Shared 10000 0 0 7 0 Shared 10000 0 0 Port Port Port Port Priority Shaped/shared weight shaping_step -------- ------------- ------ ------------ 2 Shaped 1023 1023 QPolicer Refresh Credit Max Credit Interval Idx ----------- -------------- ---------- ------------ 0 Disabled 0 0 0 1 Disabled 0 0 0 2 Disabled 0 0 0 3 Disabled 0 0 0 4 Disabled 0 0 0 5 Disabled 0 0 0 6 Disabled 0 0 0 7 Disabled 0 0 0 Weight0 Max_Th0 Min_Th0 Weigth1 Max_Th1 Min_Th1 Weight2 Max_Th2 Min_Th2 ------- ------- ------- ------- ------- ------- ------- ------- ------ 0 0 33851 0 0 37833 0 0 42480 0 <-- Thresholds values in queue 0 on interface twentyFiveGigE 1/0/41 1 0 33468 0 0 37406 0 0 42000 0 <-- Thresholds values in queue 1 on interface twentyFiveGigE 1/0/41 2 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0
注意:软缓冲的分配会有所不同。分配可能与以上输出不匹配。分配输出会有所不同,具体取决于所使用的特定平台、应用的QoS策略以及所讨论接口的协商运行速度。
每队列缓冲区修改可用于无法使用SoftMax乘数的情况,或尝试微调缓冲区以适应流量量变曲线的情况。
在本示例接口中,twentyFiveGigE 1/0/1遇到输出丢弃。如应用到此接口的命令输出出口策略映射中所示。
show platform hardware fed switch active qos queue stats interface <interface>命令允许您查看接口上的每个队列统计信息,其中包括多少字节已排入缓冲区,以及多少字节由于缺少可用缓冲区而被丢弃。
Cat9k#show platform hardware fed active qos queue stats interface twentyFiveGigE 1/0/1 ---------------------------------------------------------------------------------------------- AQM Global counters GlobalHardLimit: 16257 | GlobalHardBufCount: 0 GlobalSoftLimit: 39039 | GlobalSoftBufCount: 0 ---------------------------------------------------------------------------------------------- High Watermark Soft Buffers: Port Monitor Disabled ---------------------------------------------------------------------------------------------- Asic:0 Core:0 DATA Port:8 Hardware Enqueue Counters ---------------------------------------------------------------------------------------------- Q Buffers Enqueue-TH0 Enqueue-TH1 Enqueue-TH2 Qpolicer (Count) (Bytes) (Bytes) (Bytes) (Bytes) -- ------- -------------------- -------------------- -------------------- -------------------- 0 0 0 0 82 0 1 0 0 0 7517 0 2 0 0 0 110307150901 0 3 0 0 0 7174010710 0 4 0 0 0 0 0 5 0 0 0 0 0 6 0 0 0 0 0 7 0 0 0 0 Asic:0 Core:0 DATA Port:8 Hardware Drop Counters -------------------------------------------------------------------------------------------------------------------------------- Q Drop-TH0 Drop-TH1 Drop-TH2 SBufDrop QebDrop QpolicerDrop (Bytes) (Bytes) (Bytes) (Bytes) (Bytes) (Bytes) -- -------------------- -------------------- -------------------- -------------------- -------------------- -------------------- 0 0 0 0 0 0 0 1 0 0 0 0 0 0 2 0 0 24010607 0 0 0 3 0 0 20071103 0 0 0 4 0 0 0 0 0 0 5 0 0 0 0 0 0 6 0 0 0 0 0 0 7 0 0 0 0 0 0
为了缓解此接口上的输出丢弃,根据Enqueue计数器,Q0到Q1的入队率非常低,因此不需要像Q2和Q3那么多的缓冲区。建议的操作是为队列2和队列3分配更多缓冲区,因为这些队列与任何其他队列相比具有更高的入队流量。
注意:如果在策略中的每个类上配置此命令,则其总和必须为100。但是,如果只配置了一个类,则系统会平均从其他队列中减去缓冲区。
本示例显示如何在策略映射中配置队列缓冲区比率。
Cat9k(config)#policy-map test
Cat9k(config-pmap)# class Voice
Cat9k(config-pmap-c)# priority level 1
Cat9k(config-pmap-c)# queue-buffers ratio 5
Cat9k(config-pmap-c)# class Video
Cat9k(config-pmap-c)# bandwidth remaining percent 50
Cat9k(config-pmap-c)# queue-buffers ratio 15
Cat9k(config-pmap-c)# class BuisnessCritical
Cat9k(config-pmap-c)# bandwidth remaining percent 30
Cat9k(config-pmap-c)# queue-buffers ratio 40 <-- Queue 3
Cat9k(config-pmap-c)# class class-default
Cat9k(config-pmap-c)# bandwidth remaining percent 20
Cat9k(config-pmap-c)# queue-buffers ratio 40 <-- Queue 4
从Cisco IOS XE 17.2.1版本开始,基于UADP 3.0(Catalyst 9500高性能和Catalyst 9600)的交换机可以配置为在相同ASIC内的两个核心之间共享活动队列管理(AQM)缓冲区。
您可以使用命令的no形式(no qos share-buffer)来禁用缓冲区共享。
Cat9k(config)#qos share-buffer
Cat9k(config)#end
要验证网络中是否存在微爆发,您可以使用数据包捕获工具(如Wireshark):
要确定Wireshark发生丢包时会发生什么微爆发,请在受影响的接口上开始数据包捕获,并反复检查接口,直到发生输出丢包。
要有效地捕获和分析接口上的输出丢弃,请使用以下建议:
要确认这些高流量时段是否确实为微爆发,请使用Wireshark I/O图表功能。由于I/O图形显示一段时间内网络流量的图形表示,因此更容易识别微爆发。要创建I/O图表,请转至Statistics > I/O Graph:
注意:为演示此过程,我们使用在1 Gbps接口上捕获的数据包。但是,排除任何高速接口上的输出丢弃故障时的步骤是相同的。
图 2.选择I/O图形。
下图显示一条直线,表示一段时间内传输的数据量。在图中查找指示高流量期间的峰值。如果在这些峰值之后是流量低或无流量的时段,则可能已识别出微爆发。
图 3.显示数据包捕获的I/O图。
务必确保所有数据包都已选择且未应用显示过滤器。此外,选择Line Graph选项并将Y轴设置为Bits,以正确分析流量。
图 4.显示如何选择Line Graph选项并将Y轴设置为Bits。
当您分析大型数据包捕获时,确定您感兴趣的特定时间段至关重要。例如,在此场景中,可以观察到在30秒附近存在大量流量。
点击I/O图形中峰值峰值时,Wireshark会在后台选择该数据包。在本场景中,选择了数据包79280和101896以创建数据包捕获的子集,以便在怀疑存在微爆发的时间戳内工作。
图 5.显示如何创建关注可疑微爆发存在时间戳的数据包捕获子集。
要将选定的第一个和最后一个数据包导出到新文件,请确保选择Range 和Captured 单选按钮。
图 6.显示如何导出和保存数据包捕获的子集。
保存文件后,将其打开并导航回I/O图形。确保间隔设置为1毫秒,以绘制以毫秒为单位看到的峰值。
图 7.显示数据包捕获的导出子集的I/O图。
在显示图形时,必须标识代表以线速传输整毫秒流量的时间段的峰值,这可能会导致缓冲区被填满,并可能产生输出丢弃。例如,在1 Gbps接口上,这相当于每毫秒1,000,000位。点击代表潜在微爆的峰值点。它有助于识别导致输出丢弃的数据包。然后可以进一步分析此数据包,以确定微爆的根本原因并采取纠正措施。
图 8.显示了如何识别I/O图中的潜在微爆发流量。
警告:在高速接口上使用Wireshark或任何其他数据包捕获工具时,务必了解此限制。高速接口(例如40G和100G)会生成大量网络流量,这可能会占用用于捕获数据包的系统资源。因此,这可能会导致数据包在捕获过程中被丢弃,并影响捕获数据的准确性和完整性。
如果已经耗尽分配给队列的资源并且仍然遇到丢包现象,则需要考虑其他选项来管理拥塞。这些可能包括:
请注意,其中某些选项需要涉及更多的配置(例如流量工程),但可以显著缓解网络拥塞和输出丢弃。
版本 | 发布日期 | 备注 |
---|---|---|
2.0 |
15-Jul-2024 |
初始版本、缩短标题、修改的Alt文本和风格上的更改。 |
1.0 |
07-Jun-2023 |
初始版本 |