M1 MIAGE - Réseaux et Protocoles - adressage IP

Auteur(s):
Sébastien CHOPLIN

Exercice 1: classes d'adresse

  1. Quelles sont les classes des adresses réseaux suivantes?
    1. 192.18.97.39 (adresse IP de www.javasoft.com)
    2. 138.96.64.15 (www.inria.fr)
    3. 193.49.184.6 (www.u-picardie.fr)
    4. 18.181.0.31 (www.mit.edu)
    5. 226.192.60.40
  2. Pour chacune de ces classes, étant donné un réseau y appartenant, combien d'adresses de machines peuvent, a priori, être utilisées?

Exercice 2: subnetting

Votre entreprise vient de se voir attribuer l'adresse IP 214.123.115.0. Vous devez créer 10 sous-réseaux distincts pour les 10 succursales de l'entreprise, à partir de cette adresse IP.

  1. Quel masque de sous-réseau devez vous utiliser ? (donner le masque en notation décimal (ex: 255.255.0.0) ou en nombre de bits (ex: 255.255.0.0 -> /16 ) )
  2. Combien d'adresses IP (machines ou routeurs) pourra recevoir chaque sous-réseau ?
  3. Quelle est l'adresse de broadcast du 5ième sous-réseau utilisable?
  4. Combien d'adresses IP distinctes est-il possible d'utiliser avec un tel masque, tout sous-réseaux possibles confondus?

Exercice 3: application 1 (sous Knoppix)

On souhaite définir un réseau privé de classe C pour l'ensemble de la salle.

  1. Mettez vous d'accord pour définir un réseau et un masque commun.
  2. Choisissez une adresse IP pour votre station dans le réseau précédemment déterminé.
  3. Configurez votre station à l'aide de la commande:
    ifconfig eth0 ADRESSE_IP netmask MASK
    où il faut remplacer ADRESSE_IP par l'adresse IP que vous avez choisie et MASK par le masque réseau que vous avez choisi.
  4. Utilisez la commande
    traceroute ADRESSE_IP
    où ADRESSE_IP est l'adresse de la station d'un de vos camarades pour voir une estimation du chemin utilisé pour contacté sa station (le fonctionnement de traceroute sera vu lors de l'étude d'ICMP)




Exercice 4: ARP

Au fait comment les paquets IP arrivent sur la bonne station ?? (autrement dit: comment est assurée la liaison entre la couche Ethernet (couche liaison) et la couche IP (couche raison) ?).

Réponse: le protocole ARP (Address Resolution Protocol), que vous avez dû voir utilisé lors de l'analyse des trames Ethernet, permet d'envoyer dans une trame Ethernet une requête demandant à l'ensemble du réseau quelle est l'adresse MAC qui permet de joindre une adresse IP donnée.

Les datagrammes IP sont ensuite encapsulés dans des trames Ethernet avec comme destination l'adresse MAC donnée en réponse de la requête ARP.

Pour éviter de systématiquement de redemander au réseau la correspondance Adresses IP / Adresses MAC, une table est conservée en mémoire, vous pouvez l'afficher avec la commande:
arp

  1. Regardez la liste des correspondances adresses IP/adresses MAC en mémoire.
  2. Si deux stations ont la même adresse IP, que va-t-il se passer ?
  3. Configurez deux machines de la salle pour qu'elles aient la même adresse IP.
  4. Utilisez ethereal pour analyser les trames ethernet et consultez votre table de correspondance ARP, à quelle adresse MAC correpond l'adresse IP en question ? Comparez avec vos collègues.

Exercice 5: application 2, subnetting

On souhaite définir deux sous-réseaux privés à partir d'une adresse de classe C, pour l'ensemble de la salle. Nous utiliserons le réseau de classe C suivant: 192.168.13.0/24 (/24 signifie que le masque est constitué de 24 bits à 1 suivis de 32-24=8 bits à 0).

Ping est une commande utilisant le protocole ICMP pour envoyer un message demandant une réponse pour tester la présence d'une station.

  1. Mettez-vous d'accord pour proposer deux adresses de sous-réseaux (donnez les masques correspondants).
  2. Choisissez une adresse IP dans l'un des 2 sous-réseaux (arrangez-vous pour répartir les adresses sur les deux sous-réseaux), et écrivez-la au tableau.
  3. A quoi correspond l'adresse 255.255.255.255 ?
  4. Exécutez la commande
    ping 255.255.255.255
  5. Quelles sont les adresses qui répondent ?
  6. Exécutez la commande
    ping ADRESSE
    où ADRESSE est l'adresse de broadcast de votre réseau
  7. Quelles sont les adresses qui répondent ?
  8. Exécutez la commande
    ping ADRESSE
    où ADRESSE est l'adresse de broadcast de l'autre réseau
  9. Quelles sont les adresses qui répondent ? Pourquoi ?

Exercice 6: Le routage des datagrammes IP

Routage dans un internet

L'un des objectifs du protocole IP est de constituer un réseau virtuel qui achemine les datagrammes en mode non connecté. L'acheminement des datagrammes peut devenir très complexe, notamment entre des hôtes connectés au travers de plusieurs réseaux. Cet acheminement est appelé routage IP.
La décision de routage, c'est-à-dire le choix d'une route, se fait à chaque noeud traversé. Typiquement, la première décision de routage est prise au niveau de la station émettrice, puis au niveau de chaque routeur, qui a pour fonction d'interconnecter deux ou plusieurs réseaux physiques.

Remise directe

Prenons le cas simple où les deux hôtes sont sur le même réseau. A doit envoyer un datagramme à B. A va donc encapsuler le datagramme IP dans une trame à destination de l'adresse physique de B. Cette adresse est obtenue à l'aide du mécanisme
ARP. B reçoit la trame directement. Dans ce cas, aucun routeur n'intervient dans l'acheminement du datagramme.
Tout le problème pour A est de savoir que B est sur le même réseau (et sous-réseau). Pour cela, il lui suffit de comparer les numéros de réseau des deux adresses IP (A et B). La station A extrait donc le numéro de réseau de l'adresse IP de B et le compare avec le sien. Si le numéro de réseau est le même, alors B est sur le même réseau.
L'extraction du numéro de réseau de B se fait à l'aide d'un ET LOGIQUE entre l'adresse IP de B et le masque de sous-réseau défini sur A. De cette façon, dans le cas où des sous-réseaux ont été définis, la comparaison porte sur le numéro de réseau et le numéro de sous-réseau. Il faut être conscient que A n'a pas connaissance du masque de sous-réseau de B.
Exemple: Adresse IP de A : 160.16.2.16, masque de sous réseau de A : 255.255.0.0 Adresse IP de B : 160.16.2.17.
              160. 16.  2. 16            160. 16.  3. 17
         ET   255.255.  0.  0       ET   255.255.  0.  0
         --------------------       --------------------
              160. 16.  0.  0            160. 16.  0.  0

             Les numéros de réseaux sont identiques

Remise indirecte

Si les résultats du ET LOGIQUE sont différents, cela signifie que B n'est pas sur le même réseau. Exemple: Adresse IP de A : 160.16.2.16, masque de sous réseau de A : 255.255.255.0 Adresse IP de B : 160.16.2.17.
            160. 16.  2. 16             160. 16.  3. 17
        ET  255.255.255.  0         ET  255.255.255.  0	
        --------------------        --------------------
            160. 16.  2.  0             160. 16.  3.  0

      Les numéros de réseaux et sous-réseaux sont différents

Dans ce cas, A doit identifier un routeur vers lequel envoyer le datagramme. En général, chaque hôte dispose au moins de l'adresse IP d'un routeur sur son réseau. Dans le cas contraire, le datagramme ne peut être envoyer et A retourne un message de type "Destination Host Unreachable".

A doit donc envoyer le datagramme au routeur R. Elle connaît l'adresse IP de R, mais a besoin de son adresse physique @R. Elle recherche donc dans son cache ARP puis effectue si nécessaire une requête ARP sur le réseau. Elle envoie enfin le datagramme à destination de IP (B) dans une trame à destination du routeur.



Chaque routeur doit également déterminer pour chaque datagramme reçu, le numéro de réseau du destinataire, par la même opération, et choisir la destination en conséquence. Le datagramme est toujours adressé de IP (A) vers IP(B) mais dans les trames des réseaux traversés entre les adresses physiques des routeurs intermédiaires.



Enfin, le dernier routeur reconnaît dans l'adresse IP de B, un numéro de réseau sur lequel il est connecté (il possède une adresse IP sur ce réseau). Il peut donc acheminer le datagramme directement vers B, après avoir récupéré l'adresse physique de B à l'aide d'ARP.



Pour faire communiquer les deux sous-réseaux de l'exercice précédent, on définit une passerelle permettant de router les datagrammes d'un réseau vers l'autre.

  1. La liste des routes définies pour votre station s'obtient avec la commande
    route
    Quelles sont les routes définies ?
  2. Sur quel réseau physique doit se trouver une passerelle permettant de relier les deux réseaux IP ?
  3. Ajoutez une route par défaut pour permettre à votre station d'envoyer des datagrammes IP à une station qui n'est pas dans votre sous-réseau à l'aide de la commande
    route add default gw ADRESSE_IP
    où ADRESSE_IP est l'adresse IP de la passerelle permettant de joindre l'autre sous-réseau. (On peut avoir deux passerelles différentes, une pour aller de A vers B et une autre pour aller de B vers A).
  4. Essayez de joindre une station de l'autre sous-réseau avec la commande ping.
  5. Exécutez la commande
    ping ADRESSE
    où ADRESSE est l'adresse de broadcast de l'autre réseau
  6. Quelles sont les adresses qui répondent ?