8. Pour conclure

Les objectifs de tests donnés dans le Tableau 2, « Protocole de couche réseau utilisé suivant les conditions de tests » ont été atteints et le code proposé est fonctionnel même s'il est très certainement perfectible. Si le courage ne vous a pas manqué et que vous êtes arrivé jusqu'à la lecture de ces lignes, ce document peut être vu comme une découverte en trois étapes de l'utilisation conjointe des deux protocoles IPv4 et IPv6.

Avec le programme showip, on a étudié l'appel à la fonction gettaddrinfo et la représentation des données relatives à une adresse IP : l'enregistrement addrinfo. Le code de ce premier programme a été repris pour écrire le client talker sous deux formes ; une par protocole de couche transport. Relativement à ce premier programme on a ajouté le traitement d'ouverture et de fermeture d'une prise réseau ou socket. Ensuite, les mêmes instructions ont été exploitées pour le programme serveur listener lui aussi fourni sous deux formes. L'utilisation d'une prise réseau unique a été l'occasion de découvrir la correspondance automatique d'adresse IPv4 en IPv6 : les IPv4-mapped IPv6 addresses. Enfin, le serveur a été transformé en version double prise réseau. Cette dernière étape correspond au code le plus complexe. Elle a permis de découvrir l'utilisation de la fonction select() suivant différents modes.

Ainsi s'achève ce «petit panorama» des bibliothèques standard associées au sous-système réseau du noyau Linux. Le but était de démystifier l'utilisation des ces fonctions et peut-être de donner l'envie d'aller plus loin dans la découverte des autres fonctions. Pour quelqu'un dont la vocation métier n'est pas le développement, c'est l'occasion d'acquérir un bagage «culturel» minimum sur les contraintes liées à l'utilisation des deux protocoles de couche réseau.