CISCO l’autonégociation, la vitesse, le duplex. Exemple avec 2 routeurs.

1. Qu’est ce que l’autonégociation, la vitesse ou le duplex ?

L’auto négociation se passe au niveau physique (niveau 1 du modèle OSI), c’est ce qui est négocié entre 2 équipements (par exemple switchs ou routeurs) sur quelle vitesse ils communiqueront et sur quel duplex ils communiqueront. En auto-neg les équipements choisiront de préférence le full-duplex et la vitesse la plus élevée.

Vitesse (avec la commande speed):

10 : 10 Mbps

100 : 100 Mbps

1000 : 1000 Mbps

auto : la négociation de la vitesse se fera automatiquement

Duplex :

Half-duplex : L’équipement A envoie des données à l’équipement B qui receptionne ces données. B ne peut pas envoyer pendant que A envoie et vice versa.

Full-duplex : L’équipement A et B peuvent envoyer et recevoir en même temps.

Alors petit LAB sur Cisco Packet Tracer (encore) 🙂 .

Les 2 routeurs cisco sont connectés sur leur ports Gig0/0/0. Les ports sont en rouges car je ne l’ai pas activés (les ports sont shut de bases sur les routeurs cisco).

On commence par le Routeur1 :

On passe en mode privilégié avec « enable ». On tape ensuite la commande suivante :

R1#show interfaces gigabitEthernet 0/0/0
GigabitEthernet0/0/0 is administratively down, line protocol is down (disabled)
  Hardware is ISR4331-3x1GE, address is 0060.5ccb.bd01 (bia 0060.5ccb.bd01)
  MTU 1500 bytes, BW 1000000 Kbit, DLY 10 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive not supported
  Full Duplex, 1000Mbps, link type is auto,  media type is Auto Select
  output flow-control is on, input flow-control is on
  ARP type: ARPA, ARP Timeout 04:00:00, 
  Last input 00:00:08, output 00:00:05, output hang never
  Last clearing of "show interface" counters never
  Input queue: 0/375/0 (size/max/drops); Total output drops: 0
  Queueing strategy: fifo
  Output queue :0/40 (size/max)
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     0 packets input, 0 bytes, 0 no buffer
     Received 0 broadcasts (0 IP multicasts)
     0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
     0 watchdog, 1017 multicast, 0 pause input
     0 input packets with dribble condition detected
     0 packets output, 0 bytes, 0 underruns
     0 output errors, 0 collisions, 1 interface resets
     0 unknown protocol drops
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out

En bleu la commande, en rouge ce qui nous intéresse.

Je vois que le port à négocié avec le routeur en face du Full-Duplex avec comme vitesse 1000 Mbps normal vu que l’on est sur 1 liaison 1 Gbps.

Vérifions sur le routeur 2 :

R2#show interfaces gigabitEthernet 0/0/0
GigabitEthernet0/0/0 is administratively down, line protocol is down (disabled)
  Hardware is ISR4331-3x1GE, address is 00e0.8f81.7c01 (bia 00e0.8f81.7c01)
  MTU 1500 bytes, BW 1000000 Kbit, DLY 10 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive not supported
  Full Duplex, 1000Mbps, link type is auto,  media type is Auto Select
  output flow-control is on, input flow-control is on
  ARP type: ARPA, ARP Timeout 04:00:00, 
  Last input 00:00:08, output 00:00:05, output hang never
  Last clearing of "show interface" counters never
  Input queue: 0/375/0 (size/max/drops); Total output drops: 0
  Queueing strategy: fifo
  Output queue :0/40 (size/max)
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     0 packets input, 0 bytes, 0 no buffer
     Received 0 broadcasts (0 IP multicasts)
     0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
     0 watchdog, 1017 multicast, 0 pause input
     0 input packets with dribble condition detected
     0 packets output, 0 bytes, 0 underruns
     0 output errors, 0 collisions, 1 interface resets
     0 unknown protocol drops
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out

On a exactement la même chose vitesse 1000 Mbps et Full-duplex. Les 2 routeurs pourront communiquer correctement. Il faudra évidemment que « j’unshut » le port avant configure les IPs etc …

PS : unshut le port c’est à dire le rallumer administrativement avec la commande « no shutdown ». D’où « administratively down » (lorsque l’on fait un « show interfaces ») car l’interface est « shutdown ».

Unshut du port sur R1 :

R1#configure terminal 
Enter configuration commands, one per line.  End with CNTL/Z.

R1(config)#interface gigabitEthernet 0/0/0
R1(config-if)#no shutdown 
R1(config-if)#
%LINK-5-CHANGED: Interface GigabitEthernet0/0/0, changed state to up

On fait la même chose sur R2 (on unshut le port) :

R2#configure terminal 
Enter configuration commands, one per line.  End with CNTL/Z.
R2(config)#interface gigabitEthernet 0/0/0
R2(config-if)#no shutdown 
R2(config-if)#
%LINK-5-CHANGED: Interface GigabitEthernet0/0/0, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0/0, changed state to up

Comme vous pouvez le voir dans le log le port est monté et aussi sur Packet Tracer :

Imaginons maintenant (et cela m’arrive souvent dans mon métier) que 2 équipements ne parviennent pas à négocier correctement, que faire ? Enlever l’autonégociation et forcer la négociation au niveau de la vitesse et du duplex.

Pour forcer le duplex et la vitesse sur le routeur R1 :

R1(config-if)#duplex full
R1(config-if)#speed 1000

Remarque : Pour remettre en autonégociation il suffit après chaque commande « speed » et « duplex » de mettre « auto ».

Maintenant je vais changer la vitesse sur R2 et la mettre à 100 :

R2(config)#interface gigabitEthernet 0/0/0
R2(config-if)#speed 100
R2(config-if)#duplex full

Les 2 ports redeviennent rouge sur les interfaces Visible dans Packet Tracer :

Regardons les interfaces respectives de R1 et R2 :

R1#show interfaces gigabitEthernet 0/0/0
GigabitEthernet0/0/0 is up, line protocol is down (disabled)
  Hardware is ISR4331-3x1GE, address is 0060.2f9a.b901 (bia 0060.2f9a.b901)
  MTU 1500 bytes, BW 1000000 Kbit, DLY 10 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive not supported
  Full Duplex, 1000Mbps, link type is auto,  media type is Auto Select
  output flow-control is on, input flow-control is on
  ARP type: ARPA, ARP Timeout 04:00:00, 
  Last input 00:00:08, output 00:00:05, output hang never
  Last clearing of "show interface" counters never
  Input queue: 0/375/0 (size/max/drops); Total output drops: 0
  Queueing strategy: fifo
  Output queue :0/40 (size/max)
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     0 packets input, 0 bytes, 0 no buffer
     Received 0 broadcasts (0 IP multicasts)
     0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
     0 watchdog, 1017 multicast, 0 pause input
     0 input packets with dribble condition detected
     0 packets output, 0 bytes, 0 underruns
     0 output errors, 0 collisions, 1 interface resets
     0 unknown protocol drops
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out
R2#show interfaces gigabitEthernet 0/0/0
GigabitEthernet0/0/0 is up, line protocol is down (disabled)
  Hardware is ISR4331-3x1GE, address is 0050.0f7e.1201 (bia 0050.0f7e.1201)
  MTU 1500 bytes, BW 1000000 Kbit, DLY 100 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive not supported
  Full Duplex, 100Mbps, link type is auto,  media type is Auto Select
  output flow-control is on, input flow-control is on
  ARP type: ARPA, ARP Timeout 04:00:00, 
  Last input 00:00:08, output 00:00:05, output hang never
  Last clearing of "show interface" counters never
  Input queue: 0/375/0 (size/max/drops); Total output drops: 0
  Queueing strategy: fifo
  Output queue :0/40 (size/max)
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     0 packets input, 0 bytes, 0 no buffer
     Received 0 broadcasts (0 IP multicasts)
     0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
     0 watchdog, 1017 multicast, 0 pause input
     0 input packets with dribble condition detected
     0 packets output, 0 bytes, 0 underruns
     0 output errors, 0 collisions, 1 interface resets
     0 unknown protocol drops
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out

On voit que le port est UP mais que physiquement il est down : « GigabitEthernet0/0/0 is up, line protocol is down (disabled) » ce qui est normal car sur R1 je communique sur la vitesse 1000 :

Et sur R2 sur la vitesse 100 :

Maintenant je repasse R2 sur la vitesse 1000 :

R2(config)#interface gigabitEthernet 0/0/0
R2(config-if)#speed 1000
R2(config-if)#
%LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0/0, changed state to up

Comme vous pouvez le voir dans le log, le lien est passé UP.

On regarde sur R1 :

Fin de ce tuto, j’espère que vous avez compris ce qu’est le duplex, la vitesse et la négociation. Il m’est déjà arrivé de traiter des incidents liés à cela et parfois il faut pas chercher loin … il faut juste que les ports négocie bien entre eux.

Donc pour vos prochains débug reparcourez bien le modèle OSI et commencer au niveau 1 !

A bientôt 😀 !