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

Justin Uberti <juberti@google.com> Tue, 01 November 2011 19:39 UTC

Return-Path: <juberti@google.com>
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 C74641F0CC3 for <rtcweb@ietfa.amsl.com>; Tue, 1 Nov 2011 12:39:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.676
X-Spam-Level:
X-Spam-Status: No, score=-102.676 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_LOW=-1, USER_IN_WHITELIST=-100]
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 dzVR1EYwmx0p for <rtcweb@ietfa.amsl.com>; Tue, 1 Nov 2011 12:39:20 -0700 (PDT)
Received: from mail-yw0-f44.google.com (mail-yw0-f44.google.com [209.85.213.44]) by ietfa.amsl.com (Postfix) with ESMTP id 9FB9C1F0C36 for <rtcweb@ietf.org>; Tue, 1 Nov 2011 12:39:20 -0700 (PDT)
Received: by ywt2 with SMTP id 2so8798939ywt.31 for <rtcweb@ietf.org>; Tue, 01 Nov 2011 12:37:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=beta; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:x-system-of-record; bh=FXOd1+RYlRwcQUGZr7OiT+10Aau5aL996gkJYKEjPe8=; b=JHLvXzDyXbveaBCJl7+VM3dOyfHwy+AGm7GEsN9TB7vQ51JHWe1PccY+zFuaf+Kh5O 4cdzB5d8Vtfg36Sw4Wag==
Received: by 10.50.36.168 with SMTP id r8mr635136igj.49.1320176248382; Tue, 01 Nov 2011 12:37:28 -0700 (PDT)
Received: by 10.50.36.168 with SMTP id r8mr635096igj.49.1320176246877; Tue, 01 Nov 2011 12:37:26 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.231.34.4 with HTTP; Tue, 1 Nov 2011 12:37:05 -0700 (PDT)
In-Reply-To: <F7E315C0-0204-4F5A-A25C-65DEB37F1A4B@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>
From: Justin Uberti <juberti@google.com>
Date: Tue, 01 Nov 2011 15:37:05 -0400
Message-ID: <CAOJ7v-2gPcPaa0d4q8702Q1cefbqfTU6VtENHbPjfnQd27FWag@mail.gmail.com>
To: Michael Tüxen <Michael.Tuexen@lurchi.franken.de>
Content-Type: multipart/alternative; boundary="14dae9340a253c6cd204b0b17c6f"
X-System-Of-Record: true
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: Tue, 01 Nov 2011 19:39:21 -0000

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.

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
>