Travaux Pratiques

Ethernet


Ce TP a pour but de mettre en oeuvre et d'observer la commutation sur Ethernet avec un ou plusieurs commutateurs (switchs). Nous utiliserons ici des switchs de type HP ProCurve (1600M, 2424M ou 2626) et nous intéresserons à leur installation, configuration et administration.


Principes de la commutation en Ethernet


Exercice 1 - Installation et accès en mode console

Trois interfaces sont disponibles pour ces switchs. Le mode console permet de se brancher directement sur le switch par port série et d'obtenir une émulation de type VT-100.

Le mode telnet permet d'accéder au même genre de menu de configuration, mais en utilisant le protocole Telnet au dessus d'une connexion TCP/IP.

Enfin, le mode interface de navigateur Web (ou Web browser interface) permet d'accéder à la configuration et supervision du switch via une connexion HTTP (pages html).

Néanmoins, ces deux derniers modes d'accès nécessitent une connexion TCP/IP, et requièrent donc que le switch dispose d'une adresse IP.

  1. Mettre le switch sous tension et relier son port série à un PC.
  2. En début de TP, pour assurer une configuration stable et commune à tous les switch, faire un reboot d'usine (voir note « retour à la configuration d'usine » ci-dessous).
  3. Dans un terminal du PC, lancer le communicateur série minicom. Taper deux fois sur la touche Entrée. Si tout se passe bien, vous entrez alors dans le menu de configuration du switch en mode console.
  4. Si la connexion est refusée, tapez Crtl A - Z, puis entrez dans la configuration de minicom avec O (Configure Minicom). Configurez alors la sortie série (/dev/ttyS0) à 9600 bauds et en 8N-1. Vous pouvez également positionner le Hardware Flow Control à No. Enregistrez cette configuration par défaut et essayer à nouveau après être sorti du menu de configuration en tapant deux fois sur la touche Entrée. En dernier recours, il est possible de supprimer toutes les séquences de caractères pré-configurées pour le mode modem.
  5. Lorsque minicom établit la connexion avec le switch en mode console, une page d'accueil apparaît puis, suivant le modèle de switch et sa configuration, vous accédez à un menu de configuration pour les 1600M et 2424M ou à un prompt CLI pour les 2626 (voir note « interfaces » ci-dessous). Pour des raisons de compatibilité entre les deux modèles de switch, dans la suite de ce TP, nous décrivons plutôt les opérations dans l'interface « Menu » plutôt que « CLI ». Si un mot de passe vous est demandé, vous pouvez l'effacer (voir note « mots de passe » ci-dessous).

Note (interfaces) : En mode console ou telnet, les switchs 1600M et 2424M ne disposent que d'une interface sous la forme de menu tandis que les switchs 2626 disposent par défaut d'une interface par ligne de commande, dite CLI (Command Line Interface). Dans ce dernier cas, on peut taper à l'invite du prompt la commande menu pour basculer dans une interface menu, de laquelle on peut revenir en CLI par le choix 5. Command Line (CLI).

Note (mots de passe) : Dans le cas où un mot de passe serait requis pour entrer dans le mode console, il peut être effacé par une pression sur le bouton Clear à l'avant du switch. Cette opération réinitialise toutes les protections par mot de passe de la configuration du switch.

Note (retour à la configuration d'usine) : Le retour à la configuration « d'usine » des switchs 1600M et 2424M se fait par une pression simultanée sur les boutons Reset et Clear, en gardant appuyé ce dernier jusqu'à ce que le voyant Self Test commence à clignoter.
Pour les switchs 2626, il suffit dans le mode CLI de taper la commande erase startup-config pour faire rebooter le switch dans sa configuration d'usine.

Exercice 2 - Configuration IP des machines

Attention: Vous essayerez autant que possible de ne pas modifier la configuration de l'interface permettant d'accéder au réseau IP externe (qui vous permet, entre autres choses, de consulter les pages Web des sujets ou de faire des recherches). En général, cette interface de réseau "primordiale" est eth0, et elle correspond sur vos machines à la carte réseau qui est déjà branchée à votre arrivée. Vous utiliserez donc plutôt eth1 et eth2 pour les TPs.

Par convention, on attribue un numéro x à chaque PC (de 1 à 18 en général): vous êtes donc sur le PCx. Par convention encore, on utilisera x0 pour l'interface eth0 du PCx, x1 pour l'interface eth1 du PCx, etc. Enfin, vous êtes dans une salle de TP S (2 ou 4). Nous travaillerons dans le réseau 10.10.S.0/24. Par exemple, 10.10.4.131 représente l'adresse IP attribuée à la carte d'interface eth1 du PC13 de la salle 4 (0B04). Pour savoir quelle carte est associée à quelle interface, on peut consulter l'historique donné par dmesg ou encore utiliser les commandes lspci ou ethtool.

  1. Vérifiez l'état de chacune de vos carte d'interface ethernet avec la commande ifconfig (qui vous affiche celles qui sont actives, tandis que ifconfig -a vous les affiche toutes; plus de détails sur cette commande avec le manuel man ifconfig). Consultez également la table de routage de votre machine avec la commande route -n
  2. Donnez à l'une des cartes réseaux de votre PC (nous la nommerons dans la suite du sujet comme étant ethi, mais vous remplacerez cette interface par celle qui convient sur votre machine), l'adresse 10.10.S.xi. Pour cela, vérifier par ifconfig ethi down que l'interface ethi est bien "tombée", puis remontez la avec une ligne de commande de la forme:
    ifconfig ethi 10.10.S.xi netmask 255.255.255.0 [up]
  3. Consultez à nouveau l'état de votre table de routage pour voir quel effet a eu l'activation de l'interface et l'attribution d'une adresse IP et d'un masque.
  4. Faites de même avec un second PC en lui donnant une adresse IP dans le même sous réseau.
  5. Pour chacun des 2 PCs, reliez par un câble UTP droit la carte réseau que vous venez de paramétrer à un port du switch et tentez un ping vers l'adresse IP de l'autre PC.

Exercice 3 - Table d'apprentissage du switch et tables ARP des machines

Pour étudier la commutation Ethernet, nous utilisons un outil relativement simple: ping. Néanmoins, même s'il est simple et permet de générer des trames Ethernet, cet outil travaille au niveau 3 des couches OSI, c'est-à-dire au niveau IP. Afin de créer les trames Ethernet attendues, cet outil réalise un ensemble de tâches qui peuvent créer des "effets de bords" dans les observations.

En particulier, lorsqu'un ping @ipB est demandé depuis la machine d'adresse IP @ipA, la première chose que A a besoin de connaître, c'est l'adresse MAC de B. Pour cela, elle a besoin d'un mécanisme de résolution qui, dans notre cas, utilise le protocole ARP et provoque initialement un brodcast MAC. Lorsque ce protocole a permis à A de connaître l'association entre les adresses MAC et IP de B, elle stocke cette association dans sa table ARP. L'état de cette table peut être consulté sur A avec la commande arp -n. Il ne faut pas confondre cette table ARP (@MAC<=>@IP) avec la table des adresses (@MAC<=>n°port) du switch ni avec la table de routage de votre machine (consultable elle par route -n.

Observez, via le mode console du switch, l'évolution des tables d'adressage et l'état des ports lorsque vous débranchez/rebrancher les ports sur le switch. En parallèle, observez les trames qui sont envoyées et reçues par la carte réseau du PC. Pour cela, vous pouvez utiliser la commande tcpdump -ni ethi dans un autre terminal, mais le logiciel wireshark permet de réaliser des observations dans un mode graphique plus convivial et avec de nombreuses fonctionalités. Constatez l'effet joué par les tables ARP des machines et la table des adresses du switch dans ces étapes. La consultation de la table arp d'une machine se fait avec la commande arp -n (on peut utiliser la commande arp -d pour effacer l'adresse MAC associée à une addresse IP fournie en argument).

Exercice 4 - Liaison entre switchs

Configuration simple de switchs en série

Configurez un réseau local comme indiqué à la figure précédente (même chose pour les PC 7 à 12 avec les trois autres switchs, numérotés 4, 5 et 6 ou adaptez au nombre de PC et/ou de switchs disponibles).

  1. Vérifier que les différents PC se trois switchs sont accessibles à partir de n'importe quel PC.
  2. Grâce à différentes fenêtres en console sur chacun des switchs, observer l'évolution des tables d'adressages en fonction des ping réalisés entre différentes adresses.
  3. Tenter de désactiver un port entre deux switchs et constater le résultat sur le ping, le trafic réseau (consultable avec wireshark).
  4. En particulier, vérifier qu'un ping provoque une requête ARP que toutes les machines voient si les switchs ne savent pas la résoudre, mais que lorsqu'ils disposent de l'association dans leur table, les autres machines ne voient plus passer ce trafic (filtrage par apprentissage).
  5. Tentez de changer la configuration d'un port (forcé en 10Mb - Half Duplex, par exemple). Que se passe-t-il ?

Redondance de liens et boucles: le Spanning Tree Algorithm


Exercice 5 - Port Monitoring

Il est possible de renvoyer sur un port précis du switch la totalité du trafic qui circule normalement sur un ou plusieurs autres ports. Cela peut être particulièrement intéressant pour surveiller l'activité d'un ensemble de ports.

Port Monitoring
  1. Réaliser le montage décrit ci-dessus, c'est à dire faire en sorte que le port 5 du switch 2 reçoive le trafic des ports 2 et 3 du switch 2 (5 est dit moniteur). Ceci est réalisé en interne, sans câble extérieur. Pour cela, dans le menu principal, faire Switch Configuration puis Network Monitoring Port et placer Monitoring Enabeld à Yes. Spécifier ensuite qui est moniteur et qui est monitoré.
  2. Observer depuis le PC5 (avec wireshark), l'activité sur les ports monitorés au repos et lors de ping entre différentes machines.

Exercice 6 - Boucles et Spanning Tree

Ajouter un lien entre les switchs 1 et 3 (cf. figure de l'exercice 4).

  1. Observer l'effet sur le trafic et sur les tables d'adressages.
  2. Échanger deux fils arrivant sur 2 ports d'un même switch. Constater l'effet sur des ping entre différentes machines.
  3. Activez le STA (Spanning Tree Algorithm) sur les trois switchs. Pour cela, aller dans Switch Configuration puis Spanning Tree Operation. Mettre simplement Yes en face de Spanning Tree Enabled [No]:. Il vaut mieux éviter de modifier les autres paramètres à moins de maîtriser parfaitement l'algorithme utilisé et les rôles joués par les coûts associés à chaque port.
  4. Observez l'effet sur le trafic et l'état courant des ports.
  5. Quel est le switch racine et les switchs dédiés? Même question sur les ports racines? dédiés? boqués?
  6. Grâce au moniteur (port 5 du switch 2) regardez le trafic qui circule. Que constatez vous au repos? Que constatez vous lorsque vous débranchez/rebranchez un fil?
  7. Entre deux machines, directement reliées à deux ports du même switch, qui se "voient" correctement par ping, débrancher l'un des câbles d'accès au switch et le rebrancher. Faire immédiatement un ping ensuite. Que constatez vous?

Les VLANs


Exercice 7 - Domaines de diffusion

Débranchez les switchs les uns des autres et reprennez un switch pour quatre PC en réalisant le montage suivant.

Domaine de diffusion
  1. Donnez une adresse IP aux interfaces ethernet des PC comme sur la figure.
  2. Vérifier l'état de la table d'adressage du switch et regarder le trafic sur chacune des interfaces des PC (avec tcpdump ou wireshark), 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 passer (en promiscius mode) les messages ICMP générés par un ping, y compris les trames unicast.
  4. Vérifiez que lorsque le switch dispose de l'association, seules les deux machines concernées par le ping voient le trafic. Que se passe-t-il alors si la machine réalisant le ping n'a plus rien dans sa table ARP ?

Exercice 8 - 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, aller dans Switch Configuration, éventuellement Advanced Features pour les anciens modèles, puis VLAN Menu et finalement VLAN Support. Pour les anciens modèles, 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 alors 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 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). Il est important de ne pas modifier ce VLAN par défaut. 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 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 7. Expliquer ce qui se passe.
  5. Vérifier en particulier si les broadcasts ARP générés par un ping d'une machine sur un VLAN atteignent ou non les machines de l'autre VLAN.

Exercice 9 - 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 deux liens entre les switchs ?
  2. Comment configurer les switchs et quelles sont les modifications à apporter aux associations ports/VLAN?
  3. Configurer correctement ce montage. Vérifier quelles communications sont possibles entre chaque PC et les trafics visibles sur chaque interface (unicast et broadcast).

Exercice 10 - 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 11 - VLANs taggés

Supposons maintenant que l'on veuille un seul lien entre les deux switchs. Cela nécessite que les trafics des VLANs rouge et vert passent par ce même lien, et donc que ses deux 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é.

  1. Modifier les associations entre les VLANs et les ports de sorte que les VLANs rouge et vert soient taggés tous les deux entre les deux switchs. Vérifier quelles communications sont possibles entre les PC et quels trafics (unicast et broadcast) sont visibles.
  2. Vérifiez que si le port reliant un switch à un PC est taggé, alors le switch ne laisse pas entrer les trames (non taggées) émises par ce PC.

Administration des switchs


Exercice 12 - Attribution d'une adresse IP au switch

Le switch, même s'il travaille au niveau 2 OSI, dispose d'une couche protocolaire TCP/IP et d'un système d'exploitation qui lui permettent d'être configuré et administré via IP. Dès qu'il dispose d'une adresse IP, le switch est également accessible par un simple telnet. Par défaut, le switch est configuré pour acquérir un numéro IP par DHCP/Bootp. Il peut également être forcé en mode manuel pour recevoir une adresse IP précise.

  1. Depuis le menu principal des 2424M, aller dans 2. Switch Management Access Configuration puis 1. IP Configuration. Pour les 2626, depuis le prompt CLI, taper setup. Dans les deux cas, faire ensuite l'action Edit, se déplacer sur IP Config [DHCP/Bootp]: et appuyer sur la touche espace pour positionner Manual.
  2. Donner ensuite l'adresse IP 10.10.S.n (où S est le numéro de votre salle, 2 ou 4, et où n est le numéro de votre switch) à ce switch avec le masque de réseau 255.255.255.0. Faire alors l'action Save: le switch dispose d'une adresse IP.
  3. Dans le même menu pour les 2626 où à partir de 3. Switch Configuration puis 1. System Information pour les 2424M, il est possible de donner un nom au switch (pour faciliter son identification: par exemple, SwitchN).

Exercice 13 - Accès au switch sans liaison série

Puisque le switch dispose d'une adresse IP, il est possible de s'y connecter en mode console par un telnet ou bien en mode navigateur par HTTP. Néanmoins, soyez conscients du fait que seul le mode console (liaison série) ne pollue pas les observations que l'on peut faire sur le trafic: les modes telnet ou Web étant supportés par TCP/IP, et donc transportés par Ethernet, ils génèrent des trames Ethernet qui peuvent rendre confuses les observations que vous devez réaliser dans la suite de ce TP.

  1. Une fois que le switch et le PC sont visibles l'un de l'autre, accédez au switch en mode telnet pour regarder ses tables d'adressage ainsi que l'état de ses ports.
  2. Faire la même chose en accédant au switch via l'interface Web par l'URL http://10.10.S.N et regardez les différents onglets (constatez avec wireshark les répercutions sur le trafic).

Exercice 14 - Administration centralisée par piles de switchs (Stacking)

Il est possible d'identifier un switch, parmi un ensemble de switchs reliés entre eux, comme étant Commander de la pile. A partir de cet état, les autres switchs, s'ils sont dans un état Candidate, peuvent rejoindre la pile et être administrables via l'accès de configuration du commander. Tester ces fonctionnalités.


Etienne.Duris[at]univ-paris-est.fr - © Université de Marne-La-Vallée - Mars 2010