Généralités Switching : Table MAC, Vlans, Access/Trunks, Vlans Natifs, Management, ...

 

 

 

Introduction 

Le modèle TCP/IP se compose de 4 couches : .
- Couche Application (fusion de couches Application, Session et Présentation de l’ancien modèle OSI).
- Couche Transport.
- Couche Internet (Ancienne couche Réseaux du modèle OSI).
- Couche d'Accès Réseaux (fusion de deux couches Physique et Liaison de Données du modèle OSI).

Chaque Utilisateur, avant d'envoyer les données vers une destination quelconque, doit subir l'enchaînement du modèle TCP/IP (dans les deux sens).

La Couche d'Accès Réseaux gère tout ce qui est en relation avec les interfaces physiques des équipements, le support qui véhicule les données sous forme des trames, les méthodes d'accès, l'identification unique des Ends Users sur le réseau (Adresses MAC) ... C’est là où les switches interviennent, on les appelle Équipements Layer 2 en référence à la couche niveau 2 de l’ancien modèle OSI.

La couche Internet gère l'adressage IP et l'acheminement des Paquets vers leurs destinations correspondantes (le Routage). Les équipements qui interviennent sur cette couche à part les End Users sont les routeurs, les firewalls, les Proxy, ... Certains switches font aussi le Routage ; on les appelle switches Layer 3.

 

 

Notion de l’Adresse MAC  

L’ensemble des bits qui transitent dans le LAN depuis une source X vers une destination Z est acheminé et ordonné dans un Bloc qu’on appelle Trame. Cette trame est composée de plusieurs champs - à part la DATA- qui se situent dans une Entête appelée Header.

Les notions les plus importantes qu’on trouve dans un Header sont l’adresse MAC source (l’émetteur X) et l’adresse MAC destination (la destination Y) dans un LAN interne.

L’adresse MAC est unique, fixée par le constructeur pour chaque carte réseau. Elle est codée sur 48 bits en Hexadécimal. Pour trouver l’adresse MAC d’une carte Réseaux dans une machine Windows, il suffit d’ouvrir la fenêtre CMD et taper la commande « ipconfig /all ».

 

 

Table MAC  

Le switch gère l’acheminement des trames vers leurs destinations correspondantes dans le LAN. Pour le faire, il se base sur sa table de MAC Adresses. La table MAC permet de savoir quelle adresse MAC d’un Node quelconque est connectée sur quel port de switch.
Comment un switch remplie sa table des MAC Adresses ?
C’est dynamique ; par apprentissage. Le principe est le suivant :

Trame en INPUT sur un port d’un switch : Ce dernier examine tout d’abord la MAC Source. Il remplit par suite sa table de MAC Adresses par cette MAC apprise (+ Interface et Vlan correspondants). Si la MAC existe déjà dans la table, il fait juste un Refresh.
Ensuite, il examine la MAC Destination. Il fait le parcours de toute la table des MAC Adresses pour chercher si elle se trouve dedans. Deux cas peuvent se présenter : soit il la trouve, il la transmet donc vers l’Interface de sortie correspondante dans la table. Soit, il ne la trouve pas, et dans ce cas, il effectue un Broadcast sur tous ses ports (à part le port par lequel la trame est entrée).

Afin de visualiser la table des MAC Adresses sur un Switch, on effectue la commande :

Switch# show mac address-table

Afin de chercher le port correspondant à une MAC donnée (on cherche par exemple l’emplacement d’un PC-A avec une MAC-A connecté à un Switch donné), on tape la commande :

Switch# show mac address-table address 0028.ac13.1388

On note que sur un switch Cisco, après 300 secondes d’inactivité d’une MAC quelconque, cette entrée est supprimée de la table des MAC Adresses. Cette notion s’appelle le MAC Aging Time. Modifiable avec la commande suivante :

Switch(config)# mac address-table aging-time 380

 

 

Les Broadcasts

C’est la diffusion des Trames vers toutes les destinations dans un LAN. Techniquement, c’est un type de Trames ayant une adresse MAC Destination particulière qui est un « 1 » pour tous les Bits : FF:FF:FF:FF:FF:FF. À part quelques types des Virus, d’attaques et des trames mal formées qui possèdent un FF:FF:FF:FF:FF:FF dans leur champ MAC Destination, le Broadcast peut être utile et légitime.

L’exemple le plus connu est les Requêtes ARP. Ces dernières sont envoyées en Broadcast (vers tous les utilisateurs du LAN) afin de chercher la MAC correspondante à une IP Dest connue.

Bien évidemment le comportement d’un switch ayant reçu une Trame de Broadcast est la diffusion sur tous ses ports (à part celui par lequel la Trame est entrée).

 

 

Les Vlans

Dans un LAN donné où tous les utilisateurs sont dans le même Subnet, on a un seul domaine de Broadcast. Cela veut dire que si un PC envoie une trame de Broadcast (ou même une trame ambiguë ou inconnue ou Virus etc..), le switch diffuse cette trame vers tous ses ports ! Tous les utilisateurs reçoivent la Trame... D’un point de vue sécurité, c’est une grande faiblesse/faille. La solution est d’implémenter les Vlans (Virtual LANs) sur le switch.

Segmenter un Réseau LAN en plusieurs Vlans différents c’est diviser le LAN en plusieurs groupes isolés, chaque groupe possède son propre Subnet (Réseau IP) et par conséquent un domaine de Brodcast unique. Si une Trame de diffusion est envoyée depuis un PC dans le Groupe/Vlan A, elle ne sera transmise que vers les nœuds de ce Groupe/Vlan. La sécurité est donc renforcée.

Remarques :

- Par défaut, sur un switch Cisco, tous les ports sont préconfigurés dans le Vlan 1.
- La division du LAN en plusieurs Vlans entraîne automatiquement la nécessité d’attribuer un plan d’adressage unique pour les utilisateurs de chaque Vlan et le Blocage de communications entre ces Vlans. Pour assurer la communication entre les utilisateurs des différents vlans, il faut implémenter le Routage Inter Vlan (Pas au niveau des Switches Layer 2, mais plutôt à un niveau plus haut : les Routeurs, les firewalls, les switches Layer 3, …).
- La base de données des vlans créés est stockée dans le Flash du switch, plus précisément dans un fichier qui s’appelle « vlan.dat ».
- Dans la table des MAC Adresses vue précédemment, la notion de Vlan précède chaque couple Interface-MAC du tableau.

Pour configurer un Vlan sur un switch :

Switch(config)# vlan 120
Switch(config-vlan)# name Technique
Switch(config-vlan)# exit
Switch(config)# vlan 130
Switch(config-vlan)# name Commercial
Switch(config-vlan)# exit

Pour attribuer un port d’un switch à un Vlan spécifique déjà crée :

Switch(config)# interface Gi0/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 170
Switch(config-if)# no sh

Afin de visualiser les Vlans crées ainsi que les interfaces correspondantes :

Switch# show vlan

Par défaut, on va trouver tous les ports affectés au Vlan1. Si en effectuant la commande précédente, on ne trouve pas de ports dans la liste des affectations, cela veut dire qu’ils sont en mode Trunk.

Voir suivant !

 

 

Ports Access/ Ports Trunk

Sur un switch Cisco, si on a un End User connecté à une interface quelconque et si on veut lui attribuer un Vlan spécifique, on configure l’interface du switch en mode Access et on lui affecte le Vlan correspondant (vu précédemment).

Si on a une interconnexion entre deux Switches avec plusieurs Vlans dedans, cette Interco ne doit pas être mise en mode « access vlan x » car elle permet de circuler plusieurs Vlans à la fois entre les deux équipements et non un seul Vlan. Ce mode est nommé : Trunk.

Le mode Trunk est configuré donc sur les liens entre équipements et permet de faire transiter plusieurs vlans, tout en conservant l’identification du Vlan dans chaque Trame. Le protocole standard qui le permet est le Dot1q.

Le Dot1q est tout simplement un protocole qui tague la Trame à la sortie de chaque Trunk (Marquage) en ajoutant un ID (Étiquette) de 12 bits (1 à 4095) qui est le Vlan ID. La trame est par conséquent marquée par son vlan correspondant en se transitant d’un switch à un autre.

La configuration d’un port Trunk est la suivante :

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


Remarques :
Certains switches demandent, avant de configurer le Trunk, de spécifier le protocole d’encapsulation utilisé (Standard Dot1q ou Cisco ISL - peu utilisé), dans ce cas, on tape les commandes suivantes :

Switch(config)# interface Gi0/1
Switch(config-if)# switchport trunk encapsulation dot1q
Switch(config-if)# switchport mode trunk

On note aussi que, par défaut, un trunk accepte tous les Vlans qui passent à travers le lien physique.
Pour limiter les vlans sur un trunk donné, on effectue la commande suivante :

Switch(config)# interface Gi0/1
Switch(config-if)# switchport trunk allowed vlan 10,20-33

La commande précédente dans l’exemple permet de véhiculer uniquement le Vlan 10 et les vlans de 20 jusqu’à 33 sur le Trunk Gi0/1.

Par défaut, le Vlan 1 est toujours permis, sans le spécifier.

 

 

Native Vlan

Certaines Trames sont envoyées à travers le réseau sans Vlan ID, on les appelle « Untagged ».

Plusieurs types de trames non taguées existent et on peut les diviser en deux catégories :
- Les Trames utiles de quelques protocoles qui ne supportent pas le tag par Vlan. Exp : le CDP, le CAPWAP (Management du Wifi Cisco) ; ce dernier peut être envoyé sans Tag…
- Les Trames inutiles. Exp : certains Virus, trames mal formées, …n’acceptent pas le Tag.

La solution est de concevoir un Vlan « de déchets » qui permet d’accepter et véhiculer toutes les trames non taguées sur le réseau. C’est le Vlan Natif.
Par défaut, le Vlan 1 accepte toutes les Trames « Untagged », il est donc le vlan natif par défaut. Cependant, vu que le Vlan 1 véhicule plusieurs trames très critiques (CDP, VTP, DTP, STP, …), il est fortement conseillé de changer le Native Vlan en un autre Vlan à part.

La configuration s’effectue sur les ports Trunk et elle est la suivante :

Switch(config)# vlan 990
Switch(config-vlan)# name Vlan-Natif
Switch(config-vlan)# exit
Switch(config)#
Switch(config)# interface Gi0/1
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk native vlan 990
Switch(config-if)# exit 

 

 

Divers configurations et shows

 

Pour attribuer un nom à un switch, on effectue la commande :

Switch(config)# hostname Switch-08

Pour protéger l’accès « Enable » par un mot de passe, on effectue la commande :

Switch(config)# enable secret **********

Pour activer le service de cryptage des mots de passe dans la config visualisée, on passe la commande :

Switch(config)# service password-encryption 

Pour activer le Telnet sur un switch (avec un compte local d’accès) on effectue les commandes :

Switch(config)# username Eric-13 privilege 15 secret *********
Switch(config)#
Switch(config)# line vty 0 15
Switch(config-line)# login local
Switch(config-line)# exit

Pour activer le SSH sur un switch (avec un compte local d’accès) on effectue les commandes :

Switch(config)# hostname Switch-130
Switch(config)# ip domain-name Test-130.fr
Switch(config)# username Eric-13 privilege 15 secret *********
Switch(config)# crypto key generate rsa modulus 2048
Switch(config)# ip ssh version 2
Switch(config)#
Switch(config)# line vty 0 15
Switch(config-line)# login local
Switch(config-line)# transport input ssh
Switch(config-line)# exit

Pour visualiser les voisins Cisco connectés sur un switch, on effectue la commande :

Switch# sh cdp n  

Pour afficher en plus, pour ces voisins, leurs IPs correspondantes, on effectue la même commande précédente en ajoutant l’option « detail » :

Switch# sh cdp n detail 

Pour visualiser l’état des interfaces d’un Switch, on passe la commande suivante :

Switch# sh int status

Pour Activer une IP de Management sur un Switch, accessible depuis l’extérieur, on effectue les commandes :

Switch(config)# vlan 100
Switch(config-vlan)# name management
Switch(config-vlan)# exit
Switch(config)#
Switch(config)# int vlan 100
Switch(config-if)# ip add 10.10.10.100 255.255.255.0
Switch(config-if)# no sh
Switch(config-if)# exit
Switch(config)# ip default-gateway 10.10.10.254

Ajouter un commentaire

Commentaires

Il n'y a pas encore de commentaire.