以太网冲突故障排除

目录

简介
先决条件
要求
使用的组件
规则
什么是冲突?
延迟计数器
冲突计数器
延迟冲突
Excessive Collision
相关信息

简介

本文档将概述与以太网冲突相关的不同计数器,并说明如何排除以下错误信息报告(取决于不同平台)的以太网冲突相关问题:

  • %AMDP2_FE-5-COLL

  • %DEC21140-5-COLL

  • %ILACC-5-COLL

  • %LANCE-5-COLL

  • %PQUICC-5-COLL

  • %PQUICC_ETHER-5-COLL

  • %PQUICC_FE-5-COLL

  • %QUICC_ETHER-5-COLL

  • %AMDP2_FE-5-LATECOLL

  • %DEC21140-5-LATECOLL

  • %ILACC-5-LATECOLL

  • %LANCE-5-LATECOLL

  • %PQUICC-5-LATECOLL

  • %PQUICC_ETHER-5-LATECOLL

  • %PQUICC_FE-5-LATECOLL

  • %QUICC_ETHER-5-LATECOLL

  • %SIBYTE-4-SB_EXCESS_COLL

注意: 本文档中的信息只适用于半双工以太网。在全双工以太网中,冲突检测已禁用。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档不限于特定的软件和硬件版本。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。

规则

有关文档规则的详细信息,请参阅 Cisco 技术提示规则。

什么是冲突?

冲突是以太网用于控制访问和分配站间共享带宽的机制冲突,站点则是指想要在共享介质 上同时传输数据的站点。由于共享媒体,因而必须具有一种机制,以检测出它们需要同时传输。此机制便是冲突检测。

以太网使用 CSMA/CD(载波侦听多路访问/冲突检测) 作为其冲突检测方法。这是以太网操作的一个简化示例:

以太网冲突故障排除_第1张图片

  1. 站点 A 想要发送帧。首先,它检查媒体是否可用(载波侦听)。如果它不是,直到等待媒体上当前的发送方完成。

  2. 假设位置 A 相信媒体是可用的并且尝试发送帧。由于媒体共享(多路访问),其它发送器也可以尝试同时发送。这时,站点 B 尝试与站点 A 同时发送帧。

  3. 很快,A 站和 B 站将发现有另一台设备尝试发送帧(冲突检测)。每个站点将随机等待一段时间,然后再次发送帧。冲突以后的时间分成多个时隙;站点 A 和站点 B 各选择一个随机的时隙,以尝试重传。

  4. 如果 A 站和 B 站在同一个插槽内尝试重新传输,则将扩大插槽的数量。然后每个位置选择一个新的插槽,从而减少在同一个插槽转播的可能性。

总之,冲突是通过仲裁接入到共享介质,随着时间分配数据流负载的一种方式。冲突并不是一件坏事;它对更正以太网操作非常重要。

一些有用信息:

  • 最大时隙限制为 1024。

  • 冲突机制中同一帧的最多重传次数为 16。如果连续失败 16 次,则算作是过度冲突。

延迟计数器

下面是 show interface 命令的输出示例:

router#show interface ethernet 0Ethernet0 is up, line protocol is up   Hardware is Lance, address is 0010.7b36.1be8 (bia 0010.7b36.1be8)  Internet address is 10.200.40.74/22  MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec,      reliability 255/255, txload 1/255, rxload 1/255  Encapsulation ARPA, loopback not set  Keepalive set (10 sec)  ARP type: ARPA, ARP Timeout 04:00:00  Last input 00:00:00, output 00:00:06, output hang never  Last clearing of "show interface" counters never  Input queue: 1/75/1/0 (size/max/drops/flushes); Total output drops: 0  Queueing strategy: random early detection(RED)  Output queue :0/40 (size/max)  5 minute input rate 1000 bits/sec, 2 packets/sec  5 minute output rate 0 bits/sec, 0 packets/sec     2058015 packets input, 233768993 bytes, 1 no buffer     Received 1880947 broadcasts, 0 runts, 0 giants, 1 throttles     3 input errors, 0 CRC, 0 frame, 0 overrun, 3 ignored     0 input packets with dribble condition detected     298036 packets output, 32280269 bytes, 0 underruns     0 output errors, 10 collisions, 0 interface resets     0 babbles, 0 late collision, 143 deferred     0 lost carrier, 0 no carrier     0 output buffer failures, 0 output buffers swapped out

延迟计数器计算接口设法发送帧的次数,但发现载波忙于第一次尝试(载波侦听)。这不构成问题,是正常以太网操作的一部分。

冲突计数器

下面是 show interface 命令的另一输出示例:

router#show interface ethernet 0Ethernet0 is up, line protocol is up   Hardware is Lance, address is 0010.7b36.1be8 (bia 0010.7b36.1be8)  Internet address is 10.200.40.74/22  MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec,      reliability 255/255, txload 1/255, rxload 1/255  Encapsulation ARPA, loopback not set  Keepalive set (10 sec)  ARP type: ARPA, ARP Timeout 04:00:00  Last input 00:00:00, output 00:00:06, output hang never  Last clearing of "show interface" counters never  Input queue: 1/75/1/0 (size/max/drops/flushes); Total output drops: 0  Queueing strategy: random early detection(RED)  Output queue :0/40 (size/max)  5 minute input rate 1000 bits/sec, 2 packets/sec  5 minute output rate 0 bits/sec, 0 packets/sec     2058015 packets input, 233768993 bytes, 1 no buffer     Received 1880947 broadcasts, 0 runts, 0 giants, 1 throttles     3 input errors, 0 CRC, 0 frame, 0 overrun, 3 ignored     0 input packets with dribble condition detected     298036 packets output, 32280269 bytes, 0 underruns     0 output errors, 10 collisions, 0 interface resets     0 babbles, 0 late collision, 143 deferred     0 lost carrier, 0 no carrier     0 output buffer failures, 0 output buffers swapped out

按照此处的说明,冲突不构成问题。冲突计数器可计算发送帧时发生一次或多次冲突的帧的数量。

冲突计数器可以被分解为一次冲突和多次冲突,正如 show controller 命令的输出所示:

8 single collisions, 2 multiple collisions

这意味着,在一个冲突发生后,成功传输了 8 个帧(总共 10 个)。另外两个帧要求多个冲突以仲裁对媒体的访问。

冲突率(数据包输出数量除以冲突数量)提高并不表示出现问题:它仅仅表示网络的流入负载增加。一个例子可以是因为另一个站添加到网络中。

没有“多少次冲突是坏”或最大冲突比率的设置限额。

总而言之,当分析网络性能或问题时,冲突计数器并不能提供很有用的统计数据。

延迟冲突

为使冲突检测功能正常工作,对检测冲突的时间段进行了限制(512 位时间)。对于以太网,该限制为 51.2 us(微秒),对于快速以太网,为 5.12 us。对于以太网站点,传输开始后,冲突检测最高可达 51.2 微秒,或者换句话说最高可达到帧的第 512 位。

站点发送了其帧的第 512 位之后,将检测到冲突,该冲突计为延迟冲突

延迟冲突由以下错误消息报告:

%AMDP2_FE-5-LATECOLL: AMDP2/FE 0/0/[dec], Late collision %DEC21140-5-LATECOLL: [chars] transmit error %ILACC-5-LATECOLL: Unit [DEC], late collision error %LANCE-5-LATECOLL: Unit [DEC], late collision error %PQUICC-5-LATECOLL: Unit [DEC], late collision error %PQUICC_ETHER-5-LATECOLL: Unit [DEC], late collision error %PQUICC_FE-5-LATECOLL: PQUICC/FE([DEC]/[DEC]), Late collision    %QUICC_ETHER-5-LATECOLL: Unit [DEC], late collision error

确切的错误信息根据平台不同而有所不同。您能用 show interface ethernet [接口号] 命令检查输出中额外冲突的数量。

router#show interface ethernet 0Ethernet0 is up, line protocol is up   Hardware is Lance, address is 0010.7b36.1be8 (bia 0010.7b36.1be8)  Internet address is 10.200.40.74/22  MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec,      reliability 255/255, txload 1/255, rxload 1/255  Encapsulation ARPA, loopback not set  Keepalive set (10 sec)  ARP type: ARPA, ARP Timeout 04:00:00  Last input 00:00:00, output 00:00:06, output hang never  Last clearing of "show interface" counters never  Input queue: 1/75/1/0 (size/max/drops/flushes); Total output drops: 0  Queueing strategy: random early detection(RED)  Output queue :0/40 (size/max)  5 minute input rate 1000 bits/sec, 2 packets/sec  5 minute output rate 0 bits/sec, 0 packets/sec     2058015 packets input, 233768993 bytes, 1 no buffer     Received 1880947 broadcasts, 0 runts, 0 giants, 1 throttles     3 input errors, 0 CRC, 0 frame, 0 overrun, 3 ignored     0 input packets with dribble condition detected     298036 packets output, 32280269 bytes, 0 underruns     0 output errors, 10 collisions, 0 interface resets     0 babbles, 0 late collision, 143 deferred     0 lost carrier, 0 no carrier     0 output buffer failures, 0 output buffers swapped out

注意: 站点报告延迟冲突仅仅表示存在问题;延迟冲突一般不是问题的原因。可能的原因通常是网络中布线不正确或集线器数量不符合要求。损坏的网络接口卡(NIC)能也导致延迟冲突。

Excessive Collision

如以前讨论的,在补偿算法中最大数量的重试次数是设置到 16。这意味着如果接口不能分配插槽(接口可以在插槽中传输其帧,而不会有其他 16 次冲突),则将放弃分配。帧将不会传输,并标记为过度冲突

过度冲突由以下错误消息报告:

%AMDP2_FE-5-COLL: AMDP2/FE 0/0/[DEC], Excessive collisions, TDR=[DEC], TRC=[DEC]    %DEC21140-5-COLL: [chars] excessive collisions %ILACC-5-COLL: Unit [DEC], excessive collisions. TDR=[DEC] %LANCE-5-COLL: Unit [DEC], excessive collisions. TDR=[DEC]    %PQUICC-5-COLL: Unit [DEC], excessive collisions. Retry limit [DEC] exceeded    %PQUICC_ETHER-5-COLL: Unit [DEC], excessive collisions. Retry limit [DEC] exceeded    %PQUICC_FE-5-COLL: PQUICC/FE([DEC]/[DEC]), Excessive collisions, TDR=[DEC], TRC=[DEC]%QUICC_ETHER-5-COLL: Unit [DEC], excessive collisions. Retry limit  [DEC] exceeded%SIBYTE-4-SB_EXCESS_COLL : Excessive collisions on mac [dec] (count: [dec])

确切的错误信息根据平台不同而有所不同。

注意: 发送重试计数(TRC)计数器是显示关联信息包的传输重试次数的4位字段。最大计数为 15。然而,如果发生重试错误,计数将返回为零。仅在这种情况下,TRC 值为零应理解为十六。控制器将 TRC 写入一个帧的最后传输描述符,或者当一个错误终止了帧。

注意: 时间延迟反射计(TDR)计数器是内部计数器(每隔100纳秒(ns)滴答一声),计算从传输开始到冲突发生之间的时间。由于计数器每跳一下,大约能传输 35 英尺,因而该值可用于确定到线缆故障的大约距离。

您能用 show controller ethernet [接口号] 命令检查输出中额外冲突的数量。

router#show controller ethernet 0LANCE unit 0, idb 0xFA6C4, ds 0xFC218, regaddr = 0x2130000, reset_mask 0x2IB at 0x606E64: mode=0x0000, mcfilter 0000/0000/0100/0000station address 0010.7b36.1be8  default station address 0010.7b36.1be8buffer size 1524RX ring with 16 entries at 0x606EA8Rxhead = 0x606EC8 (4), Rxp = 0xFC244 (4)00 pak=0x0FCBF4 Ds=0x60849E status=0x80 max_size=1524 pak_size=6601 pak=0x10087C Ds=0x6133B6 status=0x80 max_size=1524 pak_size=6602 pak=0x0FDE94 Ds=0x60BA7E status=0x80 max_size=1524 pak_size=20303 pak=0x100180 Ds=0x611F82 status=0x80 max_size=1524 pak_size=6604 pak=0x0FD09C Ds=0x609216 status=0x80 max_size=1524 pak_size=6605 pak=0x0FE590 Ds=0x60CEB2 status=0x80 max_size=1524 pak_size=6606 pak=0x100AD0 Ds=0x613A72 status=0x80 max_size=1524 pak_size=6607 pak=0x0FD9EC Ds=0x60AD06 status=0x80 max_size=1524 pak_size=6608 pak=0x0FF830 Ds=0x610492 status=0x80 max_size=1524 pak_size=34809 pak=0x1003D4 Ds=0x61263E status=0x80 max_size=1524 pak_size=34310 pak=0x0FEA38 Ds=0x60DC2A status=0x80 max_size=1524 pak_size=6611 pak=0x100D24 Ds=0x61412E status=0x80 max_size=1524 pak_size=6412 pak=0x0FC74C Ds=0x607726 status=0x80 max_size=1524 pak_size=6413 pak=0x0FD798 Ds=0x60A64A status=0x80 max_size=1524 pak_size=6614 pak=0x0FE7E4 Ds=0x60D56E status=0x80 max_size=1524 pak_size=6415 pak=0x0FD2F0 Ds=0x6098D2 status=0x80 max_size=1524 pak_size=66TX ring with 4 entries at 0x606F68, tx_count = 0TX_head = 0x606F80 (3), head_txp = 0xFC294 (3)TX_tail = 0x606F80 (3), tail_txp = 0xFC294 (3)00 pak=0x000000 Ds=0x63491E status=0x03 status2=0x0000 pak_size=33201 pak=0x000000 Ds=0x634FDA status=0x03 status2=0x0000 pak_size=32702 pak=0x000000 Ds=0x630A9E status=0x03 status2=0x0000 pak_size=6003 pak=0x000000 Ds=0x630A9E status=0x03 status2=0x0000 pak_size=603 missed datagrams, 0 overruns0 transmitter underruns, 0 excessive collisions8 single collisions, 2 multiple collisions0 dma memory errors, 0 CRC errors 0 alignment errors, 0 runts, 0 giants0 tdr, 0 spurious initialization done interrupts0 no enp status, 0 buffer errors, 0 overflow errors0 TX_buff, 1 throttled, 1 enabledLance csr0 = 0x73

过度冲突表示出现问题。常见原因是:设备以全双工方式在共享以太网上连接、NIC 破坏、或者共享媒体上站点过多。过度冲突可以通过硬编码指定速度和双工来解决。

在 Cisco Catalyst 交换机中,如果 service internal 模式打开,每次出现过度冲突时将显示 %SIBYTE-4-SB_EXCESS_COLL 系统消息。当 service internal 模式关闭时,仅当过度冲突达到某一固定阈值时,系统才输出此消息。在这种情况下,出现此消息可能表示存在真正的冲突。当 service internal 模式打开时,每出现一次过度冲突,系统即输出此消息。这也许是由一些硬件噪声造成的。service internal 模式打开时,偶尔出现此消息是正常的。您可以发出 no service internal 命令以关闭此日志记录,并查看此操作对错误日志的影响。

你可能感兴趣的:(Routing,and,Switching,思科网络知识)