Key Components for Multipath QUIC Traffic DistributionAlibaba Inc.anqing.aq@alibaba-inc.comAlibaba Inc.max.ldp@alibaba-inc.comAlibaba Inc.miaoji.lym@alibaba-inc.com
Address Validation
QUICInternet-DraftThis document describes several key components for Multipath QUIC traffic distribution. The key components remain compliant with the current Multipath Extensions for QUIC (MP-QUIC) design.The QUIC connection migration feature, described in more details in , enables QUIC to sustain a connection over multiple paths, but still there is a void to specify simultaneous usage of available paths for a single connection. describes how to use multiple paths simultaneously for a single QUIC connection, but how to spread packets over multiple paths following a traffic distribution policy, and how to receive packets from multiple paths, are not specified. If not standardized, implementers would still not know how to transmit data over multipath QUIC. There are several use scenarios about traffic distribution over multipath QUIC. One would be stream media transmission. A typical example is Internet live video broadcasting. It has high requirement on data transmission speed but packet loss rate is lowly prioritized. In this case, multipath QUIC can provide a better utilization of multiple path bandwidth. Another use scenario is highly reliable real-time data transmission, which is sensitive to packet loss. In this case, redundancy data can be transmitted over multipath QUIC. To support the requirements of these use scenarios, multipath QUIC traffic distribution needs to be standardized.In this document, it focuses on the description of several key components which are necessary to support the implementation of Multipath QUIC traffic distribution. The key components include packet scheduling, congestion control and stream management.The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”,
“SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this
document are to be interpreted as described in .Given the established multiple QUIC paths, packet scheduling determines which path(s) to deliver packets, how many packets are delivered on a specific QUIC path, which packets are delivered on a specific QUIC path. illustrates the process of packet scheduling. Since the conditions of each path are different, the different paths need to be measured and selected, in order to pick out paths with better performance, and distribute packets to different paths according to path performance. There are many traffic distribution mechanisms. Some are based on lowest RTT, while some are based on transmission speed and packet loss rate, which need further evaluation for MPQUIC. In addition, in scenario where there is large performance difference between multiple QUIC paths, how to select path(s) and how to distribute packets need to be considered. Possible solution could be discarding the path(s) with low performance (packet loss rate is higher than threshold, like 5%), or only transmitting redundancy packets on path(s) with low performance. It is recommended to support the configuration of transmission policies for different QUIC streams. This can be supported by multi priority queue. illustrates the concept of stream management. For example, high priority streams can be delivered first, and even reinjection, while reinjection will not apply for low priority streams. Congestion control is indispensable for MPQUIC. There can be two options: decoupled congestion control, or coupled congestion control.For decoupled congestion control, the congestion control policy of each path is decoupled, which is beneficial for maximizing the bandwidth utilization of each path.This document makes no request of IANA.QUIC: A UDP-Based Multiplexed and Secure TransportThis document defines the core of the QUIC transport protocol. Accompanying documents describe QUIC's loss detection and congestion control and the use of TLS for key negotiation. Note to Readers Discussion of this draft takes place on the QUIC working group mailing list (quic@ietf.org), which is archived at <https://mailarchive.ietf.org/arch/search/?email_list=quic>. Working Group information can be found at <https://github.com/ quicwg>; source code and issues list for this draft can be found at <https://github.com/quicwg/base-drafts/labels/-transport>.Multipath Extensions for QUIC (MP-QUIC)This document specifies extensions to the QUIC protocol to enable,
other than connection migration, simultaneous usage of multiple paths
for a single connection. Those extensions remain compliant with the
current single-path QUIC design. They allow devices to benefit from
multiple network paths while preserving the privacy features of QUIC.Key words for use in RFCs to Indicate Requirement LevelsIn many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.