Perché three-way handshake del TCP urtare il numero di sequenza quando ACKing?

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

  •  25-10-2019
  •  | 
  •  

Domanda

TCP a tre vie stretta di mano urtare il numero di sequenza quando ACKing durante l'handshake iniziale? Come è che meglio che solo lasciando il numero di riconoscimento pari al numero di sequenza?

La connessione viene stabilita con

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

Come è meglio di

Client sends SYN,A
Server responds with SYN-ACK,A,B
Client confirms with ACK,B
È stato utile?

Soluzione

Ecco perché il campo ACK significa questo quando è impostato il flag ACK:

numero Riconoscimento (32 bit) - se il flag ACK viene impostato il valore di questo campo è il successivo numero di sequenza che il ricevitore si aspetta.

Se non è impostato (numero di sequenza iniziale che + 1), sarebbe incoerente significa sia ack'ing il SYN (entrambe le bandiere SYN e ACK devono essere impostati in questo pacchetto) e dicendo che si aspetta ancora una volta che il numero di sequenza (cioè non ha ricevuto).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top