Journal
TCP TIME-WAIT & les serveurs Linux à fort trafic | Vincent Bernat
Intéressant article sur les options 'net.ipv4.tcp_tw_recycle' et 'net.ipv4.tcp_tw_reuse' qui spécifient ce que la pile TCP/IP de Linux est autorisée à faire avec les connexions dans l'état TIME-WAIT ; un état d'attente destiné (i) à empêcher qu'une nouvelle connexion n'accepte de données qui arriveraient en retard et (ii) à assurer que l'hôte distant a fermé la connexion.
Les explications sont très claires, par exemple le diagramme d'état de TCP : http://d1g3mdmxf8zbo9.cloudfront.net/images/tcp/tcp-state-diagram.png
En résumé, je recopie la conclusion de l'article :
Côté serveur, ne pas activer net.ipv4.tcp_tw_recycle à moins d’être sûr de ne jamais avoir à interagir avec des machines se partageant la même IP. Activer net.ipv4.tcp_tw_reuse est sans effet sur les connexions entrantes.
Côté client, activer net.ipv4.tcp_tw_reuse est une solution quasiment fiable. Activer en plus net.ipv4.tcp_tw_recycle est alors quasi-inutile.
Les explications sont très claires, par exemple le diagramme d'état de TCP : http://d1g3mdmxf8zbo9.cloudfront.net/images/tcp/tcp-state-diagram.png
En résumé, je recopie la conclusion de l'article :
Côté serveur, ne pas activer net.ipv4.tcp_tw_recycle à moins d’être sûr de ne jamais avoir à interagir avec des machines se partageant la même IP. Activer net.ipv4.tcp_tw_reuse est sans effet sur les connexions entrantes.
Côté client, activer net.ipv4.tcp_tw_reuse est une solution quasiment fiable. Activer en plus net.ipv4.tcp_tw_recycle est alors quasi-inutile.
Ce journal est basé sur Ginger, un gestionnaire de lien minimaliste développé dans le cadre d'un stage de perfectionnement. Pour plus d'informations, consulter le wiki consacré à mes projets personnels.