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.
- Mettre le switch sous tension et relier son port série à un PC.
- 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).
- 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.
- 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.
- 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.
- 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
- 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]
- 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.
- Faites de même avec un second PC en lui donnant une adresse IP dans
le même sous réseau.
- 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
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).
- Vérifier que les différents PC se trois switchs sont accessibles à partir de
n'importe quel PC.
- 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.
- Tenter de désactiver un port entre deux switchs et constater le
résultat sur le ping, le trafic réseau (consultable avec
wireshark).
- 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).
- 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.
- 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é.
- 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).
- Observer l'effet sur le trafic et sur les tables
d'adressages.
- Échanger deux fils arrivant sur 2 ports d'un même
switch. Constater l'effet sur des ping entre différentes
machines.
- 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.
- Observez l'effet sur le trafic et l'état courant des ports.
- Quel est le switch racine et les switchs dédiés?
Même question sur les ports racines? dédiés? boqués?
- 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?
- 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.
- Donnez
une adresse IP aux interfaces ethernet des PC comme sur la figure.
- 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.
- 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.
- 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.
- 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).
- 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.
- 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.
- 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.
- 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.
- Pourquoi placer deux liens entre les switchs ?
- Comment configurer les switchs et quelles sont les
modifications à apporter aux associations ports/VLAN?
- 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é.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.