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.

 

http://marine.edu.ups-tlse.fr/%7Etorguet/cours/sid/SID_reseaux_TD2_fichiers/image001.gif

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) :

 

http://marine.edu.ups-tlse.fr/%7Etorguet/cours/sid/SID_reseaux_TD2_fichiers/image002.gif

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

 

http://marine.edu.ups-tlse.fr/%7Etorguet/cours/sid/SID_reseaux_TD2_fichiers/image003.gif

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

 

http://marine.edu.ups-tlse.fr/%7Etorguet/cours/sid/SID_reseaux_TD2_fichiers/image004.gif

 

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 :

http://marine.edu.ups-tlse.fr/%7Etorguet/cours/sid/SID_reseaux_TD2_fichiers/image005.gif

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.

  1. Quelles sont les routes utilisées pour accéder aux adresses : shiva, www.lirmm.fr, www.free.fr, www.google.com, www.nasa.gov.

 

  1. 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 ?

 

  1. 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.

 

  1. 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 ?

 

  1. 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.

 

  1. Sélectionner le premier message Requête Echo ICMP envoyé par votre ordinateur. Quel est le numéro IP de votre machine ?

 

  1. Dans l’entête du paquet IP. Quelle est la valeur du champ protocole de niveau supérieur ?

 

  1. 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 ? 

 

  1. 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.

 

 

  1. 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 ?

 

  1. Quels sont les champs qui restent constants ? Quels sont les champs qui doivent rester constants ? Quels champs doivent changer ? Expliquez pourquoi ?

 

  1. Examinez le champ d’identification des datagrammes IP et expliquez les modifications apportées dans ce champ pour chaque requête ICMP. 

 

  1. 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).

 

  1. Quelle est la valeur d’indentification et le champ TTL ?

 

  1. 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.

 

  1. 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 ?

 

  1. 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 ?

 

  1. Quels sont les champs qui changent dans l’entête entre le premier et le second fragment ?

 

  1. Examinez à présent les messages Requête Echo ICMP pour la taille de paquets de 3500.

 

  1. Combien de fragments sont-il créés à partir du datagramme original ?

 

  1. Quels sont les champs qui sont modifiés dans l’entête IP parmi les différents fragments ?