@@ -95,44 +95,51 @@ CONNECT method, and the protocols connect-ip {{!CONNECT-IP=I-D.ietf-masque-conne
9595
9696# # ATSSS
9797
98- The motivation for this extension comes from the Access Traffic Steering, Switching and Splitting (ATSSS) feature
99- defined for the 5G System by 3GPP in section 5.32 of {{3GPPTS23.501}}.
100-
101- ATSSS is an optional feature in the 5G system that enables concurrent use of 3GPP and non-3GPP accesses with a single
102- PDU session. A set of steering functionalities and steering modes that determine the types of concurrent path usage
103- supported by ATSSS. As of Release 18 of the 5G System Architecture specification there are three steering
104- functionalities defined for ATSSS : ATSSS-LL, MPTCP and Multipath QUIC. ATSSS-LL is a "Lower Layer Functionality" that operates
105- below the IP layer, it can be used to steer to one path or switch from one path to another split all types of traffic including
106- both IP and Ethernet PDU Sessions, but does not support spliting of one traffic flow among multiple paths.
107- MPTCP and Multipath QUIC are so called "Higher Layer Functionalities" and operate above the IP layer to steer, switch
108- and split TCP and UDP traffic respectively.
109-
110- The Multipath QUIC steering functionality makes use of multipath capable HTTP3 proxies that support the extended CONNECT method
111- with the connect-udp protocol. The Multipath QUIC steering mode defines two datagram modes that are used for encapsulation of
112- UDP payload. The default mode is to send HTTP datagrams unreliably over QUIC datagrams. The second, optional mode is to
113- encapsulate UDP payload in HTTP datagrams that are extended with sequence numbers. The mode to use is decided based on
114- the steering mode in use and application requirements through the use of ATSS Rules.
115-
116- The different steering modes determine the way traffic flows make use of concurrent paths. There are two modes where
117- the use of sequence numbers is beneficial : Load Balancing traffic steering and Redundant traffic steering.
118-
119- The Load Balancing steering mode implies parallel transmission over the 3GPP and non-3GPP accesses, this mode is
120- commonly known as bandwidth aggregation. Splitting a data transmission over multiple pahts while increasing the
121- available bandwith, often leads to packets being delivered out-of-order. Whether the packet disorder is a much of a
122- problem depends on the properties of the protocols and applications carried over the proxied payload. Large degrees of
123- reordering might trigger spurious packet loss detection. By buffering data received out-of-order an ATSSS endpoint can
124- compensate the latency difference between the paths andminimize the amount of data delivered out-of-order to the final
125- endpoints.
126-
127- Redundant traffic steering implies duplication of traffic over the 3GPP and non-3GPP accesses. Such a steering mode,
128- while costly, is useful for applications and users with strong requirements on availability. When data is duplicated
129- at one end it needs to be de-duplicated at the other end. Sequence number enables the easiest way to perform de-duplication.
98+ This extension is motivated by the Access Traffic Steering, Switching, and Splitting (ATSSS) feature
99+ outlined for the 5G System by 3GPP in section 5.32 of {{3GPPTS23.501}}.
100+
101+ ATSSS, an optional feature of the 5G system, permits the concurrent usage of 3GPP and non-3GPP accesses within a single
102+ PDU session. This is managed by a number of steering functionalities and modes, determining the types of supported
103+ concurrent path usage. As of Release 18 of the 5G System Architecture specification, three steering functionalities have
104+ been defined for ATSSS : ATSSS-LL, MPTCP, and Multipath QUIC.
105+
106+ ATSSS-LL, a "Lower Layer Functionality," operates beneath the IP layer. It's capable of steering to one path, switching
107+ from one path to another, and splitting all traffic types, encompassing both IP and Ethernet PDU sessions. However, it
108+ doesn't support splitting a single traffic flow among multiple paths. In contrast, MPTCP and Multipath QUIC, termed as
109+ " Higher Layer Functionalities," operate above the IP layer, steering, switching, and splitting TCP and UDP traffic
110+ respectively.
111+
112+ The Multipath QUIC steering functionality uses multipath capable HTTP3 proxies supporting the extended CONNECT
113+ method with the connect-udp protocol. It establishes two datagram modes for UDP payload encapsulation. The default mode
114+ sends HTTP datagrams unreliably over QUIC datagrams, while the optional mode encapsulates UDP payload in HTTP datagrams
115+ augmented with sequence numbers.
116+
117+ Steering modes influence how traffic flows utilize concurrent paths. Load Balancing traffic steering and Redundant
118+ traffic steering are two modes where sequence numbers prove beneficial.
119+
120+ The Load Balancing steering mode involves parallel transmission over the 3GPP and non-3GPP accesses, a process often
121+ referred to as bandwidth aggregation. Distributing data transmission over multiple paths, while increasing available
122+ bandwidth, can result in out-of-order packet delivery. The impact of packet disorder is largely dependent on the
123+ properties of the protocols and applications conveyed over the proxied payload. Negative effects of large degrees of
124+ packet reordering may include increased frequency of packet acknowledgements, inaccurate loss detection and spurious
125+ retransmissions. By buffering out-of-order data, an ATSSS endpoint can reconcile path latency differences and reduce the
126+ volume of data delivered out-of-order to the final endpoints. Furthermore, an ATSSS endpoint can set an upper bound on
127+ the time packets are delayed in its reorder buffer, thus incurring less packet delay variation in the face of loss than
128+ if the proxied payload is encoded over reliable streams. Which datagram mode is used for load balancing traffic steering
129+ depends on application requirements expressed as ATSSS rules.
130+
131+ With the Redundant steering mode proxied payload is duplicated over the 3GPP and non-3GPP accesses. Despite
132+ the added cost, this steering mode is useful for applications and users with stringent availability requirements.
133+ Data duplication at one end necessitates de-duplication at the other. This can be efficiently accomplished through
134+ sequence numbering, which provides a straightforward method for de-duplication.
130135
131136
132137# Conventions and Definitions
133138
134139{::boilerplate bcp14-tagged}
135140
141+ This document uses notational conventions described in {{Section 1.3 of !RFC9000}}.
142+
136143# Sequence Number Datagram Extension
137144
138145The Sequence Number datagram extension prepends sequence numbers to HTTP datagrams. Datagram sequence numbers are
0 commit comments