Re: Potential conflict between draft-ietf-quic-transport and RFC 7983

Bernard Aboba <bernard.aboba@gmail.com> Wed, 17 May 2017 22:32 UTC

Return-Path: <bernard.aboba@gmail.com>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 654E31270B4 for <quic@ietfa.amsl.com>; Wed, 17 May 2017 15:32:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level:
X-Spam-Status: No, score=-2.699 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id IG1OSVIsmzeW for <quic@ietfa.amsl.com>; Wed, 17 May 2017 15:31:43 -0700 (PDT)
Received: from mail-vk0-x22c.google.com (mail-vk0-x22c.google.com [IPv6:2607:f8b0:400c:c05::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D314A126C2F for <quic@ietf.org>; Wed, 17 May 2017 15:31:42 -0700 (PDT)
Received: by mail-vk0-x22c.google.com with SMTP id p85so14639033vkd.3 for <quic@ietf.org>; Wed, 17 May 2017 15:31:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=6DhPc44gzI726P72+7fq9F+jVuZw4/MMaqBpdL77HbE=; b=hUsn2YlpX6/O8DWj4kjgQ1yEB+VAqHHAU1NN+o55duj8pF334cMaqhkhOW5xOzCTnJ d7LIBLj6wQU2NanNSoJvT9AtWVgUjIf5K4phrL+mQ3uvpbP51HOvMi95hTeWuul9izJM ibtbmHAu/xnOs8BRtnTDvyLSMyJZQXjXHFs1H2kCf5UgUTLcJMFarn4LrSfYfRuyWgRw bQKiZVrjh5yU2jt7h9k35HPXHEbr3E/8dw6rb8Z9xpfBdUd8m3WMKClregK1hbYOkFLn I7H5TzYeBOiwjqt4cSpE8bPZd7E77EvuMvcIqVtES8OY4mAo4cP2isDqzL0CjKVLtH8e ECiw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=6DhPc44gzI726P72+7fq9F+jVuZw4/MMaqBpdL77HbE=; b=uI83gqhiGUuJc02/fJeUum0v7lLzMxDUx1YlvvERFaRbuuTtUQTnxs1WEJYjt87pJi RAzzyW9IGa0T5YhfyBjw2FfmLZXDdld+721Of3w8Y858vXfuF1O0mbDbM/f+xTi4yFJp t69/9jcBODBv3dy5T8wrSh7I/EKWVdCRe/NUKEAU4h7hGelu1vABUNNlLYnpGKHkWzVB kUimSVHO3Isx07+LD+bFA5Du0Zf1Kc5FsTmq+qemflu8WGeiWjbYIRVqZe0jRn1TwSYx wDp3k7Vcxxh1zWEUS3KgfixhWqjWRiZzXdEZuCaVaXATm94B0jUWNNCdOXTPGz9o/aic J0AQ==
X-Gm-Message-State: AODbwcDDthMk/C6tcgeSIULBBvA+Nj2HazfyMO0VLNhPBhtuEX/a7lEL qCaiY5eaRUttwU0YjBQutTOdYpkN2Q==
X-Received: by 10.31.242.79 with SMTP id q76mr589513vkh.128.1495060301757; Wed, 17 May 2017 15:31:41 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.159.49.18 with HTTP; Wed, 17 May 2017 15:31:21 -0700 (PDT)
In-Reply-To: <BN6PR03MB27088B21ED2D58F609EBA50287E70@BN6PR03MB2708.namprd03.prod.outlook.com>
References: <CAOW+2dtLDB+hq2u9BA4JYBOt+nRv0G3P+00c7wfPyz5+ftEiRA@mail.gmail.com> <BN6PR03MB27088B21ED2D58F609EBA50287E70@BN6PR03MB2708.namprd03.prod.outlook.com>
From: Bernard Aboba <bernard.aboba@gmail.com>
Date: Wed, 17 May 2017 15:31:21 -0700
Message-ID: <CAOW+2dv-UR5DonWQG4Zm_U9u2A8L+s6a8Eh32fhU9Mhg2qB_gQ@mail.gmail.com>
Subject: Re: Potential conflict between draft-ietf-quic-transport and RFC 7983
To: Mike Bishop <Michael.Bishop@microsoft.com>
Cc: "quic@ietf.org" <quic@ietf.org>, "marc@petit-huguenin.org" <marc@petit-huguenin.org>, "pthatcher@google.com" <pthatcher@google.com>
Content-Type: multipart/alternative; boundary="94eb2c19abda3446dc054fbfda58"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/8ZaqJ3U7hT0H9W_Tj_DK9iO2XA8>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 17 May 2017 22:32:06 -0000

Mike asked:

"Is it a goal for QUIC and DTLS-SRTP to coexist on the same port"?

[BA] RFC 7983 enables DTLS, SRTP/SRTCP, ZRTP, STUN and TURN to co-exist on
the same port.  Within the scheme, DTLS is used for transport of WebRTC's
DTLS/SCTP/UDP data channel and DTLS-SRTP is used for key management of
SRTP/SRTCP.

While within WebRTC, DTLS currently provides both data channel transport as
well as SRTP key management, it is not clear that initial QUIC
implementations within WebRTC will attempt to provide alternatives for both
of these functions.

For example, experimental implementations of a QUIC data channel may wish
to focus solely on that objective without having to provide an alternative
to DTLS-SRTP.  In such an implementation, QUIC and DTLS-SRTP would need to
co-exist on the same port.



On Wed, May 17, 2017 at 2:52 PM, Mike Bishop <Michael.Bishop@microsoft.com>
wrote:

> 7983 is a bugfix to 5764 section 5.1.2, per a quick perusal.  I didn’t
> read either of those RFCs as purporting to constrain the first byte of all
> future UDP-based protocols.  5764 says:
>
>
>
>    When DTLS-SRTP is used to protect an RTP session, the RTP receiver
>
>    needs to demultiplex packets that are arriving on the RTP port.
>
> ...
>
>    If other packet types are to be multiplexed as well, implementors
>
>    and/or designers SHOULD ensure that they can be demultiplexed from
>
>    these three *[or five, given 7983]* packet types.
>
>
>
> Is it a goal for QUIC and DTLS-SRTP to coexist on the same port?
>
>
>
> *From:* QUIC [mailto:quic-bounces@ietf.org] *On Behalf Of *Bernard Aboba
> *Sent:* Wednesday, May 17, 2017 2:37 PM
> *To:* quic@ietf.org
> *Cc:* marc@petit-huguenin.org; pthatcher@google.com
> *Subject:* Potential conflict between draft-ietf-quic-transport and RFC
> 7983
>
>
>
> There appears to be a potential conflict between draft-ietf-quic-transport
> and RFC 7983. Looking at draft-ietf-quic-transport, both the short and the
> long headers appear to conflict with the de-multiplexing scheme defined in
> RFC 7983, which is based on the value of the first byte of multi-plexed
> protocols:
>
>
>
>    The process for demultiplexing a packet is as follows.  The receiver
>
>    looks at the first byte of the packet.  If the value of this byte is
>
>    in between 0 and 3 (inclusive), then the packet is STUN.  If the
>
>    value is between 16 and 19 (inclusive), then the packet is ZRTP.  If
>
>    the value is between 20 and 63 (inclusive), then the packet is DTLS.
>
>    If the value is between 64 and 79 (inclusive), then the packet is
>
>    TURN Channel.  If the value is in between 128 and 191 (inclusive),
>
>    then the packet is RTP (or RTCP, if both RTCP and RTP are being
>
>    multiplexed over the same destination port).  If the value does not
>
>    match any known range, then the packet MUST be dropped and an alert
>
>    MAY be logged.  This process is summarized in Figure 3.
>
>
>
>                     +----------------+
>
>                     |        [0..3] -+--> forward to STUN
>
>                     |                |
>
>                     |      [16..19] -+--> forward to ZRTP
>
>                     |                |
>
>         packet -->  |      [20..63] -+--> forward to DTLS
>
>                     |                |
>
>                     |      [64..79] -+--> forward to TURN Channel
>
>                     |                |
>
>                     |    [128..191] -+--> forward to RTP/RTCP
>
>                     +----------------+
>
>
>
>      Figure 3: The DTLS-SRTP receiver's packet demultiplexing algorithm.
>
>
>
>
>
>