Tutorat de programmation réseau
(Polytech'Lille, département GIS, quatrième année).
Conception et réalisation d'une pile TCP/IP.

Xavier Redon

1   Cahier des charges

Dans ce projet, votre but est d'améliorer une pile TCP/IPv6 basique. Pour la promotion 2015, l'implantation de la pile IPv6 doit aller jusqu'aux protocoles UDP et TCP.

2   Indications pratiques

Vous devez utiliser l'archive http://rex.plil.fr/Enseignement/Reseau/Tutorat13.Reseau.GIS4/NetStackV2.5.tgz. Cette archive contient la version de la pile TCP/IPv6 mise au point par les promotions précédentes. L'architecture du projet est constituée de deux bibliothèques et d'un programme principal.

3   Bibliothèques fournies

Trois bibliothèques sont utilisées pour construire la pile. Une bibliothèque concernant les interfaces Ethernet virtuelles et une bibliothèque de gestion d'évenements ont déjà été présentées dans le tutorat précédent de réalisation d'une couche liaison. Une troisième bibliothèque permet de gérer des tableaux associatifs.

3.1   Bibliothèque de tableaux associatifs

Le but de ces tableaux est de remplacer les structures statiques de C. De nombreuses structures seraient nécessaires pour communiquer entre les différentes couches de la pile TCP/IP. Les tableaux associatifs remplacent ces structures.

3.2   Bibliothèque de gestion d'événements

Cette bibliothèque permet de gérer des événements déclenchés avec effet immédiat, avec effet différé ou par une activité sur un descripteur de fichier.

3.3   Bibliothèque de gestion d'interfaces Ethernet virtuelles

Comme dans le projet précédent cette bibliothèque contient une unique fonction permettant de créer une interface Ethernet virtuelle. Ne pas oublier les drapeaux IFF_TAP et IFF_NO_PI lors de l'appel. Il est rappelé que la lecture et l'écriture sur une interface TAP est triviale; les paquets sont envoyés directement sans mention de leur taille. La création d'une interface TAP nécessite des droits spécifiques. Pour donner ces droits à votre programme vous utiliserez le script setcap déclaré dans le fichier super.tab des machines de TP. De la même façon, un utilisateur normal ne peut pas configurer une interface réseau; utilisez à nouveau la commande super mais en appelant cette fois le script ifconfig.


This document was translated from LATEX by HEVEA.