Perché three-way handshake del TCP urtare il numero di sequenza quando ACKing?
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
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).