Guide pratique du maintien de connexion TCP

Version française du TCP Keepalive HOWTO.

Laurent Gauthier

Adaptation française

Eric Deschamps

Relecture de la version française

Jean-Philippe Guérard

Préparation de la publication de la v.f.

Version : 1.0.fr.1.0

2007-05-04

Historique des versions
Version 1.0.fr.1.02008-05-02LG, ED, JPG
Première adaptation française.
Version 1.02007-05-04FB
Première édition, révisée par TM.

Résumé

Ce document décrit l'implémentation du TCP keepalive dans le noyau linux, présente le concept global et détaille à la fois la configuration système et le développement d'application.


Table des matières

Introduction
Droits d'utilisation
Avertissement
Remerciements et contributions
Commentaires et corrections
Traductions
Aperçu de TCP keepalive
Qu'est-ce que TCP keepalive ?
Pourquoi utiliser TCP keepalive ?
Vérifier les hôtes injoignables
Éviter une déconnexion due à une inactivité réseau.
Utiliser TCP keepalive sous Linux
Configurer le noyau
Rendre les modifications persistantes au redémarrage
Programmer des applications
Quand votre code requiert keepalive
L'appel de fonction setsockopt
Exemples de code
Implémenter keepalive sur une application tierce
Modifier le code source
libkeepalive: préchargement de bibliothèque

Comprendre TCP keepalive n'est pas indispensable dans la plupart des cas, mais cela peut être très utile dans certaines circonstances. Il vous faudra posséder quelques notions de base des réseaux TCP/IP et de la programmation en langage C pour comprendre toutes les sections de ce document.

Le principal objectif de ce tutoriel (HOWTO) est de décrire en détail le TCP keepalive et de présenter différents cas d'application. Après avoir débuté avec un peu de théorie, le propos se concentre sur l'implémentation des routines TCP keepalive dans les noyaux Linux actuels (2.4.x, 2.6.x), et sur les moyens dont les administrateurs système peuvent tirer parti de ces routines, avec des exemples de configuration précis et des astuces.

La seconde partie de ce tutoriel met en jeu l'interface de programmation proposée par le noyau Linux, et le mode d'écriture des applications qui implémentent le TCP keepalive en langage C. Des exemples pratiques sont présentés, et une approche du projet libkeepalive est amorcée, permettant aux applications de bénéficier par héritage du keepalive sans modification de code.