lwip-users
[Top][All Lists]
Advanced

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

[lwip-users] HTTP Server traffic


From: B B
Subject: [lwip-users] HTTP Server traffic
Date: Mon, 4 Dec 2006 16:17:04 +0000







From: address@hidden
To: address@hidden
Subject: [lwip] HTTP Server traffic
Date: Mon, 4 Dec 2006 10:11:25 +0000

Hi all,
 
I am using lwip 1.1.1 where i am running a HTTP webserver on an embedded system which is running FreeRTOS, and i have some questions regarding the
HTTP traffic.
 
I am running the demo application called "lwIP_Demo_Rowley_ARM7".
Which i have modified with the example from Adam dunkels httpd.c.
 
If i compare the traffic from the webserver to a PC client and a PC webserver to a PC client. The traffic differs, see ethereal capture below:
 
Embedded webserver -> PC client:
No. Time
1  0.000000    192.168.2.206         192.168.2.204         TCP      1906 > http [SYN] Seq=0 Len=0 MSS=1460
2  0.000726    192.168.2.204         192.168.2.206         TCP      http > 1906 [SYN, ACK] Seq=0 Ack=1 Win=1500 Len=0 MSS=1460
3  0.000786    192.168.2.206         192.168.2.204         TCP      1906 > http [ACK] Seq=1 Ack=1 Win=65535 Len=0
4  0.001161    192.168.2.206         192.168.2.204         HTTP     GET /sojlegraf.htm HTTP/1.1
5  0.002128    192.168.2.204         192.168.2.206         TCP      http > 1906 [ACK] Seq=1 Ack=423 Win=1500 Len=0
6  0.005180    192.168.2.204         192.168.2.206         HTTP     HTTP/1.1 200 OK (text/html)
7  0.107250    192.168.2.206         192.168.2.204         TCP      1906 > http [ACK] Seq=423 Ack=1461 Win=65535 Len=0
8  0.108553    192.168.2.204         192.168.2.206         HTTP     Continuation or non-HTTP traffic
9  0.307498    192.168.2.206         192.168.2.204         TCP      1906 > http [ACK] Seq=423 Ack=2073 Win=64923 Len=0
....
17 0.347766    192.168.2.206         192.168.2.204         HTTP     GET /wz_jsgraphics.js HTTP/1.1
18 0.348585    192.168.2.204         192.168.2.206         TCP      http > 1908 [ACK] Seq=1 Ack=279 Win=1500 Len=0
19 0.349381    192.168.2.204         192.168.2.206         HTTP     HTTP/1.1 200 OK (application/x-_javascript_)
20 0.507802    192.168.2.206         192.168.2.204         TCP      1908 > http [ACK] Seq=279 Ack=61 Win=65475 Len=0
....
56 0.536547    192.168.2.206         192.168.2.204         TCP      1908 > http [ACK] Seq=279 Ack=18061 Win=65535 Len=0
57 0.538502    192.168.2.204         192.168.2.206         HTTP     Continuation or non-HTTP traffic
58 0.708082    192.168.2.206         192.168.2.204         TCP      1908 > http [ACK] Seq=279 Ack=19442 Win=64154 Len=0
....
62 0.728996    192.168.2.204         192.168.2.206         TCP      http > 1908 [ACK] Seq=19443 Ack=280 Win=1499 Len=0
 
as you can see in the above, there are sometimes some funny jumps in time, it takes for the PC client to ACK the incomming data.
Between packet numbers: 8 and 9, 19 and 20, 57 and 58.
 
PC webserver -> PC client:
No. Time
1  0.000000    192.168.2.206         xxx.xxx.207.21          TCP      2447 > http [SYN] Seq=0 Len=0 MSS=1460
2  0.001606    xxx.xxx.207.21          192.168.2.206         TCP      http > 2447 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0 MSS=1460
3  0.001655    192.168.2.206         xxx.xxx.207.21          TCP      2447 > http [ACK] Seq=1 Ack=1 Win=65535 Len=0
4  0.002095    192.168.2.206         xxx.xxx.207.21          HTTP     GET /performance/kurvegraf.htm HTTP/1.1
5  0.004400    xxx.xxx.207.21          192.168.2.206         TCP      [TCP segment of a reassembled PDU]
6  0.004807    xxx.xxx.207.21          192.168.2.206         HTTP     HTTP/1.1 200 OK (text/html)
7  0.004859    192.168.2.206         xxx.xxx.207.21          TCP      2447 > http [ACK] Seq=458 Ack=2219 Win=65535 Len=0
8  0.041431    192.168.2.206         xxx.xxx.207.21          HTTP     GET /performance/wz_jsgraphics.js HTTP/1.1
9  0.044008    xxx.xxx.207.21          192.168.2.206         TCP      [TCP segment of a reassembled PDU]
10 0.044518    xxx.xxx.207.21          192.168.2.206         TCP      [TCP segment of a reassembled PDU]
11 0.044590    192.168.2.206         xxx.xxx.207.21          TCP      2447 > http [ACK] Seq=770 Ack=5139 Win=65535 Len=0
12 0.044617    xxx.xxx.207.21          192.168.2.206         TCP      [TCP segment of a reassembled PDU]
13 0.046418    xxx.xxx.207.21          192.168.2.206         TCP      [TCP segment of a reassembled PDU]
14 0.046871    192.168.2.206         xxx.xxx.207.21          TCP      2447 > http [ACK] Seq=770 Ack=7775 Win=65535 Len=0
15 0.046899    xxx.xxx.207.21          192.168.2.206         TCP      [TCP segment of a reassembled PDU]
16 0.046938    xxx.xxx.207.21          192.168.2.206         TCP      [TCP segment of a reassembled PDU]
17 0.047016    192.168.2.206         xxx.xxx.207.21          TCP      2447 > http [ACK] Seq=770 Ack=10411 Win=65535 Len=0
18 0.048962    xxx.xxx.207.21          192.168.2.206         TCP      [TCP segment of a reassembled PDU]
19 0.049446    xxx.xxx.207.21          192.168.2.206         TCP      [TCP segment of a reassembled PDU]
20 0.049509    192.168.2.206         xxx.xxx.207.21          TCP      2447 > http [ACK] Seq=770 Ack=13331 Win=65535 Len=0
....
31 0.169528    192.168.2.206         xxx.xxx.207.21          TCP      2447 > http [ACK] Seq=770 Ack=21841 Win=65217 Len=0
 
as you can see in the above there isnt't those jumps in time before a packet is ACK'ed.
 
So my question is, how do i make my communication between, my embedded target and the PC client run as smoothly as running the website
on a PC webserver ?
Is that even possible with lwip ?
 
best regards,
Martin B.
 


All-in-one security and maintenance for your PC.  Get a free 90-day trial! Learn more!


Use Messenger to talk to your IM friends, even those on Yahoo! Talk now!
reply via email to

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