[gull] Coupure TCP-IP Ack et M$-Win

Christian Kaenzig christian at becool.ch
Mon Sep 13 15:59:01 CEST 2004


On Monday 13 September 2004 12:22, Félix Hauri wrote:
> On Mon, Sep 13, 2004 at 11:44:43AM +0200, Magnus wrote:
> > je ne pense pas que ce soit lié à leur implémentation de
> > TCP/IP. En fait, lors de la déconnexion, M$ "tue"
> > l'interface. Linux ne le fait pas nativemement; si tu
> > installes un prog du type de ifplugd avec un timeout de 2
> > sec, tu verras le même comportement que M$.
> > M$ effectue l'équivalent de # ifconfig <interface> down.
>
> timeout !?
> Ce n'est pas très ``TCP''!?

TCP a un timeout de réception d'un ACK pour un paquet. Après ça, il considère 
que le paquet est perdu et le réémet. Sauf erreur il a aussi un nombre 
d'essais avant de signaler une erreur à l'application.

Je ne suis pas du tout expert, mais je pense que ce timeout et nombre d'essais 
max peut changer en fonction de l'implémentation (ou du paramétrage ?) de 
TCP.

Il serait alors normal que si aucune donnée n'est transmise, la coupure ne 
soit pas détectée (pas d'erreur de transmission). Et peut-être que Linux n'a 
ici pas de nombre d'essais maximum (donc jamais d'erreur signalée)...

> > Lors de la reconnexion, il recrée l'interface complètement
> > (si DHCP, il refait la requête, il me semble.)
>
> Dans tous les cas, je ne pense pas que cela aille si loin,
> car si je tire le câble dix secondes mais que je ne tape
> rien pendant ces dix secondes, puis que je rebranche le
> câble AVANT de taper qqch, alors tout va bien.
>
> Il me semble que si l'interface IP était killé, alors telnet
> le serait immédiatement aussi...

Ca dépend de la gestion. Si les couches réseau sont bien séparées, un arrêt 
momentané du réseau ne devrait pas déranger tcp/ip. Une fois reconnecté, avec 
la même IP, les paquets avec le même tuple (ip et port des deux bouts plus le 
protocole) seront transmits au même socket (s'il existe toujours) et TCP n'y 
aura vu que du feu.

Christian



More information about the gull mailing list