PDA

View Full Version : TCP - 3-way handshake


hee136
07-10-2012, 21:04
Perchè nel 3-way handshake del protocollo TCP il pacchetto SYN+ACK ha Ack Number X+1? (con X intendo il Sequence Number del precedente pacchetto SYN).

L'Ack Number viene incrementato della dimensione del campo data del pacchetto di cui si sta facendo l'Ack.
Siccome il pacchetto SYN non ha il campo data, il pacchetto SYN+ACK non dovrebbe avere X come Ack Number?

nuovoUtente86
07-10-2012, 21:33
Il numero di sequenza viene generato randomicamente (più il generatore è preciso minori saranno i rischi di spoofing), mentre l' incremento è dato dall' ultimo segmento (siamo a livello trsporto) correttamente ricevuto in sequenza incrementato di uno, poichè corrispinde alla richiesta, da parte del receiver, del prossimo segmento utile.

hee136
07-10-2012, 22:04
Il numero di sequenza viene generato randomicamente (più il generatore è preciso minori saranno i rischi di spoofing), mentre l' incremento è dato dall' ultimo segmento (siamo a livello trsporto) correttamente ricevuto in sequenza incrementato di uno, poichè corrispinde alla richiesta, da parte del receiver, del prossimo segmento utile.

- TCP A ------------------------------------------------------------------------------------------- TCP B
1. CLOSED -------------------------------------------------------------------------------------- LISTEN
2. SYN-SENT --> ------- <SEQ=100><CTL=SYN> ------------------------------- --> SYN-RECEIVED
3. ESTABLISHED <-- <SEQ=300><ACK=101><CTL=SYN,ACK> ------- <-- SYN-RECEIVED
4. ESTABLISHED --> <SEQ=101><ACK=301><CTL=ACK> --------------- --> ESTABLISHED
5. ESTABLISHED --> <SEQ=101><ACK=301><CTL=ACK><DATA> -- --> ESTABLISHED

Scusami ma non ti seguo. Magari mi sono spiegato male io. Provo a riformulare la domanda.
Perchè il Sequence Number dal passo 2 al passo 4 viene incrementato di 1 mentre dal passo 4 al passo 5 rimane uguale?