Internet DRAFT - draft-dawkins-avtcore-sdp-rtp-quic-issues
draft-dawkins-avtcore-sdp-rtp-quic-issues
AVTCORE Working Group S. Dawkins
Internet-Draft Tencent America LLC
Intended status: Informational 22 June 2022
Expires: 24 December 2022
SDP Offer/Answer for RTP using QUIC as Transport - Design Issues
draft-dawkins-avtcore-sdp-rtp-quic-issues-00
Abstract
This document is intended to capture SDP aspects of RTP over QUIC
design issues that have arisen, been discussed by the AVTCORE working
group, and have reached a resolution that can be included in "SDP
Offer/Answer for RTP using QUIC as Transport".
This document is a companion document to "SDP Offer/Answer for RTP
using QUIC as Transport". That document focuses on the description
and registration of SDP "proto" attribute parameters with IANA, to
allow applications that rely on SDP Offer/Answer to negotiate the
QUIC protocol as an encapsulation for RTP.
"SDP Offer/Answer for RTP using QUIC as Transport" is itself a
companion document to "RTP over QUIC", and follows the lead of the
latter specification as it evolves.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on 24 December 2022.
Copyright Notice
Copyright (c) 2022 IETF Trust and the persons identified as the
document authors. All rights reserved.
Dawkins Expires 24 December 2022 [Page 1]
Internet-Draft SDP O/A for RTP over QUIC Issues June 2022
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document. Code Components
extracted from this document must include Revised BSD License text as
described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Revised BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Notes for Readers . . . . . . . . . . . . . . . . . . . . 3
1.2. Relationship with other documents . . . . . . . . . . . . 3
1.3. Discussion and Contribution Venues for this draft. . . . 4
2. Design Issues Resolutions Ready to be Reflected in
I-D.dawkins-avtcore-sdp-rtp-quic . . . . . . . . . . . . 4
2.1. What AVP Profiles to Register . . . . . . . . . . . . . . 4
2.1.1. Proposal to be implemented in
draft-dawkins-avtcore-sdp-rtp-quic . . . . . . . . . 5
2.2. QUIC Streams, QUIC Datagrams, or both? . . . . . . . . . 6
2.2.1. Proposal to be implemented in
draft-dawkins-avtcore-sdp-rtp-quic . . . . . . . . . 6
3. Design Issue Resolutions Under Discussion in IETF Working
Groups . . . . . . . . . . . . . . . . . . . . . . . . . 6
4. Design Issue "Parking Lot", for Design Issues That Have Not
Been Discussed . . . . . . . . . . . . . . . . . . . . . 6
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
6. Security Considerations . . . . . . . . . . . . . . . . . . . 6
7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 7
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 7
8.1. Normative References . . . . . . . . . . . . . . . . . . 7
8.2. Informative References . . . . . . . . . . . . . . . . . 7
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 8
1. Introduction
This document is intended to capture SDP ([RFC8866]) aspects of RTP
([RFC3550]) over QUIC ([RFC9000]) design issues that have arisen,
been discussed by one or more IETF working groups, and have reached a
resolution that can be included in "SDP Offer/Answer for RTP using
QUIC as Transport" [I-D.dawkins-avtcore-sdp-rtp-quic].
Dawkins Expires 24 December 2022 [Page 2]
Internet-Draft SDP O/A for RTP over QUIC Issues June 2022
This document is a companion document to "SDP Offer/Answer for RTP
using QUIC as Transport" ([I-D.dawkins-avtcore-sdp-rtp-quic]). That
document focuses on the description and registration of SDP
([RFC8866]) "proto" attribute parameters with IANA
([SDP-parameters]), to allow applications that rely on SDP Offer/
Answer ([RFC3264]) to negotiate the QUIC protocol([RFC9000]) as an
encapsulation for RTP ([RFC3550]).
"SDP Offer/Answer for RTP using QUIC as Transport"
([I-D.dawkins-avtcore-sdp-rtp-quic]) is itself a companion document
to "RTP over QUIC" ([I-D.engelbart-rtp-over-quic]), and follows the
lead of follows the lead of the latter specification as it evolves.
1.1. Notes for Readers
(Note to RFC Editor - if this document ever reaches you, please
remove this section)
This document is intended to stimulate discussion about how
proponents of "RTP over QUIC" expect that to work, recognizing that
not everyone has the same goals in mind, but it understanding what
the choices are will likely be helpful in making those choices,
especially when the results of a choice provide direction that will
allow implementers to agree on strategies and reuse as much code as
possible.
The author learned through some experience that it would be really
good to collect questions and design issues about "RTP over QUIC", or
even "Media Over QUIC", in one place, because trying to track what
was being discussed in multiple and partially overlapping venues was
a recipe for brain damange, especially when a topic would come up
under the "Media Over QUIC" banner, and then seem to be useful for
"RTP over QUIC", so potentially signaled in SDP.
This document is intended to keep at least one person sane. If it
keeps more than one person sane, I've made the world a slightly
better place.
1.2. Relationship with other documents
[I-D.dawkins-avtcore-sdp-rtp-quic] will reflect answers to the
questions contained in this document, but the discussion material in
this document would not be appropriate for inclusion in a draft that
focuses on SDP description and IANA registration. This document
might be worth publishing on its own, but is primarily intended to
guide discussion that will feed into
[I-D.dawkins-avtcore-sdp-rtp-quic].
Dawkins Expires 24 December 2022 [Page 3]
Internet-Draft SDP O/A for RTP over QUIC Issues June 2022
1.3. Discussion and Contribution Venues for this draft.
(Note to RFC Editor - if this document ever reaches you, something
has gone terribly wrong. Please notify your local IESG for guidance)
With the concurrence of the AVTCORE and MMUSIC working group co-
chairs, SDP aspects of RTP over QUIC protoposals should be discussed
in the AVTCORE working group, in the same venue where RTP over QUIC
proposals are being discussed. When proposals for RTP over SIP have
stablized in AVTCORE, this document will be sent to the MMUSIC
working group for review by SDP experts, but SDP-specific comments
are welcomed at any time.
Design issues relevant for [I-D.dawkins-avtcore-sdp-rtp-quic] may
arise in a variety of venues. At this time, AVTCORE is actively
considering adoption of "RTP over QUIC"
([I-D.engelbart-rtp-over-quic]), so this document will reflect those
issues, but protocol specifications adopted by any other IETF working
group relying on RTP-over-QUIC connections that are established using
SDP would also be a candidate to be tracked.
Readers are invited to open issues and send pull requests with
contributed text for this document in the GitHub repository at
https://github.com/SpencerDawkins/sdp-rtp-quic-issues. The direct
link to the list of issues is https://github.com/SpencerDawkins/sdp-
rtp-quic-issues/issues.
2. Design Issues Resolutions Ready to be Reflected in
[I-D.dawkins-avtcore-sdp-rtp-quic]
These issues can be found in https://github.com/SpencerDawkins/sdp-
rtp-quic-issues/issues, by looking for the label "Solution Proposed".
2.1. What AVP Profiles to Register
This design issue was surprisingly difficult to resolve. The first
design choice was between
* Registering only "insecure" AVP profiles, such as "QUIC/RTP/AVPF",
because "secure AVP profiles, such as "QUIC/RTP/SAVPF", mean that
the RTP payloads are encrypted using "Secure Real-time Transport
Protocol (SRTP)" ([RFC3711]), which isn't necessary because RTP
over QUIC payloads will already be encrypted by QUIC, and
* Also registering "secure" AVP profiles, such as "QUIC/RTP/SAVPF",
for various reasons, including
Dawkins Expires 24 December 2022 [Page 4]
Internet-Draft SDP O/A for RTP over QUIC Issues June 2022
- allowing endpoints to use "double encryption", using both SRTP
and QUIC to encrypt the RTP payload, in use cases where that is
valuable
- giving RTP middleboxes ([RFC7667]) a hint, to middleboxes that
they should use SRTP when they forward RTP-over-QUIC packets to
non-RTP-over-QUIC endpoints.
Key points made during this discussion were
* We understand that it is possible to do double encyption using
SRTP over QUIC, but we haven't found any use cases where that's
required (yet).
* Double encyption increases processing overhead, and adds 10 bytes
of overhead (since there are two HMACs)
* If use cases that require double encryption are identified in the
future, the appropriate AVP profiles can be registered with IANA
at that time, to address non-theoretical requirements.
* Using secure AVP profiles when the RTP-over-QUIC payloads are not,
in fact, encrypted by SRTP, as a hack to signal intent that
middleboxes forwarding RTP-over-QUIC payloads to non-RTP-over-QUIC
endpoints should use SRTP encryption is bogus, and isn't likely to
be sufficient to handle all of the multi-endpoint topologies
described in [RFC7667].
Note: After working group discussions at IETF 113, one more
observation popped up - that if our goal is to register QUIC/RTP/
AVPF, we should actually be registering UDP/QUIC/RTP/AVPF,
registration of other QUIC/RTP AVP profiles that aren't running
over UDP.
After investigation, I don't think this is necessary unless QUIC
is also defined to run over TCP, and even then, only if (say)
TCP/QUIC/RTP/AVPF is considered to be a viable protocol stack for
RTP usage.
2.1.1. Proposal to be implemented in draft-dawkins-avtcore-sdp-rtp-quic
We will register QUIC/RTP/AVPF, and await further non-theoretical
requirements to register other profiles (But see Section 2.2).
Dawkins Expires 24 December 2022 [Page 5]
Internet-Draft SDP O/A for RTP over QUIC Issues June 2022
2.2. QUIC Streams, QUIC Datagrams, or both?
Discussion of this issue centered on whether people were getting
support for a model they plan to use, rather than preventing other
people from using a model they did not plan to use.
After that became clear, and after [I-D.engelbart-rtp-over-quic]
added support for both streams and datagrams, everything became
clear.
2.2.1. Proposal to be implemented in draft-dawkins-avtcore-sdp-rtp-quic
Registered QUIC/RTP proto values will contain parallel registrations
that include "stream" and "dgram".
For instance, if we intend to register QUIC/RTP/AVPF, we will
actually register QUIC/stream/RTP/AVPF and QUIC/dgram/RTP/AVPF,
3. Design Issue Resolutions Under Discussion in IETF Working Groups
These issues can be found in https://github.com/SpencerDawkins/sdp-
rtp-quic-issues/issues, by looking for the label "Presented to
Working Group" and/or "Mailing List".
4. Design Issue "Parking Lot", for Design Issues That Have Not Been
Discussed
These issues can be found in https://github.com/SpencerDawkins/sdp-
rtp-quic-issues/issues, by looking for issues with no labels.
5. IANA Considerations
This document makes no requests of IANA.
6. Security Considerations
This document is intended as the basis for discussion about protocol
mechanisms that will be described in other documents. As a
discussion paper, this document introduces no new security
considerations, and any new security considerations resulting from
those discussions should be included in the documents that actually
describe protocol mechanisms.
Dawkins Expires 24 December 2022 [Page 6]
Internet-Draft SDP O/A for RTP over QUIC Issues June 2022
7. Acknowledgments
Thanks to the following folks who have contributed interesting
questions and even more interesting suggested text proposals. These
folk include Bernard Aboba, Colin Perkins, Justin Uberti, Martin
Thomson, Richard Bradbury, Roman Shpount, Ross Finlayson, Sergio
Garcia Murillo, Suhas Nandakumar, Tolga Asveren
(Your name also could appear here. You are invited to comment and
contribute, as described in "Contribution and Discussion Venues for
this draft" above)
8. References
8.1. Normative References
[I-D.engelbart-rtp-over-quic]
Ott, J. and M. Engelbart, "RTP over QUIC", Work in
Progress, Internet-Draft, draft-engelbart-rtp-over-quic-
03, 12 May 2022, <https://datatracker.ietf.org/doc/html/
draft-engelbart-rtp-over-quic-03>.
8.2. Informative References
[I-D.dawkins-avtcore-sdp-rtp-quic]
Dawkins, S., "SDP Offer/Answer for RTP using QUIC as
Transport", Work in Progress, Internet-Draft, draft-
dawkins-avtcore-sdp-rtp-quic-00, 28 January 2022,
<https://datatracker.ietf.org/doc/html/draft-dawkins-
avtcore-sdp-rtp-quic-00>.
[RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model
with Session Description Protocol (SDP)", RFC 3264,
DOI 10.17487/RFC3264, June 2002,
<https://www.rfc-editor.org/rfc/rfc3264>.
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
Jacobson, "RTP: A Transport Protocol for Real-Time
Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550,
July 2003, <https://www.rfc-editor.org/rfc/rfc3550>.
[RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K.
Norrman, "The Secure Real-time Transport Protocol (SRTP)",
RFC 3711, DOI 10.17487/RFC3711, March 2004,
<https://www.rfc-editor.org/rfc/rfc3711>.
Dawkins Expires 24 December 2022 [Page 7]
Internet-Draft SDP O/A for RTP over QUIC Issues June 2022
[RFC7667] Westerlund, M. and S. Wenger, "RTP Topologies", RFC 7667,
DOI 10.17487/RFC7667, November 2015,
<https://www.rfc-editor.org/rfc/rfc7667>.
[RFC8866] Begen, A., Kyzivat, P., Perkins, C., and M. Handley, "SDP:
Session Description Protocol", RFC 8866,
DOI 10.17487/RFC8866, January 2021,
<https://www.rfc-editor.org/rfc/rfc8866>.
[RFC9000] Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based
Multiplexed and Secure Transport", RFC 9000,
DOI 10.17487/RFC9000, May 2021,
<https://www.rfc-editor.org/rfc/rfc9000>.
[SDP-parameters]
"SDP Parameters - Proto", September 2021,
<https://www.iana.org/assignments/sdp-parameters/sdp-
parameters.xhtml#sdp-parameters-2>.
Author's Address
Spencer Dawkins
Tencent America LLC
United States of America
Email: spencerdawkins.ietf@gmail.com
Dawkins Expires 24 December 2022 [Page 8]