web-dev-qa-db-fra.com

Pourquoi TCP attend-il trois ACK en double avant de retransmettre rapidement?

Pourquoi TCP attend-il trois ACK en double avant de retransmettre rapidement?

38
user507401

RFC 2001 dit

Étant donné que TCP ne sait pas si un ACK en double est provoqué par un segment perdu ou simplement une réorganisation des segments, il attend la réception d'un petit nombre de ACK en double. On suppose que s'il y a n'est qu'un réordonnancement des segments, il n'y aura qu'un ou deux ACK en double avant que le segment réorganisé ne soit traité, ce qui générera alors un nouvel ACK. Si au moins trois ACK en double sont reçus d'affilée, cela indique fortement que un segment a été perdu. TCP effectue ensuite une retransmission de ce qui semble être le segment manquant, sans attendre l'expiration d'un temporisateur de retransmission.

Le raisonnement pour ne pas faire la retransmission avant le troisième duplicata semble être que jusqu'à ce moment, il est plus probable que la livraison soit en panne et que la retransmission n'est pas vraiment nécessaire.

53
Don Roby