By persistent TCP I mean that the connection is kept open until closed by the user, and not closed between each data exchange (which the realy old and / or simple versions of TCP did).
The dump below shows what is happening when I use the QuickTime media player to start a RTP transfer by means of the RTSP protocol:
My application receive a DESCRIBE from the media player via the lwIP stack, I respond with a REPLY. Then the media player issues a SETUP, but the lwIP stack does not pass this data through to my application, it just returns a TCP ACK on its own and then times out.
EtheReal Dump:
No. Time Source Destination Protocol Info
1 0.000000 10.1.1.1 Broadcast ARP Who has 10.1.1.70? Tell 10.1.1.1
Frame 1 (42 bytes on wire, 42 bytes captured)
Ethernet II, Src: 10.1.1.1 (00:10:a7:17:1d:22), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Address Resolution Protocol (request)
No. Time Source Destination Protocol Info
2 0.000334 10.1.1.70 10.1.1.1 ARP 10.1.1.70 is at 00:90:72:00:00:00
Frame 2 (64 bytes on wire, 64 bytes captured)
Ethernet II, Src: 10.1.1.70 (00:90:72:00:00:00), Dst: 10.1.1.1 (00:10:a7:17:1d:22)
Address Resolution Protocol (reply)
No. Time Source Destination Protocol Info
3 0.000194 10.1.1.1 10.1.1.70 TCP 1870 > 554 [SYN] Seq=0 Ack=0 Win=64512 Len=0 MSS=1460
Frame 3 (62 bytes on wire, 62 bytes captured)
Ethernet II, Src: 10.1.1.1 (00:10:a7:17:1d:22), Dst: 10.1.1.70 (00:90:72:00:00:00)
Internet Protocol, Src: 10.1.1.1 (10.1.1.1), Dst: 10.1.1.70 (10.1.1.70)
Transmission Control Protocol, Src Port: 1870 (1870), Dst Port: 554 (554), Seq: 0, Ack: 0, Len: 0
No. Time Source Destination Protocol Info
4 0.000485 10.1.1.70 10.1.1.1 TCP 554 > 1870 [SYN, ACK] Seq=0 Ack=1 Win=16384 Len=0 MSS=1460
Frame 4 (60 bytes on wire, 60 bytes captured)
Ethernet II, Src: 10.1.1.70 (00:90:72:00:00:00), Dst: 10.1.1.1 (00:10:a7:17:1d:22)
Internet Protocol, Src: 10.1.1.70 (10.1.1.70), Dst: 10.1.1.1 (10.1.1.1)
Transmission Control Protocol, Src Port: 554 (554), Dst Port: 1870 (1870), Seq: 0, Ack: 1, Len: 0
No. Time Source Destination Protocol Info
5 0.000144 10.1.1.1 10.1.1.70 TCP 1870 > 554 [ACK] Seq=1 Ack=1 Win=64512 Len=0
Frame 5 (54 bytes on wire, 54 bytes captured)
Ethernet II, Src: 10.1.1.1 (00:10:a7:17:1d:22), Dst: 10.1.1.70 (00:90:72:00:00:00)
Internet Protocol, Src: 10.1.1.1 (10.1.1.1), Dst: 10.1.1.70 (10.1.1.70)
Transmission Control Protocol, Src Port: 1870 (1870), Dst Port: 554 (554), Seq: 1, Ack: 1, Len: 0
No. Time Source Destination Protocol Info
6 0.029362 10.1.1.1 10.1.1.70 RTSP DESCRIBE rtsp://10.1.1.70/TKOvideo RTSP/1.0
Frame 6 (242 bytes on wire, 242 bytes captured)
Ethernet II, Src: 10.1.1.1 (00:10:a7:17:1d:22), Dst: 10.1.1.70 (00:90:72:00:00:00)
Internet Protocol, Src: 10.1.1.1 (10.1.1.1), Dst: 10.1.1.70 (10.1.1.70)
Transmission Control Protocol, Src Port: 1870 (1870), Dst Port: 554 (554), Seq: 1, Ack: 1, Len: 188
Real Time Streaming Protocol
No. Time Source Destination Protocol Info
7 0.190683 10.1.1.70 10.1.1.1 RTSP/SDP Reply: RTSP/1.0 200 OK, with session description
Frame 7 (333 bytes on wire, 333 bytes captured)
Ethernet II, Src: 10.1.1.70 (00:90:72:00:00:00), Dst: 10.1.1.1 (00:10:a7:17:1d:22)
Internet Protocol, Src: 10.1.1.70 (10.1.1.70), Dst: 10.1.1.1 (10.1.1.1)
Transmission Control Protocol, Src Port: 554 (554), Dst Port: 1870 (1870), Seq: 1, Ack: 189, Len: 279
Real Time Streaming Protocol
Session Description Protocol
No. Time Source Destination Protocol Info
8 0.088487 10.1.1.1 10.1.1.70 RTSP SETUP rtsp://10.1.1.70/video RTSP/1.0
Frame 8 (336 bytes on wire, 336 bytes captured)
Ethernet II, Src: 10.1.1.1 (00:10:a7:17:1d:22), Dst: 10.1.1.70 (00:90:72:00:00:00)
Internet Protocol, Src: 10.1.1.1 (10.1.1.1), Dst: 10.1.1.70 (10.1.1.70)
Transmission Control Protocol, Src Port: 1870 (1870), Dst Port: 554 (554), Seq: 189, Ack: 280, Len: 282
Real Time Streaming Protocol
No. Time Source Destination Protocol Info
9 0.161666 10.1.1.70 10.1.1.1 TCP 554 > 1870 [ACK] Seq=280 Ack=471 Win=16384 Len=0
Frame 9 (60 bytes on wire, 60 bytes captured)
Ethernet II, Src: 10.1.1.70 (00:90:72:00:00:00), Dst: 10.1.1.1 (00:10:a7:17:1d:22)
Internet Protocol, Src: 10.1.1.70 (10.1.1.70), Dst: 10.1.1.1 (10.1.1.1)
Transmission Control Protocol, Src Port: 554 (554), Dst Port: 1870 (1870), Seq: 280, Ack: 471, Len: 0
With Regards,
Trond Kortner
R&D Engineer
Hydroacoustics
Kongsberg Maritime AS
Horten
| Kieran Mansley <[EMAIL PROTECTED]>
Sent by: [EMAIL PROTECTED] 10.01.2006 10:02
|
|
On Tue, 2006-01-10 at 08:56 +0100, Trond Kortner wrote:
> Is there any way lwIP can be configured to handle persistent TCP
> connection? Or does it not support it at all?
I'm not sure what you mean by persistent TCP connections. Connections
in TCP should remain open until their are explicitly closed by the user
or reset by the other end, unless the user has set a timeout (e.g.
SO_KEEPALIVE).
Kieran
_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users
_______________________________________________ lwip-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/lwip-users
