Contenu

Introduction

Conditions préalables

Conditions requises

Components Used

Conventions

Que sont les collisions ?

Le compteur différé

Le compteur de collisions

Collisions tardives

Collisions excessives

Informations connexes

Introduction

Ce document fournit un aperçu des différents compteurs liés aux collisions Ethernet, et explique comment dépanner les problèmes avec les collisions Ethernet enregistrées par ces messages d'erreur (basés sur la plate-forme) :

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

Remarque : les informations de ce document s'appliquent uniquement à la technologie Ethernet en mode half-duplex. Dans l´Ethernet en full-duplex, la détection de collision est désactivée.

Conditions préalables

Conditions requises

Aucune spécification déterminée n'est requise pour ce document.

Components Used

Ce document n'est pas limité à des versions de matériel et de logiciel spécifiques.

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

Pour plus d'informations sur les conventions utilisées dans ce document, reportez-vous à Conventions relatives aux conseils techniques Cisco.

Que sont les collisions ?

Une collision est le mécanisme utilisé par Ethernet pour contrôler l'accès et pour allouer la bande passante partagée entre les stations qui veulent transmettre en même temps sur un support partagé. Puisque le support est partagé, un mécanisme doit exister selon lequel deux stations peuvent détecter qu'elles veulent transmettre en même temps. Ce mécanisme est la détection de collision.

L'Ethernet utilise CSMA/CD (Carrier Sense Multiple Access/Collision Detect) en tant que sa méthode de détection de collision. Voici un exemple simplifié du fonctionnement d'Ethernet :

1. Station A souhaite envoyer une trame. D'abord, elle contrôle si le support est disponible (détection de porteuse). S'il ne l'est pas, elle attend jusqu'à ce que l'expéditeur actuel sur le support ait terminé.

2. Supposez que la station A croit que le support est disponible et essaye d'envoyer une trame. Puisque le support est partagé (accès multiple), d'autres expéditeurs pourraient également essayer d´envoyer en même temps. À ce stade, station B essaye d'envoyer une trame en même temps que la station A.

3. Peu de temps après, station A et station B se rendent compte qu'il y a un autre périphérique essayant d'envoyer une trame (détection de collisions). Chaque station attend un délai aléatoire avant d'envoyer de nouveau. Le temps après la collision est divisé en tranches de temps ; Station A et station B choisissent chacune une tranche aléatoire pour essayer une retransmission.

4. Si station A et station B essayent de retransmettre dans la même tranche, elles augmentent le nombre de tranches. Chaque station choisit alors une nouvelle tranche, diminuant de ce fait la probabilité de retransmettre dans la même tranche.

En résumé, les collisions sont une manière de distribuer la charge de trafic dans le temps par l'accès arbitraire au support partagé. Les collisions ne sont pas mauvaises ; elles sont essentielles pour corriger le fonctionnement d'Ethernet.

Quelques faits utiles :

- La quantité maximale de tranches de temps est limitée à 1024.

- La quantité maximale de retransmissions pour la même trame dans le mécanisme de collision est 16. Si elle échoue 16 fois consécutives, elle est comptée comme collision excessive.

Le compteur différé

Voici un exemple de sortie de la commande 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

Le compteur différé compte le nombre de fois que l´interface a essayé d'envoyer une trame, mais a trouvé le transporteur occupé à la première tentative (détection de porteuse). Ceci ne constitue pas un problème, et fait partie du fonctionnement normal d'Ethernet.

Le compteur de collisions

Voici un autre exemple de sortie de la commande 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

Comme expliqué ici, les collisions ne constituent pas un problème. Le compteur de collisions compte le nombre de trames pour lesquelles une ou plusieurs collisions se sont produites quand les trames ont été envoyées.

Le compteur de collisions peut être décomposé en collisions uniques et collisions multiples, comme dans cette sortie de la commande show controller :

8 single collisions, 2 multiple collisions

Ceci signifie que huit (sur 10) des trames ont été transmises avec succès après une collision ; les deux autres trames ont requis plusieurs collisions pour arbitrer l'accès au support.

Une augmentation du taux de collision (nombre de paquets de sortie divisé par le nombre de collisions) n'indique pas de problème : c'est simplement une indication d'une charge plus élevée du réseau. Un exemple de ceci pourrait être parce qu'une autre station a été ajoutée au réseau.

Il n'y a aucune limite définie pour « combien de collisions sont mauvaises » ou pour un taux de collision maximal.

En conclusion, le compteur de collisions ne fournit pas une statistique très utile pour analyser les performances du réseau ou les problèmes.

Collisions tardives

Pour permettre à la détection de collision de fonctionner correctement, la période où les collisions sont détectées est restreinte (512 bit-temps). Pour Ethernet, c'est 51,2 µs (micro-secondes), et pour Fast Ethernet, 5,12 µs. Pour des stations Ethernet, les collisions peuvent être détectées jusqu'à 51,2 microsecondes après que la transmission commence, ou en d'autres termes jusqu'au 512ème bit de la trame.

Quand une collision est détectée par une station après qu'elle ait envoyé le 512ème bit de sa trame, elle est comptée comme une collision tardive.

Les collisions tardives sont rapportées par ces messages d'erreur :

%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

Le message d'erreur précis dépend de la plate-forme. Vous pouvez contrôler le nombre de collisions excessives dans la sortie de la commande show interface ethernet [numéro d'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

Note : La station qui signale la collision tardive indique simplement le problème ; ce n'est généralement pas la cause du problème. Les causes possibles sont habituellement un câblage incorrect ou un nombre non-conforme de concentrateurs dans le réseau. Les cartes d´interface réseau (NIC) défectueuses peuvent également causer des collisions tardives.

Collisions excessives

Comme discuté plus tôt, le nombre maximal d´essais dans l'algorithme d'attente est défini à 16. Ceci signifie que si une interface est incapable 16 fois d´allouer une tranche de temps dans laquelle elle peut transmettre sa trame sans autre collision, elle abandonne. La trame n'est simplement pas transmise, et elle est marquée collision excessive.

Les collisions excessives sont rapportées par ces messages d'erreur :

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

Le message d'erreur précis dépend de la plate-forme.

Remarque : Le compteur TRC (Transmit Retry Count) est un champ de 4 bits qui indique le nombre de tentatives de transmission du paquet associé. Le compte maximal est 15. Cependant, si une erreur de tentative se produit, le compte est remis à zéro. Dans ce cas seulement, la valeur TRC de zéro devrait être interprétée comme signifiant seize. TRC est écrit par le contrôleur dans le dernier descripteur de transmission d´une trame, ou quand une erreur termine une trame.

Remarque : Le compteur de réflectomètre de délai (TDR) est un compteur interne qui compte le temps (en ticks de 100 nanosecondes (ns) chacune) entre le début d'une transmission et l'occurrence d'une collision. Puisqu'une transmission voyage environ 35 pieds par tic, cette valeur est utile pour déterminer la distance approximative à une défaillance du câble.

Vous pouvez contrôler le nombre de collisions excessives dans la sortie de la commande show controller ethernet [numéro d'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

Les collisions excessives indiquent un problème. Les causes communes sont des périphériques connectés comme full-duplex sur Ethernet partagé, des NIC endommagées, ou simplement trop de stations sur le support partagé. Les collisions excessives peuvent être résolues par hardcoding de la vitesse et du duplex.

Dans les Commutateurs Cisco Catalyst, le message système %SIBYTE-4-SB_EXCESS_COLL est affiché pour chaque occurrence de collision excessive, si le service internal mode est actif. Avec service internal mode inactif, le système imprime seulement ce message toutes les fois que la collision excessive atteint un certain seuil fixé. Dans ce cas, l'aspect de ce message pourrait indiquer un cas réel de collision. Avec le service internal mode actif, le système imprime ce message toutes les fois qu'il y a une instance de collision excessive. Il pourrait être provoqué par un certain bruit matériel. L'apparition occasionnelle de ce message avec service internal mode actif est un comportement normal. Vous pouvez émettre la commande no service internal afin d'arrêter cette journalisation et voir comment ceci affecte vos journaux d´erreurs.

Informations connexes

- Foire aux questions comp.dcom.lans.ethernet

- Rapport technique : Problèmes liés à la commutation LAN et à la migration depuis un environnement LAN partagé

- Support et documentation techniques - Cisco Systems