Travaux Pratiques
Encapsulation ICMP/IP/Ethernet,
rôle du protocole ARP et fragmentation IPv4

Copyright (C) 2012  Jean-Vincent Loddo
Licence Creative Commons Paternité - Partage à l’Identique 3.0 non transposé.

Séance de TP entièrement effectuée avec le logiciel Marionnet. Durée estimée : 1h30 - 2h.
Prérequis.
Avoir suivi le cours magistral sur le sujet.

1 Câblage et configuration de base

Définissez un réseau local avec trois machines, m1, m2 et m3, branchées à un commutateur S1. En ajoutant une machine virtuelle dans le réseau, choisissez comme distribution GNU/Linux debian ou mandriva pour avoir la possibilité, par la suite, de lancer des applications graphiques (notamment wireshark).
Figure images/tp-marionnet-1-plan.png
La plage d’adresses attribuée au réseau est, en notation CIDR, 192.168.1.0 ⁄ 24. La machine mi prendra l’adresse 192.168.1.i. Configurez les interfaces réseaux avec la commande ifconfig en utilisant la notation CIDR. Testez ensuite le bon fonctionnement des liaisons par la commande ping. Pendant qu’un ping tourne en boucle entre deux machines :

2 Configuration des noms symboliques

Sous Unix il est possible d’utiliser des noms de machines symboliques à la place des numéros IP sans passer par un serveur de noms (DNS), mais en modifiant simplement un fichier nommé /etc/hosts, dont les lignes sont de la forme :
<IP> <NOM> <NOM>*
Par exemple :
127.0.0.1 localhost
10.10.10.1 self this me
74.125.43.106 www.google.fr moteur
Il faut lire ces lignes de la droite vers la gauche : tous les noms symboliques (séparés par des blancs) seront traduits dans le numéro IP spécifié tout à gauche.
Modifiez donc ce fichier (avec un éditeur de texte tel que vi, emacs, nano, kate) sur les 3 machines de façon à pouvoir par la suite exprimer toute adresse de façon symbolique depuis n’importe quel poste du réseau. Remarque : après ce travail, effectué sur 3 machines, vous pourrez facilement constater les limites de cette approche pour des réseaux plus grands et donc l’intérêt des serveurs de noms.
Testez la résolution de noms, que vous avez mis en oeuvre sur votre réseau, par des ping “singuliers” (pas en boucle, un seul aller-retour, voir le sens de l’option -c dans le manuel de ping) :
m1# ping -c 1 m2
m1# ping -c 1 m3
m2# ping -c 1 m1 m2# ping -c 1 m3
m3# ping -c 1 m1 m3# ping -c 1 m2

3 ARP (Address Resolution Protocol)

Pour les exercices de cette section, vous utiliserez la commande arp qui permet d’afficher et de modifier la table ARP d’une machine. Pour obtenir de l’aide sur cette commande, comme pour la majorité des commandes sous Unix, vous pouvez utiliser l’option “h” (help) : arp -h ou le manuel Unix : man arp.
Placez-vous sur la machine m1 :

3.1 Capture de trames ARP

4 Fragmentation

La commande ping permet d’envoyer des requêtes echo ICMP d’une taille (en octets) paramétrable. Pour chacun des points suivants, vous constaterez avec wireshark la fragmentation des paquets survenue :