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 <***@recoil.org>
Sent by: lwip-users-bounces+trond.kortner=***@nongnu.org
10.01.2006 10:02
Please respond to
Mailing list for lwIP users <lwip-***@nongnu.org>
To
Mailing list for lwIP users <lwip-***@nongnu.org>
cc
Subject
Re: [lwip-users] RTSP / RTP data streaming
Post by Trond KortnerIs 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