Pourquoi la poignée de main à trois voies de TCP percuter le numéro de séquence quand Acking?

StackOverflow https://stackoverflow.com/questions/6804979

  •  25-10-2019
  •  | 
  •  

Question

Pourquoi la poignée de main à trois voies TCP de percuter le numéro de séquence lorsque Acking au cours de la première poignée de main? Comment est-ce mieux que de laisser le numéro d'acquittement égal au numéro de séquence?

La connexion est établie avec

Client sends SYN,A
Server responds with SYN-ACK,A+1,B
Client confirms with ACK,B+1

Comment est-ce mieux que

Client sends SYN,A
Server responds with SYN-ACK,A,B
Client confirms with ACK,B
Était-ce utile?

La solution

En effet, le champ ACK signifie quand le drapeau ACK est défini:

nombre accusé de réception (32 bits) - si le drapeau ACK est alors la valeur de ce champ est le numéro de séquence suivant que le récepteur attend.

Si elle n'est pas réglé sur (numéro de séquence inital + 1), il serait dire incohérente tant ack'ing le SYN (les deux drapeaux de SYN et ACK doivent être définis dans ce paquet) et en disant qu'il attend que le numéro de séquence à nouveau (c.-à-n'a pas reçu).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top