Travaux Pratiques

Commutation sur Ethernet - I

Installation, configuration, monitoring et Spanning Tree


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.

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 - Attribution d'une adresse IP

Dès que le switch disposera d'une adresse IP, l'accès au mode console sera é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, 65 ou 69, et où N est le numéro de votre switch) à ce switch avec le masque de réseau 255.255.0.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 comme dans la figure plus bas).

Exercice 3 - 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.

Note: Par convention, on attribue dans la salle de TP S un numéro x à chaque PC (de 1 à 13 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. Par exemple, 10.10.69.112 représente l'adresse IP attribuée à la carte d'interface eth2 du PC11 de la salle 69. Pour savoir quelle carte est associée à quelle interface, on peut consulter l'historique donné par dmesg.

Attention: Néanmoins, vous essayerez autant que possible de ne pas modifier la configuration de l'interface permettant d'accéder au réseau IP (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 3com qui est déjà branchée à votre arrivée. Vous utiliserez donc plutôt eth1 et eth2 pour les TPs.

  1. 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.0.0 [up]
  2. Reliez par un câble UTP droit la carte à un port du switch et tentez un ping vers l'adresse IP que vous avez donné au switch. Vous pouvez regarder ce qui passe par l'interface en question avec tcpdump -ni ethi dans un autre terminal. Le logiciel ethereal permet de réaliser des observations dans un mode graphique plus convivial que tcpdump.
  3. 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.
  4. 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 ethereal les répercutions sur le trafic).

Exercice 4 - 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.

Entre deux machines reliées par un switch, observez les différentes étapes nécessaires pour réaliser un ping. Utilisez pour cela ethereal sur la carte de l'une des machines et minicom en mode console sur le switch. Constatez l'effet joué par les tables ARP des machines et la table des adresses du switch dans ces étapes.

Exercice 5 - 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).

  1. Vérifier que les 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 ethereal).
  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 ?

Exercice 6 - 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 ethereal), l'activité sur les ports monitorés au repos et lors de ping entre différentes machines.

Exercice 7 - Boucles et Spanning Tree

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

  1. Observer l'effet sur le trafic et sur les tables d'adressages. Expliquez.
  2. Échanger deux fils arrivant sur 2 ports d'un même switch. Constater l'effet sur des ping entre différentes machines. Expliquez.
  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? Pourquoi? 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? Expliquez.

Exercice 8 - 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-mlv.fr - © Université de Marne-La-Vallée - Octobre 2005