Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

Les liens Trunk : Présentation et configuration

Article de blog | Finger In The Net

Les objectifs pédagogiques de cette leçon sont :

  • Différencier le protocole ISL et 802.1q.
  • Pourquoi les liens TRUNK ont été inventés.
  • Configurer un lien trunk sur un Switch CISCO.
Les liens trunk

Introduction

Trunk = Tronc en anglais

  • lien physique qui permet de faire transiter desVLANs
  • conserve l’identification VLAN faite sur une trame

Pour faire simple, un port trunk :

  • fait partie de tous les VLANs du switch donc tout le monde peut communiquer avec lui
  • indique dans chaque trame envoyée le numéro deVLAN
  • regarde dans toutes les trames reçues s’il n’y avait pas un numéro de VLAN
Chapitre 1

Les liens trunk en théorie

dans un monde sans trunk

Nous voulons que :

  • le VLAN 10 du SWITCH_01 puisse discuter avec le VLAN 10 du SWITCH_02.
  • le VLAN 20 du SWITCH_01 puisse discuter avec le VLAN 20 du SWITCH_02.
  • le VLAN 30 du SWITCH_01 puisse discuter avec le VLAN 30 du SWITCH_02.

Bon bah essayons plusieurs méthodes :

Test 01 : Je ne configure pas le port FastEthernet 0/8 du SWITCH_01 et du SWITCH_02.
Résultat : Ces derniers seront dans le VLAN 1. Les VLANs 10,20 et 30 ne pourront pas utiliser ce port.

Test 02 : Je mets le port FastEthernet 0/8 du SWITCH_01 et du SWITCH_02 dans le VLAN 10,
Résultat : les VLANs 20 et 30 ne pourront pas utiliser ce port.

Test 03 : Je mets le port FastEthernet 0/8 du SWITCH_01 et du SWITCH_02 dans le VLAN 20,
Résultat : les VLANs 10 et 30 ne pourront pas utiliser ce port.

Test 04 : Je mets le port FastEthernet 0/8 du SWITCH_01 et du SWITCH_02 dans le VLAN 30,
Résultat : les VLANs 10 et 20 ne pourront pas utiliser ce port.

Nous pouvons voir qu’il nous faut quelque chose de supplémentaire pour faire fonctionner tout ça !

Ce qu’il faut c’est un lien trunk !

dans un monde avec trunk

LES PROTOCOLES ISL et 802.1q

Pour mettre en place un lien 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
Chapitre 2

Le protocole ISL

Le protocole ISL (Inter-Switch Link) est une technique de trunking utilisée pour transporter les VLAN à travers le réseau. Ce protocole a été développé par Cisco pour permettre aux commutateurs  de reconnaître les différents VLAN transportés sur la liaison trunk.

Le protocole ISL fonctionne en encapsulant chaque trame Ethernet d’un VLAN dans une autre trame Ethernet plus grande qui contient des informations supplémentaires sur le VLAN. Cette trame Ethernet plus grande est ensuite transportée sur la connexion trunk entre les switchs. À chaque extrémité de la connexion trunk, la trame Ethernet plus grande est déencapsulée et la trame Ethernet d’origine est envoyée au commutateur approprié en fonction du VLAN ID contenu dans les informations supplémentaires.

Le protocole ISL présente également quelques inconvénients. :

  • Tout d’abord, il est incompatible avec les commutateurs d’autres fabricants que Cisco, limitant ainsi la flexibilité et l’interopérabilité du réseau.
  • De plus, le protocole ISL peut avoir un impact sur les performances du réseau, car chaque trame Ethernet doit être encapsulée dans une trame plus grande, ce qui peut entraîner une augmentation de la charge de travail pour les commutateurs réseau.

Fonctionnement d'ISL

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

Encapsulation ISL en détail
Encapsulation ISL en détail

L’institut IEEE a sorti une norme afin que tous les équipements réseau de marques différentes 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 qui transitent par un lien trunk ISL vont être encapsulées (il n’y a pas de notions de VLAN natif).

Pour résumé

  • ISL = Inter-Switch Link
  • propriétaire Cisco
  • développé bien avant le protocole IEEE 802.1Q
  • ajoute 30 octets à chaque trame
Chapitre 3

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

Tag Vlan
Tag VLAN
Tag Vlan en détail
Tag VLAN en détail

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’un hub était courante. Ils pouvaient être placés sur une liaison trunk. Les utilisateurs finals 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 finals.

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

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

Chapitre 4

CONFIGURATION D'UNE LIAISON TRUNK

configuration de base

Sw(config)# interface FastEthernet 0/24
Sw(config-if)# description VERS_SWITCH_001
Sw(config-if)# switchport mode trunk
Sw(config-if)# switchport trunk encapsulation dot1q

Si la ligne contenant “dot1q” ne passe pas, ce n’est pas grave. Cela veux dire que le protocole ISL n’existe plus pour le Switch

Cette configuration est à mettre sur tous les ports d’interconnexion SWITCH < > SWITCH.

Configuration d'un lien trunk en vidéo

configuration en détail

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 verrions :

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 “Manuel”; le mode dynamic est détaillé dans le sous-chapitre “Dynamic Trunking Protocol”

Le mode trunk

Mettre un port en mode trunk :

Switch(config-if)# switchport mode trunk

Il faut que les deux ports de la liaison trunk soient en mode trunk.

le mode dynamic

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 modes dynamic :

  1. 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 seront en mode access.
  2. 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 seront en mode access.

On peut donc en conclure le tableau suivant :

Pour le désactiver :

switch(config-if)# switchport nonegotiate
Chapitre 5

CONFIGURATION des options

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 à 20 et de 40 à 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ées seront donc placées 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.

Sw(config-if)# switchport trunk encap [ 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 supportent les deux protocoles,  ISL sera choisi… Il est donc important de choisir, soi-même, sont protocole trunk.

Configuration de ISL

Switch(config-if)# switchport trunk encapsulation isl

Configuration de 802.1q

Switch(config-if)# switchport trunk encapsulation dot1q
Chapitre 6

Vérification de la configuration TRunk

Vérifier 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
Switch# show interfaces trunk

Port        Mode             Encapsulation  Status        Native vlan
Fa0/24      on               802.1q         trunking      1

Port        Vlans allowed on trunk
Fa0/24      1-4094

Port        Vlans allowed and active in management domain
Fa0/24      1,10,20,30

Port        Vlans in spanning tree forwarding state and not pruned
Fa0/24      1,10,20,30

La ligne “operational mode” s’est donc mis en mode trunk

Sur le même thème :

Noël NICOLAS

Co-auteur de l'article

Expert Réseau
15 ans d’expérience
CCNP Routing and Switching
Fondateur du site FingerInTheNet

Eric JOUFFRILLON

Co-auteur de l'article

Expert SATCOM
Technicien Réseau
17 ans d’éxpérience déploiement réseau SATCOM
Spécialisé LFN (Long Fat Network).Diffusion vidéo et QOS.

CURSUS DE FORMATION

Administrateur Réseau