[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
