This is our old Q&A Site. Please post any new questions and answers at


TCP as a streaming protocol.Question is when the receiver is acknowledging an packet will it still wait for the application to read the data from the buffer and only than remove it from the buffer?

Thank you

asked 12 Mar '16, 15:16

adasko's gravatar image

accept rate: 0%

Of course - acknowledging packets only means that it has been received and put into the receive window buffer. As soon as the application picks up the packet (well, the "segment", to be more exact) the free receive window size grows again. That's why you sometimes see the window size drop - that's when the packets were acknowledged, but the application is slow in pulling segments from the window buffer.

permanent link

answered 13 Mar '16, 00:02

Jasper's gravatar image

Jasper ♦♦
accept rate: 18%

How could I troubleshoot whether it's the network or host / application that is slowing down the performance? Could I use Wirehsark for this ?

(13 Mar '16, 01:36) adasko

Sure. It depends on your capture location and skill of analyzing TCP behavior. If you don't see massive packet loss or delays caused by the network (for which you'd need to capture both at client and server and compare the packets) it's usually the application.

(13 Mar '16, 01:40) Jasper ♦♦

Could it be also the host itself not just the application ?

(13 Mar '16, 04:17) adasko

Yes, but that's still harder to prove usually. You'd look at slow TCP based reaction times (to see that the stack is under stress) and other things. I'd recommend checking the host stats with onboard performance monitoring.

(13 Mar '16, 04:28) Jasper ♦♦

so an indication that the problem is with the receiving app would be a small window size advertised to the sender even though packets are getting ACK'ed ?

(13 Mar '16, 04:55) adasko
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text]( "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:


question asked: 12 Mar '16, 15:16

question was seen: 910 times

last updated: 13 Mar '16, 04:55

p​o​w​e​r​e​d by O​S​Q​A