目录

简介

先决条件

要求

使用的组件

规则

什么是冲突？

延迟计数器

冲突计数器

延迟冲突

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. 站点 A 想要发送帧。首先，它检查媒体是否可用（载波侦听）。 如果它不是，直到等待媒体上当前的发送方完成。

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

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

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

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

一些有用信息：

- 最大时隙限制为 1024。

- 冲突机制中同一帧的最大重传次数为16。如果连续失败16次，则视为过度冲突。

延迟计数器

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

router#show interface ethernet 0

Ethernet0 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 0

Ethernet0 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 0

Ethernet0 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 0

LANCE unit 0, idb 0xFA6C4, ds 0xFC218, regaddr = 0x2130000, reset_mask 0x2

IB at 0x606E64: mode=0x0000, mcfilter 0000/0000/0100/0000

station address 0010.7b36.1be8  default station address 0010.7b36.1be8

buffer size 1524

RX ring with 16 entries at 0x606EA8

Rxhead = 0x606EC8 (4), Rxp = 0xFC244 (4)

00 pak=0x0FCBF4 Ds=0x60849E status=0x80 max_size=1524 pak_size=66

01 pak=0x10087C Ds=0x6133B6 status=0x80 max_size=1524 pak_size=66

02 pak=0x0FDE94 Ds=0x60BA7E status=0x80 max_size=1524 pak_size=203

03 pak=0x100180 Ds=0x611F82 status=0x80 max_size=1524 pak_size=66

04 pak=0x0FD09C Ds=0x609216 status=0x80 max_size=1524 pak_size=66

05 pak=0x0FE590 Ds=0x60CEB2 status=0x80 max_size=1524 pak_size=66

06 pak=0x100AD0 Ds=0x613A72 status=0x80 max_size=1524 pak_size=66

07 pak=0x0FD9EC Ds=0x60AD06 status=0x80 max_size=1524 pak_size=66

08 pak=0x0FF830 Ds=0x610492 status=0x80 max_size=1524 pak_size=348

09 pak=0x1003D4 Ds=0x61263E status=0x80 max_size=1524 pak_size=343

10 pak=0x0FEA38 Ds=0x60DC2A status=0x80 max_size=1524 pak_size=66

11 pak=0x100D24 Ds=0x61412E status=0x80 max_size=1524 pak_size=64

12 pak=0x0FC74C Ds=0x607726 status=0x80 max_size=1524 pak_size=64

13 pak=0x0FD798 Ds=0x60A64A status=0x80 max_size=1524 pak_size=66

14 pak=0x0FE7E4 Ds=0x60D56E status=0x80 max_size=1524 pak_size=64

15 pak=0x0FD2F0 Ds=0x6098D2 status=0x80 max_size=1524 pak_size=66

TX ring with 4 entries at 0x606F68, tx_count = 0

TX_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=332

01 pak=0x000000 Ds=0x634FDA status=0x03 status2=0x0000 pak_size=327

02 pak=0x000000 Ds=0x630A9E status=0x03 status2=0x0000 pak_size=60

03 pak=0x000000 Ds=0x630A9E status=0x03 status2=0x0000 pak_size=60

3 missed datagrams, 0 overruns

0 transmitter underruns, 0 excessive collisions

8 single collisions, 2 multiple collisions

0 dma memory errors, 0 CRC errors

0 alignment errors, 0 runts, 0 giants

0 tdr, 0 spurious initialization done interrupts

0 no enp status, 0 buffer errors, 0 overflow errors

0 TX_buff, 1 throttled, 1 enabled

Lance csr0 = 0x73

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

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

相关信息

- comp.dcom.lans.ethernet 常见问题

- 技术报告：LAN交换和从共享LAN环境迁移中的问题

- 技术支持和文档 - Cisco Systems