Re: [rtcweb] Layers in draft-jesup-rtcweb-data-00

Michael Tüxen <Michael.Tuexen@lurchi.franken.de> Wed, 02 November 2011 11:57 UTC

Return-Path: <Michael.Tuexen@lurchi.franken.de>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E67AE11E815C for <rtcweb@ietfa.amsl.com>; Wed, 2 Nov 2011 04:57:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.93
X-Spam-Level:
X-Spam-Status: No, score=-1.93 tagged_above=-999 required=5 tests=[AWL=0.369, BAYES_00=-2.599, MIME_8BIT_HEADER=0.3]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id L3L6QJv9ehTk for <rtcweb@ietfa.amsl.com>; Wed, 2 Nov 2011 04:57:30 -0700 (PDT)
Received: from mail-n.franken.de (drew.ipv6.franken.de [IPv6:2001:638:a02:a001:20e:cff:fe4a:feaa]) by ietfa.amsl.com (Postfix) with ESMTP id BAFDF11E816A for <rtcweb@ietf.org>; Wed, 2 Nov 2011 04:57:29 -0700 (PDT)
Received: from [192.168.1.200] (p508FAFBE.dip.t-dialin.net [80.143.175.190]) (Authenticated sender: macmic) by mail-n.franken.de (Postfix) with ESMTP id 9431D1C0C0BD9; Wed, 2 Nov 2011 12:57:28 +0100 (CET)
Mime-Version: 1.0 (Apple Message framework v1251.1)
Content-Type: text/plain; charset="iso-8859-1"
From: Michael Tüxen <Michael.Tuexen@lurchi.franken.de>
In-Reply-To: <CAOJ7v-2gPcPaa0d4q8702Q1cefbqfTU6VtENHbPjfnQd27FWag@mail.gmail.com>
Date: Wed, 02 Nov 2011 12:57:26 +0100
Content-Transfer-Encoding: quoted-printable
Message-Id: <E487AC51-78B6-4009-A250-E5D9A0A5776A@lurchi.franken.de>
References: <32CC659B-8EBF-4C16-8605-5D823DA22A8D@acmepacket.com> <8624F864-AB28-4CE7-AB8D-8A55B08AD745@lurchi.franken.de> <4EAFFDD1.4000909@ericsson.com> <F7E315C0-0204-4F5A-A25C-65DEB37F1A4B@lurchi.franken.de> <CAOJ7v-2gPcPaa0d4q8702Q1cefbqfTU6VtENHbPjfnQd27FWag@mail.gmail.com>
To: Justin Uberti <juberti@google.com>
X-Mailer: Apple Mail (2.1251.1)
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>, Randall Stewart <rrs@lakerest.net>
Subject: Re: [rtcweb] Layers in draft-jesup-rtcweb-data-00
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtcweb>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 02 Nov 2011 11:57:31 -0000

On Nov 1, 2011, at 8:37 PM, Justin Uberti wrote:

> I think we want one DTLS session for each transport. If we have independent RTP sessions, we have N transports, and N DTLS sessions. If we multiplex RTP/SCTP sessions, we have a single transport, and the same DTLS session is used to protect SCTP traffic, as well as to get keys for SRTP traffic.
OK, thanks for the clarification.

Best regards
Michael
> 
> On Tue, Nov 1, 2011 at 11:19 AM, Michael Tüxen <Michael.Tuexen@lurchi.franken.de> wrote:
> On Nov 1, 2011, at 3:10 PM, Magnus Westerlund wrote:
> 
> > On 2011-10-26 22:45, Michael Tüxen wrote:
> >>
> >> On Oct 26, 2011, at 10:28 PM, Hadriel Kaplan wrote:
> >
> >>> But rather this:
> >>>
> >>>       +------+                        +------+
> >>>       |WEBAPP|                        |WEBAPP|
> >>>       +------+------+------+          +------+------+------+
> >>>       | DTLS | Audio| Video|          | SCTP | Audio| Video|
> >>> +---------------------------+   +---------------------------+
> >>> | STUN | SCTP |S/RTP |S/RTP |   | STUN | DTLS |S/RTP |S/RTP |
> >>> +---------------------------+   +---------------------------+
> >>> |         Mux/Demux         |   |         Mux/Demux         |
> >>> +---------------------------+   +---------------------------+
> >>> |            UDP            |   |            UDP            |
> >>> +---------------------------+   +---------------------------+
> >>>
> >>> [Note: "S/RTP" = SRTP/SRTCP or RTP/RTCP, "Mux/Demux" = tiny logic to mux/demux]
> >>>
> >>> Because the audio/video streams may be using the same UDP port, right?
> >>>
> >>> And the two "S/RTP" boxes may be just one box depending on how the MMUSIC multiplexing decision turns out.
> >>>
> >>> So if we want to choose the left one, because we expect/want that someday the Operating System provides a SCTP/UDP stack in the kernel, and I think we do, could it do so while demuxing and letting STUN, RTP, and DTLS go up to the app layer?  (i.e., given a socket/BIO/FD model)  I have no idea about such things... just asking.
> >> This is not possible today. The demultiplexing seems to be specific to this scenario.
> >> Not sure it fits. For demuxing you use the first byte to distinguish STUN from DTLS and SRTP.
> >> The first byte us the high order byte of the source port. Once could require
> >> SCTP to use source ports with the high order byte > 192. That might work.
> >> However, you would need to get the Mux/Demux into the kernel. Could be done
> >> using a socket option. But I'm not sure it really fits. Maybe Randy has an
> >> opinion.
> >>
> >
> > Michael,
> >
> > I think one of the reasons there is discussion of use land
> > implementations of SCTP is so that you can do the above stack diagrams
> > with SCTP above UDP that is being shared for several purposes.
> >
> > I would also like to correct Hadriel's picture slightly:
> >
> >>>       +------+                        +------+
> >>>       |WEBAPP|                        |WEBAPP|
> >>>       +------+------+------+          +------+------+------+
> >>>       | DTLS |Audio & Video|          | SCTP |Audio & Video|
> >>> +---------------------------+   +---------------------------+
> >>> | STUN | SCTP | DTLS-SRTP   |   | STUN | DTLS | DTLS-SRTP   |
> >>> +---------------------------+   +---------------------------+
> >>> |         Mux/Demux         |   |         Mux/Demux         |
> >>> +---------------------------+   +---------------------------+
> >>> |            UDP            |   |            UDP            |
> >>> +---------------------------+   +---------------------------+
> >
> > I think the above indicating that the common RTP session, potentially
> > being a DTLS-SRTP keyed RTP session that can co-exist on the same UDP flow.
> >
> > To make the left one work, I think one has to have a source port where
> > the first byte value is 192-255 as the de-multiplexing table from
> > section 5.1.2 of RFC 5764 shows these to be the only available.
> >
> > Thus I think the options are:
> >
> > A. Left figure above. (source port must be in 49152-65535)
> >
> > B. Right figure above
> >
> > C. SCTP in its own UDP flow plus one UDP flow for each RTP session.
> >
> > If we would pick SCTP then I think we must have either A+C or B+C working.
> And you want one DTLS connection for key derivation of SRTP and a
> separate one for SCTP? Or must they be the same?
> 
> Best regards
> Michael
> >
> > cheers
> >
> > Magnus Westerlund
> >
> > ----------------------------------------------------------------------
> > Multimedia Technologies, Ericsson Research EAB/TVM
> > ----------------------------------------------------------------------
> > Ericsson AB                | Phone  +46 10 7148287
> > Färögatan 6                | Mobile +46 73 0949079
> > SE-164 80 Stockholm, Sweden| mailto: magnus.westerlund@ericsson.com
> > ----------------------------------------------------------------------
> >
> >
> 
> _______________________________________________
> rtcweb mailing list
> rtcweb@ietf.org
> https://www.ietf.org/mailman/listinfo/rtcweb
>