[This message is basically an FYI.  Some of the netwerk team may
 have seen parts of this a while back.  Feel free to comment on the
 ideas or suggest alternatives!]

As part of the WebRTC effort, we're planning to provide unreliable and
reliable datagrams within a PeerConnection.  The PeerConnection will be
encrypted with DTLS, and the RTP media streams will be encrypted with
DTLS-SRTP.

Right now we're looking at options for the reliable streams, which
effectively will need to run over UDP/DTLS, and also we're discussing
(in the IETF) some cutting-edge algorithms for congestion control run
across all of the media streams and the data streams.  That's the
subject for another day. :-)

An interesting option we're considering is UDP/DTLS/SCTP (SCTP over DTLS
over UDP within a PeerConnection - there's a mouthful).  If we can't do
it or if there are too many problems, we'll probably fall back to using 
TCP-over-UDP, for which libraries exist.

SCTP info:
http://www.bsdcan.org/2008/schedule/attachments/44_bsdcan_sctp.pdf and
http://www.ietf.org/rfc/rfc4960.txt and
http://en.wikipedia.org/wiki/Stream_Control_Transmission_Protocol


We're told by the people standardizing SCTP-over-UDP
(http://tools.ietf.org/html/draft-tuexen-sctp-udp-encaps-07) that
FreeBSD's SCTP implementation will run over UDP and can be lifted and
run in user-space, and runs on Mac, Linux, Windows and they think iOS.
(These are the same people who wrote much of the BSD implementation.)

A prof at UDel has had SCTP working in FF (in the FF 3.0.11 timeframe,
not sure about newer).  http://www.eecis.udel.edu/~leighton/firefox.html
See also http://www.eecis.udel.edu/~nataraja/papers/nsdr2008.pdf

He has patches for SCTP for NSPR 4.7.6 and 4.8.1.  He also has some
tests of SPDY-over-SCTP vs SPDY-over-TCP which show an advantage for
SCTP.  (I assume it's SCTP, not SCTP-over-UDP which would add a small
amount of overhead, mostly, but may not materially affect the tests.)

If we're pulling SCTP-over-UDP into the tree for WebRTC, it may be
interesting to see if we can leverage this for anything elsewhere.
The BSD implementation would probably include straight SCTP.
(Obviously it requires support from the other end...)

-- 
Randell Jesup, Mozilla Corp
remove ".news" for personal email
_______________________________________________
dev-tech-network mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-network

Reply via email to