PDA

View Full Version : campo Acnowledgement di TCP


thefrog
18-05-2004, 09:01
Se il campo Acknowledgement di un segmento TCP è uguale a 1000 questo significa che:
A) 999 byte sono stati ricevuti con successo
B) 1000 byte sono stati ricevuti con successo
C) che il segmento 999 è stato ricevuto
D) che il segmento 1000 è stato ricevuto


insomma....TCP conta i segmenti o i byte?qual è la risp giusta?proprio nn mi ricordo....

grazie

cionci
18-05-2004, 09:32
I segmenti...

cionci
18-05-2004, 09:36
Comunque la risposta giusta dovrebbe essere la 4a....ma c'è un ma...

Se non sbaglio il TCP/IP con un ACK non conferma solamente il segmento 1000, ma anche i 999 precedenti...nel senso che l'ACK può significare sia la conferma del segmento con il counter specificato, che la conferma di tutti i segmenti non confermati a partire dall'ultimo ACK ricevuto...

thefrog
18-05-2004, 09:37
Originariamente inviato da cionci
I segmenti...

quindi è la risposta numero?

secondo me la C visto che quel campo dovrebbe valere segmento+1

o mi sbaglio?

cionci
18-05-2004, 09:38
Sinceramente non me lo ricordo se +1 o no...ma mi sembra più logico che non ci sia il +1...

thefrog
18-05-2004, 09:41
il client invia un segmento al server comunicando il numero di sequenza iniziale che vuole utilizzare(sequencenum = x) il server risponde con un singolo segmento con cui conferma il numero di sequenza del client (ACK = 1 e Acknowledgement = x+1)

parole testuali delle dispense, cosa ne evinceresti te????

secondo me è come ho detto io

cionci
18-05-2004, 09:41
Vado a prendere il libro...un attimino...

cionci
18-05-2004, 09:59
Confermo tutto quello che ho detto sopra... L'ACK contiene il contatore dell'ultimo segmento ricevuto correttamente e ricevere un ACK con un contatore X corrisponde a confermare l'arrivo di tutti i segmenti fino a quello con contatore X (in questo caso si parla di ACK cumulativo) ;)

thefrog
18-05-2004, 10:03
Originariamente inviato da cionci
Confermo tutto quello che ho detto sopra... L'ACK contiene il contatore dell'ultimo segmento ricevuto correttamente e ricevere un ACK con un contatore X corrisponde a confermare l'arrivo di tutti i segmenti fino a quello con contatore X (in questo caso si parla di ACK cumulativo) ;)

ehm ehm...ok, l'ACK è giusto, ma io dico il campo Acknowledgement, che non è l'ACK!

cionci
18-05-2004, 10:15
Originariamente inviato da thefrog
ehm ehm...ok, l'ACK è giusto, ma io dico il campo Acknowledgement, che non è l'ACK!
Io come valore asociato ad ACK intendevo proprio il contenuto del campo Acknowledge...

cionci
18-05-2004, 10:19
Originariamente inviato da thefrog
il client invia un segmento al server comunicando il numero di sequenza iniziale che vuole utilizzare(sequencenum = x) il server risponde con un singolo segmento con cui conferma il numero di sequenza del client (ACK = 1 e Acknowledgement = x+1)

Hai ragione...si manda il sequence number + 1 dell'ultimo pacchetto per cui si invia l'ACK e vale per questo e per tutti i pacchetti precedenti... Ho visto ora...

thefrog
18-05-2004, 10:20
Originariamente inviato da cionci
Hai ragione...si manda il sequence number + 1 dell'ultimo pacchetto per cui si invia l'ACK... Ho visto ora...


quindi la risp giusta è?

cionci
18-05-2004, 10:21
C, ma può significare non solo che è stato ricevuto il 999, ma anche il 998 e 997 in caso che l'ultimo pacchetto inviato precedentemente contenesse 998 (tanto per fare un esempio)...

thefrog
18-05-2004, 10:23
Originariamente inviato da cionci
C, ma può significare non solo che è stato ricevuto il 999, ma anche il 998 e 997 in caso che l'ultimo pacchetto inviato precedentemente contenesse 998 (tanto per fare un esempio)...

si, una volta che confermo in messaggio n, significa che anche tutti i precedenti n-1 li ho ricevuti

grazie

buona giornata!

ciao

cionci
18-05-2004, 10:27
Ciao ;)

recoil
18-05-2004, 10:33
confermo che la giusta e' la C