This is a static archive of our old Q&A Site. Please post any new questions and answers at ask.wireshark.org.

What are possible reason for window size drop

0

hi ,
I am seeing data dips in my device . When i analyse from wireshark i can see that there is a drop in the tcp window frequently . What are the possible reason for the tcp window size dropped ?


My set up and results :
1. I am using android JB and testing in private network :

  • In Browser (Chrome and android native browser) i find window size being dropped
  • In iperf (running my device as server ie iperf -s to make it download data) there is no size drop .
2. In Kitkat There is a drop . But not as much as that of JB os .

Regards, Madhan

asked 15 Apr '14, 01:48

Madhan's gravatar image

Madhan
11114
accept rate: 0%

edited 15 Apr '14, 01:49


One Answer:

1

What are the possible reason for the tcp window size dropped ?

to sum it up

  • packet loss
  • inability of the receiver to process the data fast enough
  • bug in the software
  • other things (like solar particles flipping the wrong bit in the TCP header)

If those tcp window drops are a problem in your environment, depends on

  • how large the window size gets changed and how fast
  • how often it appears

If there is a clear difference between JB and KitKat, I tend to say: Could be a bug in android ...

Regards
Kurt

answered 15 Apr '14, 03:27

Kurt%20Knochner's gravatar image

Kurt Knochner ♦
24.8k1039237
accept rate: 15%

Thanks for the quick reply . But if that is the case i must be seein the problem in perf also . But iperf i dont see any issue . (may be it uses fixed window size or set some max value)

how large the window size gets changed and how fast can u tell me the kernel parameter which would increase the window size ? so that i can check from the JB and KK kernel .

how often it appears ? it is in regular interval . when i draw a I/O grap using tcp.window_size i get a graph similar to sin curve(kinda)

(15 Apr '14, 04:35) Madhan

But if that is the case i must be seein the problem in perf

if you run iperf on the same Android device, then it could be a problem within the web client 'library' (the part that is used by the browser/os to create/send/receive HTTP requests). If that is the case, iperf would not be affected, as iperf is calling the kernels socket api directly. However, that's all just speculation, as it's only one possible cause for the problem.

can u tell me the kernel parameter which would increase the window size ?

I have no knowledge about the android TCP/IP stack internals. So, there might or might not be such a parameter. Please ask google.

when i draw a I/O grap using tcp.window_size i get a graph similar to sin curve(kinda)

can you post a sample capture file somewhere (google drive, dropbox, cloudshark.org)?

(15 Apr '14, 06:58) Kurt Knochner ♦

web client 'library'
Can u tell me exactly which library would be impacting ? so that i can check that .

(21 Apr '14, 22:50) Madhan

I don't know, maybe HttpClient. Please ask the Android folks.

http://developer.android.com/reference/org/apache/http/client/HttpClient.html

(22 Apr '14, 01:15) Kurt Knochner ♦