CentraleSupélecDépartement informatique
Plateau de Moulon
3 rue Joliot-Curie
F-91192 Gif-sur-Yvette cedex
1CC1000 - Systèmes d'Information et Programmation - TD: Réseaux

Table of contents

1. Internet depuis notre point de vue

Dans un terminal, la commande ifconfig (sous macOS), ou ipconfig (sous Windows, en utilisant PowerShell comme terminal), permet d'obtenir les interfaces réseaux disponibles sur votre machine. Vous pouvez en avoir plusieurs. Les interfaces notés loX (où X est un entier) correspondent aux boucles locales, en particulier la boucle 127.0.0.1.

Vous pouvez avoir les interfaces ethernet enX (sur OSX) ou ethX (sur Windows). Cela peut correspondre à des interfaces filaires ou wifi.

Identifiez l'adresse IP principale de votre machine. Vous pouvez vérifier cette information en utilisant le programme de configuration de votre système d'exploitation (OS).

 

La commande ping vous permet d'envoyer une requête à un serveur afin de savoir si celui-ci est actif et de déterminer le "round-trip time" (le temps que met un message à arriver à destination et la réponse à revenir à la source). Certains serveurs, pour des raisons de sécurité, ne répondent pas au ping.

Testez les serveurs suivants. Que concluez vous ?

  • paris-saclay.fr
  • www.mcgill.ca
  • web.aiu.ac.jp

 

Réalisez la même expérience pour les serveurs suivants. Que concluez-vous ?

  • google.fr
  • google.ca
  • google.jp

 

La commande traceroute (sous macOS), ou tracert (sous Windows, en utilisant PowerShell comme terminal), permet de déterminer les points de passage d'un message ping envoyé entre votre machine et un serveur. Notez que certains serveurs intermédiaires ne répondent pas. Testez la commande pour les chemins suivants.

  • paris-saclay.fr
  • www.mcgill.ca
  • web.aiu.ac.jp

Puis pour les destinations suivantes.

  • google.fr
  • google.ca
  • google.jp

 

2. Routage

On considère le réseau suivant et ses tables de routages.

Quels sont les chemins (aller/retour) pris par les paquets pour un ping de A vers G ?

 

Quels sont les chemins (aller/retour) pris par les paquets pour un ping de G vers C ?

 

Quelle est l'erreur de configuration ? Comment la résoudre ?

 

3. Ethernet et IP

Nous nous intéressons à la configuration suivante. Un réseau domestique est connecté à Internet en utilisant la passerelle d'un fournisseur d'accès Internet.

L'ordinateur local, avec l'adresse 192.168.0.2, envoie un message à destination de l'ordinateur avec l'adresse : 8.1.3.8. Quels sont les protocoles impliqués au niveau local ?

 

Décrivez une trame type envoyé par l'ordinateur local à la passerelle. En particulier, décrivez sa structure et les principales information des entêtes Ethernet et IP.

 

Supposons maintenant que 8.1.3.8 est un serveur web. L'ordinateur local envoie une requête pour obtenir la page "index.html". Quels sont les protocoles impliqués ? Complétez la trame de l'exercice précédent.

 

La trame que vous avez précédemment décrite atteint la passerelle. La passerelle doit la modifier avant de l'acheminer vers Internet. Quelles sont les modifications ?

 

Le serveur reçoit la requête GET, et envoie le code HTML correspondant à la page demandé. Décrivez la trame renvoyée.

 

Quand la réponse atteint la passerelle, elle est acheminée à destination de la machine locale. Quelles sont les modifications apportées par la passerelle à la trame ?

 

4. NAT -- Network address translation

 

Nous considérons maintenant un réseau un tout petit peu plus complexe.

Pourquoi est-il possible pour deux ordinateurs de partager une même adresse IP : 192.168.0.2?

 

Dans le réseau local 1, nous avons plusieurs ordinateurs. N'importe lequel peut envoyer un message vers un serveur. Avec la stratégie précédente (remplacer l'adresse IP locale par l'adresse IP de la passerelle), il y a un problème quand la passerelle reçoit la réponse. Elle ne sait pas à quelle machine locale la faire suivre.

Pouvez vous imaginer une solution, déployée sur la passerelle, qui utiliserait les ports pour contourner ce problème ?

 

5. Services (Firewall, proxy, DNS)

Qu'est ce qu'un parefeu (firewall) ? À quel endroit du réseau se trouvent les parefeux ? Comment sont-ils configurés ?

 

  • Un pare-feu est un dispositif qui contrôle le flux de données et filtre le trafic entrant et sortant. Un pare-feu peut isoler des parties du réseau.

En général, il existe au moins deux zones : Internet, où la confiance est nulle, et un réseau interne où la confiance est plus importante.

  • Le filtrage se fait selon les critères suivants :
    • l'origine ou la destination des paquets ;
    • le type de protocole (TCP / UDP) ;
    • les données elles-mêmes (taille, correspondance à un modèle, etc.) ;
    • Les utilisateurs des pare-feu les plus récents.
  • Un pare-feu est souvent associé à un routeur ou même à un NAT (la passerelle résidentielle contient un pare-feu qui protège les ordinateurs du réseau).
  • Typiquement, on trouve un pare-feu dans le diagramme au niveau de la passerelle résidentielle. Ils sont configurés pour laisser passer tout le trafic sortant mais couper tout le trafic entrant, quel que soit le port, sauf celui enregistré dans la table de traduction NAT. Les paquets qui constituent la réponse à une requête initiée par les ordinateurs du réseau local sont autorisés.
  • Il existe également un pare-feu au niveau du routeur de la ferme de serveurs web. Il laisse passer les messages TCP entrants sur le port 80 (protocole HTTP) et TCP sur le port 443 (HTTPS).

Qu'est ce qu'un proxy ? Pourquoi est-il utilisé en association avec un parefeu ?

 

Qu'est ce qu'un DNS (Domain Name System) ? Décrivez les protocoles utilisés par les DNS.

 

Modifiez le diagramme de cet exercice pour montrer les différents composants que nous avons évoqués (NAT, firewall, proxy et DNS). Indiquez la séquence des requêtes générées quand nous accédons à la page web http://www.example.fr/index.html hébergée sur le serveur 8.1.3.8.

 

6. Wireshark

Démonstration de Ping, Traceroute et Wireshark. Observez les trames, l'encapsulation, l'ordre des requêtes et en particulier la session TCP et l'acquittement des messages.

Si votre enseignant n'a pas le temps de faire la démonstration, voici une vidéo expliquant tout ce qu'on peut dire à partir de la trace : Wireshark.mp4