Darwin Streaming Server

Jonathan Hutchins hutchins at opus1.com
Mon Jan 6 14:02:45 CST 2003


After struggling with Apple's Darwin Streaming Server over the weekend, I've
found that DSS isn't too bad, but there are definite problems with running a
streaming server.  

The Real Time Protocol/Real Time Streaming Protocol (RTP/RTSP) is one of
those "promiscuous" protocols that open a wide range of ports between the
client and server; it uses a range in the 6900's as well as several others,
and it uses UDP transport as well.  RTSP also uses statefull connections
that identify the client to the server.  This means that servers behind
firwalls will that the firewall be opened a bit, that clients behind a
firewall will require a considerable opening, and that clients using NAT
will need either a proxy server on the firewall or will not be able to use
the protocol at all.

DSS accommodates this by being able to run over HTTP instead of RTSP, and
for most clients this works fairly well, even through a NAT firewall.  The
problem with this is that you can't run DSS over HTTP on port 80 on the same
server that's already running a web server.  I suppose you could run it on a
multi-homed box, but there don't seem to be any provisions for specifying
which interface (NIC) it uses.

There were modules for the 2.2 kernel using ipchains to allow the statefull
connections over a NAT firewall, but with 2.4 and iptables nobody seems to
have pursued them.  It seems likely that unless you can dedicate a box to
host the streaming server, you're going to have a range of clients who can
not receive your streams.

Darwin Streaming Server was easy to set up once the transport issues were
dealt with, and it seemed to have a fairly low system load.  A nice product
if you can afford the dedicated host.




More information about the Kclug mailing list