Contents

Introduction

Prerequisites

Requirements

Componentes Utilizados

Conventions

O que são colisões?

O contador adiado

O contador de colisões

Colisões atrasadas

Colisões excessivas

Informações Relacionadas

Introduction

Este documento fornece uma visão geral dos diferentes contadores relacionados às colisões Ethernet e explica como resolver problemas com colisões Ethernet relatados por essas mensagens de erro (com base na plataforma):

- %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

Observação: as informações neste documento aplicam-se somente à Ethernet half-duplex. Na Ethernet full-duplex, a detecção de colisão é desativada.

Prerequisites

Requirements

Não existem requisitos específicos para este documento.

Componentes Utilizados

Este documento não se restringe a versões de software e hardware específicas.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.

Conventions

Consulte as Convenções de Dicas Técnicas da Cisco para obter mais informações sobre convenções de documentos.

O que são colisões?

Uma colisão é o mecanismo usado pela Ethernet para controlar o acesso e alocar a largura de banda compartilhada entre as estações que desejam transmitir ao mesmo tempo em um meio compartilhado. Devido ao compartilhamento de meio, deve existir um mecanismo no qual duas estações possam detectar o que desejam transmitir simultaneamente. Esse mecanismo é para detecção de colisão.

A Ethernet usa CSMA/CD (Acesso múltiplo com detecção da portadora/Detecção de colisão) como método de detecção de colisão. Aqui está um exemplo simplificado de operação de Ethernet:

1. Estação A deseja enviar um quadro. Primeiro, ela verifica se o meio está disponível (Carrier Sense). Se não estiver, ele espera até que o remetente atual no meio seja concluído.

2. Suponha que a Estação A acredita que o meio está disponível e tenta enviar um quadro. Como o meio é compartilhado (Acesso múltiplo), outros remetentes também podem tentar enviar ao mesmo tempo. Neste ponto, a Estação B tenta enviar um quadro ao mesmo tempo que a Estação A.

3. Logo após, as Estações A e B percebem que existe outro dispositivo tentando enviar uma estrutura (Detecção de Colisão). Cada estação espera por uma quantidade aleatória de tempo antes de enviar novamente. O tempo após a colisão é dividido em intervalos de tempo; A estação A e a estação B escolhem um slot aleatório para tentativa de retransmissão.

4. Se a estação A e a estação B tentarem retransmitir no mesmo slot, estenderão o número de slots. Em seguida, cada estação escolhe um novo slot, diminuindo assim a probabilidade de retransmissão no mesmo slot.

Em resumo, as colisões são uma forma de distribuir a carga de tráfego ao longo do tempo ao arbitrar o acesso ao meio compartilhado. As colisões não são ruins; são essenciais para corrigir a operação da Ethernet.

Algumas informações úteis:

- A quantidade máxima de timeslots é limitada a 1024.

- A quantidade máxima de retransmissões para o mesmo quadro no mecanismo de colisão é de 16. Se falhar 16 vezes consecutivas, é contado como uma colisão excessiva.

O contador adiado

Aqui está um exemplo de saída do comando 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

O contador adiado conta o número de vezes que a interface tentou enviar um quadro, mas encontrou a portadora ocupada na primeira tentativa (Carrier Sense). Isso não constitui um problema e faz parte da operação normal da Ethernet.

O contador de colisões

Aqui está outro exemplo de saída do comando 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

Como explicado aqui, as colisões não constituem um problema. O contador de colisões conta o número de quadros para os quais uma ou mais colisões ocorreram quando os quadros foram enviados.

O contador de colisões pode ser desmembrado em colisões únicas e colisões múltiplas, conforme descrito no resultado do comando show controller:

8 single collisions, 2 multiple collisions

Isso significa que oito (de 10) quadros foram transmitidos com êxito após uma colisão; os outros dois quadros necessitaram de colisões múltiplas para arbitrar o acesso ao meio.

Uma taxa de colisão crescente (número de pacotes de saída dividido pelo número de colisões) não indica um problema: É simplesmente uma indicação de carga maior oferecida à rede. Um exemplo disso pode ser porque outra estação foi adicionada à rede.

Não há um limite definido para "quantas colisões estão ruins" ou uma taxa máxima de colisão.

Em conclusão, o contador de colisões não fornece uma estatística muito útil para analisar o desempenho ou os problemas da rede.

Colisões atrasadas

Para permitir que a detecção de colisão funcione corretamente, o período em que as colisões são detectadas é restrito (512 tempos de bit). Com relação a Ethernet, é 51.2us (microssegundos) e com relação a Fast Ethernet, 5.12us. Para estações Ethernet, as colisões podem ser detectadas até 51,2 microssegundos após o início da transmissão, ou em outras palavras, até o 512º bit do quadro.

Quando uma colisão é detectada por uma estação, depois de a estação ter enviado o 512º bit de seu quadro, isto é contado como uma colisão atrasada.

As colisões tardias são relatadas por estas mensagens de erro:

%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

A mensagem de erro exata depende da plataforma. Você pode verificar o número de colisões excessivas na saída de um comando show interface ethernet [número da 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

Observação: a estação que relata a colisão tardia indica apenas o problema; geralmente não é a causa do problema. As possíveis causas são geralmente cabeamento incorreto ou um número de hubs não compatíveis na rede. Placas de interface de rede (NICs) defeituosas também podem provocar colisões atrasadas.

Colisões excessivas

Como discutido anteriormente, o número máximo de reentradas no algoritmo de retrocesso é definido como 16. Isso significa que, se uma interface não consegue alocar um slot no qual possa transmitir seu quadro sem outra colisão 16 vezes, ela desiste. O quadro simplesmente não é transmitido e é marcado como uma colisão excessiva.

Essas mensagens de erro reportam colisões excessivas:

%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])

A mensagem de erro exata depende da plataforma.

Observação: o contador TRC (Transmit Retry Count) é um campo de 4 bits que indica o número de novas tentativas de transmissão do pacote associado. A contagem máxima é 15. Portanto, se ocorrer um Erro de Nova Tentativa, a contagem é zerada. Apenas neste caso, o valor de TRC de zero deve ser interpretado como significando dezesseis. O TRC é registrado pelo controlador no último descritor de transmissão de um quadro ou quando um erro finaliza um quadro.

Nota: O contador do refletor de atraso de tempo (TDR) é um contador interno que conta o tempo (em pulsos de 100 nanossegundos (ns) cada) desde o início de uma transmissão até a ocorrência de uma colisão. Como uma transmissão percorre quase 11m por escala, esse valor é útil para determinar a distância aproximada para uma falha de cabo.

Você pode verificar o número de colisões excessivas na saída de um comando show controller ethernet [número de interface].

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

O excesso de colisões indica um problema. As causas comuns são dispositivos conectados como full-duplex em uma Ethernet compartilhada, NICs defeituosas ou simplesmente excesso de estações na mídia compartilhada. As colisões excessivas podem ser resolvidas pela velocidade de codificação e duplex.

Nos Cisco Catalyst Switches, a mensagem do sistema %SIBYTE-4-SB_EXCESS_COLL é exibida para cada ocorrência de uma colisão excessiva, se o modo interno do serviço estiver ativado. Com o modo interno do serviço desligado, o sistema imprime essa mensagem somente quando a colisão excessiva atinge um determinado limite fixo. Nesse caso, a aparência dessa mensagem pode indicar um caso de colisão real. Com o modo interno do serviço ligado, o sistema imprime essa mensagem sempre que há uma ocorrência de colisão excessiva. Pode ser causado por algum ruído de hardware. A aparência ocasional desta mensagem com o modo interno de serviço ativado é um comportamento normal. Você pode executar o comando no service internal para desativar esse registro e ver como isso afeta seus registros de erros.

Informações Relacionadas

- Perguntas mais freqüentes sobre comp.dcom.lans.ethernet

- Relatório técnico: Problemas de switching e migração de LAN de um ambiente de LAN compartilhada

- Suporte Técnico e Documentação - Cisco Systems