Outils personnels
Vous êtes ici : Accueil Blog Travaux pratiques: Commutation Ethernet
Navigation
 
Actions sur le document

Travaux pratiques: Commutation Ethernet

Filed Under:

Travaux pratiques: Commutation Ethernet

Travaux pratiques: Commutation Ethernet

Author: Emmanuel Viennet
Contact: viennet@lipn.univ-paris13.fr
Date: 22 mars 2003, révisé le 2 mars 2004

Objectifs

Organisation de la séance

Les étudiants (environ 20) seront divisés en 4 groupes de 5 personnes. Chaque groupe travaillera sur une "rangée" d'ordinateurs. Chaque rangée est dotée au minimum du matériel suivant:

  • 4 PC, dotés 2 cartes Ethernet;
  • un hub ethernet;
  • accès à un commutateur (switch CISCO 2950);

Le TP se déroule sur 4 heures.

Le texte ci-dessous décrit une série de réalisations à effectuer en se répartissant les tâches. Chaque étape devra être validée avec l'enseignant et sera consignée dans un compte rendu, qui décrira précisément les difficultés rencontrées, les solutions apportées et les résultats obtenus.

Compte Rendu

Chaque groupe réalisera un compte rendu qui sera remis à l'enseignant à la fin de la séance, sur une disquette. Le compte rendu sera un simple fichier texte. Il comprendra les réponses aux questions de cet énoncé, accompagnées lorsque c'est nécessaire de copies des sorties des commandes unix pertinentes. On pourra aussi joindre d'autres fichiers (extraits de logs, fichiers de configuration) avec les explications nécessaire à leur compréhension.

On prendra soin de décrire toutes les manipulations effectuées, surtout si elles n'étaient pas mentionnées dans l'énoncé.

Ce compte rendu sera noté.

Commutation ethernet : rappels des bases

Principes de base

Un commutateur ethernet est un équipement de niveau 2 : il manie des trames ethernet (adresses MAC) sans regarder leur contenu (par exemple un datagramme IP). Avant l'apparition des commutateurs, on utilisait des ponts pour segmenter les réseaux Ethernet.

Un commutateur Ethernet (switch) s'installe comme un "hub". Un hub répète les trames qu'il reçoit sur tous ses ports. Un commutateur essaie de minimiser les envois inutiles qui gaspillent de la bande passante et génèrent des collisions. Pour cela, il utilise une table de commutation qui associe à chaque adresse MAC connue le port par lequel on peut l'atteindre.

Afin de simplifier la mise en place du commutateur et son administration, cette table est apprise automatiquement durant le fonctionnement. Lorsque l'adresse de destination d'une trame n'est pas dans la table, le commutateur l'envoie sur tous ses ports, sauf celui par lequel elle est arrivée (il se comporte alors comme un hub). Cependant, il note au passage l'adresse source de la trame dans sa table. De cette façon, les futurs envois vers cette station pourront être optimisés.

Un mécanisme de vieillissement (aging) des associations permet de résoudre le problème des déplacements de station d'un port à l'autre.

Normalement, la topologie physique d'un réseau Ethernet est un arbre (chaque hub ou commutateur est un noeud, les stations sont des feuilles). Il peut arriver que l'on crée des boucles: soit par inadvertance, soit pour obtenir des redondances augmentant la robustesse du réseau. Les commutateurs utilisent un algorithme distribué pour construire un arbre recouvrant (spanning tree) afin d'éviter les bouclages infinis. Pour cela, ils échangent les BPDU du protocole STP.

Débits, duplex et autonégociation

Les réseaux Ethernet filaires offrent différents débits et différents modes: half duplex (HD), full duplex (FD).

Le support utilisé est soit des paires torsadées (TX) soit de la fibre optique (FX).

Actuellement, les plus communs sont:

  • 10Mbps HD (hub, anciennes cartes réseaux);
  • 10Mbps HD (plus rarement utilisé);
  • 100Mbps HD (typiquement hubs 10/100)
  • 100Mbps FD ("fast ethernet", souvent commuté)
  • 100Mbps FD / Fibre (liaison + longues)
  • 1000Mbps FD (TX ou FX)

Deux équipements connectés ne peuvent communiquer que s'ils utilisent le même mode. Certaines erreurs de configuration se traduisent par une communication possible mais avec de forts taux d'erreurs ou de collisions (exemple: carte half-duplex connecté à commutateur full-duplex).

En général, on peut soit fixer le mode (débit et duplex) sur chaque équipement, soit utiliser un mécanisme d'autonégociation (dans ce cas, il faut le spécifier aux deux extrémités). Dans le doute, il ets en général conseillé d'utiliser l'autonégociation.

Sur les cartes réseau, le choix du mode est normalement un paraètre du pilote (driver). Sous Linux, les commandes mii-tool et/ou ethtool permettent d'afficher ou de modifier le mode.

Les commutateurs les plus répandus offrent en général tous les modes 10 et 100, et parfois des ports 1000 sur paire torsadée ou des logements pour interfaces fibres optiques 100 ou 1000.

Configuration et administration du commutateur

La configuration d'un commutateur professionnel (il existe des modèle meilleur marché offrant moins de fonctionnalités) peut s'effectuer de différentes façons:

  • console sur liaison série RS232;
  • console telnet ou ssh sur IP;
  • serveur HTTP embarqué (interface graphique);
  • protocole SNMP.

Autres fonctionnalités

Enfin, les commutateurs offrent de nombreuses autres fonctionnalités que nous n'avons pas le temps d'étudier ici. Parmi les plus importantes, citons:

  • Sécurisation des ports

    Deux approches:

    1- associer à chaque port une liste d'adresses MAC (ethernet) autorisées. C'est l'approche généralement retenue pour empecher les connexions de visiteurs indésirables sur de petits réseaux.

    Inconvénients: administration qui devient lourde sur de grands réseaux, sécurité très relative car les stations peuvent facilement changer d'adresse MAC.

    2- 802.1x et serveur d'authentification RADIUS.

    Avantage: gestion centralisée des autorisations (annuaire).

    Inconvénient: mise en place plus complexe. Va se répandre, surtout avec l'arrivée des réseaux sans fils pour lesquels cette approche devient incontournable.

  • VLAN (Virtual Local Area Network) Un VLAN est un sous-réseau de niveau 2, qui peut partager le meme réseau avec d'autres VLANs. Les commutateurs sont chargés d'isoler chaque VLAN, ce qui est utile pour sécuriser les échanges. Le protocole 802.1q est utilisé pour marquer les trames Ethernet et indiquer le VLAN auxquel elles appartiennent.

    Les VLAN peuvent etre définis par port ou par adresse MAC.

    Pour communiquer entre eux, deux VLANs doivent etre reliés par un routeur (niveau 3). Le niveau de sécurité n'est cependant pas idéal, certaines attaques permettent de passer d'un VLAN à l'autre (voir les documents cités ci-dessous).

    Voir aussi:
  • fonctions de supervision du trafic et des disfonctionnements (par exemple via SNMP).

Réalisations

La figure ci-dessous décrit la configuration de base de du réseau à construire sur chaque rangée.

La lettre R désigne dans les adresses IP le numéro de la rangée (de 1 à 4).

ReseauBase.png

Cette configuration comporte 4 PC fixes, un commutateur (switch) installé dans la baie, et un hub (ce dernier sera installé sur la table, ou, suivant les indications de l'enseignant, dans la baie).

1. Installer Linux sur les 4 PC

L'image "RedHat 9" des salles de TP réseau est bien adapté à ce TP.

Points particuliers à vérifier/configurer/tester:

  • on installera ethereal et tcpdump sur les PC 2 et 3;
  • l'applet d'administration des switchs demande un navigateur web récent avec Java installé.

2. Configuration du switch

On va reconfigurer le switch comme s'il était neuf: pour cela, suivre les étapes suivantes:

  1. Connecter un PC au switch via un cable série (qui se branche sur la face arrière du switch);

  2. Lancer un émulateur de terminal (minicom sous linux, ou HyperTerminal sous Windows); Le configurer en 9600 8N1.

  3. Eteindre le switch (le débrancher) et le rebrancher en appuyant sur le bouton "Mode" (garder le bouton appuyé jusqu'à affichage d'un message dans la console:

    The system has been interrupted prior to initializing the flash
    file system. These commands will initialize the flash file system, and
    finish loading the operating system software:
  4. Initialiser le système avec les commandes:

    switch# flash_init
    switch# load_helper

    Puis supprimer l'ancienne configuration:

    switch# del flash:config.text

    Note: le switch utilise un système de fichiers en mémoire flash, on peut afficher son contenu:

    switch# dir flash:

    Démarrer le système:

    switch# boot

    Comme il n'y a plus de fichier de configuration, le système vous propose de lancer le dialogue de configuration initial:

    Continue with the configuration dialog? [yes/no]: Y

    Répondez oui: "Y"

  5. Configuration de base:

  • entrer les mots de passes (utiliser toujours "switchR", où R est votre numéro de rangée. Mettre ce mot de passe partout (le système va se plaindre car ce n'est bien sur pas recommandé pour la sécurité).
  • spécifier l'adresse IP du switch (10.0.R.100, voir figure).
  • indiquer "vlan1" pour que l'on puisse administrer le switch à partir du VLAN par défaut.

Après cette première configuration, le switch est fonctionnel et on peut le connecter au réseau ethernet.

3. Configurer le réseau

3.1. Quels sont les cables ethernet nécessaires ? Indiquer le type de chaque cable (droit ou croisé) et justifier le choix.

3.2. Configurer les interfaces IP (ifconfig) sur chaque PC.

3.3. A l'aide des commandes ifconfig, ping et arp, déterminer et noter les adresses MAC des 4 PC et celle du switch. Le switch a-t-il une ou plusieurs adresses MAC ? (expliquez les mesures effectuées)

3.4. A l'aide de la commande mii-tool (ou suivant votre matériel ethtool), déterminez sur chaque PC l'état de la carte réseau utilisée (half-duplex ou full-duplex, 10 ou 100Mbps). Expliquez les résultats observés.

3.5. Vérifier que le switch répond au "ping", et lancer son interface d'administration http (url http://10.0.R.100/). Observer les différents menus, mais ne rien changer pour l'instant.

4. Mesures de débit

On utilisera le petit utilitaire ttcp pour mesurer des débits TCP et UDP entre les différentes stations.

Installer si nécessaire ce logiciel et lire sa page de manuel.

4.1. Mesurer les débits TCP et UDP entre le PC1 et le PC2, puis entre le PC3 et le PC4, puis entre le PC1 et le PC4. Commenter les résultats.

4.2. Créez un fichier d'une centaine de méga-octets (par exemple avec une commande comme tar cf - /usr/XXX > /tmp/gros). Mesurer le temps de copie de ce fichier entre les différents PC en utilisant ssh (time scp ...). En déduire le débit effectif pour ssh, comparer et commenter ces résultats avec ceux obtenus avec ttcp.

4.3. Quel est l'état du port du switch qui est connecté au hub ? Il y a-t-il des collisions sur ce port ? Et sur les autres ports actifs ?

4.4. Forcer le port connecté au PC1 à 10Mbps/half-duplex. Que fait la carte réseau du PC1 ? (voir question 3.4)

5. ARP (Address resolution Protocol)

5.1. Faire afficher la table ARP du switch. Débrancher le port du PC2. Au bout de combien de temps la table est-elle mise à jour ?

5.2. Afficher la table d'association ports <-> adresses MAC. Tous les PC sont-ils visibles ? Commenter.

6. Analyse de trafic

6.1. Lancer etherreal sur le PC2 et capturer le trafic pendant 20 secondes. Donner la liste des trames observées et leur signification.

6.2. Lancer un ping de PC1 vers PC4, tout en observant le trafic sur PC2. Qu'observe-t-on ? Répéter l'expérience plusiers fois et conclure.

6.3. Configurer le port connecté au PC2 en "monitoring" (SPAN dans le vocabulaire CISCO, ce qui signifie "Switched Port Analyzer"). Le SPAN permet de recopier sur un port donné le trafic destiné à un ou plusieurs autres ports. Cette technique est utilisée pour pouvoir effectuer des analyses de trafic sans perturber le fonctionnement du réseau.

Refaire dans cette configuration les expériences de la question précédente.

7. Sécurisation d'un port

Pour sécuriser un réseau local, il est courant de n'interdire les connexions des stations qui ne sont pas répertoriées par l'administrateur réseau. Une possibilité est d'associer à chaque port du switch une liste d'adresses MAC autorisées sur ce port.

Utiliser cette technique pour interdire l'accès du PC3.

Vérifier que le PC3 ne peut plus communiquer avec les PC1 et 2. Peut-il communiquer avec le PC4 ?

8. Spanning tree (arbre recouvrant)

Les techniques d'arbres recouvrants permettent de connecter un ensemble de switchs avec des liens redondants (boucles), qui seront automatiquement activés en cas de panne d'un lien actifs. Un algorithme (distribué) construit un arbre recouvrant du réseau, pour assurer qu'il n'y a pas de boucles possibles (les boucles seraient catastrophiques pour le protocole Ethernet !).

Pour réaliser cette partie, vous devez travailler avec vos condisciples, afin d'interconnecter les switchs de toutes les rangées comme sur la figure suivante:

ArbreRecouvrant70.png

Chaque rangée doit avoir installé un analyseur (etherreal) sur un port SPAN, afin d'observer tout le trafic.

8.1. Lorsqu'aucune station n'est active sur le réseau (pas de transferts ni de pings); qu'observe-t-on ?

8.2. Lancer un échange (ping) entre la rangée 1 et la rangée 3. Quel est le chemin suivi par la trame ?

8.3. Lancer un ping continuel entre 1 et 3, et déconnecter le lien entre les switchs 2 et 3. Qu'observe-t-on ? Combien de temps met le réseau à se rétablir ? Peut-on agir sur ce délai dans la configuration des équipements ?