lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lwip-users] transfer stucks when snd_wnd is less than TCP_MSS


From: Vlad
Subject: Re: [lwip-users] transfer stucks when snd_wnd is less than TCP_MSS
Date: Fri, 9 Mar 2007 14:03:51 +0200
User-agent: KMail/1.9.5

Ok, this is conversation between remote end and router:

04:29:22.778193 IP remote > router: F 1294546043:1294546043(0) ack 1244949083 
win 137 <nop,nop,timestamp 73592690 4368029>
04:29:22.992362 IP router > remote: F 1:1(0) ack 1 win 1460 <nop,nop,timestamp 
4383321 73592690>
04:29:22.992375 IP remote > router: . ack 2 win 137 <nop,nop,timestamp 
73592904 4383321>
04:29:39.756669 IP router > remote: S 1321608934:1321608934(0) win 5840 <mss 
1412,sackOK,timestamp 4387510 0,nop,wscale 2>
04:29:39.756682 IP remote > router: S 1380910307:1380910307(0) ack 1321608935 
win 5792 <mss 1460,sackOK,timestamp 73609671 4387510,nop,wscale 8>
04:29:39.969365 IP router > remote: . ack 1 win 1460 <nop,nop,timestamp 
4387564 73609671>
04:29:40.140446 IP router > remote: P 1:240(239) ack 1 win 1460 
<nop,nop,timestamp 4387603 73609671>
04:29:40.140461 IP remote > router: . ack 240 win 27 <nop,nop,timestamp 
73610055 4387603>
04:29:40.305530 IP router > remote: . 240:1640(1400) ack 1 win 1460 
<nop,nop,timestamp 4387627 73609671>
04:29:40.305545 IP remote > router: . ack 1640 win 38 <nop,nop,timestamp 
73610220 4387627>
04:29:40.390631 IP router > remote: . 1640:3040(1400) ack 1 win 1460 
<nop,nop,timestamp 4387627 73609671>
04:29:40.390640 IP remote > router: . ack 3040 win 49 <nop,nop,timestamp 
73610305 4387627>
04:29:40.475983 IP router > remote: . 3040:4440(1400) ack 1 win 1460 
<nop,nop,timestamp 4387660 73610055>
04:29:40.475994 IP remote > router: . ack 4440 win 60 <nop,nop,timestamp 
73610390 4387660>
04:29:40.560837 IP router > remote: . 4440:5840(1400) ack 1 win 1460 
<nop,nop,timestamp 4387660 73610055>
04:29:40.560845 IP remote > router: . ack 5840 win 71 <nop,nop,timestamp 
73610475 4387660>
04:29:40.646065 IP router > remote: . 5840:7240(1400) ack 1 win 1460 
<nop,nop,timestamp 4387701 73610220>
04:29:40.646071 IP remote > router: . ack 7240 win 82 <nop,nop,timestamp 
73610560 4387701>
04:29:40.733918 IP router > remote: . 7240:8640(1400) ack 1 win 1460 
<nop,nop,timestamp 4387701 73610220>
04:29:40.733924 IP remote > router: . ack 8640 win 93 <nop,nop,timestamp 
73610648 4387701>
04:29:40.819146 IP router > remote: . 8640:10040(1400) ack 1 win 1460 
<nop,nop,timestamp 4387722 73610305>
04:29:40.819155 IP remote > router: . ack 10040 win 104 <nop,nop,timestamp 
73610734 4387722>
04:29:40.903499 IP router > remote: . 10040:11440(1400) ack 1 win 1460 
<nop,nop,timestamp 4387722 73610305>
04:29:40.903508 IP remote > router: . ack 11440 win 115 <nop,nop,timestamp 
73610818 4387722>
04:29:41.006971 IP router > remote: . 11440:12840(1400) ack 1 win 1460 
<nop,nop,timestamp 4387766 73610475>
04:29:41.006980 IP remote > router: . ack 12840 win 126 <nop,nop,timestamp 
73610921 4387766>
04:29:41.093075 IP router > remote: . 12840:14240(1400) ack 1 win 1460 
<nop,nop,timestamp 4387766 73610475>
04:29:41.093084 IP remote > router: . ack 14240 win 137 <nop,nop,timestamp 
73611008 4387766>
04:29:41.177928 IP router > remote: . 14240:15640(1400) ack 1 win 1460 
<nop,nop,timestamp 4387808 73610648>
[... more packets here ....]
04:29:45.089424 IP router > remote: . 75840:77240(1400) ack 1 win 1460 
<nop,nop,timestamp 4388653 73614024>
04:29:45.173900 IP router > remote: . 77240:78640(1400) ack 1 win 1460 
<nop,nop,timestamp 4388653 73614024>
04:29:45.173908 IP remote > router: . ack 78640 win 137 <nop,nop,timestamp 
73615089 4388653>
04:29:45.259003 IP router > remote: . 78640:80040(1400) ack 1 win 1460 
<nop,nop,timestamp 4388653 73614024>
04:29:45.297368 IP router > remote: P 80040:80660(620) ack 1 win 1460 
<nop,nop,timestamp 4388653 73614024>
04:29:45.297380 IP remote > router: . ack 80660 win 137 <nop,nop,timestamp 
73615212 4388653>
[... here we hangs ..... ]
04:30:45.297688 IP remote > router: F 1:1(0) ack 80660 win 137 
<nop,nop,timestamp 73675222 4388653>   <=== reset connection after 60 sec 
timeout

I didn't see here nothing strange.

Here is same-time log i've done on vmware virtual network interface:

13:53:41.341109 IP lwip_on_vmware > remote_end: S 6515:6515(0) win 20480 <mss 
1460>
13:53:41.559540 IP remote_end > lwip_on_vmware: S 2584143795:2584143795(0) ack 
6516 win 64240 <mss 1460>
13:53:41.661647 IP remote_end > lwip_on_vmware: S 2584143795:2584143795(0) ack 
6516 win 64240 <mss 1460>
13:53:41.714486 IP lwip_on_vmware > remote_end: P 1:240(239) ack 1 win 20480
13:53:41.714554 IP remote_end > lwip_on_vmware: . ack 240 win 64240
13:53:41.717173 IP lwip_on_vmware > remote_end: . ack 1 win 20480
13:53:41.810493 IP lwip_on_vmware > remote_end: . 240:1700(1460) ack 1 win 
20480
13:53:41.810618 IP lwip_on_vmware > remote_end: . 1700:3160(1460) ack 1 win 
20480
13:53:41.811134 IP remote_end > lwip_on_vmware: . ack 1700 win 64240
13:53:41.811171 IP remote_end > lwip_on_vmware: . ack 3160 win 64240
13:53:41.890492 IP lwip_on_vmware > remote_end: . 3160:4620(1460) ack 1 win 
20480
13:53:41.890619 IP lwip_on_vmware > remote_end: . 4620:6080(1460) ack 1 win 
20480
13:53:41.890773 IP lwip_on_vmware > remote_end: . 6080:7540(1460) ack 1 win 
20480
13:53:41.890844 IP lwip_on_vmware > remote_end: . 7540:9000(1460) ack 1 win 
20480
13:53:41.891393 IP remote_end > lwip_on_vmware: . ack 4620 win 64240
13:53:41.891413 IP remote_end > lwip_on_vmware: . ack 6080 win 64240
13:53:41.891426 IP remote_end > lwip_on_vmware: . ack 7540 win 64240
13:53:41.891439 IP remote_end > lwip_on_vmware: . ack 9000 win 64240
13:53:41.964811 IP lwip_on_vmware > remote_end: . 9000:10460(1460) ack 1 win 
20480
13:53:41.964920 IP lwip_on_vmware > remote_end: . 10460:11920(1460) ack 1 win 
20480
13:53:41.965080 IP lwip_on_vmware > remote_end: . 11920:13380(1460) ack 1 win 
20480
13:53:41.965150 IP lwip_on_vmware > remote_end: . 13380:14840(1460) ack 1 win 
20480
13:53:41.965301 IP lwip_on_vmware > remote_end: . 14840:16300(1460) ack 1 win 
20480
13:53:41.965377 IP lwip_on_vmware > remote_end: . 16300:17760(1460) ack 1 win 
20480
13:53:41.965486 IP lwip_on_vmware > remote_end: . 17760:19220(1460) ack 1 win 
20480
13:53:41.965558 IP lwip_on_vmware > remote_end: . 19220:20680(1460) ack 1 win 
20480
13:53:41.965947 IP remote_end > lwip_on_vmware: . ack 10460 win 64240
13:53:41.965966 IP remote_end > lwip_on_vmware: . ack 11920 win 64240
13:53:41.965979 IP remote_end > lwip_on_vmware: . ack 13380 win 64240
13:53:41.965992 IP remote_end > lwip_on_vmware: . ack 14840 win 64240
13:53:41.966004 IP remote_end > lwip_on_vmware: . ack 16300 win 64240
13:53:41.966017 IP remote_end > lwip_on_vmware: . ack 17760 win 63520
13:53:41.966028 IP remote_end > lwip_on_vmware: . ack 19220 win 62060
13:53:41.966044 IP remote_end > lwip_on_vmware: . ack 20680 win 60600
13:53:42.057079 IP lwip_on_vmware > remote_end: P 20680:20720(40) ack 1 win 
20480
13:53:42.057188 IP lwip_on_vmware > remote_end: P 20720:22180(1460) ack 1 win 
20480
13:53:42.057319 IP lwip_on_vmware > remote_end: P 22180:23640(1460) ack 1 win 
20480
13:53:42.057392 IP lwip_on_vmware > remote_end: P 23640:25100(1460) ack 1 win 
20480
13:53:42.057569 IP lwip_on_vmware > remote_end: P 25100:26560(1460) ack 1 win 
20480
13:53:42.057697 IP lwip_on_vmware > remote_end: P 26560:28020(1460) ack 1 win 
20480
13:53:42.057813 IP lwip_on_vmware > remote_end: P 28020:29480(1460) ack 1 win 
20480
13:53:42.057923 IP lwip_on_vmware > remote_end: P 29480:30940(1460) ack 1 win 
20480
13:53:42.058044 IP lwip_on_vmware > remote_end: P 30940:32400(1460) ack 1 win 
20480
13:53:42.058155 IP lwip_on_vmware > remote_end: P 32400:33860(1460) ack 1 win 
20480
13:53:42.058272 IP lwip_on_vmware > remote_end: P 33860:35320(1460) ack 1 win 
20480
13:53:42.058620 IP remote_end > lwip_on_vmware: . ack 20720 win 60560
13:53:42.058636 IP remote_end > lwip_on_vmware: . ack 22180 win 59100
13:53:42.058653 IP remote_end > lwip_on_vmware: . ack 23640 win 57640
13:53:42.058665 IP remote_end > lwip_on_vmware: . ack 25100 win 56180
13:53:42.058676 IP remote_end > lwip_on_vmware: . ack 26560 win 54720
13:53:42.058689 IP remote_end > lwip_on_vmware: . ack 28020 win 53260
13:53:42.058700 IP remote_end > lwip_on_vmware: . ack 29480 win 51800
13:53:42.058711 IP remote_end > lwip_on_vmware: . ack 30940 win 50340
13:53:42.058724 IP remote_end > lwip_on_vmware: . ack 32400 win 48880
13:53:42.058735 IP remote_end > lwip_on_vmware: . ack 33860 win 47420
13:53:42.058747 IP remote_end > lwip_on_vmware: . ack 35320 win 45960
13:53:42.154929 IP lwip_on_vmware > remote_end: P 35320:36780(1460) ack 1 win 
20480
13:53:42.155081 IP lwip_on_vmware > remote_end: P 36780:38240(1460) ack 1 win 
20480
13:53:42.155197 IP lwip_on_vmware > remote_end: P 38240:39700(1460) ack 1 win 
20480
13:53:42.155311 IP lwip_on_vmware > remote_end: P 39700:41160(1460) ack 1 win 
20480
13:53:42.155369 IP lwip_on_vmware > remote_end: P 41160:41200(40) ack 1 win 
20480
13:53:42.155438 IP lwip_on_vmware > remote_end: P 41200:42660(1460) ack 1 win 
20480
13:53:42.155551 IP lwip_on_vmware > remote_end: P 42660:44120(1460) ack 1 win 
20480
13:53:42.155679 IP lwip_on_vmware > remote_end: P 44120:45580(1460) ack 1 win 
20480
13:53:42.155791 IP lwip_on_vmware > remote_end: P 45580:47040(1460) ack 1 win 
20480
13:53:42.155911 IP lwip_on_vmware > remote_end: P 47040:48500(1460) ack 1 win 
20480
13:53:42.156029 IP lwip_on_vmware > remote_end: P 48500:49960(1460) ack 1 win 
20480
13:53:42.156134 IP lwip_on_vmware > remote_end: P 49960:51420(1460) ack 1 win 
20480
13:53:42.156413 IP remote_end > lwip_on_vmware: . ack 36780 win 44500
13:53:42.156429 IP remote_end > lwip_on_vmware: . ack 38240 win 43040
13:53:42.156446 IP remote_end > lwip_on_vmware: . ack 39700 win 41580
13:53:42.156458 IP remote_end > lwip_on_vmware: . ack 41160 win 40120
13:53:42.156466 IP remote_end > lwip_on_vmware: . ack 41200 win 40080
13:53:42.156477 IP remote_end > lwip_on_vmware: . ack 42660 win 38620
13:53:42.156490 IP remote_end > lwip_on_vmware: . ack 44120 win 37160
13:53:42.156501 IP remote_end > lwip_on_vmware: . ack 45580 win 35700
13:53:42.156511 IP remote_end > lwip_on_vmware: . ack 47040 win 34240
13:53:42.156524 IP remote_end > lwip_on_vmware: . ack 48500 win 32780
13:53:42.156536 IP remote_end > lwip_on_vmware: . ack 49960 win 31320
13:53:42.156546 IP remote_end > lwip_on_vmware: . ack 51420 win 29860
13:53:42.248520 IP lwip_on_vmware > remote_end: P 51420:52880(1460) ack 1 win 
20480
13:53:42.248566 IP remote_end > lwip_on_vmware: . ack 52880 win 28400
13:53:42.249337 IP lwip_on_vmware > remote_end: P 52880:54340(1460) ack 1 win 
20480
13:53:42.249372 IP remote_end > lwip_on_vmware: . ack 54340 win 26940
13:53:42.251179 IP lwip_on_vmware > remote_end: P 54340:55800(1460) ack 1 win 
20480
13:53:42.251229 IP remote_end > lwip_on_vmware: . ack 55800 win 25480
13:53:42.251872 IP lwip_on_vmware > remote_end: P 55800:57260(1460) ack 1 win 
20480
13:53:42.251904 IP remote_end > lwip_on_vmware: . ack 57260 win 24020
13:53:42.252431 IP lwip_on_vmware > remote_end: P 57260:58720(1460) ack 1 win 
20480
13:53:42.252459 IP remote_end > lwip_on_vmware: . ack 58720 win 22560
13:53:42.252972 IP lwip_on_vmware > remote_end: P 58720:60180(1460) ack 1 win 
20480
13:53:42.253005 IP remote_end > lwip_on_vmware: . ack 60180 win 21100
13:53:42.253523 IP lwip_on_vmware > remote_end: P 60180:61640(1460) ack 1 win 
20480
13:53:42.253552 IP remote_end > lwip_on_vmware: . ack 61640 win 19640
13:53:42.254272 IP lwip_on_vmware > remote_end: P 61640:61680(40) ack 1 win 
20480
13:53:42.254303 IP remote_end > lwip_on_vmware: . ack 61680 win 19600
13:53:42.254811 IP lwip_on_vmware > remote_end: P 61680:63140(1460) ack 1 win 
20480
13:53:42.254841 IP remote_end > lwip_on_vmware: . ack 63140 win 18140
13:53:42.255492 IP lwip_on_vmware > remote_end: P 63140:64600(1460) ack 1 win 
20480
13:53:42.255531 IP remote_end > lwip_on_vmware: . ack 64600 win 16680
13:53:42.256054 IP lwip_on_vmware > remote_end: P 64600:66060(1460) ack 1 win 
20480
13:53:42.256083 IP remote_end > lwip_on_vmware: . ack 66060 win 15220
13:53:42.256587 IP lwip_on_vmware > remote_end: P 66060:67520(1460) ack 1 win 
20480
13:53:42.256615 IP remote_end > lwip_on_vmware: . ack 67520 win 13760
13:53:42.257146 IP lwip_on_vmware > remote_end: P 67520:68980(1460) ack 1 win 
20480
13:53:42.257180 IP remote_end > lwip_on_vmware: . ack 68980 win 12300
13:53:42.258217 IP lwip_on_vmware > remote_end: P 68980:70440(1460) ack 1 win 
20480
13:53:42.258256 IP remote_end > lwip_on_vmware: . ack 70440 win 10840
13:53:42.258914 IP lwip_on_vmware > remote_end: P 70440:71900(1460) ack 1 win 
20480
13:53:42.258945 IP remote_end > lwip_on_vmware: . ack 71900 win 9380
13:53:42.259456 IP lwip_on_vmware > remote_end: P 71900:73360(1460) ack 1 win 
20480
13:53:42.259491 IP remote_end > lwip_on_vmware: . ack 73360 win 7920
13:53:42.260011 IP lwip_on_vmware > remote_end: P 73360:74820(1460) ack 1 win 
20480
13:53:42.260039 IP remote_end > lwip_on_vmware: . ack 74820 win 6460
13:53:42.260539 IP lwip_on_vmware > remote_end: P 74820:76280(1460) ack 1 win 
20480
13:53:42.260572 IP remote_end > lwip_on_vmware: . ack 76280 win 5000
13:53:42.261076 IP lwip_on_vmware > remote_end: P 76280:77740(1460) ack 1 win 
20480
13:53:42.261104 IP remote_end > lwip_on_vmware: . ack 77740 win 3540
13:53:42.261559 IP lwip_on_vmware > remote_end: P 77740:79200(1460) ack 1 win 
20480
13:53:42.261585 IP remote_end > lwip_on_vmware: . ack 79200 win 2080
13:53:42.263085 IP lwip_on_vmware > remote_end: P 79200:80660(1460) ack 1 win 
20480
13:53:42.263132 IP remote_end > lwip_on_vmware: . ack 80660 win 620

[... here we hangs for 60 seconds ...]

13:54:47.077919 IP remote_end > lwip_on_vmware: FP 1:1(0) ack 80660 win 64240 
<=== here connection resets

As you can see, window sizes are not the same.

On Friday 09 March 2007 13:39, Kieran Mansley wrote:

> On Fri, 2007-03-09 at 13:34 +0200, Vlad wrote:
> > I've just discovered that in case of vmware lwip receives window increase
> > ack only when remote side closes connection. In this example remote side
> > timeout == 60 secs.
>
> OK, so now you need to know if it is the remote end that doesn't send a
> window update until the connection is closed, or the intermediate hub
> that doesn't send an update.  Looking at a tcpdump at both ends of the
> connection simultaneously around the time of the connection hang should
> reveal this.
>
> Kieran
>
>
>
> _______________________________________________
> lwip-users mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/lwip-users




reply via email to

[Prev in Thread] Current Thread [Next in Thread]