rfc9443.original | rfc9443.txt | |||
---|---|---|---|---|
AVTCORE Working Group B. Aboba | Internet Engineering Task Force (IETF) B. Aboba | |||
INTERNET-DRAFT Microsoft Corporation | Request for Comments: 9443 Microsoft Corporation | |||
Updates: 7983, 5764 G. Salgueiro | Updates: 5764, 7983 G. Salgueiro | |||
Category: Standards Track Cisco Systems | Category: Standards Track Cisco Systems | |||
Expires: September 30, 2023 C. Perkins | ISSN: 2070-1721 C. Perkins | |||
University of Glasgow | University of Glasgow | |||
26 March 2023 | July 2023 | |||
Multiplexing Scheme Updates for QUIC | Multiplexing Scheme Updates for QUIC | |||
draft-ietf-avtcore-rfc7983bis-09.txt | ||||
Abstract | Abstract | |||
RFC 7983 defines a scheme for a Real-time Transport Protocol (RTP) | RFC 7983 defines a scheme for a Real-time Transport Protocol (RTP) | |||
receiver to demultiplex Datagram Transport Layer Security (DTLS), | receiver to demultiplex Datagram Transport Layer Security (DTLS), | |||
Session Traversal Utilities for NAT (STUN), Secure Real-time | Session Traversal Utilities for NAT (STUN), Secure Real-time | |||
Transport Protocol (SRTP) / Secure Real-time Transport Control | Transport Protocol (SRTP) / Secure Real-time Transport Control | |||
Protocol (SRTCP), ZRTP and Traversal Using Relays around NAT (TURN) | Protocol (SRTCP), ZRTP, and Traversal Using Relays around NAT (TURN) | |||
Channel packets arriving on a single port. This document updates RFC | channel packets arriving on a single port. This document updates RFC | |||
7983 and RFC 5764 to also allow QUIC packets to be multiplexed on a | 7983 and RFC 5764 to also allow QUIC packets to be multiplexed on a | |||
single receiving socket. | single receiving socket. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
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 http://datatracker.ietf.org/drafts/current/. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
Internet Standards is available in Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on September 30, 2023. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
https://www.rfc-editor.org/info/rfc9443. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2023 IETF Trust and the persons identified as the | Copyright (c) 2023 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
extracted from this document must include Revised BSD License text as | to this document. Code Components extracted from this document must | |||
described in Section 4.e of the Trust Legal Provisions and are | include Revised BSD License text as described in Section 4.e of the | |||
provided without warranty as described in the Revised BSD License. | Trust Legal Provisions and are provided without warranty as described | |||
in the Revised BSD License. | ||||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction | |||
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 | 1.1. Terminology | |||
2. Multiplexing of TURN Channels . . . . . . . . . . . . . . . . 4 | 2. Multiplexing of TURN Channels | |||
3. Updates to RFC 7983 . . . . . . . . . . . . . . . . . . . . . 5 | 3. Updates to RFC 7983 | |||
4. Security Considerations . . . . . . . . . . . . . . . . . . . 7 | 4. Security Considerations | |||
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | 5. IANA Considerations | |||
6. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 6. References | |||
6.1. Normative References . . . . . . . . . . . . . . . . . . 7 | 6.1. Normative References | |||
6.2. Informative References . . . . . . . . . . . . . . . . . 8 | 6.2. Informative References | |||
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 9 | Acknowledgments | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 | Authors' Addresses | |||
1. Introduction | 1. Introduction | |||
"Multiplexing Scheme Updates for Secure Real-time Transport Protocol | "Multiplexing Scheme Updates for Secure Real-time Transport Protocol | |||
(SRTP) Extension for Datagram Transport Layer Security (DTLS)" | (SRTP) Extension for Datagram Transport Layer Security (DTLS)" | |||
[RFC7983] defines a scheme for a Real-time Transport Protocol (RTP) | [RFC7983] defines a scheme for a Real-time Transport Protocol (RTP) | |||
[RFC3550] receiver to demultiplex DTLS [RFC9147], Session Traversal | [RFC3550] receiver to demultiplex DTLS [RFC9147], Session Traversal | |||
Utilities for NAT (STUN) [RFC8489], Secure Real-time Transport | Utilities for NAT (STUN) [RFC8489], Secure Real-time Transport | |||
Protocol (SRTP) / Secure Real-time Transport Control Protocol (SRTCP) | Protocol (SRTP) / Secure Real-time Transport Control Protocol (SRTCP) | |||
[RFC3711], ZRTP [RFC6189] and Traversal Using Relays around NAT | [RFC3711], ZRTP [RFC6189], and Traversal Using Relays around NAT | |||
(TURN) Channel packets arriving on a single port. This document | (TURN) channel packets arriving on a single port. This document | |||
updates [RFC7983] and "Datagram Transport Layer Security (DTLS) | updates [RFC7983] and "Datagram Transport Layer Security (DTLS) | |||
Extension to Establish Keys for the Secure Real-time Transport | Extension to Establish Keys for the Secure Real-time Transport | |||
Protocol (SRTP)" [RFC5764] to also allow QUIC [RFC9000] to be | Protocol (SRTP)" [RFC5764] to also allow QUIC [RFC9000] to be | |||
multiplexed on the same port. | multiplexed on the same port. | |||
The multiplexing scheme described in this document supports multiple | The multiplexing scheme described in this document supports multiple | |||
use cases. Peer-to-peer QUIC in WebRTC scenarios, described in | use cases. In the WebRTC scenarios described in [P2P-QUIC] and | |||
[P2P-QUIC] [P2P-QUIC-TRIAL], transports audio and video over SRTP, | [P2P-QUIC-TRIAL], SRTP transports audio and video while peer-to-peer | |||
alongside QUIC, used for data exchange. For this use case, SRTP | QUIC is used for data exchange. For this use case, SRTP [RFC3711] is | |||
[RFC3711] is keyed using DTLS-SRTP [RFC5764] and therefore SRTP/SRTCP | keyed using DTLS-SRTP [RFC5764]; therefore, SRTP/SRTCP [RFC3550], | |||
[RFC3550], STUN, TURN, DTLS and QUIC need to be multiplexed on the | STUN, TURN, DTLS, and QUIC need to be multiplexed on the same port. | |||
same port. Were SRTP to be keyed using QUIC-SRTP (not yet | Were SRTP to be keyed using QUIC-SRTP (not yet specified), SRTP/ | |||
specified), SRTP/SRTCP, STUN, TURN and QUIC would need to be | SRTCP, STUN, TURN, and QUIC would need to be multiplexed on the same | |||
multiplexed on the same port. Where QUIC is used for peer-to-peer | port. Where QUIC is used for peer-to-peer transport of data as well | |||
transport of data as well as RTP/RTCP [I-D.ietf-avtcore-rtp-over-quic] | as RTP/RTCP [RTP-OVER-QUIC], STUN, TURN, and QUIC need to be | |||
STUN, TURN and QUIC need to be multiplexed on the same port. | multiplexed on the same port. | |||
While the scheme described in this document is compatible with QUIC | While the scheme described in this document is compatible with QUIC | |||
version 2 [I-D.ietf-quic-v2], it is not compatible with QUIC bit | version 2 [RFC9369], it is not compatible with QUIC bit greasing | |||
greasing [RFC9287]. As a result, endpoints that wish to use | [RFC9287]. As a result, endpoints that wish to use multiplexing on | |||
multiplexing on their socket MUST NOT send the grease_quic_bit | their socket MUST NOT send the grease_quic_bit transport parameter. | |||
transport parameter. | ||||
1.1. Terminology | 1.1. Terminology | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in | |||
14 [RFC2119] [RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
2. Multiplexing of TURN Channels | 2. Multiplexing of TURN Channels | |||
TURN channels are an optimization where data packets are exchanged | TURN channels are an optimization where data packets are exchanged | |||
with a 4-byte prefix instead of the standard 36-byte STUN overhead | with a 4-byte prefix instead of the standard 36-byte STUN overhead | |||
(see Section 3.5 of [RFC8656]). [RFC7983] allocates the values from | (see Section 3.5 of [RFC8656]). [RFC7983] allocates the values from | |||
64 to 79 in order to allow TURN channels to be demultiplexed when the | 64 to 79 in order to allow TURN channels to be demultiplexed when the | |||
TURN Client does the channel binding request in combination with the | TURN client does the channel binding request in combination with the | |||
demultiplexing scheme described in [RFC7983]. | demultiplexing scheme described in [RFC7983]. | |||
In the absence of QUIC bit greasing, the first octet of a QUIC packet | In the absence of QUIC bit greasing, the first octet of a QUIC packet | |||
(e.g. a short header packet in QUIC v1 or v2) may fall in the range | (e.g. a short header packet in QUIC v1 or v2) may fall in the range | |||
64 to 127, thereby overlapping with the allocated range for TURN | 64 to 127, thereby overlapping with the allocated range for TURN | |||
channels of 64 to 79. However, in practice this overlap does not | channels of 64 to 79. However, in practice this overlap does not | |||
represent a problem. TURN channel packets will only be received from | represent a problem. TURN channel packets will only be received from | |||
a TURN server to which TURN allocation and channel-binding requests | a TURN server to which TURN allocation and channel-binding requests | |||
have been sent. Therefore, a TURN client receiving packets from the | have been sent. Therefore, a TURN client receiving packets from the | |||
source IP address and port of a TURN server only needs to | source IP address and port of a TURN server only needs to | |||
disambiguate STUN (i.e. regular TURN) packets from TURN channel | disambiguate STUN (i.e., regular TURN) packets from TURN channel | |||
packets; (S)RTP, (S)RTCP, ZRTP, DTLS or QUIC packets will not be sent | packets; (S)RTP, (S)RTCP, ZRTP, DTLS, or QUIC packets will not be | |||
from a source IP address and port that had previously responded to | sent from a source IP address and port that had previously responded | |||
TURN allocation or channel-binding requests. | to TURN allocation or channel-binding requests. | |||
As a result, if the source IP address and port of a packet does not | As a result, if the source IP address and port of a packet do not | |||
match that of a responding TURN server, a packet with a first octet | match that of a responding TURN server, a packet with a first octet | |||
of 64 to 127 can be unambiguously demultiplexed as QUIC. | of 64 to 127 can be unambiguously demultiplexed as QUIC. | |||
3. Updates to RFC 7983 | 3. Updates to RFC 7983 | |||
This document updates the text in Section 7 of [RFC7983] (which in | This document updates the text in Section 7 of [RFC7983] (which in | |||
turn updates [RFC5764]) as follows: | turn updates [RFC5764]) as follows: | |||
OLD TEXT | OLD TEXT | |||
The process for demultiplexing a packet is as follows. The receiver | | The process for demultiplexing a packet is as follows. The | |||
looks at the first byte of the packet. If the value of this byte is | | receiver looks at the first byte of the packet. If the value of | |||
in between 0 and 3 (inclusive), then the packet is STUN. If the | | this byte is in between 0 and 3 (inclusive), then the packet is | |||
value is between 16 and 19 (inclusive), then the packet is ZRTP. If | | STUN. If the value is between 16 and 19 (inclusive), then the | |||
the value is between 20 and 63 (inclusive), then the packet is DTLS. | | packet is ZRTP. If the value is between 20 and 63 (inclusive), | |||
If the value is between 64 and 79 (inclusive), then the packet is | | then the packet is DTLS. If the value is between 64 and 79 | |||
TURN Channel. If the value is in between 128 and 191 (inclusive), | | (inclusive), then the packet is TURN Channel. If the value is in | |||
then the packet is RTP (or RTCP, if both RTCP and RTP are being | | between 128 and 191 (inclusive), then the packet is RTP (or RTCP, | |||
multiplexed over the same destination port). If the value does not | | if both RTCP and RTP are being multiplexed over the same | |||
match any known range, then the packet MUST be dropped and an alert | | destination port). If the value does not match any known range, | |||
MAY be logged. This process is summarized in Figure 3. | | then the packet MUST be dropped and an alert MAY be logged. This | |||
| process is summarized in Figure 3. | ||||
+----------------+ | | | |||
| [0..3] -+--> forward to STUN | | +----------------+ | |||
| | | | | [0..3] -+--> forward to STUN | |||
| [16..19] -+--> forward to ZRTP | | | | | |||
| | | | | [16..19] -+--> forward to ZRTP | |||
packet --> | [20..63] -+--> forward to DTLS | | | | | |||
| | | | packet --> | [20..63] -+--> forward to DTLS | |||
| [64..79] -+--> forward to TURN Channel | | | | | |||
| | | | | [64..79] -+--> forward to TURN Channel | |||
| [128..191] -+--> forward to RTP/RTCP | | | | | |||
+----------------+ | | | [128..191] -+--> forward to RTP/RTCP | |||
| +----------------+ | ||||
Figure 3: The DTLS-SRTP receiver's packet demultiplexing algorithm. | | | |||
| Figure 3: The DTLS-SRTP receiver's packet demultiplexing algorithm. | ||||
END OLD TEXT | END OLD TEXT | |||
NEW TEXT | ||||
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 | ||||
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 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 is between 80 and 127 (inclusive) | ||||
or between 192 and 255 (inclusive) then the packet is QUIC. If the | ||||
value is between 64 and 79 (inclusive) and the packet has a source | ||||
IP address and port of a responding TURN server, then the packet | ||||
is TURN channel; if the source IP address and port is not that of | ||||
a responding TURN server, then the packet is QUIC. | ||||
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 | ||||
| | | ||||
| [4..15] -+--> DROP | ||||
| | | ||||
| [16..19] -+--> forward to ZRTP | ||||
| | | ||||
packet --> | [20..63] -+--> forward to DTLS | ||||
| | | ||||
| [64..79] -+--> forward to TURN Channel | ||||
| | (if from TURN server), else QUIC | ||||
| [80..127] -+--> forward to QUIC | ||||
| | | ||||
| [128..191] -+--> forward to RTP/RTCP | ||||
| | | ||||
| [192..255] -+--> forward to QUIC | ||||
+----------------+ | ||||
Figure 3: The receiver's packet demultiplexing algorithm. | NEW TEXT | |||
Note: Endpoints that wish to demultiplex QUIC MUST NOT send the | | The process for demultiplexing a packet is as follows. The | |||
grease_quic_bit transport parameter, described in | | receiver looks at the first byte of the packet. If the value of | |||
[RFC9287]. | | this byte is 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 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 is | ||||
| between 80 and 127 (inclusive) or between 192 and 255 (inclusive), | ||||
| then the packet is QUIC. If the value is between 64 and 79 | ||||
| (inclusive) and the packet has a source IP address and port of a | ||||
| responding TURN server, then the packet is TURN channel; if the | ||||
| source IP address and port are not that of a responding TURN | ||||
| server, then the packet is QUIC. | ||||
| | ||||
| 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 | ||||
| | | | ||||
| | [4..15] -+--> DROP | ||||
| | | | ||||
| | [16..19] -+--> forward to ZRTP | ||||
| | | | ||||
| packet --> | [20..63] -+--> forward to DTLS | ||||
| | | | ||||
| | [64..79] -+--> forward to TURN Channel | ||||
| | | (if from TURN server), else QUIC | ||||
| | [80..127] -+--> forward to QUIC | ||||
| | | | ||||
| | [128..191] -+--> forward to RTP/RTCP | ||||
| | | | ||||
| | [192..255] -+--> forward to QUIC | ||||
| +----------------+ | ||||
| | ||||
| Figure 3: The receiver's packet demultiplexing algorithm. | ||||
| | ||||
| Note: Endpoints that wish to demultiplex QUIC MUST NOT send the | ||||
| grease_quic_bit transport parameter, as described in [RFC9287]. | ||||
END NEW TEXT | END NEW TEXT | |||
4. Security Considerations | 4. Security Considerations | |||
The solution discussed in this document could potentially introduce | The solution discussed in this document could potentially introduce | |||
some additional security issues beyond those described in [RFC7983]. | some additional security issues beyond those described in [RFC7983]. | |||
These additional concerns are described below. | These additional concerns are described below. | |||
In order to support multiplexing of QUIC, this document adds logic to | In order to support multiplexing of QUIC, this document adds logic to | |||
the scheme defined in [RFC7983]. If mis-implemented, the logic could | the scheme defined in [RFC7983]. If misimplemented, the logic could | |||
potentially mis-classify packets, exposing protocol handlers to | potentially misclassify packets, exposing protocol handlers to | |||
unexpected input. | unexpected input. | |||
When QUIC is used solely for data exchange, the TLS-within-QUIC | When QUIC is used solely for data exchange, the TLS-within-QUIC | |||
exchange [RFC9001] derives keys used solely to protect QUIC data | exchange [RFC9001] derives keys used solely to protect QUIC data | |||
packets. If properly implemented, this should not affect the | packets. If properly implemented, this should not affect the | |||
transport of SRTP nor the derivation of SRTP keys via DTLS-SRTP. | transport of SRTP or the derivation of SRTP keys via DTLS-SRTP. | |||
However, if a future specification were to define use of the TLS- | However, if a future specification were to define use of the TLS- | |||
within-QUIC exchange to derive SRTP keys, both transport and SRTP key | within-QUIC exchange to derive SRTP keys, both transport and SRTP key | |||
derivation could be adversely impacted by a vulnerability in the QUIC | derivation could be adversely impacted by a vulnerability in the QUIC | |||
implementation. | implementation. | |||
5. IANA Considerations | 5. IANA Considerations | |||
In the TLS ContentType registry, IANA will replace references to RFC | In the "TLS ContentType" registry, IANA replaced references to | |||
7983 with references to this document. | [RFC7983] with references to this document. | |||
6. References | 6. References | |||
6.1. Normative References | 6.1. Normative References | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, DOI | Requirement Levels", BCP 14, RFC 2119, | |||
10.17487/RFC2119, March 1997, <http://www.rfc- | DOI 10.17487/RFC2119, March 1997, | |||
editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. | [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. | |||
Jacobson, "RTP: A Transport Protocol for Real-Time | Jacobson, "RTP: A Transport Protocol for Real-Time | |||
Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550, July | Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550, | |||
2003, <http://www.rfc-editor.org/info/rfc3550>. | July 2003, <https://www.rfc-editor.org/info/rfc3550>. | |||
[RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K. | [RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K. | |||
Norrman, "The Secure Real-time Transport Protocol (SRTP)", | Norrman, "The Secure Real-time Transport Protocol (SRTP)", | |||
RFC 3711, DOI 10.17487/RFC3711, March 2004, | RFC 3711, DOI 10.17487/RFC3711, March 2004, | |||
<http://www.rfc-editor.org/info/rfc3711>. | <https://www.rfc-editor.org/info/rfc3711>. | |||
[RFC5764] McGrew, D. and E. Rescorla, "Datagram Transport Layer | [RFC5764] McGrew, D. and E. Rescorla, "Datagram Transport Layer | |||
Security (DTLS) Extension to Establish Keys for the Secure | Security (DTLS) Extension to Establish Keys for the Secure | |||
Real-time Transport Protocol (SRTP)", RFC 5764, DOI | Real-time Transport Protocol (SRTP)", RFC 5764, | |||
10.17487/RFC5764, May 2010, <http://www.rfc- | DOI 10.17487/RFC5764, May 2010, | |||
editor.org/info/rfc5764>. | <https://www.rfc-editor.org/info/rfc5764>. | |||
[RFC7983] Petit-Huguenin, M. and G. Salgueiro, "Multiplexing Scheme | [RFC7983] Petit-Huguenin, M. and G. Salgueiro, "Multiplexing Scheme | |||
Updates for Secure Real-time Transport Protocol (SRTP) | Updates for Secure Real-time Transport Protocol (SRTP) | |||
Extension for Datagram Transport Layer Security (DTLS)", | Extension for Datagram Transport Layer Security (DTLS)", | |||
RFC 7983, DOI 10.17487/RFC7983, September 2016, | RFC 7983, DOI 10.17487/RFC7983, September 2016, | |||
<https://www.rfc-editor.org/info/rfc7983>. | <https://www.rfc-editor.org/info/rfc7983>. | |||
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
Key Words", RFC 8174, DOI 10.17487/RFC8174, May 2017, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
<https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
[RFC8489] Petit-Huguenin, M., Salgueiro, G., Rosenberg, J., Wing, D., | [RFC8489] Petit-Huguenin, M., Salgueiro, G., Rosenberg, J., Wing, | |||
Mahy, R. and P. Matthews, "Session Traversal Utilities for | D., Mahy, R., and P. Matthews, "Session Traversal | |||
NAT (STUN)", RFC 8489, DOI 10.17487/RFC8489, February 2020, | Utilities for NAT (STUN)", RFC 8489, DOI 10.17487/RFC8489, | |||
<https://www.rfc-editor.org/info/rfc8489>. | February 2020, <https://www.rfc-editor.org/info/rfc8489>. | |||
[RFC8656] Reddy, T., Johnston, A., Matthews, P. and J. Rosenberg, | [RFC8656] Reddy, T., Ed., Johnston, A., Ed., Matthews, P., and J. | |||
"Traversal Using Relays around NAT (TURN): Relay Extensions | Rosenberg, "Traversal Using Relays around NAT (TURN): | |||
to Session Traversal Utilities for NAT (STUN)", RFC 8656, | Relay Extensions to Session Traversal Utilities for NAT | |||
DOI 10.17487/RFC8656, February 2020, <https://www.rfc- | (STUN)", RFC 8656, DOI 10.17487/RFC8656, February 2020, | |||
editor.org/info/rfc8656>. | <https://www.rfc-editor.org/info/rfc8656>. | |||
[RFC9000] Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based | [RFC9000] Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based | |||
Multiplexed and Secure Transport", RFC 9000, DOI | Multiplexed and Secure Transport", RFC 9000, | |||
10.17487/RFC9000, May 2021, <https://www.rfc- | DOI 10.17487/RFC9000, May 2021, | |||
editor.org/info/rfc9000>. | <https://www.rfc-editor.org/info/rfc9000>. | |||
[RFC9001] Thomson, M., Ed. and S. Turner, Ed., "Using TLS to Secure | [RFC9001] Thomson, M., Ed. and S. Turner, Ed., "Using TLS to Secure | |||
QUIC", RFC 9001, DOI 10.17487/RFC9001, May 2021, | QUIC", RFC 9001, DOI 10.17487/RFC9001, May 2021, | |||
<https://www.rfc-editor.org/info/rfc9001>. | <https://www.rfc-editor.org/info/rfc9001>. | |||
[RFC9147] Rescorla, E., Tschofenig, H., and N. Modadugu, "The | [RFC9147] Rescorla, E., Tschofenig, H., and N. Modadugu, "The | |||
Datagram Transport Layer Security (DTLS) Protocol Version | Datagram Transport Layer Security (DTLS) Protocol Version | |||
1.3", RFC 9147, DOI 10.17487/RFC9147, April 2022, | 1.3", RFC 9147, DOI 10.17487/RFC9147, April 2022, | |||
<https://www.rfc-editor.org/info/rfc9147>. | <https://www.rfc-editor.org/info/rfc9147>. | |||
[RFC9287] Thomson, M., "Greasing the QUIC Bit", RFC 9287, DOI | [RFC9287] Thomson, M., "Greasing the QUIC Bit", RFC 9287, | |||
10.17487/RFC9287, August 2022, <https://www.rfc- | DOI 10.17487/RFC9287, August 2022, | |||
editor.org/info/rfc9287>. | <https://www.rfc-editor.org/info/rfc9287>. | |||
6.2. Informative References | 6.2. Informative References | |||
[I-D.ietf-avtcore-rtp-over-quic] | [P2P-QUIC] Thatcher, P., Aboba, B., and R. Raymond, "QUIC API For | |||
Ott, J. and M. Engelbart, "RTP over QUIC", draft-ietf- | Peer-to-Peer Connections", W3C Community Group Draft | |||
avtcore-rtp-over-quic (work in progress), October 24, 2022. | Report, commit 50d79c0, 20 May 2023, | |||
<https://www.w3.org/p2p-webtransport/>. | ||||
[I-D.ietf-quic-v2] | [P2P-QUIC-TRIAL] | |||
Duke, M., "QUIC Version 2", draft-ietf-quic-v2 (work in | Hampson, S., "RTCQuicTransport Coming to an Origin Trial | |||
progress), December 15, 2022. | Near You (Chrome 73)", January 2019, | |||
<https://developer.chrome.com/blog/rtcquictransport-api/>. | ||||
[RFC6189] Zimmermann, P., Johnston, A., Ed., and J. Callas, "ZRTP: | [RFC6189] Zimmermann, P., Johnston, A., Ed., and J. Callas, "ZRTP: | |||
Media Path Key Agreement for Unicast Secure RTP", RFC 6189, | Media Path Key Agreement for Unicast Secure RTP", | |||
DOI 10.17487/RFC6189, April 2011, <http://www.rfc- | RFC 6189, DOI 10.17487/RFC6189, April 2011, | |||
editor.org/info/rfc6189>. | <https://www.rfc-editor.org/info/rfc6189>. | |||
[P2P-QUIC] Thatcher, P., Aboba, B. and R. Raymond, "QUIC API For Peer- | [RFC9369] Duke, M., "QUIC Version 2", RFC 9369, | |||
to-Peer Connections", W3C ORTC Community Group Draft (work | DOI 10.17487/RFC9369, May 2023, | |||
in progress), 23 May 2021, <https://github.com/w3c/p2p- | <https://www.rfc-editor.org/info/rfc9369>. | |||
webtransport> | ||||
[P2P-QUIC-TRIAL] | [RTP-OVER-QUIC] | |||
Hampson, S., "RTCQuicTransport Coming to an Origin Trial | Ott, J., Engelbart, M., and S. Dawkins, "RTP over QUIC", | |||
Near You (Chrome 73)", January 2019, | Work in Progress, Internet-Draft, draft-ietf-avtcore-rtp- | |||
<https://developers.google.com/web/updates/ | over-quic-04, 10 July 2023, | |||
2019/01/rtcquictransport-api> | <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore- | |||
rtp-over-quic-04>. | ||||
Acknowledgments | Acknowledgments | |||
We would like to thank Martin Thomson, Roni Even, Jonathan Lennox and | We would like to thank Martin Thomson, Roni Even, Jonathan Lennox, | |||
other participants in the IETF QUIC and AVTCORE working groups for | and other participants in the IETF QUIC and AVTCORE Working Groups | |||
their discussion of the QUIC multiplexing issue, and their input | for their discussion of the QUIC multiplexing issue, and their input | |||
relating to potential solutions. | relating to potential solutions. | |||
Authors' Addresses | Authors' Addresses | |||
Bernard Aboba | Bernard Aboba | |||
Microsoft Corporation | Microsoft Corporation | |||
One Microsoft Way | One Microsoft Way | |||
Redmond, WA 98052 | Redmond, WA 98052 | |||
United States of America | United States of America | |||
Email: bernard.aboba@gmail.com | ||||
Email: bernard.aboba@gmail.com | ||||
Gonzalo Salgueiro | Gonzalo Salgueiro | |||
Cisco Systems | Cisco Systems | |||
7200-12 Kit Creek Road | 7200-12 Kit Creek Road | |||
Research Triangle Park, NC 27709 | Research Triangle Park, NC 27709 | |||
United States of America | United States of America | |||
Email: gsalguei@cisco.com | Email: gsalguei@cisco.com | |||
Colin Perkins | Colin Perkins | |||
School of Computing Science | School of Computing Science | |||
University of Glasgow | University of Glasgow | |||
Glasgow G12 8QQ | Glasgow | |||
G12 8QQ | ||||
United Kingdom | United Kingdom | |||
Email: csp@csperkins.org | Email: csp@csperkins.org | |||
End of changes. 48 change blocks. | ||||
210 lines changed or deleted | 208 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |