Is it normal to have many ACKs for a SYN in TCP protocol?

In using Ethereal to capture TCP data for a web browser communicating with a web server, we are seeing a SYN begin and then many ACKs (10-20) before the ACK, FIN.  Is this normal?
cspiroAsked:
Who is Participating?
 
ravenplConnect With a Mentor Commented:
Every tcp packet is ACKed, so if web server sends large data it's automatically chopped (packet cannot be larger than MTA). So in the worst case every 1.5K of data generates backACK

I said worst case, cause ACK packet is marker saying: data upto this frame is ACKed. Therefore if packets are arriving fast, OS may skip some frames and ACK last one only.
0
 
ravenplCommented:
Before FIN? The yes, not that normal tcp session follows

-> SYN
<- SYNC,ACK
->ACK
(repeat many times
 ->REQ_DATA
 <-ACK
 <-REPL_DATA
 ->ACK
)
->FIN
<-FIN,ACK
->ACK

Since packets may get lost in the new, some messages may be retransmitted multiple times.
Refer http://www.ssfnet.org/Exchange/tcp/Graphics/tcpStateDiagram1.gif
0
 
cspiroAuthor Commented:
Could the mulitple ACKs occur because the web server is rendering multiple frames as a result of the HTTP submission by the user on the web browser?  Or, are multiple ACKs always a sign of lost packets and retransmissions, thus an indication that there is something wrong with the network?
0
 
cspiroAuthor Commented:
How can I determine from the ethereal report if the ACKs are a result of chopped data vs. a network problem?  In this case the full transmission of for the TCP Stream took 1.3 seconds.  I'm trying to figure the cause of the delay.  I assume that if the answer is 'chopped data' then it's a matter of the amount of information being sent vs. a network problem.  Thanks for your assistance.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.