Trunk

TRUNK

 

 

Introduction


Trunk = Tronc en anglais

– Lien physique qui permet de faire transiter des vlans.
– Conserve l’identification Vlan faite sur une trame.

Pour mettre en place un liens trunk, il existe deux protocoles :

ISL (Inter-Switch Link)

Protocole CISCO
Encapsule la trame.
Ajoute 30 octets

IEEE 802.1Q

Protocole normalisé
Tague la trame.
Ajoute 4 octets

 

Protocole ISL


Présentation


 

ISL = Inter-Switch Link

– Propriétaire CISCO.
– Développé bien avant le protocole IEEE 802.1Q.
– Ajoute 30 octets à chaque trames.

ISL encapsule chaque trames entre un header (en-tête) de 26 octets et un Trailer (en-queue) de 4 octets.

Header : 

15 bits pour l’identification VLAN ( Vlan 1 au Vlan 4094)

Trailer :

24 bits pour le CRC (Afin de vérifier l’intégrité de la nouvelle encapsulation)

L’institut IEEE a sorti une norme afin que tous les équipements réseau de marque différente puissent échanger leurs informations Vlan.
CISCO privilégie la norme IEEE 802.1Q et abandonne son protocole ISL.
Ce protocole n’est plus implémenté dans les nouveaux équipements réseau CISCO.
Toutes trames transitant par un lien trunk ISL vont être encapsulées. (Il n’y a pas de notions de vlan natif)

 

Protocole 802.1Q


 

Présentation


Le protocole 802.1Q

– Protocole normalisé IEEE.
– Créé afin d’uniformiser les liaisons Trunk.
– Couramment appelé Dot1q ( 802.1q = .1q = dot1q / traduction : dot = point )

Ce protocole va ajouter un Tag 802.1Q juste après les adresses MAC destination et source de nos trames.

 

Vlan Natif


 

Le protocole IEEE 802.1q ajoute un Tag sur chaque trame sauf sur les trames appartenant au Vlan natif !
Si un port Trunks utilisant ce protocole normalisé reçoit une trame non taguée. Il en déduit que cette trame fait partie du vlan natif.

Le vlan natif par défaut est le vlan 1

Mais pourquoi l’IEEE a-t-il créé le vlan Natif?

Il y a fort longtemps, L’utilisation d’Hub était courante. Ils pouvaient être placés sur une liaison trunk. Les utilisateurs finaux connectés sur ces hubs recevaient des trames 802.1q et ne les comprenez pas…
S’ils font partie du vlan natif, la trame n’est pas taguée et devient compréhensible par les utilisateurs finaux.

Depuis la sortie de Windows XP, les utilisateurs finaux comprennent les trames 802.1q sans tenir compte du marquage VLAN.
Le vlan natif reste important vu que trames non taguées reçues par un port trunk 802.1q vont être placé dans le vlan natif.

Imageait un cas de figure :

– Tous nos clients sont dans le vlan 20
– Le Vlan natif est le vlan 20

Toutes nos trames générées par nos switchs (CDP, LLDP, DTP) vont donc être placées dans notre vlan client (Pas cool niveau sécurité).

Il est donc fortement conseillé de créer un vlan réservé au vlan natif.

 

Configuration


Pour configurer un port en mode trunk, il est important de voir comment un port est configuré par défaut.

Si on allume un switch pour la première fois et qu’on fait un « show running-configuration« , nous pouvons voir ceci :

Interface FastEthernet 0/1
!
Interface FastEthernet 0/2
 !
 etc ...

A priori, nos ports n’ont aucune configuration. sauf que nos équipements n’affichent pas les paramètres par défaut.

S’ils les affichaient , nous verrons :

Interface FastEthernet 0/1
  switchport mode dynamic auto
  switchport trunk encapsulation negotiate
  switchport trunk native vlan 1
  switchport trunk allowed vlan all
  switchport access vlan 1
 !
 Interface FastEthernet 0/2
  ect ...

Une interface switch peut prendre 3 modes :

Access
Trunk
Dynamic

Le mode access est détaillé dans l’article VLAN.
Le mode trunk est détaillé dans le sous-chapitre « Manuelle »
Le mode dynamic est détaillé dans le sous-chapitre « Dynamic Trunking Protocol »

 

Manuelle


Mettre un port en mode trunk :

Switch(config-if)# switchport mode trunk

Il faut que les deux ports de la liaison Trunk soit en mode « trunk« 

 

Dynamic Trunking Protocol


DTP = Dynamic Trunking Protocol

– Protocole propriétaire CISCO.
– Permet de configurer dynamiquement les deux ports d’une liaison Trunk (ISL ou 802.1q)

 

Mettre un port en mode dynamic :

Switch(config-if)# switchport mode dynamic [ auto | desirable ]

Si le port d’en face est configuré en mode manuel , il va se mettre dans le même mode.

Il existe deux mode dynamique :

Auto 

Le port va se mettre en mode trunk si l’autre port de la liaison lui demande.
Si le port d’en face est en mode trunk ou dynamic desirable, les deux ports de cette liaison seront en mode trunk.
Dans le cas contraire, les deux ports serons en mode access.

Desirable

Le port va essayer activement de mettre cette liaison en mode trunk.
Si le port d’en face est en mode trunk , dynamic auto ou dynamic desirable, les deux ports de cette liaison seront en mode trunk.
Dans le cas contraire, les deux ports serons en mode access.

On peut donc en conclure le tableau suivant :

Pour le désactiver :

switch(config-if)# switchport nonegotiate

 

Options du mode trunk


 

Allowed Vlan


Par défaut, tous les vlans sont autorisés à transiter sur notre lien trunk.
Afin de sécuriser notre réseau, nous pouvons autoriser uniquement les vlans que nous souhaitons.

Exemple :  Nous voulons autoriser les vlans de 10 a 20 et de 40 a 50.

Switch(config-if)# switchport trunk allowed vlan 10-20, 40-50

ou

Switch(config-if)# switchport trunk allowed vlan 10-50
 Switch(config-if)# switchport trunk allowed vlan remove 21-39

 

Vlan Natif


(Ne concerne que le protocole 802.1q)
Comme expliqué plus haut, il est conseillé de créer un vlan spécialement pour le vlan natif.
Nous allons voir comment faire :

 

Switch(config)# vlan 3
 Switch(config-vlan)# name NATIVE
 Switch(config-vlan)# exit

 Switch(config)# interface GigaBitEthernet 0/1
 Switch(config-if)# switchport trunk native vlan 3

 

Toutes les trames non tagué seront donc placé dans le vlan 3 par le port trunk de réception.

 

Encapsulation


Nous avons vu qu’il est possible d’utiliser les protocoles ISL et 802.1q pour mettre en place un lien Trunk.

Switch(config-if)#switchport trunk encapsulation [ isl | dot1q | negotiate ]

Par défaut, tous nos ports sont en mode negotiate.
Si les deux ports de notre liaison sont en mode negotiate et que nos deux équipements supporte les deux protocoles,  ISL sera choisi …
Il est donc important de choisir soit même sont protocole trunk.

ISL

Switch(config-if)#switchport trunk encapsulation isl

802.1q

Switch(config-if)#switchport trunk encapsulation dot1q

 

Troubleshooting


Vériter l’état de nos ports :

Switch# show interfaces FastEthernet 0/1 switchport

Sur l’image ci dessus , nous pouvons voir que:

– Le port 0/1 du Switch_A est en mode dynamic auto (par défaut)
– Le port 0/1 du Switch_B est en mode Trunk

La ligne « operational mode » c’est donc mis en mode Trunk

 

En espérant que cet article vous as été utile ! Hésitez pas à me la faire savoir !!

FingerInTheNet.com

 

Noël NICOLAS

Administrateur Réseau
10 ans d’expérience
CCNA Routing and Switching
Fondateur du site FingerInTheNet

Laisser un commentaire