VLAN – Théorie

Les VLAN sont l’un des concepts les plus important dans un réseau informatique.

Tout réseau un tant soit peu évolué, se doit de contenir des VLAN.

Les avantages à leur utilisation sont bien réels.

Voyons ensemble les notions à connaitre.

 

1) Qu’est-ce qu’un VLAN ?

 

Avant d’attaquer des notions plus complexes, attardons nous sur la théorie de base.

 

Sans l’utilisation de VLAN, un switch va permettre de connecter plusieurs machines dans un même sous réseau. On dit alors que le switch permet d’étendre le domaine de Broadcast.

Si l’on souhaite utiliser plusieurs sous réseaux, il nous faut alors plusieurs switchs.

Une topologie sans VLAN pourrait ressembler à ceci :

Topologie Switch Basique

La création d’un nouveau sous réseau engendrera forcément l’achat d’un nouveau switch, qui sera connecté sur un port libre du routeur (si tant est qu’il en reste).

De plus, les machines d’un même sous réseau seront forcément regroupées de manière physique.

Imaginons que le sous réseau 192.168.1.0 /24 soit à l’étage 1, et le sous réseau 192.168.2.0 /24 à l’étage 2 de notre entreprise.

Comment faire si nous souhaitons placer à l’étage 2 des utilisateurs du sous réseau 192.168.1.0 /24 ?

Nous serons obligés de tirer un câble jusqu’au switch de l’étage 1, afin de placer un nouveau switch à l’étage 2.

 

Vous l’aurez compris, en utilisation basique (donc sans VLAN), un switch n’est pas très pratique, si nous souhaitons utiliser des sous réseaux différents.

Et il n’est pas question de mettre tout le monde dans un même sous réseau (pour des questions de sécurité, de performance, etc…).

 

L’idéal serait de pouvoir connecter les utilisateurs à n’importe quel switch, tout en les gardant dans leur sous réseaux respectifs.

C’est ici que les VLAN entrent en jeu.

Dans notre réseau, un VLAN va correspondre à un sous réseau.

Par exemple : 192.168.1.0 /24 sera le VLAN 10, 192.168.2.0 /24 sera le VLAN 20 (le numéro du VLAN est choisi par l’administrateur réseau).

Le principe est simple : nous configurons les ports des switchs, afin qu’ils appartiennent à un certain VLAN.

Ensuite, nous pourrons connecter les utilisateurs sur n’importe quel switch, du moment que le port associé est configuré dans le bon VLAN.

 

Notre réseau pourrait ressembler à ceci (le switch principal sera un switch de niveau 3):

Topologie VLAN Basique

 

Peu importe le switch sur lequel l’utilisateur est connecté, il pourra toujours se trouver dans le sous réseau voulu.

Avec des VLAN, les machines d’un même sous réseau ne sont plus regroupées de manière physique (connectées au même switch), mais de manière logique.

 

Quels sont les avantages des VLAN ?

Le regroupement des utilisateurs de manière logique, va permettre une plus grande flexibilité.

L’emplacement physique de la machine n’a alors plus d’importance.

 

Aussi, les VLAN permettent de réduire les coûts. Comme un switch n’est plus limité à un sous réseau, il n’est plus nécessaire d’acheter un nouveau switch pour la création d’un nouveau sous réseau.

De plus, nous verrons que cela consomme moins de port sur le routeur (un port du routeur pourra donner sur plusieurs VLAN/sous réseaux).

 

Au final, les VLAN permettent de profiter des avantages de la segmentation en sous réseau, sans être limités par les switchs.

 

Les VLAN dans l’Entreprise Composit Network Model

Pour rappel, dans l’Entreprise Composit Network Model, les VLAN sont propres au bloc.

Nous pourrions avoir un réseau de ce type :

Modele Hierarchique

Le routage entre les VLAN d’un même bâtiment se fera au niveau Distribution.

Le routage entre des VLAN de différents bâtiments se fera au niveau Core.

 

A retenir

  • Un VLAN = un sous réseau
  • Plusieurs VLAN, donc plusieurs sous réseaux, sur un même switch
  • Un même VLAN sur plusieurs switchs
  • Routage entre les VLAN grâce à un routeur (ou switch de niveau 3)
  • Réduction des coûts
  • Plus grande flexibilité

 

2) Fonctionnement

 

Assez parlé des principes de base d’un VLAN.

Voyons à présent comment fonctionnent les VLAN.

 

3 types de VLAN

Nous pouvons dénombrer trois types de VLAN, même si en général, nous n’utiliserons que le premier.

Le type de VLAN que l’on retrouve le plus souvent est le VLAN de niveau 1, ou encore appelé VLAN par port.

Il s’agit ici de configurer les ports du switch pour les placer dans le bon VLAN.

 

Le VLAN de niveau 2 se base sur les adresses MAC. En fonction de l’adresse MAC source des frames reçues, le switch va placer ces dernières dans un certain VLAN. Un serveur va contenir la liste de correspondance VLAN / adresse MAC.

 

Les VLAN de niveau 3 se basent quant à eux sur l’IP source des paquets reçus.

 

Les VLAN de niveau 2 et 3 permettent bien évidement de gagner en souplesse et en mobilité.

Néanmoins, ces deux types sont rarement utilisés.

Pour la suite, nous ne parlerons que du type 1 (VLAN par port)

 

Les ports Access

Prenons un cas concret. Nous avons un nouveau PC à connecter au réseau. Celui-ci doit être placé dans le sous réseau 192.168.1.0 /24.

D’après notre plan d’adressage, c’est le VLAN 10 qui correspond à ce sous réseau.

Il va donc falloir configurer le port de switch auquel nous souhaitons connecter le PC, de manière à ce qu’il soit dans le bon VLAN.

 

Les ports auxquels nous connectons des PC, sont dits des ports Access.

Ces ports-là sont configurés pour appartenir à un VLAN.

Voici l’installation que nous souhaitons obtenir :

VLAN Access Port

Voici un aperçu de la configuration (nous reviendrons dessus dans un prochain article) :

Nous commençons d’abord par créer le VLAN

Switch-1(config)#vlan 10
Switch-1(config-vlan)#name support

 

Ensuite, nous configurons le port voulu :

 

Switch-1(config)#interface fastEthernet 0/5
Switch-1(config-if)#switchport mode access
Switch-1(config-if)#switchport access vlan 10

 

A présent, toutes les frames arrivant sur le port fa0/5, seront placées dans le VLAN 10.

De manière très simple, nous pouvons assigner d’autres ports à d’autres VLAN.

Switch-1(config)#vlan 20
Switch-1(config-vlan)#name comptabilite
Switch-1(config)#interface fastEthernet 0/6
Switch-1(config-if)#switchport mode access
Switch-1(config-if)#switchport access vlan 20

 

La machine présente dans le VLAN 10 ne pourra alors plus communiquer avec celle dans le VLAN 20, sans l’aide d’un routeur.

De manière à ce que le routeur puisse router le trafic, il convient bien évidement d’assigner les bonnes IP aux machines (ou de laisser faire le DHCP). En effet, si nous assignons l’IP 192.168.2.1 à une machine dans le VLAN 10, le routeur refusera le paquet.

 

Les ports Trunk

Les ports Access permettent de connecter un PC à un switch, en le plaçant dans le bon VLAN.

Qu’en est-il des liens entre les switchs ?

Ces ports seront configurés en mode Trunk.

Reprenons la topologie précédente :

 Lien Trunk

 

Les ports Fa0/1 des deux switchs devront être configurés en mode trunk de manière à supporter plusieurs VLAN.

 

Switch-1(config)#interface fastEthernet 0/1
Switch-1(config-if)#switchport mode trunk

 

Sur ce lien, pourront passer les frames du VLAN 10 et du VLAN 20.

A la sortie du lien Trunk, les switchs seront capables de savoir vers quel VLAN renvoyer la frame.

Je tiens à rappeler qu’en aucun cas les switch ne remontent au niveau 3 du modèle OSI (sauf switch de niveau 3).

Mais alors comment les switchs font pour savoir à quel VLAN appartiennent les frames ?

 

3) Trunk et Frames Taguées

 

Voici un concept important à retenir.

Afin que les switchs puissent faire la différence entre les frames des différents VLAN, ils vont les taguer.

Prenons un exemple :

Marquage De Frame

PC 1 envoie un message à PC 2.

Les deux PC se trouvent dans le VLAN 10.

Quand S1 transmet la frame à S2, il faut que celui-ci sache à quel VLAN appartient la frame.

Pour cela, S1 va « taguer » la frame avant de l’envoyer dans le Trunk.

Concrètement, S1 va rajoute un champs dans l’entête de la frame.

Il existe deux protocoles pour taguer les frames :

  • ISL – Inter-Switch Link
  • 802.1Q

 

ISL

ISL est la méthode Cisco.

La frame Ethernet est encapsulée dans une nouvelle frame contenant l’identificateur de VLAN :

ISL Frame

Pour faire simple, S1 doit envoyer une frame à S2. Cette frame provient du VLAN 10.

Pour envoyer la frame dans le trunk, il va l’encapsuler dans une nouvelle frame, sur laquelle sera indiqué le numéro de VLAN.

Vous pouvez constater qu’il y a une grande quantité de données utilisée pour pas grand-chose (30 octets pour indiquer un numéro).

Néanmoins, il n’y a pas que le numéro de VLAN dans le Header.

 

802.1Q

Cette méthode est la version standardisée d’ISL.

Un champ « Tag » est ajouté dans le header de la frame.

 802.1Q Frame

 

Ce champ contient les infos suivantes :

  • TPID : identifie le protocole du tag inséré (pour 802.1Q : 0x8100)
  • Priority : donne la priorité de la frame (de 0 à 7)
  • CFI : assure la compatibilité entre Token Ring et Ethernet (valeur à 0 pour Ethernet)
  • VID : tag du VLAN

Au final, en 802.1Q, seul 4 octets sont ajoutés à la frame pour un passage dans un lien Trunk.

 

Résumons la situation, en suivant la frame du départ à l’arrivé :

  • La frame par du PC1. Il s’agit là d’une frame Ethernet tout à fait normale
  • S1 reçoit la frame. Le port Fa 0/5 appartient au VLAN 10
  • S1 sait que l’adresse MAC de PC2 se trouve derrière le port Fa0/1
  • S1 tague la frame avec le numéro de VLAN 10 (en ISL ou 802.1Q) puis l’envoie sur Fa0/1
  • S2 reçoit la frame taguée
  • S2 retire le tag, et envoie la frame à PC2

 

Au final, les PC n’ont jamais connaissance des tags de VLAN.

 

4) Vlan Natif

 

Sur un lien trunk, il existe une notion importante : le VLAN natif.

Le VLAN natif est un VLAN dans lequel seront placées les frames non taguées reçues sur le trunk.

Les frames du VLAN natif sont envoyées sans tag dans le trunk.

Par défaut, le VLAN natif est le 1 sur un Trunk. De plus, tous les ports font partie du VLAN 1, par défaut.

 

La bonne pratique veut que le VLAN natif ne soit utilisé nulle part ailleurs.

Ainsi, si nous choisissons le VLAN 666 pour être le VLAN natif, celui-ci ne devra jamais être utilisé ailleurs.

De cette manière, un attaquant qui envoie des frames non-taguées sur un trunk, ne pourra atteindre aucun sous réseau.

Native VLAN

De plus, il est important que le VLAN natif soit le même des deux côtés du trunk.

Si le VLAN natif n’est pas le même des deux côtés, le port sera en partie désactivé (car cela peut causer des boucles spanning-tree). Seules les frames taguées pourront circuler sur le Trunk.

Il est à noter que le VLAN natif est utilisé par les switchs pour les protocoles DTP (négociation de Trunk), Spanning-Tree, etc… En effet, ces frames sont envoyées non taguées.

 

Donc si le VLAN natif n’est pas le même des deux côtés, ces frames-là ne pourront pas circuler.

La configuration est très simple :

Switch-1(config-if)#switchport trunk native vlan 666
Switch-2(config-if)#switchport trunk native vlan 666

 

5) Mode de fonctionnement d’un port

 

Il existe plusieurs modes de fonctionnement de port pour l’utilisation de VLAN.

Les voici :

  • Access
  • Trunk
  • Dynamique Auto
  • Dynamique Desirable

 

Nous avons déjà vu les modes Trunk et Access

Les modes Dynamique Auto et Desirable ont pour but de négocier un trunk.

Par défaut, les ports d’un switch sont en mode Dynamique Auto.

 

Mais comment cela fonctionne-il ?

Simplement qu’en mode Trunk et Dynamique Desirable, le switch envoie des frames DTP – Dynamique Trunking Protocol.

Ce protocole DTP permet justement la négociation d’un Trunk.

Si un port d’un switch est configuré en Dynamique Auto ou en dynamique Desirable, et qu’il reçoit des frames DTP, il va passer en mode Trunk.

Voici un tableau qui résume cela :

Trunk Negociation

Voici les commandes pour activer les différents modes (un mode à la fois):

Switch-1(config-if)#switchport mode access
Switch-1(config-if)#switchport mode trunk
Switch-1(config-if)#switchport mode dynamic auto
Switch-1(config-if)#switchport mode dynamic desirable

 

Voici le résultat d’une négociation (S1 Fa0/1 Trunk / S2 Fa0/1 Dynamique Desirable):

Show Interface Fa0/1 switchport

Nous pouvons voir le mode configuré (Administrative Mode) et le mode de fonctionnement actuel (Operational Mode).

 

A noter qu’il est possible d’entrer la commande suivante pour désactiver l’envoie de DTP :

Switch-1(config-if)#switchport nonegotiate

De cette manière, si un switch est connecté en face, et que son port est en mode Dynamique, il ne pourra pas négocier de Trunk.

De plus, si un attaquant se connecte sur un port Trunk qui envoie des frames DTP, il lui sera possible de les analyser, et de simuler un Trunk.

 

Le mieux est donc du configurer le port comme suit (à faire sur les deux switchs) :

Switch-1(config-if)#switchport mode trunk
Switch-1(config-if)#switchport nonegotiate

 

6) Conclusion

 

Nous voilà arrivé au terme de cet article sur la théorie des VLAN.

Voici rapidement un résumé de ce qui a été vu :

  • Un VLAN = un sous réseau
  • Séparation des utilisateurs de manière logique, plus de flexibilité
  • Routage entre VLAN par un routeur ou un switch de niveau 3
  • Port Access vers les PC / Port Trunk entre les switchs
  • Les frames sur un Trunk sont taguées (ISL ou 802.1Q)
  • VLAN Natif sur un lien Trunk
  • Négociation d’un Trunk

 

Maintenant que la théorie est traitée, nous pouvons passer à la configuration.

 

Tagués avec : , , , ,
Publié dans VLAN
4 commentaires pour “VLAN – Théorie
  1. Nabil Hafid dit :

    Bonjour,

    j’ai remarqué une erreur dans la ligne  » Par défaut, les ports d’un switch sont en mode Dynamique Desirable. » parce que les ports d’un switch sont par défaut en mode dynamic auto et pas dynamic desirable .

    Cordialement

  2. zakaria dit :

    Merci bcp

  3. Gates LUESA Van dit :

    Merci beaucoup

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Le temps imparti est dépassé. Merci de saisir de nouveau le CAPTCHA.