Travaux Pratiques

Commutation sur Ethernet

Fonctions avancées: VLAN, Trunk, Mesh


Ce TP a pour but de mettre en oeuvre et observer quelques fonctionnalités avancées de la commutation sur Ethernet avec un ou plusieurs commutateurs (switchs). Nous utiliserons ici des switchs de type HP ProCurve.

Exercice 1 - Domaines de diffusion

En prenant un switch pour quatre PC, réaliser le montage suivant.

Domaine de diffusion
  1. Donner une adresse IP au switch et aux interfaces ethernet de sorte que tous les PC puissent communiquer entre eux et avec le switch (les adresses IP données dans la figure correspondent à un masque d'adresse de 255.255.0.0).
  2. Vérifier l'état de la table d'adressage du switch et regarder le trafic sur chacune des interfaces des PC (avec tcpdump), en particulier lors de ping entre les différents PC.
  3. En l'absence de toute information dans la table d'adressage du switch, vérifier que tous les PC voient les messages ARP générés par un ping d'une machine jusqu'alors inconnue.
  4. Vérifiez que lorsque le switch dispose de l'association, seules les 2 machines concernées par le ping voient le trafic.

Exercice 2 - VLANs non taggés

On désire maintenant que le trafic entre PC1 et PC4 soit complètement différencié du trafic entre PC2 et PC3, c'est à dire qu'aucun échange ni observation ne puisse avoir lieu entre ces deux réseaux locaux virtuels. Pour cela, on peut créer deux VLANs distincts: le VLAN rouge pour PC1 et PC4 et le VLAN vert pour PC2 et PC3. Ce sont des VLANs par port, compatibles avec la norme IEEE 802.1Q. En l'absence de toute configuration, les switchs considèrent que tous les ports font partie du même VLAN par défaut.

  1. Autoriser les VLANs
    Dans le menu principal d'administration du switch (accessible par port série ou par telnet, aller dans 3. Switch Configuration, 5. Advanced Features, 6. VLAN Menu et finalement 1. VLAN Support. Choisir Yes dans le champ Activate VLANs et sauvegarder (le nombre de VLAN de 8 par défaut peut être modifié). L'astérisque qui apparaît indique qu'il faut rebooter le switch pour prendre en compte cette configuration. Donc, rebooter le switch (à partir du menu principal).
  2. Définir les VLANs
    Ensuite, dans le menu VLAN, faire 2. VLAN Names et ajouter les deux VLANs, le rouge et le vert. Par défaut, tous les ports du switch appartiennent au DEFAULT_VLAN qui a 1 pour numéro (VLAN ID). Donner des VLAN ID différents pour les VLAN créés. Par exemple, 20 pour le VLAN rouge et 30 pour le VLAN vert.
  3. Assigner les ports aux VLANs
    Dans le menu VLAN, faire 3. VLAN Port Assignment. Chaque port est alors proposé pour chaque VLAN (défaut, rouge, vert), et taggé ou non. Dans un premier temps, utiliser les VLAN rouge et vert sans les tagger. Associer le rouge aux ports reliant le PC1 et le PC4 et le vert aux ports reliant le PC2 et le PC3.
  4. Tester alors la communication entre les différents PC et regarder l'activité du trafic sur les différentes interfaces, comme dans l'exercice 1.
  5. Vérifier en particulier que les broadcasts ARP générés par un ping d'une machine sur un VLAN n'atteignent pas les machines de l'autre VLAN.

Exercice 3 - VLANs non taggés entre deux switchs

On désire maintenant ajouter un second switch et répartir les machines comme indiqué dans la figure suivante. On désire toujours n'utiliser que des VLANs non taggés.

VLAN non taggé
  1. Pourquoi placer 2 liens entre les switchs?
  2. Comment configurer le second switch et quelles sont les modifications à apporter aux associations ports/VLAN?
  3. Configurer correctement ce montage. Vérifier les communications entre chaque PC et les trafics sur chaque interface.

Exercice 4 - VLANs et Spanning Tree

Y a t il une boucle dans cette configuration et un risque d'inondation par les switchs eux-mêmes. Pourrait il y en avoir avec d'autres interfaces raccordées à ces switchs. Que se passerait-il dans la configuration actuelle si on mettait en oeuvre le STA?

Exercice 5 - VLANs taggés

Supposons maintenant que l'on veuille un seul lien entre les deux switchs (disons entre le port 2 du switch 1 et le port 1 du switch 2). Cela nécessite que les trafics des VLANs rouge et vert passent par ce lien, et donc que ces 2 ports soient associés à la fois au VLAN rouge et au VLAN vert. Cela n'est pas possible si les 2 VLANs sont non taggés.
Note: Un port peut appartenir à plusieurs VLANs, mais un seul (au plus) de ces VLANs peut être non taggé.

Du point de vue des systèmes, il faut disposer d'un noyau NetBSD compatible avec la norme 820.1Q sur les VLANs. Vous aurez simplement à utiliser la commande ifconfig.

  1. Modifier les associations entre les VLANs et les ports de sorte que les VLANs rouge et vert soient taggés tous les deux (à priori, un seul suffirait). En fonction du résultat souhaité, associer les ports occupés à l'un des 2 VLAN taggés, aux deux VLAN taggés, ou aux 2 VLAN taggés plus le VLAN par défaut non taggé. Les ports inoccupés peuvent être laissés dans le VLAN par défaut.
  2. Configurer les interfaces des PC pour qu'elles acceptent les VLAN taggés. Par exemple, pour le PC4: Le VLAN vert d'ID 30 sera créé sur l'interface virtuelle vlan1.
  3. Lorsque c'est fait pour chaque PC, vérifier la visibilité des machines les unes par rapport aux autres, en fonction de l'interface logique (ou de l'adresse IP) contactée, ainsi que le trafic passant sur chaque interface. La figure suivante résume la configuration globale.
VLAN taggé

Attention: l'association d'un port à un VLAN interdit la communication de la machine qui lui est reliée par toute autre interface logique que celle de ce VLAN (même si elle passe par la même interface physique). En particulier, l'adresse 10.10.1.10 de PC1 ne peut plus émettre par le port 1 du switch 1 si celui-ci n'accepte que le trafic taggé du VLAN rouge. Seule l'adresse 10.20.1.10 peut communiquer. Dans ce cas, même l'adresse 10.10.1.1 du switch n'est plus accessible.

Il est en revanche possible de donner au switch une adresse IP distincte par VLAN, qui sera accessible par chaque machine se trouvant dans le même VLAN.

Sinon, puisque vous disposez de machines munies de plusieurs cartes, vous pouvez utiliser une autre interface pour accéder à un port libre du switch qui sera, lui, associé au VLAN par défaut non taggé.

Exercice 6 - VLANs et serveur

On suppose maintenant que le PC3 est un serveur qui doit pouvoir communiquer avec les deux VLANs. Néanmoins, on veut conserver les deux VLANs avec des trafics distincts. Pour cela, on peut associer une deuxième interface logique de VLAN (rouge) au PC3 (sur la même interface physique ou sur une autre). Réaliser l'exemple de configuration ci-dessous, et vérifier qu'il est possible, à partir du PC3, de communiquer avec le VLAN rouge, le VLAN vert et le VLAN par défaut.
Note: dans certains cas (désormais rares) de multiples interfaces logiques sur une même interface physique, on peut être amené à donner "à la main" des routes au PC (commande route).

VLAN et serveur

Exercice 7 - Port Trunking

Le port trunking est la faculté d'associer plusieurs liens (jusqu'à 4) entre 2 switchs en une sorte de congrégation de liens. Les différents liens constituant ce trunk seront alors utilisés simultanément, permettant ainsi d'augmenter le débit inter-switch. La distribution du trafic sur chacun des liens du trunk est effectuée sur la base d'une résolution d'adresse source et/ou destination, voir d'une négociation. Au pire des cas, même si c'est rare, il se peut donc qu'un lien du trunk soit saturé tandis que les autres sont inutilisés.

Du point de vue du switch, la connexion à un trunk est vue comme un seul port. Par exemple, le STA décide soit de transmettre sur tous les liens du trunk, soit de bloquer tous les liens. De même, tous les ports des liens d'un même trunk doivent appartenir aux mêmes VLANs.

La figure suivante illustre une utilisation du trunk: dans la configuration de l'exercice 3 (voir figure), nous avions des liens entre 2 switchs. VLAN rouge uniquement du port 1 au port 2 et VLAN vert uniquement du port 3 au port 4. On peut imaginer qu'il aurait été utile (pour l'administration des switchs, par exemple) d'avoir un lien du port 6 au port 6 pour le VLAN par défaut.

Placer ces trois liens dans un seul trunk permet d'éviter d'avoir des boucles entre les switchs (sans utiliser le STA qui n'est pas adapté ici), tout en conservant les trois liens disponibles. Le seul pré-requis est de créer un trunk dont les caractéristiques regroupent toutes celles des liens qui le constituent: il doit appartenir au VLAN rouge, au VLAN vert et au VLAN par défaut. C'est possible puisque seul le VLAN par défaut est non taggé.

Réaliser ce montage et tester les communications et le trafic.

Trunking

Exercice 8 - Switch Meshing

Une autre manière d'agréger plusieurs liens est le meshing. Cette technique ne se limite pas à des liaisons point à point entre deux switchs puisqu'elle peut regrouper tout un maillage de switchs (plusieurs switchs reliés entre eux de façon redondante). À l'intérieur d'un même mesh, le trafic est distribué dynamiquement vers les liens offrant l'accès le plus rapide.

Un ensemble de switchs reliés (de manière redondante) par des liens paramétrés comme mesh constitue un meshed domain. Ce dernier détermine régulièrement les "meilleurs" chemins à l'intérieur de ce domaine selon plusieurs critères: en fonction de la taille de la file d'attente des buffers associés aux ports du switch, de leur configuration en vitesse et type Half/Full-dulplex, et de la quantité de paquets jetés qui illustre l'occupation du port. Un chemin déterminé comme "meilleur" entre deux adresses MAC reste valable tant que l'entrée de ces adresses MAC n'expire pas dans la table d'adressage. La différence principale avec le trunk et le STA est que tous les liens restent actifs et qu'ils peuvent rapidement être sollicités pour répondre à une augmentation du trafic.

Réaliser le montage ci-dessous, où un lien "normal" relie deux mesh domain. Observer les tables d'adressage, le trafic et en particulier le comportement des messages en diffusion. Constater qu'ils ne sont pas systématiquement "inondés" par chacun des switchs sur chacun des ports.

En regardant le trafic, en particulier au repos, proposer une explication sur le mode de fonctionnement du meshing.

Meshing

À voir éventuellement: IP Multicast, ABC, Port Security, CoS, Analysis.


Etienne.Duris[at]univ-mlv.fr - © Université de Marne-La-Vallée - Janvier 2002