Long(er) delay to PC ACK when serving images

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

Long(er) delay to PC ACK when serving images

Alan L

Running lwip on AT91SAM7X-EK demo board.

Currently serving simple web page with a couple of graphics (<6k, each).

 

Problem I am trying to solve is…

- PC browser issues “Get” to request the image

- my lwip implementation sends images in max 1460 byte pieces, using netconn_write()

- consecutive pieces will not be sent, it will wait for an ACK after each image piece before sending the next piece

- PC browser delays 100-200ms before ACK’ing image piece

- result: slowwww transfer

 

Here is a wireshark capture of the above described.  Total comm time is ~650ms.  The delays are noticable on lines 23, 26, 33.  The trace is displaying time since previous packet.

 

   Time     Source Destination        Info
 1 0.000000  xxx.1   xxx.20  TCP   2274 > http [SYN] Seq=58252479 Len=0 MSS=1460 WS=2
 2 0.001272  xxx.20  xxx.1   TCP   http > 2274 [SYN, ACK] Seq=6575 Ack=58252480 Win=4500 Len=0 MSS=1460
 3 0.000027  xxx.1   xxx.20  TCP   2274 > http [ACK] Seq=58252480 Ack=6576 Win=65535 Len=0
 4 0.000077  xxx.1   xxx.20  HTTP  GET / HTTP/1.0
 5 0.002566  xxx.20  xxx.1   TCP   http > 2274 [ACK] Seq=6576 Ack=58252669 Win=4500 Len=0
 6 0.001216  xxx.20  xxx.1   HTTP  HTTP/1.0 200 OK
 7 0.005377  xxx.20  xxx.1   HTTP  Continuation or non-HTTP traffic
 8 0.000034  xxx.1   xxx.20  TCP   2274 > http [ACK] Seq=58252669 Ack=7030 Win=65081 Len=0
 9 0.002182  xxx.20  xxx.1   TCP   http > 2274 [FIN, ACK] Seq=7030 Ack=58252669 Win=4500 Len=0
10 0.000054  xxx.1   xxx.20  TCP   2274 > http [ACK] Seq=58252669 Ack=7031 Win=65081 Len=0
11 0.013480  xxx.1   xxx.20  TCP   2275 > http [SYN] Seq=1109786326 Len=0 MSS=1460 WS=2
12 0.001264  xxx.20  xxx.1   TCP   http > 2275 [SYN, ACK] Seq=6640 Ack=1109786327 Win=4500 Len=0 MSS=1460
13 0.000052  xxx.1   xxx.20  TCP   2275 > http [ACK] Seq=1109786327 Ack=6641 Win=65535 Len=0
14 0.001996  xxx.1   xxx.20  TCP   2274 > http [FIN, ACK] Seq=58252669 Ack=7031 Win=65081 Len=0
15 0.001114  xxx.20  xxx.1   TCP   http > 2274 [ACK] Seq=7031 Ack=58252670 Win=4499 Len=0
16 0.002381  xxx.1   xxx.20  HTTP  GET /atmel_gif.gif HTTP/1.0
17 0.001793  xxx.20  xxx.1   TCP   http > 2275 [ACK] Seq=6641 Ack=1109786562 Win=4500 Len=0
18 0.001085  xxx.1   xxx.20  TCP   2276 > http [SYN] Seq=2933660713 Len=0 MSS=1460 WS=2
19 0.001296  xxx.20  xxx.1   TCP   http > 2276 [SYN, ACK] Seq=6705 Ack=2933660714 Win=4500 Len=0 MSS=1460
20 0.000028  xxx.1   xxx.20  TCP   2276 > http [ACK] Seq=2933660714 Ack=6706 Win=65535 Len=0
21 0.000083  xxx.1   xxx.20  HTTP  GET /cmxlogo_gif.gif HTTP/1.0
22 0.024945  xxx.20  xxx.1   HTTP  Continuation or non-HTTP traffic
23 0.164954  xxx.1   xxx.20  TCP   2275 > http [ACK] Seq=1109786562 Ack=8101 Win=65535 Len=0
24 0.003335  xxx.20  xxx.1   HTTP  Continuation or non-HTTP traffic
25 0.045983  xxx.20  xxx.1   TCP   http > 2276 [ACK] Seq=6706 Ack=2933660951 Win=4263 Len=0
26 0.150967  xxx.1   xxx.20  TCP   2275 > http [ACK] Seq=1109786562 Ack=9561 Win=65535 Len=0
27 0.003277  xxx.20  xxx.1   HTTP  Continuation or non-HTTP traffic
28 0.001152  xxx.20  xxx.1   TCP   http > 2275 [FIN, ACK] Seq=10954 Ack=1109786562 Win=4500 Len=0
29 0.000032  xxx.1   xxx.20  TCP   2275 > http [ACK] Seq=1109786562 Ack=10955 Win=64142 Len=0
30 0.005059  xxx.1   xxx.20  TCP   2275 > http [FIN, ACK] Seq=1109786562 Ack=10955 Win=64142 Len=0
31 0.001225  xxx.20  xxx.1   TCP   http > 2275 [ACK] Seq=10955 Ack=1109786563 Win=4499 Len=0
32 0.020671  xxx.20  xxx.1   HTTP  Continuation or non-HTTP traffic
33 0.168874  xxx.1   xxx.20  TCP   2276 > http [ACK] Seq=2933660951 Ack=8166 Win=65535 Len=0
34 0.002844  xxx.20  xxx.1   HTTP  Continuation or non-HTTP traffic
35 0.001203  xxx.20  xxx.1   TCP   http > 2276 [FIN, ACK] Seq=9193 Ack=2933660951 Win=4500 Len=0
36 0.000048  xxx.1   xxx.20  TCP   2276 > http [ACK] Seq=2933660951 Ack=9194 Win=64508 Len=0
37 0.010313  xxx.1   xxx.20  TCP   2276 > http [FIN, ACK] Seq=2933660951 Ack=9194 Win=64508 Len=0
38 0.001317  xxx.20  xxx.1   TCP   http > 2276 [ACK] Seq=9194 Ack=2933660952 Win=4499 Len=0

 

I’ve been wrestling with this problem (I’m no TCP/lwIP expert) for too long.  It so happened today I moved my test images from code constants to external DataFlash.  In debugging serving the images from the DF, my first few runs were sending the image in 528 byte pieces (instead of the previous 1460 byte pieces) and the communication flew! – dropped the transfer time from ~650ms to ~180ms because the image pieces were being sent in pairs and the PC ACK delays disappeared.

 

I found that I could bump the max image packet size up to 730 bytes and stay successful.  Any max size greater than 730 reintroduced the ACK delays.

 

Below is a wireshark trace sending the image pieces in 730 byte packets – delays are gone.

   Time      Source  Destination   Info
 1 0.000000  xxx.1   xxx.20  TCP   2293 > http [SYN] Seq=1195339838 Len=0 MSS=1460 WS=2
 2 0.001309  xxx.20  xxx.1   TCP   http > 2293 [SYN, ACK] Seq=6531 Ack=1195339839 Win=4500 Len=0 MSS=1460
 3 0.000026  xxx.1   xxx.20  TCP   2293 > http [ACK] Seq=1195339839 Ack=6532 Win=65535 Len=0
 4 0.000079  xxx.1   xxx.20  HTTP  GET / HTTP/1.0
 5 0.002566  xxx.20  xxx.1   TCP   http > 2293 [ACK] Seq=6532 Ack=1195340028 Win=4500 Len=0
 6 0.001214  xxx.20  xxx.1   HTTP  HTTP/1.0 200 OK
 7 0.005375  xxx.20  xxx.1   HTTP  Continuation or non-HTTP traffic
 8 0.000042  xxx.1   xxx.20  TCP   2293 > http [ACK] Seq=1195340028 Ack=6986 Win=65081 Len=0
 9 0.002144  xxx.20  xxx.1   TCP   http > 2293 [FIN, ACK] Seq=6986 Ack=1195340028 Win=4500 Len=0
10 0.000051  xxx.1   xxx.20  TCP   2293 > http [ACK] Seq=1195340028 Ack=6987 Win=65081 Len=0
11 0.011685  xxx.1   xxx.20  TCP   2294 > http [SYN] Seq=976702823 Len=0 MSS=1460 WS=2
12 0.001392  xxx.20  xxx.1   TCP   http > 2294 [SYN, ACK] Seq=6552 Ack=976702824 Win=4500 Len=0 MSS=1460
13 0.000049  xxx.1   xxx.20  TCP   2294 > http [ACK] Seq=976702824 Ack=6553 Win=65535 Len=0
14 0.003399  xxx.1   xxx.20  TCP   2293 > http [FIN, ACK] Seq=1195340028 Ack=6987 Win=65081 Len=0
15 0.001176  xxx.20  xxx.1   TCP   http > 2293 [ACK] Seq=6987 Ack=1195340029 Win=4499 Len=0
16 0.000295  xxx.1   xxx.20  HTTP  GET /atmel_gif.gif HTTP/1.0
17 0.001644  xxx.20  xxx.1   TCP   http > 2294 [ACK] Seq=6553 Ack=976703059 Win=4500 Len=0
18 0.003806  xxx.1   xxx.20  TCP   2295 > http [SYN] Seq=1012498949 Len=0 MSS=1460 WS=2
19 0.001299  xxx.20  xxx.1   TCP   http > 2295 [SYN, ACK] Seq=6573 Ack=1012498950 Win=4500 Len=0 MSS=1460
20 0.000037  xxx.1   xxx.20  TCP   2295 > http [ACK] Seq=1012498950 Ack=6574 Win=65535 Len=0
21 0.000102  xxx.1   xxx.20  HTTP  GET /cmxlogo_gif.gif HTTP/1.0
22 0.010825  xxx.20  xxx.1   HTTP  Continuation or non-HTTP traffic
23 0.012645  xxx.20  xxx.1   HTTP  Continuation or non-HTTP traffic
24 0.000060  xxx.1   xxx.20  TCP   2294 > http [ACK] Seq=976703059 Ack=8013 Win=65535 Len=0
25 0.013861  xxx.20  xxx.1   HTTP  Continuation or non-HTTP traffic
26 0.012582  xxx.20  xxx.1   HTTP  Continuation or non-HTTP traffic
27 0.000055  xxx.1   xxx.20  TCP   2294 > http [ACK] Seq=976703059 Ack=9473 Win=65535 Len=0
28 0.013557  xxx.20  xxx.1   HTTP  Continuation or non-HTTP traffic
29 0.012647  xxx.20  xxx.1   HTTP  Continuation or non-HTTP traffic
30 0.000041  xxx.1   xxx.20  TCP   2294 > http [ACK] Seq=976703059 Ack=10866 Win=64142 Len=0
31 0.002168  xxx.20  xxx.1   TCP   http > 2295 [ACK] Seq=6574 Ack=1012499187 Win=4263 Len=0
32 0.000697  xxx.20  xxx.1   TCP   http > 2294 [FIN, ACK] Seq=10866 Ack=976703059 Win=4500 Len=0
33 0.000043  xxx.1   xxx.20  TCP   2294 > http [ACK] Seq=976703059 Ack=10867 Win=64142 Len=0
34 0.003462  xxx.1   xxx.20  TCP   2294 > http [FIN, ACK] Seq=976703059 Ack=10867 Win=64142 Len=0
35 0.001119  xxx.20  xxx.1   TCP   http > 2294 [ACK] Seq=10867 Ack=976703060 Win=4499 Len=0
36 0.010695  xxx.20  xxx.1   HTTP  Continuation or non-HTTP traffic
37 0.012653  xxx.20  xxx.1   HTTP  Continuation or non-HTTP traffic
38 0.000029  xxx.1   xxx.20  TCP   2295 > http [ACK] Seq=1012499187 Ack=8034 Win=65535 Len=0
39 0.013852  xxx.20  xxx.1   HTTP  Continuation or non-HTTP traffic
40 0.012152  xxx.20  xxx.1   HTTP  Continuation or non-HTTP traffic
41 0.000041  xxx.1   xxx.20  TCP   2295 > http [ACK] Seq=1012499187 Ack=9061 Win=64508 Len=0
42 0.002149  xxx.20  xxx.1   TCP   http > 2295 [FIN, ACK] Seq=9061 Ack=1012499187 Win=4500 Len=0
43 0.000050  xxx.1   xxx.20  TCP   2295 > http [ACK] Seq=1012499187 Ack=9062 Win=64508 Len=0
44 0.005289  xxx.1   xxx.20  TCP   2295 > http [FIN, ACK] Seq=1012499187 Ack=9062 Win=64508 Len=0
45 0.001457  xxx.20  xxx.1   TCP   http > 2295 [ACK] Seq=9062 Ack=1012499188 Win=4499 Len=0

 

I thought I could turn the knobs in lwipopts.h and ‘blindly’ overcome this problem, but no luck.  730 bytes seems to be a ‘magical’ number despite changing MSS/MTU based references to values other than 1460.

 

Are the long ACK delays from the PC waiting for something that doesn’t arrive or doesn’t arrive in time?

Any ideas where the 730 byte limitation is coming from? – what knob to turn to prove it?

 

Any help would be greatly appreciated – let me know if I left out any pieces of the puzzle.

Thanks,

Alan

 

 

Below is my current lwipopts.h snippet – some of the values may be skewed from my blind, iterative solution without thinking (it’s Friday afternoon).

#define MEM_ALIGNMENT           4

/* MEM_SIZE: the size of the heap memory. If the application will send
a lot of data that needs to be copied, this should be set high. */

#define MEM_SIZE                2000

/* MEMP_NUM_PBUF: the number of memp struct pbufs. If the application
   sends a lot of data out of ROM (or other static memory), this should be set high. */

#define MEMP_NUM_PBUF           20
/* MEMP_NUM_UDP_PCB: the number of UDP protocol control blocks. One per active UDP "connection". */
#define MEMP_NUM_UDP_PCB        4
/* MEMP_NUM_TCP_PCB: the number of simulatenously active TCP connections. */
#define MEMP_NUM_TCP_PCB        10
/* MEMP_NUM_TCP_PCB_LISTEN: the number of listening TCP connections. */
#define MEMP_NUM_TCP_PCB_LISTEN 8
/* MEMP_NUM_TCP_SEG: the number of simultaneously queued TCP segments. */
#define MEMP_NUM_TCP_SEG        8
/* MEMP_NUM_SYS_TIMEOUT: the number of simulateously active timeouts. */
#define MEMP_NUM_SYS_TIMEOUT    3


/* The following four are used only with the sequential API and can be
   set to 0 if the application only will use the raw API. */

/* MEMP_NUM_NETBUF: the number of struct netbufs. */
#define MEMP_NUM_NETBUF         4
/* MEMP_NUM_NETCONN: the number of struct netconns. */
#define MEMP_NUM_NETCONN        4
/* MEMP_NUM_APIMSG: the number of struct api_msg, used for
   communication between the TCP/IP stack and the sequential
   programs. */

#define MEMP_NUM_API_MSG        8
/* MEMP_NUM_TCPIPMSG: the number of struct tcpip_msg, which is used
   for sequential API communication and incoming packets. Used in
   src/api/tcpip.c. */

#define MEMP_NUM_TCPIP_MSG      8

/* These two control is reclaimer functions should be compiled
   in. Should always be turned on (1). */

#define MEM_RECLAIM             1
#define MEMP_RECLAIM            1

/* ---------- Pbuf options ---------- */
/* PBUF_POOL_SIZE: the number of buffers in the pbuf pool. */
#define PBUF_POOL_SIZE          4
//#define PBUF_POOL_SIZE          4

/* PBUF_POOL_BUFSIZE: the size of each pbuf in the pbuf pool. */
#define PBUF_POOL_BUFSIZE       1500

/* PBUF_LINK_HLEN: the number of bytes that should be allocated for a
   link level header. */

#define PBUF_LINK_HLEN          16

/* ---------- TCP options ---------- */
#define LWIP_TCP                1
#define TCP_TTL                 255

/* Controls if TCP should queue segments that arrive out of
   order. Define to 0 if your device is low on memory. */

#define TCP_QUEUE_OOSEQ         1

/* TCP Maximum segment size. */
#define TCP_MSS                 1500

/* TCP sender buffer space (bytes). */
//#define TCP_SND_BUF             4096
#define TCP_SND_BUF             3*TCP_MSS
//#define TCP_SND_BUF             1500

/* TCP sender buffer space (pbufs). This must be at least = 2 *
   TCP_SND_BUF/TCP_MSS for things to work. */

//#define TCP_SND_QUEUELEN        16
#define TCP_SND_QUEUELEN        6 * TCP_SND_BUF/TCP_MSS

/* TCP receive window. */
#define TCP_WND                 3*TCP_MSS
//#define TCP_WND                 1500

 


_______________________________________________
lwip-users mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/lwip-users
Reply | Threaded
Open this post in threaded view
|

Re: Long(er) delay to PC ACK when serving images

Mateusz Plocinski
Hi,
I'm not an tcpip expert too, but I've worked with lwip for past few weeks. I had exactly the same problem like yours, also using SAM7X256 processor.
I solved the problem changing following thing in api_msg.c:

/* This is the Nagle algorithm: inhibit the sending of new TCP
segments when new outgoing data arrives from the user if any
previously transmitted data on the connection remains
unacknowledged. */

//      if(err == ERR_OK && (msg->conn->pcb.tcp->unacked == NULL || (msg->conn->pcb.tcp->flags & TF_NODELAY)) ) {
  tcp_output(msg->conn->pcb.tcp);
//      }

As you see, I commented out this if statement. Well, I dont understand why it is written that way, and when TF_NODELAY flag is being set (it is probably possible to set it for a socket using BSD-style sockets api, but I dont use it).
After commenting this out, everything works fine and now I can send up to several megabits per second.
Its true that Windows sends first ACK after about 200ms, but when you send it a second packet, it starts to ACK much faster, so it works fine.

Mateusz Plocinski



_______________________________________________
lwip-users mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/lwip-users
Reply | Threaded
Open this post in threaded view
|

Re: Long(er) delay to PC ACK when serving images

Kieran Mansley
On Sat, 2006-10-07 at 01:01 +0200, Mateusz Plocinski wrote:

> Hi,
> I'm not an tcpip expert too, but I've worked with lwip for past few weeks. I had exactly the same problem like yours, also using SAM7X256 processor.
> I solved the problem changing following thing in api_msg.c:
>
> /* This is the Nagle algorithm: inhibit the sending of new TCP
> segments when new outgoing data arrives from the user if any
> previously transmitted data on the connection remains
> unacknowledged. */
>
> //      if(err == ERR_OK && (msg->conn->pcb.tcp->unacked == NULL || (msg->conn->pcb.tcp->flags & TF_NODELAY)) ) {
>   tcp_output(msg->conn->pcb.tcp);
> //      }

A better solution would be the one mentioned in this post to the mailing
list:

http://lists.gnu.org/archive/html/lwip-users/2006-09/msg00060.html

Hopefully this change (although probably not the enqueue problem
mentioned there) will make it into the main tree soon.

Thanks

Kieran



_______________________________________________
lwip-users mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/lwip-users
Reply | Threaded
Open this post in threaded view
|

Re: Long(er) delay to PC ACK when serving images

Alan L
Kieran Mansley <kieran@...> writes:

>
> On Sat, 2006-10-07 at 01:01 +0200, Mateusz Plocinski wrote:
> > Hi,
> > I'm not an tcpip expert too, but I've worked with lwip for past few weeks. I
had exactly the same problem like
> yours, also using SAM7X256 processor.
> > I solved the problem changing following thing in api_msg.c:
> >
> > /* This is the Nagle algorithm: inhibit the sending of new TCP
> > segments when new outgoing data arrives from the user if any
> > previously transmitted data on the connection remains
> > unacknowledged. */
> >
> > //      if(err == ERR_OK && (msg->conn->pcb.tcp->unacked == NULL ||
(msg->conn->pcb.tcp->flags &

> TF_NODELAY)) ) {
> >   tcp_output(msg->conn->pcb.tcp);
> > //      }
>
> A better solution would be the one mentioned in this post to the mailing
> list:
>
> http://lists.gnu.org/archive/html/lwip-users/2006-09/msg00060.html
>
> Hopefully this change (although probably not the enqueue problem
> mentioned there) will make it into the main tree soon.
>
> Thanks
>
> Kieran
>

In looking at implementing the Nagle algorithm suggestions, I see I’ve
previously found the suggested improvement thread and was running the Nagle
update, checking if snd_queuelen > 1.  Backing the code back out to the original
lwIP file without the queuelen check, my web page transfer with images takes
much longer to load (>1s compared to 190ms).  The same was true if I commented
out the "if(err == ERR_OK..." statement.

My max packet len when calling netconn_write() with a piece of the image still
has to be 730 bytes or less or the longer delay to PC ACK returns.  In fact
today, to add haze to the problem, the max packet size has to be a bit less
(~700 bytes) to eliminate the PC ACK delays.  

A max packet size of 730 bytes when running TCP_MSS = 1460 seemed too related to
be a coincidence, but I still can't find the dependencies to get my image packet
sizes back up to max.

Thanks for the leads and any other ideas one might have,
Alan





_______________________________________________
lwip-users mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/lwip-users
Reply | Threaded
Open this post in threaded view
|

Re: Re: Long(er) delay to PC ACK when serving images

Kieran Mansley
On Mon, 2006-10-09 at 14:21 +0000, Alan Lamphier wrote:

> A max packet size of 730 bytes when running TCP_MSS = 1460 seemed too related to
> be a coincidence, but I still can't find the dependencies to get my image packet
> sizes back up to max.
>
> Thanks for the leads and any other ideas one might have,

You've discovered that TCP, in an attempt to be more efficient (and this
isn't lwIP specific - in this case it is the behavior of whatever you're
talking to) waits for two packets to be received before sending an
acknowledgement.  It delays the ACK for the first packet in the hope
that there will be some data flowing in the return direction that the
ACK can piggyback on, and so reduce the number of packets being sent.
In most cases this is good.  So as to avoid the ACK never being sent, it
has a timeout that will send it even if there has been no other traffic
in the mean time.  By splitting your 1460-byte packet into two 730 byte
packets you're prompting it to ACK them immediately (it's received two
packets rather than one) and this is why it goes faster.  This is all
something of a simplification (for example some stacks base the
frequency of ACKs on bytes received rather than number of packets), but
illustrates the point well enough.

Normally this is not a problem as the TCP window is hoped to be large
enough that you have many more than two packets in flight at any one
time, and so your sender is not sitting waiting for the ACK for the
first packet.  However, at times when a very small window is configured
(either because you've set it that way in the lwipopts file, or in the
slow-start or congestion avoidance phase of a TCP connection) it will be
a limiting factor.  There is not a lot you can do about this other than
ensure your receive window and send queue length are configured so that
you can have more than one MTU in flight at any one time.  I suppose
that configuring a smaller MTU would be just as good.  i.e. To get best
performance TCP assumes that the send queue length and receive window
are both much more than a single MTU.  It will work even if this isn't
true, but just slowly as you have discovered.

Hope that helps,

Kieran



_______________________________________________
lwip-users mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/lwip-users
Reply | Threaded
Open this post in threaded view
|

Re: Long(er) delay to PC ACK when serving images

Alan L

Your time and knowledge is greatly appreciated - thank you Kieran.



_______________________________________________
lwip-users mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/lwip-users
Reply | Threaded
Open this post in threaded view
|

Re: Long(er) delay to PC ACK when serving images

Alan L
In reply to this post by Alan L
For reference... trying to accelerate large data file transfers by reducing PC
time to ACK

This thread started me on some experiements, trying to quickly 'throttle-up' the
connection packet size to fool (quickly calibrate?) the slow start-up or
congestion control.  May not be accurate in reality, but was the idea in my mind.

What worked for me...
I quickly found that the first image packet size (in response to GET) could not
exceed half my configured MSS=1460.  The second packet size could not exceed
1460-(first size).
>From there I tried ramping up the packet size 100 bytes per packet - it worked,
no long delays to PC ACK.
After playing with the 'ramp' rate, I eventually found it worked fine taking the
third packet and beyond to the 1460 byte limit (although, I thought at one point
the delays came back if I ramped too fast?).

I don't know that it will work one day or one computer to the next, but perhaps
my experience will help someone else.  The modification changed my tests from
'dialup-like' to 'broadband-like' impressions of the transfer (I don't currently
have transfer rate numbers for comparison).

Best regards,
Alan




_______________________________________________
lwip-users mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/lwip-users
Reply | Threaded
Open this post in threaded view
|

Re: Long(er) delay to PC ACK when serving images

Janusz U.
In reply to this post by Alan L

Hi,

I turned on TF_NODELAY flag of pcb (however I use netconf API, lwIP-1.1.1)
and my
packets are sent by TCP much much
faster. I use GPRS and PPP thus no delay is important and greatly improves
efficiency. But I noticed a bug :(
The bug is following:
I make connection to server (lwip client). After connection establishing is
made "dialog" with very short data frames. The dialog is very very slow
(lwip receive data very slow - PC computer do this much faster). In next
step I start to send data stream into server with maximum data rate which is
possible. Data transfer is a little slower than by compter (GPRS-PPP
connection to internet). And now I turn off the serwer. The link is failed
and it is ok.
After it I start the serwer again, client makes connection, and start to
send data as continuation to serwer without the "dialog". Serwer send frame
to client to inform him to stop the data stream but the client does not
receive it! Is it memory buffer problem? is it possible the lwIP cannot
allocate memory for segment?

lwipopts.h:
/*
 * Copyright (c) 2001-2003 Swedish Institute of Computer Science.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
modification,
 * are permitted provided that the following conditions are met:
 *
 * 1. Redistributions of source code must retain the above copyright notice,
 *    this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
notice,
 *    this list of conditions and the following disclaimer in the
documentation
 *    and/or other materials provided with the distribution.
 * 3. The name of the author may not be used to endorse or promote products
 *    derived from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
NO EVENT
 * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT
 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING
 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY
 * OF SUCH DAMAGE.
 *
 * This file is part of the lwIP TCP/IP stack.
 *
 * Author: Adam Dunkels <[hidden email]>
 *
 */
#ifndef __LWIPOPTS_H__
#define __LWIPOPTS_H__

#define LWIP_NOASSERT  1 // To suppress some errors for now (no debug
output)
#define LWIP_PLATFORM_ASSERT(x) //kprintf(x"\n")

#define SYS_LIGHTWEIGHT_PROT            1

#define TCPIP_THREAD_PRIO 3

/* ---------- Memory options ---------- */
/* MEM_ALIGNMENT: should be set to the alignment of the CPU for which
   lwIP is compiled. 4 byte alignment -> define MEM_ALIGNMENT to 4, 2
   byte alignment -> define MEM_ALIGNMENT to 2. */
#define MEM_ALIGNMENT           4

/* MEM_SIZE: the size of the heap memory. If the application will send
a lot of data that needs to be copied, this should be set high. */
#define MEM_SIZE                4000//2000

/* MEMP_NUM_PBUF: the number of memp struct pbufs. If the application
   sends a lot of data out of ROM (or other static memory), this
   should be set high. */
#define MEMP_NUM_PBUF           20      //8//20
/* MEMP_NUM_UDP_PCB: the number of UDP protocol control blocks. One
   per active UDP "connection". */
#define MEMP_NUM_UDP_PCB        4      //4
/* MEMP_NUM_TCP_PCB: the number of simulatenously active TCP
   connections. */
#define MEMP_NUM_TCP_PCB        10      //2//10
/* MEMP_NUM_TCP_PCB_LISTEN: the number of listening TCP
   connections. */
#define MEMP_NUM_TCP_PCB_LISTEN 8
/* MEMP_NUM_TCP_SEG: the number of simultaneously queued TCP
   segments. */
#define MEMP_NUM_TCP_SEG        8
/* MEMP_NUM_SYS_TIMEOUT: the number of simulateously active
   timeouts. */
#define MEMP_NUM_SYS_TIMEOUT    5   //3


/* The following four are used only with the sequential API and can be
   set to 0 if the application only will use the raw API. */
/* MEMP_NUM_NETBUF: the number of struct netbufs. */
#define MEMP_NUM_NETBUF         4
/* MEMP_NUM_NETCONN: the number of struct netconns. */
#define MEMP_NUM_NETCONN        4
/* MEMP_NUM_APIMSG: the number of struct api_msg, used for
   communication between the TCP/IP stack and the sequential
   programs. */
#define MEMP_NUM_API_MSG        8
/* MEMP_NUM_TCPIPMSG: the number of struct tcpip_msg, which is used
   for sequential API communication and incoming packets. Used in
   src/api/tcpip.c. */
#define MEMP_NUM_TCPIP_MSG      8

/* These two control is reclaimer functions should be compiled
   in. Should always be turned on (1). */
#define MEM_RECLAIM             1
#define MEMP_RECLAIM            1

/* ---------- Pbuf options ---------- */
/* PBUF_POOL_SIZE: the number of buffers in the pbuf pool. */
#define PBUF_POOL_SIZE          16//4     //8//16

/* PBUF_POOL_BUFSIZE: the size of each pbuf in the pbuf pool. */
#define PBUF_POOL_BUFSIZE       128//1500    //128//512

/* PBUF_LINK_HLEN: the number of bytes that should be allocated for a
   link level header. */
#define PBUF_LINK_HLEN          14//16

/* ---------- TCP options ---------- */
#define LWIP_TCP                1
#define TCP_TTL                 255

/* Controls if TCP should queue segments that arrive out of
   order. Define to 0 if your device is low on memory. */
#define TCP_QUEUE_OOSEQ         1

/* TCP Maximum segment size. */
#define TCP_MSS                 1460//*128//512//1500  //512

/* TCP sender buffer space (bytes). */
#define TCP_SND_BUF             3000//*2048//512//1500  //512

/* TCP sender buffer space (pbufs). This must be at least = 2 *
   TCP_SND_BUF/TCP_MSS for things to work. */
#define TCP_SND_QUEUELEN        /*6*/4 * TCP_SND_BUF/TCP_MSS

/* TCP receive window. */
#define TCP_WND                 512//1500  //512

/* Maximum number of retransmissions of data segments. */
#define TCP_MAXRTX              12

/* Maximum number of retransmissions of SYN segments. */
#define TCP_SYNMAXRTX           4

/* ---------- ARP options ---------- */
#define ARP_TABLE_SIZE 10
#define ARP_QUEUEING 1

/* ---------- IP options ---------- */
/* Define IP_FORWARD to 1 if you wish to have the ability to forward
   IP packets across network interfaces. If you are going to run lwIP
   on a device with only one network interface, define this to 0. */
#define IP_FORWARD              0 // 1

/* If defined to 1, IP options are allowed (but not parsed). If
   defined to 0, all packets with IP options are dropped. */
#define IP_OPTIONS              1

/* ---------- ICMP options ---------- */
#define ICMP_TTL                255


/* ---------- DHCP options ---------- */
/* Define LWIP_DHCP to 1 if you want DHCP configuration of
   interfaces. DHCP is not implemented in lwIP 0.5.1, however, so
   turning this on does currently not work. */
#define LWIP_DHCP               0

/* 1 if you want to do an ARP check on the offered address
   (recommended). */
#define DHCP_DOES_ARP_CHECK     1

/* ---------- UDP options ---------- */
#define LWIP_UDP                1
#define UDP_TTL                 255


/* ---------- Statistics options ---------- */
#define STATS

#ifdef STATS
#define LINK_STATS 1
#define IP_STATS   1
#define ICMP_STATS 1
#define UDP_STATS  1
#define TCP_STATS  1
#define MEM_STATS  1
#define MEMP_STATS 1
#define PBUF_STATS 1
#define SYS_STATS  1
#endif /* STATS */

#define LWIP_PROVIDE_ERRNO 1

//#define LWIP_EVENT_API

//moje wlasne dla PPP:
/* ---------- PPP options ---------- */

#define PPP_SUPPORT                     1      /* Set for PPP */

#if PPP_SUPPORT
#define PPP_THREAD_PRIO     4//2
#define NUM_PPP                         1      /* Max PPP sessions. */
#define PAP_SUPPORT                     1      /* Set for PAP. */
#define CHAP_SUPPORT                    0      /* Set for CHAP. */
#define MSCHAP_SUPPORT                  0      /* Set for MSCHAP (NOT
FUNCTIONAL!) */
#define CBCP_SUPPORT                    0      /* Set for CBCP (NOT
FUNCTIONAL!) */
#define CCP_SUPPORT                     0      /* Set for CCP (NOT
FUNCTIONAL!) */
#define VJ_SUPPORT                      0      /* Set for VJ header
compression. */
#define MD5_SUPPORT                     1      /* Set for MD5 (see also
CHAP) */
#define PPP_DEBUG      1
#endif

#define IP_REASSEMBLY           1 // IP fragments

#define LWIP_DEBUG
extern void kprintf(const char *format,...);
#define LWIP_PLATFORM_DIAG(x) kprintf x

#define DBG_TYPES_ON                    0xff
#define ETHARP_DEBUG                    DBG_OFF
#define NETIF_DEBUG                     DBG_OFF
#define PBUF_DEBUG                      DBG_OFF
#define API_LIB_DEBUG                   DBG_OFF
#define API_MSG_DEBUG                   DBG_OFF
#define SOCKETS_DEBUG                   DBG_OFF
#define ICMP_DEBUG                      DBG_OFF
#define INET_DEBUG                      DBG_OFF
#define IP_DEBUG                        DBG_OFF
#define IP_REASS_DEBUG                  DBG_OFF
#define RAW_DEBUG                       DBG_OFF
#define MEM_DEBUG                       DBG_OFF
#define MEMP_DEBUG                      DBG_OFF
#define SYS_DEBUG                       DBG_OFF
#define TCP_DEBUG                       DBG_ON
#define TCP_INPUT_DEBUG                 DBG_OFF
#define TCP_FR_DEBUG                    DBG_OFF
#define TCP_RTO_DEBUG                   DBG_OFF
#define TCP_REXMIT_DEBUG                DBG_OFF
#define TCP_CWND_DEBUG                  DBG_OFF
#define TCP_WND_DEBUG                   DBG_OFF
#define TCP_OUTPUT_DEBUG                DBG_OFF
#define TCP_RST_DEBUG                   DBG_OFF
#define TCP_QLEN_DEBUG                  DBG_OFF
#define UDP_DEBUG                       DBG_OFF
#define TCPIP_DEBUG                     DBG_OFF
#define DBG_MIN_LEVEL                   DBG_LEVEL_OFF

/*
#define DBG_TYPES_ON                    0
#define ETHARP_DEBUG                    DBG_OFF
#define NETIF_DEBUG                     DBG_OFF
#define PBUF_DEBUG                      DBG_OFF
#define API_LIB_DEBUG                   DBG_OFF
#define API_MSG_DEBUG                   DBG_OFF
#define SOCKETS_DEBUG                   DBG_OFF
#define ICMP_DEBUG                      DBG_OFF
#define INET_DEBUG                      DBG_OFF
#define IP_DEBUG                        DBG_OFF
#define IP_REASS_DEBUG                  DBG_OFF
#define RAW_DEBUG                       DBG_OFF
#define MEM_DEBUG                       DBG_OFF
#define MEMP_DEBUG                      DBG_OFF
#define SYS_DEBUG                       DBG_OFF
#define TCP_DEBUG                       DBG_OFF
#define TCP_INPUT_DEBUG                 DBG_OFF
#define TCP_FR_DEBUG                    DBG_OFF
#define TCP_RTO_DEBUG                   DBG_OFF
#define TCP_REXMIT_DEBUG                DBG_OFF
#define TCP_CWND_DEBUG                  DBG_OFF
#define TCP_WND_DEBUG                   DBG_OFF
#define TCP_OUTPUT_DEBUG                DBG_OFF
#define TCP_RST_DEBUG                   DBG_OFF
#define TCP_QLEN_DEBUG                  DBG_OFF
#define UDP_DEBUG                       DBG_OFF
#define TCPIP_DEBUG                     DBG_OFF
#define PPP_DEBUG                       DBG_OFF
#define SLIP_DEBUG                      DBG_OFF
#define DHCP_DEBUG                      DBG_OFF
#define DBG_MIN_LEVEL                   DBG_LEVEL_OFF
*/

#endif /* __LWIPOPTS_H__ */

best regards
Janusz U.


_______________________________________________
lwip-users mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/lwip-users
Reply | Threaded
Open this post in threaded view
|

Re: Re: Long(er) delay to PC ACK when serving images

Janusz U.
There is tcp tump made by ethereal. Could somebody explain me why Win=0 when
I transfer data with TF_NODELAY flag??? 192.168.1.48 is server (my
computer), 212.2.99.41 lwIP device with BSD PPP stack by GPRS.

Janusz

No.     Time        Source                Destination           Protocol
Info
      1 0.000000    212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [SYN] Seq=0 Ack=0 Win=0 Len=0 MSS=1460
      2 0.000058    192.168.1.48          212.2.99.41           TCP
8801 > 32338 [SYN, ACK] Seq=0 Ack=1 Win=33580 Len=0 MSS=1460
      3 1.239728    212.2.99.41           192.168.1.48          TCP
32338 > 8801 [ACK] Seq=1 Ack=1 Win=512 Len=0
      4 1.739746    192.168.1.48          212.2.99.41           TCP
8801 > 32338 [PSH, ACK] Seq=1 Ack=1 Win=33580 [TCP CHECKSUM INCORRECT] Len=7
      5 2.700763    212.2.99.41           192.168.1.48          TCP
32338 > 8801 [ACK] Seq=1 Ack=8 Win=512 Len=0
      6 3.446845    212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=1 Ack=8 Win=0 Len=8
      7 3.582523    192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=8 Ack=9 Win=33572 [TCP CHECKSUM
INCORRECT] Len=0
      8 7.706654    192.168.1.48          212.2.99.41           TCP
8801 > 32338 [ACK] Seq=8 Ack=9 Win=33572 [TCP CHECKSUM INCORRECT] Len=1
      9 10.209819   212.2.99.41           192.168.1.48          TCP
32338 > 8801 [ACK] Seq=9 Ack=9 Win=512 Len=0
     10 10.209876   192.168.1.48          212.2.99.41           TCP
8801 > 32338 [PSH, ACK] Seq=9 Ack=9 Win=33572 [TCP CHECKSUM INCORRECT] Len=5
     11 11.079761   212.2.99.41           192.168.1.48          TCP
32338 > 8801 [ACK] Seq=9 Ack=14 Win=512 Len=0
     12 11.812434   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=9 Ack=14 Win=0 Len=20
     13 11.931354   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=14 Ack=29 Win=33552 [TCP CHECKSUM
INCORRECT] Len=0
     14 16.960761   192.168.1.48          212.2.99.41           TCP
8801 > 32338 [ACK] Seq=14 Ack=29 Win=33552 [TCP CHECKSUM INCORRECT] Len=1
     15 18.747311   212.2.99.41           192.168.1.48          TCP
32338 > 8801 [ACK] Seq=29 Ack=15 Win=512 Len=0
     16 18.747356   192.168.1.48          212.2.99.41           TCP
8801 > 32338 [PSH, ACK] Seq=15 Ack=29 Win=33552 [TCP CHECKSUM INCORRECT]
Len=5
     17 19.601129   212.2.99.41           192.168.1.48          TCP
32338 > 8801 [ACK] Seq=29 Ack=20 Win=512 Len=0
     18 20.307548   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=29 Ack=20 Win=0 Len=9
     19 20.481349   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=20 Ack=38 Win=33543 [TCP CHECKSUM
INCORRECT] Len=0
     20 24.907244   192.168.1.48          212.2.99.41           TCP
8801 > 32338 [ACK] Seq=20 Ack=38 Win=33543 [TCP CHECKSUM INCORRECT] Len=1
     21 27.159941   212.2.99.41           192.168.1.48          TCP
32338 > 8801 [ACK] Seq=38 Ack=21 Win=512 Len=0
     22 27.159983   192.168.1.48          212.2.99.41           TCP
8801 > 32338 [PSH, ACK] Seq=21 Ack=38 Win=33543 [TCP CHECKSUM INCORRECT]
Len=7
     23 28.029926   212.2.99.41           192.168.1.48          TCP
32338 > 8801 [ACK] Seq=38 Ack=28 Win=512 Len=0
     24 28.865429   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=38 Ack=28 Win=0 Len=161
     25 29.031341   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=28 Ack=199 Win=33382 [TCP CHECKSUM
INCORRECT] Len=0
     26 33.557817   192.168.1.48          212.2.99.41           TCP
8801 > 32338 [ACK] Seq=28 Ack=199 Win=33382 [TCP CHECKSUM INCORRECT] Len=1
     27 35.651439   212.2.99.41           192.168.1.48          TCP
32338 > 8801 [ACK] Seq=199 Ack=29 Win=512 Len=0
     28 35.651496   192.168.1.48          212.2.99.41           TCP
8801 > 32338 [PSH, ACK] Seq=29 Ack=199 Win=33382 [TCP CHECKSUM INCORRECT]
Len=6
     29 36.525080   212.2.99.41           192.168.1.48          TCP
32338 > 8801 [ACK] Seq=199 Ack=35 Win=512 Len=0
     30 37.240534   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=199 Ack=35 Win=0 Len=8
     31 37.380176   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=35 Ack=207 Win=33374 [TCP CHECKSUM
INCORRECT] Len=0
     32 41.604876   192.168.1.48          212.2.99.41           TCP
8801 > 32338 [ACK] Seq=35 Ack=207 Win=33374 [TCP CHECKSUM INCORRECT] Len=1
     33 44.144097   212.2.99.41           192.168.1.48          TCP
32338 > 8801 [ACK] Seq=207 Ack=36 Win=512 Len=0
     34 44.144139   192.168.1.48          212.2.99.41           TCP
8801 > 32338 [PSH, ACK] Seq=36 Ack=207 Win=33374 [TCP CHECKSUM INCORRECT]
Len=6
     35 45.019690   212.2.99.41           192.168.1.48          TCP
32338 > 8801 [ACK] Seq=207 Ack=42 Win=512 Len=0
     36 45.732616   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=207 Ack=42 Win=0 Len=8
     37 45.930162   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=42 Ack=215 Win=33366 [TCP CHECKSUM
INCORRECT] Len=0
     38 50.657831   192.168.1.48          212.2.99.41           TCP
8801 > 32338 [ACK] Seq=42 Ack=215 Win=33366 [TCP CHECKSUM INCORRECT] Len=1
     39 52.671316   212.2.99.41           192.168.1.48          TCP
32338 > 8801 [ACK] Seq=215 Ack=43 Win=512 Len=0
     40 52.671370   192.168.1.48          212.2.99.41           TCP
8801 > 32338 [PSH, ACK] Seq=43 Ack=215 Win=33366 [TCP CHECKSUM INCORRECT]
Len=5
     41 53.536814   212.2.99.41           192.168.1.48          TCP
32338 > 8801 [ACK] Seq=215 Ack=48 Win=512 Len=0
     42 54.255853   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=215 Ack=48 Win=0 Len=10
     43 54.379574   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=48 Ack=225 Win=33356 [TCP CHECKSUM
INCORRECT] Len=0
     44 58.906048   192.168.1.48          212.2.99.41           TCP
8801 > 32338 [ACK] Seq=48 Ack=225 Win=33356 [TCP CHECKSUM INCORRECT] Len=1
     45 61.102140   212.2.99.41           192.168.1.48          TCP
32338 > 8801 [ACK] Seq=225 Ack=49 Win=512 Len=0
     46 61.102181   192.168.1.48          212.2.99.41           TCP
8801 > 32338 [PSH, ACK] Seq=49 Ack=225 Win=33356 [TCP CHECKSUM INCORRECT]
Len=5
     47 61.961719   212.2.99.41           192.168.1.48          TCP
32338 > 8801 [ACK] Seq=225 Ack=54 Win=512 Len=0
     48 62.730922   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=225 Ack=54 Win=0 Len=8
     49 62.929580   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=233 Win=33348 [TCP CHECKSUM
INCORRECT] Len=0
     50 66.106850   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=233 Ack=54 Win=0 Len=24
     51 66.123857   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=257 Ack=54 Win=0 Len=192
     52 66.123900   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=449 Win=33132 [TCP CHECKSUM
INCORRECT] Len=0
     53 66.291351   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=449 Ack=54 Win=0 Len=233
     54 66.450160   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=682 Win=32899 [TCP CHECKSUM
INCORRECT] Len=0
     55 66.466850   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=682 Ack=54 Win=0 Len=229
     56 66.651337   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=911 Win=32670 [TCP CHECKSUM
INCORRECT] Len=0
     57 66.780250   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=911 Ack=54 Win=0 Len=219
     58 66.953105   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=1130 Win=32451 [TCP CHECKSUM
INCORRECT] Len=0
     59 67.050796   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=1130 Ack=54 Win=0 Len=222
     60 67.154278   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=1352 Win=32229 [TCP CHECKSUM
INCORRECT] Len=0
     61 67.269815   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=1352 Ack=54 Win=0 Len=243
     62 67.456043   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=1595 Win=33580 [TCP CHECKSUM
INCORRECT] Len=0
     63 67.514462   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=1595 Ack=54 Win=0 Len=237
     64 67.657219   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=1832 Win=33343 [TCP CHECKSUM
INCORRECT] Len=0
     65 68.356113   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=1832 Ack=54 Win=0 Len=216
     66 68.461923   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=2048 Win=33127 [TCP CHECKSUM
INCORRECT] Len=0
     67 68.546083   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=2048 Ack=54 Win=0 Len=216
     68 68.663101   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=2264 Win=32911 [TCP CHECKSUM
INCORRECT] Len=0
     69 68.744892   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=2264 Ack=54 Win=0 Len=246
     70 68.864277   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=2510 Win=32665 [TCP CHECKSUM
INCORRECT] Len=0
     71 68.974778   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=2510 Ack=54 Win=0 Len=237
     72 69.166042   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=2747 Win=32428 [TCP CHECKSUM
INCORRECT] Len=0
     73 69.196734   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=2747 Ack=54 Win=0 Len=213
     74 69.367210   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=2960 Win=32215 [TCP CHECKSUM
INCORRECT] Len=0
     75 69.418583   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=2960 Ack=54 Win=0 Len=225
     76 69.568394   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=3185 Win=33580 [TCP CHECKSUM
INCORRECT] Len=0
     77 70.236994   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=3185 Ack=54 Win=0 Len=240
     78 70.373097   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=3425 Win=33340 [TCP CHECKSUM
INCORRECT] Len=0
     79 70.461142   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=3425 Ack=54 Win=0 Len=231
     80 70.574279   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=3656 Win=33109 [TCP CHECKSUM
INCORRECT] Len=0
     81 70.630654   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=3656 Ack=54 Win=0 Len=222
     82 70.775453   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=3878 Win=32887 [TCP CHECKSUM
INCORRECT] Len=0
     83 70.800419   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=3878 Ack=54 Win=0 Len=213
     84 70.976627   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=4091 Win=32674 [TCP CHECKSUM
INCORRECT] Len=0
     85 71.053462   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=4091 Ack=54 Win=0 Len=239
     86 71.177806   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=4330 Win=32435 [TCP CHECKSUM
INCORRECT] Len=0
     87 71.274737   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=4330 Ack=54 Win=0 Len=223
     88 71.378983   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=4553 Win=32212 [TCP CHECKSUM
INCORRECT] Len=0
     89 72.080375   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=4553 Ack=54 Win=0 Len=240
     90 72.183688   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=4793 Win=33580 [TCP CHECKSUM
INCORRECT] Len=0
     91 72.315906   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=4793 Ack=54 Win=0 Len=230
     92 72.452654   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=5023 Ack=54 Win=0 Len=220
     93 72.452700   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=5243 Win=33130 [TCP CHECKSUM
INCORRECT] Len=0
     94 72.539379   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=5243 Ack=54 Win=0 Len=246
     95 72.648044   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=5489 Ack=54 Win=0 Len=222
     96 72.648089   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=5711 Win=32662 [TCP CHECKSUM
INCORRECT] Len=0
     97 72.969049   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=5711 Ack=54 Win=0 Len=225
     98 73.088980   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=5936 Win=32437 [TCP CHECKSUM
INCORRECT] Len=0
     99 73.248191   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=5936 Ack=54 Win=0 Len=231
    100 73.390746   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=6167 Win=32206 [TCP CHECKSUM
INCORRECT] Len=0
    101 73.426609   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=6167 Ack=54 Win=0 Len=228
    102 73.591927   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=6395 Win=33580 [TCP CHECKSUM
INCORRECT] Len=0
    103 74.428858   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=6395 Ack=54 Win=0 Len=228
    104 74.521501   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=6623 Ack=54 Win=0 Len=240
    105 74.521552   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=6863 Win=33112 [TCP CHECKSUM
INCORRECT] Len=0
    106 74.654046   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=6863 Ack=54 Win=0 Len=219
    107 74.798979   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=7082 Win=32893 [TCP CHECKSUM
INCORRECT] Len=0
    108 74.855111   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=7082 Ack=54 Win=0 Len=228
    109 75.000187   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=7310 Win=32665 [TCP CHECKSUM
INCORRECT] Len=0
    110 75.085210   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=7310 Ack=54 Win=0 Len=228
    111 75.201333   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=7538 Win=32437 [TCP CHECKSUM
INCORRECT] Len=0
    112 75.920464   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=7538 Ack=54 Win=0 Len=231
    113 76.106626   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=7769 Win=32206 [TCP CHECKSUM
INCORRECT] Len=0
    114 76.109884   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=7769 Ack=54 Win=0 Len=225
    115 76.282617   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=7994 Ack=54 Win=0 Len=229
    116 76.282679   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=8223 Win=33580 [TCP CHECKSUM
INCORRECT] Len=0
    117 76.498191   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=8223 Ack=54 Win=0 Len=233
    118 76.609571   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=8456 Win=33347 [TCP CHECKSUM
INCORRECT] Len=0
    119 76.724858   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=8456 Ack=54 Win=0 Len=234
    120 76.911344   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=8690 Win=33113 [TCP CHECKSUM
INCORRECT] Len=0
    121 76.963359   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=8690 Ack=54 Win=0 Len=231
    122 77.112510   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=8921 Win=32882 [TCP CHECKSUM
INCORRECT] Len=0
    123 77.170321   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=8921 Ack=54 Win=0 Len=225
    124 77.313692   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=9146 Win=32657 [TCP CHECKSUM
INCORRECT] Len=0
    125 77.979178   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=9146 Ack=54 Win=0 Len=222
    126 78.118396   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=9368 Win=32435 [TCP CHECKSUM
INCORRECT] Len=0
    127 78.191850   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=9368 Ack=54 Win=0 Len=225
    128 78.319588   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=9593 Win=32210 [TCP CHECKSUM
INCORRECT] Len=0
    129 78.367045   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=9593 Ack=54 Win=0 Len=231
    130 78.520763   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=9824 Win=33580 [TCP CHECKSUM
INCORRECT] Len=0
    131 78.551251   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=9824 Ack=54 Win=0 Len=225
    132 78.721936   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=10049 Win=33355 [TCP
CHECKSUM INCORRECT] Len=0
    133 78.874278   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=10049 Ack=54 Win=0 Len=222
    134 79.023697   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=10271 Win=33133 [TCP
CHECKSUM INCORRECT] Len=0
    135 79.616879   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=10271 Ack=54 Win=0 Len=234
    136 79.727812   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=10505 Win=32899 [TCP
CHECKSUM INCORRECT] Len=0
    137 79.832201   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=10505 Ack=54 Win=0 Len=231
    138 80.029577   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=10736 Win=32668 [TCP
CHECKSUM INCORRECT] Len=0
    139 80.030568   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=10736 Ack=54 Win=0 Len=231
    140 80.214585   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=10967 Ack=54 Win=0 Len=228
    141 80.214636   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=11195 Win=32209 [TCP
CHECKSUM INCORRECT] Len=0
    142 80.412659   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=11195 Ack=54 Win=0 Len=228
    143 80.532511   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=11423 Win=33580 [TCP
CHECKSUM INCORRECT] Len=0
    144 80.683225   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=11423 Ack=54 Win=0 Len=240
    145 80.834285   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=11663 Win=33340 [TCP
CHECKSUM INCORRECT] Len=0
    146 80.865762   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=11663 Ack=54 Win=0 Len=219
    147 81.035450   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=11882 Win=33121 [TCP
CHECKSUM INCORRECT] Len=0
    148 81.514712   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=11882 Ack=54 Win=0 Len=228
    149 81.638981   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=12110 Win=32893 [TCP
CHECKSUM INCORRECT] Len=0
    150 81.903005   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=12110 Ack=54 Win=0 Len=228
    151 82.041331   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=12338 Win=32665 [TCP
CHECKSUM INCORRECT] Len=0
    152 82.147427   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=12338 Ack=54 Win=0 Len=231
    153 82.343101   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=12569 Win=32434 [TCP
CHECKSUM INCORRECT] Len=0
    154 82.495863   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=12569 Ack=54 Win=0 Len=231
    155 82.644866   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=12800 Win=32203 [TCP
CHECKSUM INCORRECT] Len=0
    156 82.720047   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=12800 Ack=54 Win=0 Len=234
    157 82.846041   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=13034 Win=33580 [TCP
CHECKSUM INCORRECT] Len=0
    158 82.936083   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=13034 Ack=54 Win=0 Len=222
    159 83.047216   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=13256 Win=33358 [TCP
CHECKSUM INCORRECT] Len=0
    160 83.175307   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=13256 Ack=54 Win=0 Len=234
    161 83.348980   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=13490 Win=33124 [TCP
CHECKSUM INCORRECT] Len=0
    162 83.419966   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=13490 Ack=54 Win=0 Len=222
    163 83.550161   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=13712 Win=32902 [TCP
CHECKSUM INCORRECT] Len=0
    164 83.668074   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=13712 Ack=54 Win=0 Len=225
    165 83.851924   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=13937 Win=32677 [TCP
CHECKSUM INCORRECT] Len=0
    166 83.866227   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=13937 Ack=54 Win=0 Len=231
    167 84.053105   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=14168 Win=32446 [TCP
CHECKSUM INCORRECT] Len=0
    168 84.111334   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=14168 Ack=54 Win=0 Len=225
    169 84.254275   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=14393 Win=32221 [TCP
CHECKSUM INCORRECT] Len=0
    170 84.364847   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=14393 Ack=54 Win=0 Len=249
    171 84.556041   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=14642 Win=33580 [TCP
CHECKSUM INCORRECT] Len=0
    172 85.155453   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=14642 Ack=54 Win=0 Len=207
    173 85.260157   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=14849 Win=33373 [TCP
CHECKSUM INCORRECT] Len=0
    174 85.382880   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=14849 Ack=54 Win=0 Len=233
    175 85.552861   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=15082 Ack=54 Win=0 Len=214
    176 85.552909   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=15296 Win=32926 [TCP
CHECKSUM INCORRECT] Len=0
    177 85.748508   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=15296 Ack=54 Win=0 Len=234
    178 85.863685   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=15530 Win=32692 [TCP
CHECKSUM INCORRECT] Len=0
    179 86.001777   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=15530 Ack=54 Win=0 Len=237
    180 86.165450   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=15767 Win=32455 [TCP
CHECKSUM INCORRECT] Len=0
    181 86.240273   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=15767 Ack=54 Win=0 Len=228
    182 86.366623   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=15995 Win=32227 [TCP
CHECKSUM INCORRECT] Len=0
    183 87.134145   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=15995 Ack=54 Win=0 Len=229
    184 87.271923   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=16224 Win=33580 [TCP
CHECKSUM INCORRECT] Len=0
    185 87.327112   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=16224 Ack=54 Win=0 Len=224
    186 87.473098   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=16448 Win=33356 [TCP
CHECKSUM INCORRECT] Len=0
    187 87.514056   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=16448 Ack=54 Win=0 Len=234
    188 87.674275   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=16682 Win=33122 [TCP
CHECKSUM INCORRECT] Len=0
    189 87.687012   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=16682 Ack=54 Win=0 Len=213
    190 87.875455   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=16895 Win=32909 [TCP
CHECKSUM INCORRECT] Len=0
    191 87.937357   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=16895 Ack=54 Win=0 Len=243
    192 88.076622   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=17138 Win=32666 [TCP
CHECKSUM INCORRECT] Len=0
    193 88.156131   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=17138 Ack=54 Win=0 Len=231
    194 88.277807   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=17369 Win=32435 [TCP
CHECKSUM INCORRECT] Len=0
    195 88.394868   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=17369 Ack=54 Win=0 Len=225
    196 88.579587   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=17594 Win=32210 [TCP
CHECKSUM INCORRECT] Len=0
    197 89.212364   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=17594 Ack=54 Win=0 Len=240
    198 89.384269   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=17834 Win=33580 [TCP
CHECKSUM INCORRECT] Len=0
    199 89.430637   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=17834 Ack=54 Win=0 Len=222
    200 89.585459   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=18056 Win=33358 [TCP
CHECKSUM INCORRECT] Len=0
    201 89.618918   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=18056 Ack=54 Win=0 Len=234
    202 89.734164   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=18290 Ack=54 Win=0 Len=207
    203 89.734209   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=18497 Win=32917 [TCP
CHECKSUM INCORRECT] Len=0
    204 89.800461   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=18497 Ack=54 Win=0 Len=240
    205 89.938332   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=18737 Ack=54 Win=0 Len=231
    206 89.938378   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=18968 Win=32446 [TCP
CHECKSUM INCORRECT] Len=0
    207 90.318750   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=18968 Ack=54 Win=0 Len=231
    208 90.490755   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=19199 Win=32215 [TCP
CHECKSUM INCORRECT] Len=0
    209 91.386137   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=19199 Ack=54 Win=0 Len=235
    210 91.496629   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=19434 Win=33580 [TCP
CHECKSUM INCORRECT] Len=0
    211 91.587731   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=19434 Ack=54 Win=0 Len=224
    212 91.697821   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=19658 Win=33356 [TCP
CHECKSUM INCORRECT] Len=0
    213 91.768786   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=19658 Ack=54 Win=0 Len=224
    214 91.898992   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=19882 Win=33132 [TCP
CHECKSUM INCORRECT] Len=0
    215 91.950855   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=19882 Ack=54 Win=0 Len=214
    216 92.100168   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=20096 Win=32918 [TCP
CHECKSUM INCORRECT] Len=0
    217 92.212849   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=20096 Ack=54 Win=0 Len=240
    218 92.401928   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=20336 Win=32678 [TCP
CHECKSUM INCORRECT] Len=0
    219 92.460386   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=20336 Ack=54 Win=0 Len=240
    220 92.603100   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=20576 Win=32438 [TCP
CHECKSUM INCORRECT] Len=0
    221 92.707489   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=20576 Ack=54 Win=0 Len=234
    222 92.904877   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=20810 Win=32204 [TCP
CHECKSUM INCORRECT] Len=0
    223 92.923646   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=20810 Ack=54 Win=0 Len=222
    224 93.106048   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=21032 Win=33580 [TCP
CHECKSUM INCORRECT] Len=0
    225 93.151459   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=21032 Ack=54 Win=0 Len=210
    226 93.307225   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=21242 Win=33370 [TCP
CHECKSUM INCORRECT] Len=0
    227 93.818221   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=21242 Ack=54 Win=0 Len=240
    228 93.898981   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=21482 Ack=54 Win=0 Len=222
    229 93.899038   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=21704 Win=32908 [TCP
CHECKSUM INCORRECT] Len=0
    230 94.099856   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=21704 Ack=54 Win=0 Len=234
    231 94.212506   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=21938 Win=32674 [TCP
CHECKSUM INCORRECT] Len=0
    232 94.319749   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=21938 Ack=54 Win=0 Len=222
    233 94.514275   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=22160 Win=32452 [TCP
CHECKSUM INCORRECT] Len=0
    234 94.520626   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=22160 Ack=54 Win=0 Len=218
    235 94.715451   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=22378 Win=32234 [TCP
CHECKSUM INCORRECT] Len=0
    236 95.023703   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=22378 Ack=54 Win=0 Len=247
    237 95.218394   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=22625 Win=33580 [TCP
CHECKSUM INCORRECT] Len=0
    238 95.296910   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=22625 Ack=54 Win=0 Len=222
    239 95.419561   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=22847 Win=33358 [TCP
CHECKSUM INCORRECT] Len=0
    240 96.203378   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=22847 Ack=54 Win=0 Len=235
    241 96.324862   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=23082 Win=33123 [TCP
CHECKSUM INCORRECT] Len=0
    242 96.387414   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=23082 Ack=54 Win=0 Len=230
    243 96.526043   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=23312 Win=32893 [TCP
CHECKSUM INCORRECT] Len=0
    244 96.591654   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=23312 Ack=54 Win=0 Len=240
    245 96.727213   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=23552 Win=32653 [TCP
CHECKSUM INCORRECT] Len=0
    246 96.772981   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=23552 Ack=54 Win=0 Len=216
    247 96.928385   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=23768 Win=32437 [TCP
CHECKSUM INCORRECT] Len=0
    248 96.991007   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=23768 Ack=54 Win=0 Len=210
    249 97.129570   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=23978 Win=32227 [TCP
CHECKSUM INCORRECT] Len=0
    250 97.238653   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=23978 Ack=54 Win=0 Len=246
    251 97.431333   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=24224 Win=33580 [TCP
CHECKSUM INCORRECT] Len=0
    252 97.462606   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=24224 Ack=54 Win=0 Len=234
    253 97.632508   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=24458 Win=33346 [TCP
CHECKSUM INCORRECT] Len=0
    254 97.729678   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=24458 Ack=54 Win=0 Len=231
    255 97.833684   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=24689 Win=33115 [TCP
CHECKSUM INCORRECT] Len=0
    256 98.478904   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=24689 Ack=54 Win=0 Len=222
    257 98.638389   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=24911 Win=32893 [TCP
CHECKSUM INCORRECT] Len=0
    258 98.709044   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=24911 Ack=54 Win=0 Len=225
    259 98.839567   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=25136 Win=32668 [TCP
CHECKSUM INCORRECT] Len=0
    260 98.892582   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=25136 Ack=54 Win=0 Len=231
    261 99.040746   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=25367 Win=32437 [TCP
CHECKSUM INCORRECT] Len=0
    262 99.096583   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=25367 Ack=54 Win=0 Len=234
    263 99.241922   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=25601 Win=32203 [TCP
CHECKSUM INCORRECT] Len=0
    264 99.306507   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=25601 Ack=54 Win=0 Len=225
    265 99.443098   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=25826 Win=33580 [TCP
CHECKSUM INCORRECT] Len=0
    266 99.533415   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=25826 Ack=54 Win=0 Len=231
    267 99.644271   192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=26057 Win=33349 [TCP
CHECKSUM INCORRECT] Len=0
    268 99.985308   212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=26057 Ack=54 Win=0 Len=225
    269 100.147216  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=26282 Win=33124 [TCP
CHECKSUM INCORRECT] Len=0
    270 100.284388  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=26282 Ack=54 Win=0 Len=228
    271 100.448969  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=26510 Win=32896 [TCP
CHECKSUM INCORRECT] Len=0
    272 100.482323  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=26510 Ack=54 Win=0 Len=228
    273 100.650151  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=26738 Win=32668 [TCP
CHECKSUM INCORRECT] Len=0
    274 100.790196  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=26738 Ack=54 Win=0 Len=234
    275 100.951921  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=26972 Win=32434 [TCP
CHECKSUM INCORRECT] Len=0
    276 100.997648  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=26972 Ack=54 Win=0 Len=206
    277 101.153096  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=27178 Win=32228 [TCP
CHECKSUM INCORRECT] Len=0
    278 101.312030  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=27178 Ack=54 Win=0 Len=256
    279 101.454859  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=27434 Win=33580 [TCP
CHECKSUM INCORRECT] Len=0
    280 101.495917  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=27434 Ack=54 Win=0 Len=207
    281 101.656040  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=27641 Win=33373 [TCP
CHECKSUM INCORRECT] Len=0
    282 102.412361  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=27641 Ack=54 Win=0 Len=229
    283 102.561335  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=27870 Win=33144 [TCP
CHECKSUM INCORRECT] Len=0
    284 102.626470  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=27870 Ack=54 Win=0 Len=242
    285 102.762512  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=28112 Win=32902 [TCP
CHECKSUM INCORRECT] Len=0
    286 102.796205  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=28112 Ack=54 Win=0 Len=218
    287 102.963685  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=28330 Win=32684 [TCP
CHECKSUM INCORRECT] Len=0
    288 102.977547  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=28330 Ack=54 Win=0 Len=232
    289 103.164868  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=28562 Win=32452 [TCP
CHECKSUM INCORRECT] Len=0
    290 103.204962  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=28562 Ack=54 Win=0 Len=231
    291 103.366034  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=28793 Win=32221 [TCP
CHECKSUM INCORRECT] Len=0
    292 103.978108  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=28793 Ack=54 Win=0 Len=237
    293 104.170738  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=29030 Win=33580 [TCP
CHECKSUM INCORRECT] Len=0
    294 104.220284  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=29030 Ack=54 Win=0 Len=228
    295 104.371927  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=29258 Win=33352 [TCP
CHECKSUM INCORRECT] Len=0
    296 104.399407  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=29258 Ack=54 Win=0 Len=240
    297 104.573101  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=29498 Win=33112 [TCP
CHECKSUM INCORRECT] Len=0
    298 104.592411  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=29498 Ack=54 Win=0 Len=222
    299 104.774274  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=29720 Win=32890 [TCP
CHECKSUM INCORRECT] Len=0
    300 104.790637  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=29720 Ack=54 Win=0 Len=225
    301 104.975446  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=29945 Win=32665 [TCP
CHECKSUM INCORRECT] Len=0
    302 105.075490  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=29945 Ack=54 Win=0 Len=237
    303 105.176642  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=30182 Win=32428 [TCP
CHECKSUM INCORRECT] Len=0
    304 105.890494  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=30182 Ack=54 Win=0 Len=219
    305 106.081928  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=30401 Win=32209 [TCP
CHECKSUM INCORRECT] Len=0
    306 106.115922  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=30401 Ack=54 Win=0 Len=231
    307 106.283104  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=30632 Win=33580 [TCP
CHECKSUM INCORRECT] Len=0
    308 106.291576  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=30632 Ack=54 Win=0 Len=216
    309 106.476214  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=30848 Ack=54 Win=0 Len=240
    310 106.476273  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=31088 Win=33124 [TCP
CHECKSUM INCORRECT] Len=0
    311 106.760006  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=31088 Ack=54 Win=0 Len=231
    312 106.886624  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=31319 Win=32893 [TCP
CHECKSUM INCORRECT] Len=0
    313 106.967667  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=31319 Ack=54 Win=0 Len=234
    314 107.087805  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=31553 Win=32659 [TCP
CHECKSUM INCORRECT] Len=0
    315 107.148996  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=31553 Ack=54 Win=0 Len=216
    316 107.288976  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=31769 Win=32443 [TCP
CHECKSUM INCORRECT] Len=0
    317 107.370516  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=31769 Ack=54 Win=0 Len=209
    318 107.490150  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=31978 Win=32234 [TCP
CHECKSUM INCORRECT] Len=0
    319 108.089678  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=31978 Ack=54 Win=0 Len=253
    320 108.194270  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=32231 Win=33580 [TCP
CHECKSUM INCORRECT] Len=0
    321 108.304029  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=32231 Ack=54 Win=0 Len=225
    322 108.439291  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=32456 Ack=54 Win=0 Len=226
    323 108.439341  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=32682 Win=33129 [TCP
CHECKSUM INCORRECT] Len=0
    324 108.474541  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=32682 Ack=54 Win=0 Len=224
    325 108.596627  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=32906 Win=32905 [TCP
CHECKSUM INCORRECT] Len=0
    326 108.662252  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=32906 Ack=54 Win=0 Len=231
    327 108.797801  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=33137 Win=32674 [TCP
CHECKSUM INCORRECT] Len=0
    328 109.645808  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=33137 Ack=54 Win=0 Len=249
    329 109.803675  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=33386 Win=32425 [TCP
CHECKSUM INCORRECT] Len=0
    330 109.835723  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=33386 Ack=54 Win=0 Len=198
    331 110.004857  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=33584 Win=32227 [TCP
CHECKSUM INCORRECT] Len=0
    332 110.038297  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=33584 Ack=54 Win=0 Len=250
    333 110.206034  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=33834 Win=33580 [TCP
CHECKSUM INCORRECT] Len=0
    334 110.222565  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=33834 Ack=54 Win=0 Len=224
    335 110.407213  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=34058 Win=33356 [TCP
CHECKSUM INCORRECT] Len=0
    336 110.452910  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=34058 Ack=54 Win=0 Len=224
    337 110.608388  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=34282 Win=33132 [TCP
CHECKSUM INCORRECT] Len=0
    338 110.688481  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=34282 Ack=54 Win=0 Len=229
    339 110.809561  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=34511 Win=32903 [TCP
CHECKSUM INCORRECT] Len=0
    340 110.949659  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=34511 Ack=54 Win=0 Len=240
    341 111.111330  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=34751 Win=32663 [TCP
CHECKSUM INCORRECT] Len=0
    342 111.242610  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=34751 Ack=54 Win=0 Len=225
    343 111.413088  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=34976 Win=32438 [TCP
CHECKSUM INCORRECT] Len=0
    344 112.096291  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=34976 Ack=54 Win=0 Len=234
    345 112.217803  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=35210 Win=32204 [TCP
CHECKSUM INCORRECT] Len=0
    346 112.297573  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=35210 Ack=54 Win=0 Len=216
    347 112.418975  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=35426 Win=33580 [TCP
CHECKSUM INCORRECT] Len=0
    348 112.475720  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=35426 Ack=54 Win=0 Len=231
    349 112.620181  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=35657 Win=33349 [TCP
CHECKSUM INCORRECT] Len=0
    350 112.659776  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=35657 Ack=54 Win=0 Len=225
    351 112.821329  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=35882 Win=33124 [TCP
CHECKSUM INCORRECT] Len=0
    352 112.907394  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=35882 Ack=54 Win=0 Len=243
    353 113.022500  192.168.1.48          212.2.99.41           TCP
[TCP Window Full] 8801 > 32338 [ACK] Seq=54 Ack=36125 Win=32881 [TCP
CHECKSUM INCORRECT] Len=0
    354 113.217557  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=36125 Ack=54 Win=0 Len=213
    355 113.217604  192.168.1.48          212.2.99.41           TCP
8801 > 32338 [RST, ACK] Seq=54 Ack=36338 Win=0 Len=0
    356 113.439228  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=36338 Ack=54 Win=0 Len=231
    357 113.439264  192.168.1.48          212.2.99.41           TCP
8801 > 32338 [RST] Seq=54 Ack=3290611414 Win=0 Len=0
    358 114.232168  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=36569 Ack=54 Win=0 Len=225
    359 114.232206  192.168.1.48          212.2.99.41           TCP
8801 > 32338 [RST] Seq=54 Ack=3290611414 Win=0 Len=0
    360 114.410291  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=36794 Ack=54 Win=0 Len=237
    361 114.410326  192.168.1.48          212.2.99.41           TCP
8801 > 32338 [RST] Seq=54 Ack=3290611414 Win=0 Len=0
    362 114.591659  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 32338 > 8801 [PSH, ACK] Seq=37031 Ack=54 Win=0 Len=201
    363 114.591694  192.168.1.48          212.2.99.41           TCP
8801 > 32338 [RST] Seq=54 Ack=3290611414 Win=0 Len=0
    364 114.618641  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 36631 > 8801 [SYN] Seq=0 Ack=0 Win=0 Len=0 MSS=1460
    365 114.618680  192.168.1.48          212.2.99.41           TCP
8801 > 36631 [RST, ACK] Seq=0 Ack=0 Win=0 Len=0
    366 115.579614  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 36675 > 8801 [SYN] Seq=0 Ack=0 Win=0 Len=0 MSS=1460
    367 115.579655  192.168.1.48          212.2.99.41           TCP
8801 > 36675 [RST, ACK] Seq=0 Ack=0 Win=0 Len=0
    368 116.682319  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 36722 > 8801 [SYN] Seq=0 Ack=0 Win=0 Len=0 MSS=1460
    369 116.682357  192.168.1.48          212.2.99.41           TCP
8801 > 36722 [RST, ACK] Seq=0 Ack=0 Win=0 Len=0
    370 117.282533  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 36768 > 8801 [SYN] Seq=0 Ack=0 Win=0 Len=0 MSS=1460
    371 117.282597  192.168.1.48          212.2.99.41           TCP
8801 > 36768 [RST, ACK] Seq=0 Ack=0 Win=0 Len=0
    372 118.074725  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 36790 > 8801 [SYN] Seq=0 Ack=0 Win=0 Len=0 MSS=1460
    373 118.074755  192.168.1.48          212.2.99.41           TCP
8801 > 36790 [RST, ACK] Seq=0 Ack=0 Win=0 Len=0
    374 119.026687  212.2.99.41           192.168.1.48          TCP
[TCP ZeroWindow] 36821 > 8801 [SYN] Seq=0 Ack=0 Win=0 Len=0 MSS=1460
    375 119.026743  192.168.1.48          212.2.99.41           TCP
8801 > 36821 [SYN, ACK] Seq=0 Ack=1 Win=33580 Len=0 MSS=1460
    376 120.016814  212.2.99.41           192.168.1.48          TCP
36821 > 8801 [ACK] Seq=1 Ack=1 Win=512 Len=0
    377 120.386693  192.168.1.48          212.2.99.41           TCP
8801 > 36821 [PSH, ACK] Seq=1 Ack=1 Win=33580 [TCP CHECKSUM INCORRECT] Len=7
    378 121.291075  212.2.99.41           192.168.1.48          TCP
36821 > 8801 [ACK] Seq=1 Ack=8 Win=512 Len=0
    379 123.294425  212.2.99.41           192.168.1.48          TCP
36821 > 8801 [RST, ACK] Seq=1 Ack=8 Win=512 Len=0



_______________________________________________
lwip-users mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/lwip-users
Reply | Threaded
Open this post in threaded view
|

Re: Re: Long(er) delay to PC ACK when serving images

Kieran Mansley
On Wed, 2006-10-18 at 16:32 +0200, Janusz U. wrote:
> There is tcp tump made by ethereal. Could somebody explain me why Win=0 when
> I transfer data with TF_NODELAY flag??? 192.168.1.48 is server (my
> computer), 212.2.99.41 lwIP device with BSD PPP stack by GPRS.

The most that the lwIP device seems to be publishing is 512 bytes (I
think - it's quite hard to read the trace due to the way the lines have
wrapped).  This is a very small receive window, and suggests you have
configured one of the memory options too low.  It will advertise Win=0
when all of its receive window is in use, usually this means that it has
received some data but the application hasn't read them yet.  Until the
data are passed to the application that memory can't be re-advertised.

What is particularly interesting in this trace is that normally, after
advertising a zero window, the stack would send a window update
(basically just an ACK with a non-zero advertised window) to say "it's
OK, you can start sending again now" once the application has read the
data.  I don't see any of those.  Instead the other end is sending a
zero-window probe (the 1 byte packets a few hundred milliseconds after
the zero-window ACK) and this prompts the lwIP end to advertise the
available 512 byte window.  This is because lwIP will only advertise a
new window once the available memory is at least half the receive
window.  See src/core/tcp.c:399  There is a comment there explaining the
motivation - basically it tries to avoid sending a window update until
there is a reasonably sized window to advertise.  In your case it never
gets a reasonably sized window because there are only a maximum of 512
bytes available - where this limit is coming from I don't know, but I
guess it's something you've configured.

We could probably improve this check to be a less crude, but I think the
root of the problem is the amount of memory you're providing, and the
settings for TCP_WND and TCP_MSS.

Hope that helps

Kieran




_______________________________________________
lwip-users mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/lwip-users