IUT Béziers – Département SRC
Travaux
Pratiques 8
Manipulation des adresses IP
Adressage IP
Rappels sur l’adressage IP
Le protocole IP est chargé du
routage des paquets dans le réseau Internet et sur une majorité des réseaux
locaux. IP utilise un format d’adresse binaire de la forme A.B.C.D, avec
(A ; B ; C ; D) des entiers représentés sur 8 bits.
C'est-à-dire, chaque octet peut varier de 0 à 255 en valeur décimale ou de
00000000 à 11111111 en valeur binaire.
Une adresse IP se découpe en deux
parties :
·
Une partie réseau : qui code le réseau sur
lequel se trouve la machine ;
·
Une partie hôte : qui code un identifiant
de la machine sur le réseau.

On peut
voir cela comme le système de numérotation des téléphones fixes (XX YY ZZ
SS TT)
§
XX : code la position de la région
(01 : région parisienne, 04 : sud-est de la France, etc.)
§
YY : code le département (67 :
Hérault, 66 : Gard, etc.)
§
Etc.
Ainsi les adresses IP sont
groupées en plusieurs classes :
·
Classe A :
la partie réseau est codée sur 8 bits et le bit de poids fort est fixé à 0. Le
reste correspond à la partie hôte codée sur 24 bits. (cf. schéma
ci-dessous) :

·
Classe B :
la partie réseau est codée sur 16 bits et les deux premiers bits ont pour
valeurs 10 :

·
Classe C :
la partie réseau est codée sur 24 bits dont les premiers bits commencent par
110 :

Les sous-réseaux et les masques.
Créer un sous-réseau, c’est créer des réseaux de taille
inférieure avec une seule adresse réseau d’une classe donnée. Pour coder les sous-réseaux on utilise une
portion de la partie hôte de l’adresse :

Cette hiérarchisation en
sous-réseau est locale, elle permet d’optimiser la circulation des paquets dans
le réseau local. Maintenant dans le réseau local, les équipements doivent
savoir faire la différence entre deux sous-réseaux. Pour cela on utilise des
masques.
Le masque permet de faire la
différence entre la partie réseau et la partie hôte d’une adresse IP. On
remplit les bits à 1 aux emplacements de la partie réseau et 0 pour les bits de
la partie hôte.
Exemple : Sur un réseau de classe A, les 8 premiers bits
correspondent à la partie réseau donc le masque d’une adresse de classe A
correspond à : 11111111.00000000.00000000.00000000 qu’on note plus
facilement en décimal 255.0.0.0.
Exemple : 120.121.122.123 est une adresse de classe A,
l’adresse du réseau est obtenu en appliquant l’opération ET (logique) entre
l’adresse et le masque Donc l’adresse réseau est :
01111000.01111001.01111010.01111011
ET 11111111.00000000.00000000.00000000
01111000.00000000.00000000.00000000
Récapitulatif: @IP : 120.121.122.123, Masque réseau de
classe A : 255.0.0.0 ; @réseau : 120.0.0.0.
Exercice 1 : Opérations sur les masques réseaux
Soient les machines suivantes : A (@IP :
192.1.2.2), B (@IP : 192.1.3.3), C (@IP : 192.1.3.4), D (@IP :
192.2.4.2).
1.
Quel est le masque d’un réseau de classe B ? de
classe C ?
2.
Quelles sont les machines se trouvant sur le réseau
192.1.3.0 ? (Conseil :
Utilisez le masque 255.255.255.0). Justifiez votre réponse en détaillant les
calculs.
3.
Quelles sont les machines se trouvant sur le réseau
192.1.0.0 ? Quel est le masque utilisé ? Justifiez votre réponse en
détaillant les calculs.
Exercice 2 : Utilisation de traceroute
Rappel : la commande traceroute
fonctionne en envoyant tout d’abord un ou plusieurs datagrammes avec le champ TTL (Time To Live) dans l’entête IP
positionné à 1. Il envoie ensuite une série d’un ou de plusieurs datagrammes
vers la même destination avec une valeur de TTL à 2. Il envoie ensuite une série d’un
ou de plusieurs datagrammes vers la même destination avec une valeur de TTL à 3, et ainsi de
suite. Quant un routeur reçoit un datagramme, il décrémente de 1 le TTL (il est spécifié
dans la RFC 791 qu’un routeur doit décrémenter le TTL par au moins un). Si le TTL atteint 0, le routeur un message ICMP
(i.e., TTL-exceeded) à l’hôte
émetteur. Ce fonctionnement permet de faire des sauts de 1 à chaque
étape : le premier routeur répond la première fois avec un TTL-exceeded, le message est envoyé avec
un TTL de 2 pour atteindre le second routeur (second pas).
Dans cet
exercice, nous utiliserons la commande traceroute déjà vue dans le TP1.
- Quelles sont les routes
utilisées pour accéder aux adresses : shiva, www.lirmm.fr,
www.free.fr, www.google.com, www.nasa.gov.
- Allez sur le
site http://www.traceroute.org/ afin de tracer la route jusqu’à votre
machine à partir de serveurs situés en Chine, au Japon, aux Etats Unis, en
Australie, en Inde et en Indonésie. Que constatez vous ?
- Lancez un traceroute vers les
adresses suivantes : www.i3S.unice.fr/I3S, www.irit.fr, www.irisa.fr, www.lifl.fr. Trouvez où les serveurs sont localisés.
Que pouvez-vous dire de la route suivie ? Allez sur le site de
Renater et comparez vos résultats par rapport à l’infrastructure générale
du réseau Renater (Retrouvez sur l’infrastructure les chemins employés).
Essayez de localiser tous les endroits empruntés (indications : vous
pouvez utiliser les commandes nslookup (e.g., http://www.espace-microsoft.com/fr/pas-a-pas/14729-comment-utiliser-commande-nslookup.html), whois (i.e. faites un man) et utiliser les services proposés par
http://whois.domaintools.com/). Expliquez le fonctionnement des commandes nslookup et whois.
- Allez sur le
site : http://www.afnic.fr/doc/ref/juridique/politique-donnees. Résumez en quelques lignes le contenu du
document ? quelles sont les conséquences ? A quoi correspond l’AFNIC ?
- Lancer Wireshark et
commencer la capture de paquets. Exécutez traceroute avec différentes longueurs de paquets (50
octets, 2000 octets et 3500 octets) sur des sites situés en France.
Arrêtez l’analyse de trames.
- Sélectionner
le premier message Requête Echo ICMP envoyé par votre ordinateur. Quel est
le numéro IP de votre machine ?
- Dans
l’entête du paquet IP. Quelle est la valeur du champ protocole de niveau
supérieur ?
- Quelle est
la taille totale du datagramme IP ? Combien d’octets sont présents
dans l’entête IP ? Combien d’octets sont présents dans la partie
utile ?
- Est ce que
le paquet a été fragmenté ou non ? Expliquez comment savoir si un
paquet a été fragmenté. Remplissez le tableau suivant en fonction des
différentes informations contenues dans la trame examinée.
- Triez les
paquets tracés en fonction de l’adresse source IP. Sélectionnez le premier
message ICMP envoyé par votre ordinateur. Quels champs sont toujours
modifiés d’un datagramme à l’autre dans la série de messages envoyés par
votre ordinateur ?
- Quels sont
les champs qui restent constants ? Quels sont les champs qui doivent
rester constants ? Quels champs doivent changer ? Expliquez
pourquoi ?
- Examinez le
champ d’identification des datagrammes IP et expliquez les modifications
apportées dans ce champ pour chaque requête ICMP.
- A partir des
paquets toujours triés par adresse source, trouvez la séries de messages
ICMP TTL-exceeded envoyés en
retour à votre machine par les routeurs les plus proches (1 saut).
- Quelle est
la valeur d’indentification et le champ TTL ?
- Est ce que
toutes ces valeurs restent inchangées pour toutes les réponses TTL-exceeded envoyées à votre
ordinateur par le routeur le plus proche (1 saut) ? Expliquez
pourquoi.
- Triez à
présent les traces en fonction du temps. Cherchez le premier message
Requête Echo ICMP qui a été envoyé par votre ordinateur après avoir changé
la taille des paquets à envoyer à 2000. Examinez le premier fragment du
datagramme IP fragmenté. Quelles sont les informations de l’entête qui
permettent de savoir qu’un datagramme a été fragmenté ? Quelles sont
les informations dans l’entête IP qui indiquent s’il s’agit du premier ou
du dernier fragment ? Quelle est la taille de ce datagramme IP ?
- Examinez le
second fragment du datagramme IP fragmenté. Quelles sont les informations
contenues dans l’entête qui indiquent qu’il n s’agit pas du premier
fragment ? Est ce qu’il reste des fragments ? Comment le
savoir ?
- Quels sont les
champs qui changent dans l’entête entre le premier et le second
fragment ?
- Examinez à
présent les messages Requête Echo ICMP pour la taille de paquets de 3500.
- Combien de
fragments sont-il créés à partir du datagramme original ?
- Quels sont
les champs qui sont modifiés dans l’entête IP parmi les différents
fragments ?