Re: [rtcweb] Lower-overhead protocol variations

Michael Tuexen <Michael.Tuexen@lurchi.franken.de> Mon, 25 February 2013 15:22 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 B134921F9471 for <rtcweb@ietfa.amsl.com>; Mon, 25 Feb 2013 07:22:05 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.499
X-Spam-Level:
X-Spam-Status: No, score=-2.499 tagged_above=-999 required=5 tests=[AWL=0.100, BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 93sIanxiJDyv for <rtcweb@ietfa.amsl.com>; Mon, 25 Feb 2013 07:22:05 -0800 (PST)
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 351E821F945E for <rtcweb@ietf.org>; Mon, 25 Feb 2013 07:22:04 -0800 (PST)
Received: from [192.168.1.101] (p5481BC8E.dip.t-dialin.net [84.129.188.142]) (Authenticated sender: macmic) by mail-n.franken.de (Postfix) with ESMTP id CCB801C0C069D; Mon, 25 Feb 2013 16:22:02 +0100 (CET)
Mime-Version: 1.0 (Apple Message framework v1283)
Content-Type: text/plain; charset="us-ascii"
From: Michael Tuexen <Michael.Tuexen@lurchi.franken.de>
In-Reply-To: <512B58F2.3020408@alvestrand.no>
Date: Mon, 25 Feb 2013 16:22:02 +0100
Content-Transfer-Encoding: quoted-printable
Message-Id: <2594249F-FA21-4872-80E3-6F2EB7B87F85@lurchi.franken.de>
References: <512540A3.3090008@jesup.org> <0DB30A45-97A6-4974-9CBB-BEE6691EFCE2@lurchi.franken.de> <51263522.1030206@jesup.org> <3FAF754D-8040-49FC-B0AD-F17BF705F62C@lurchi.franken.de> <512B58F2.3020408@alvestrand.no>
To: Harald Alvestrand <harald@alvestrand.no>
X-Mailer: Apple Mail (2.1283)
Cc: rtcweb@ietf.org
Subject: Re: [rtcweb] Lower-overhead protocol variations
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: Mon, 25 Feb 2013 15:22:05 -0000

On Feb 25, 2013, at 1:28 PM, Harald Alvestrand wrote:

> On 02/21/2013 09:19 PM, Michael Tuexen wrote:
>> On Feb 21, 2013, at 3:54 PM, Randell Jesup wrote:
>> 
>>> On 2/21/2013 8:03 AM, Michael Tuexen wrote:
>>>> On Feb 20, 2013, at 10:31 PM, Randell Jesup wrote:
>>>> 
>>>>> This is a relevant thread to current discussions:
>>>>> http://www.w3.org/mid/D1737092-F63D-4821-B3FA-D425267E4F23@cisco.com
>>>>> and continued with subject change in
>>>>> http://www.w3.org/mid/4F4D6315.9000601@jesup.org
>>>>> 
>>>>> I'm re-evaluating if the original decision against even/odd was required,
>>>>> in order to see if we can collapse the current draft 0-RTT proposal
>>>>> into a single declarative "open" message on a stream with no response or ack
>>>>> required. Even/odd (perhaps based on a property of the SCTP association?)
>>>>> would avoid the need for mismatched channel pairs, and thus avoid the need
>>>>> for the response/ack and the need to send with the in-order bit.
>>>> I'm not sure what you mean you even/odd?
>>>> 
>>>> I guess you will send the "open" message reliable and ordered. OK.
>>>> Are you proposing that there is no ACK sent back? What would happen
>>>> if one side sends an "open" message indicating an unordered data channel,
>>>> sends a user message on this channel and the user message is delivered
>>>> first?
>>> As you infer below, this would be one side uses even channels to initiate, the other uses odd (to avoid glare).
>>> The reliability question is important; the simplest solution would be to buffer any data that arrives without an Open message until the Open message is received, and then deliver it.  There's no issue in the other direction, as once the open message is received the receiver can then send on that stream/channel with no restrictions. I assume there's some way to reliably choose roles for even/odd selection in SCTP?  If not, we can find other ways to do it (even SDP if we had to), though I think we could also key off the DTLS.
>> Not sure we can choose based on SCTP. The port numbers can be the same and we have no addresses
>> available. Maybe we can use the client/server identity from DTLS (the DTLS client uses even,
>> the DTLS server uses odd).
> 
> The MMUSIC SCTP draft (draft-ietf-mmusic-sctp-sdp-03.txt) says:
> 
> 6.  The Setup and Connection Attributes and Association Management
> 
>   The use of the 'setup' and 'connection' attributes in the context of
>   an SCTP association is identical to the use of these attributes in
>   the context of a TCP connection.  That is, SCTP endpoints MUST follow
>   the rules in Sections 4 and 5 of RFC 4145 [RFC4145] when it comes to
>   the use of the 'setup' and 'connection' attributes in offer/answer
>   [RFC3264] exchanges.
> 
> The relevant table from section 4 of RFC 4145 is:
> 
>           Offer      Answer
>            ________________
>            active     passive / holdconn
>            passive    active / holdconn
>            actpass    active / passive / holdconn
>            holdconn   holdconn
> 
> I think that based on RFC 4145, it would be reasonable to say that the party in the "active" role uses the even channels and the party in the "passive" role uses the odd channels, and that if the initiator uses "actpass", no channel assignment can be made until the answer comes back as either "active" or "passive".
OK. I was writing the statement based on how things are currently implemented
in Firefox. Both side are the active side...

Thanks for the clarification.
> 
> This, of course, implies that channel numbers are reassigned from a blank slate if the connection goes down and is reestablished with new values for active and passive. Probably one should say that if the connection goes down, all channels go down too - that the data channel system doesn't attempt to layer yet another layer of reconnection on top of the already existing ones.
> 
>                   Harald
> 
> 
> _______________________________________________
> rtcweb mailing list
> rtcweb@ietf.org
> https://www.ietf.org/mailman/listinfo/rtcweb
>