Cisco Interfaces and Modules : Adaptadores de porta Cisco

Solucionando problemas de colisões de Ethernet

23 Maio 2008 - Tradução Manual
Outras Versões: Versão em PDFpdf | Tradução por Computador (29 Julho 2013) | Inglês (1 Agosto 2006) | Feedback


Índice

Introdução
Pré-requisitos
     Requisitos
     Componentes usados
     Convenções
O que são Colisões?
O Contador Adiado
Contador de Colisões
Colisões Atrasadas
Colisões Excessivas
Discussões relacionadas da comunidade de suporte da Cisco
Informações relacionadas

Introdução

Este documento fornece uma visão geral dos diferentes contadores relacionados a colisões de Ethernet e explica como solucionar esses problemas, relatados pelas seguintes mensagens de erro (dependendo da 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

Observação: As informações contidas neste documento são válidas somente para Ethernet semi-duplex. Em Ethernet bidirecional, a detecção de colisão está desativada.

Pré-requisitos

Requisitos

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

Componentes usados

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

As informações apresentadas neste documento foram criadas a partir dos dispositivos em um ambiente de laboratório específico. Todos os dispositivos usados neste documento começaram com uma configuração vazia (padrão). Se a sua rede estiver ativa, certifique-se de entender o impacto potencial de todos os comandos.

Convenções

Para obter mais informações sobre convenções de documentos, consulte Convenções e Dicas Técnicas da Cisco.

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. Segue um exemplo simplificado de operação 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 estiver, ela espera até que o destinatário do meio esteja concluído.

  2. Suponha que a Estação A acredite que o meio está disponível e tente enviar um quadro. Como o meio é compartilhado (Acesso múltiplo), outros destinatários também podem tentar envios simultâneos. 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 um quadro (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 slots 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. Cada estação escolherá um novo slot, diminuindo assim a probabilidade de retransmissão do mesmo slot.

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

Algumas informações úteis:

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

  • O número máximo de retransmissões do mesmo quadro no mecanismo de colisão é 16. Se houver falha 16 vezes consecutivas, será contado como colisão excessiva.

O Contador Adiado

Segue 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 em que a interface tentou enviar um quadro, mas a operadora estava ocupada na primeira tentativa (Carrier Sense). Isso não constitui um problema e é parte da operação normal de Ethernet.

Contador de Colisões

Segue 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 colisões, 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

Conforme explicado aqui, as colisões não constituem um problema. O contador de colisões conta o número de quadros em que uma ou mais colisões ocorreram durante o envio dos frames.

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 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 disso pode ser que outra estação foi adicionada à rede.

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

Concluindo, o contador de colisões não fornece uma estatística muito útil quando se trata de analisar o desempenho ou problemas da rede.

Colisões Atrasadas

Para permitir que a detecção de colisão funcione adequadamente, o período em que as colisões são detectadas é restrito (tempos de 512 bits). Com relação a Ethernet, é 51.2us (microssegundos) e com relação a Fast Ethernet, 5.12us. Para estações Ethernet, 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 enviar o 512º bit do quadro, isso é contado como uma colisão atrasada.

As colisões atrasadas são reportadas pelas seguintes 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 do 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 colisões atrasadas, 143 deferred
     0 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out

Observação: A estação que reporta a colisão atrasada simplesmente indica o problema, normalmente não é a causa dele. Causas possíveis normalmente são cabeamento incorreto ou um número não compatível de hubs na rede. Placas de interface de rede (NICs) defeituosas também podem provocar colisões atrasadas.

Colisões Excessivas

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

As colisões excessivas são reportadas pelas seguintes 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

A mensagem de erro exata depende da plataforma.

Observação: O contador de Transmit Retry Count (TRC) é um campo de 4 bits que indica o número de tentativas de retransmissão do pacote associado. O número máximo é 15. Entretanto, 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.

Observação: O contador de refletômetro de retardo de tempo (TDR) é um contador interno que conta o tempo (em tiques de 100 nanosegundos (ns) cada) do início de uma transmissão até a ocorrência da colisão. Como uma transmissão percorre quase 11m por tique, 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 do comando show controller ethernet [interface number].

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 colisões excessivas
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

Colisões excessivas indicam um problema. As causas comuns são dispositivos conectados como bidirecionais em uma Ethernet compartilhada, NICs defeituosas ou simplesmente excesso de estações na mídia compartilhada.

Discussões relacionadas da comunidade de suporte da Cisco

A Comunidade de Suporte da Cisco é um fórum onde você pode perguntar e responder, oferecer sugestões e colaborar com colegas.


Informações relacionadas


Document ID: 12768