Cisco Interfaces and Modules : Adaptadores de porta Cisco

Troubleshooting de Colisões de Ethernet

14 Outubro 2016 - Tradução por Computador
Outras Versões: Versão em PDFpdf | Tradução Manual (23 Maio 2008) | Inglês (31 Dezembro 2015) | Feedback


Índice


Introdução

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

Nota: A informação neste documento aplica-se somente aos Ethernet semi-duplex. Nos Ethernet full-duplex, a detecção de colisão é desabilitada.

Pré-requisitos

Requisitos

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.

As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a sua rede estiver ativa, certifique-se de que entende o impacto potencial de qualquer comando.

Convenções

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:

eth_collisions.gif

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

  2. Suponha que a Estação A acredita que o meio está disponível e tenta enviar um quadro. Porque o media é compartilhado (acesso múltiplo), outros remetentes puderam igualmente tentar enviar ao mesmo tempo. Neste momento, 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 timeslot; 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. Cada estação escolhe então um entalhe novo, diminuindo desse modo a probabilidade da retransmissão no mesmo entalhe.

Em resumo, as colisões são uma maneira de distribuir ao longo do tempo a carga de tráfego pelo acesso de arbitrariedade 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 falha 16 vezes consecutivas, está contada como um colisão excessiva.

O contador adiado

Está aqui 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 relação tentou enviar um quadro, mas encontrou o portador ocupado na primeira tentativa (carrier sense). Isto não constitui um problema, e é parte da operação normal de Ethernet.

O contador de colisões

Está aqui um 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. As colisões opõem contagens o número de quadros para qual ou mais colisões ocorreu 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

Isto significa que oito (fora do 10) quadros estiveram transmitidos com sucesso 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 deste poderia ser porque uma outra estação foi adicionada à rede.

Não há nenhum limite do grupo para “quantas colisões são ruins” ou uma taxa de colisão máxima.

Em conclusão, as colisões contrárias não fornecem muito uma estatística útil para analisar o desempenho da rede ou os problemas.

Colisões atrasadas

Para permitir que a detecção de colisão trabalhe corretamente, o período em que as colisões são detectadas é restrito (512 tempo/cronometragem de bit). Com relação a Ethernet, é 51.2us (microssegundos) e com relação a Fast Ethernet, 5.12us. Para estações de Ethernet, as colisões podem ser detectadas até 51.2 microssegundos depois que a transmissão começa, ou em outras palavras até o 512th 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.

Os colisões atrasada são relatados por estes 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 excessiva na saída de um comando show interface ethernet [interface number].

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

Nota: A estação que relata o colisão atrasada indica meramente o problema; não é geralmente a causa do problema. As causas possíveis são geralmente cabeamento incorreto ou um número NON-complacente de Hubs 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.

Os colisões excessiva são relatados por estes Mensagens de Erro:

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

Nota: O contador do Transmit Retry Count (TRC) é um campo 4-bit que indique que o número de transmite novas tentativas 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 refletômetro de retardo de tempo (TDR) é um contador interno que conte o tempo (nos tiquetaques de 100 nanossegundos (ns) cada um) desde o início de uma transmissão à 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

Os colisões excessiva indicam 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. Os colisões excessiva podem ser resolvidos codificando a velocidade e duplexação.

No Switches do Cisco catalyst, o mensagem de sistema %SIBYTE-4-SB_EXCESS_COLL está indicado para cada ocorrência de um colisão excessiva, se o modo interno do serviço está ligada. Com modo interno do serviço fora, o sistema imprime somente - para fora esta mensagem sempre que o colisão excessiva alcança um determinado ponto inicial fixo. Neste caso, a aparência desta mensagem pôde indicar um exemplo real da colisão. Com o modo interno do serviço sobre, o sistema imprime - para fora esta mensagem sempre que há um exemplo do colisão excessiva. Pôde ser causado por algum ruído do hardware. A aparência ocasional desta mensagem com modo interno do serviço está ligada um comportamento normal. Você pode não emitir nenhum comando service internal a fim desligar isto que registra e ver como esse afeta seus log de erros.


Informações Relacionadas


Document ID: 12768