Skip to content

Commit 640fdbe

Browse files
committed
Refine draft language and clarify technical details
- Revised section on Path-Aware Networks - Minor editorial improvements to technical descriptions - Added references to RFC9473 and SR RFC
1 parent 8877bd6 commit 640fdbe

File tree

1 file changed

+32
-27
lines changed

1 file changed

+32
-27
lines changed

draft-tjohn-quic-multipath-dmtp.md

Lines changed: 32 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@ date:
99
consensus: true
1010
v: 3
1111
area: ""
12-
workgroup: "QUIC"
12+
workgroup: ""
1313
keyword:
1414
- deadline-aware
1515
- multipath
1616
- scheduling
1717
- path aware networks
1818
venue:
19-
group: "QUIC"
19+
group: "quic"
2020
type: ""
2121
mail: "quic@ietf.org"
2222
arch: "https://mailarchive.ietf.org/arch/browse/quic/"
@@ -39,16 +39,18 @@ normative:
3939
MP-QUIC: I-D.draft-ietf-quic-multipath
4040
QUIC-AFEC: I-D.draft-dmoskvitin-quic-adaptive-fec
4141
RFC3339:
42+
RFC9473:
4243

4344
informative:
4445
DMTP: DOI.10.23919/IFIPNetworking57963.2023.10186417
45-
SCION: DOI.10.1007/978-3-031-05288-0
46+
SCION: I-D.draft-dekater-scion-controlplane-07
4647
QUIC-DTP: I-D.draft-shi-quic-dtp
48+
SR: RFC8402
4749

4850

4951
--- abstract
5052

51-
This document proposes the Deadline-aware Multipath Transport Protocol (DMTP) concept as an extension to the Multipath extension of QUIC (MP-QUIC). This extension aims to support data streams with strict latency requirements by enabling the signaling of per-stream deadlines and by combining multipath scheduling, congestion control adaptations, and optional forward error correction (FEC). Furthermore, by abstracting the different end-to-end paths available in a Path Aware Network (PAN) such as SCION into MP-QUIC's path identifiers, we allow an application to select its preferred paths while maintaining interoperability with standard MP-QUIC endpoints. This new mechanism provides a standardized way for endpoints to exchange and schedule deadline-aware streams across multiple network paths.
53+
This document proposes the Deadline-aware Multipath Transport Protocol (DMTP) concept as an extension to the Multipath extension of QUIC (MP-QUIC). This extension aims to support data streams with strict latency requirements by enabling the signaling of per-stream deadlines and by combining multipath scheduling, congestion control adaptations, and optional forward error correction (FEC). Furthermore, by abstracting the different end-to-end paths available in a Path Aware Network (PAN) such as SCION into MP-QUIC's path identifiers, we allow an application to select its preferred paths while maintaining interoperability with standard MP-QUIC endpoints. This new mechanism allows endpoints to exchange and schedule deadline-aware streams across multiple network paths.
5254

5355
--- middle
5456

@@ -62,9 +64,9 @@ By integrating deadline-aware concepts into MP-QUIC, we seek to enable:
6264

6365
1. Multipath streams with Deadlines: Scheduling and transmitting data across multiple paths, with per-stream deadlines that inform scheduling decisions.
6466
2. Option for Path-Aware Networking: Abstracting path selection from Path-Aware Networks (e.g., {{SCION}}) by mapping each potential path to an MP-QUIC path identifier.
65-
3. Deadline-Based Retransmission / FEC: Combining optional adaptive FEC (such as {{QUIC-AFEC}}) and smart retransmissions only when there is time left to meet the deadline.
67+
3. Deadline-Based Retransmission / FEC: Combining optional adaptive FEC (such as {{QUIC-AFEC}}) and "smart" retransmissions only when there is time left to meet the deadline.
6668

67-
This draft specifies a minimal set of protocol extensions for MP-QUIC to exchange deadline information at the transport layer, so that endpoints can coordinate scheduling for multipath transmissions with strict time constraints. It allows different implementations to interoperate and exchange deadline-aware streams over MP-QUIC.
69+
This draft specifies a minimal set of protocol extensions for MP-QUIC to exchange deadline information at the transport layer, so that endpoints can coordinate scheduling for multipath transmissions with strict time constraints. As the first version of our proposal, our goal is to gather community feedback and gauge interest to guide future refinements.
6870

6971
## Motivation and Applications
7072

@@ -81,7 +83,7 @@ Real-time applications often produce data blocks (e.g., video frames or control
8183

8284
Within this document:
8385
- "Deadline-aware streams" refers to streams in which an application indicates a time by which data must be delivered, beyond which data is no longer useful.
84-
- "Path" aligns with the MP-QUIC concept: each path is identified by a unique Path ID, referencing a specific combination of source and destination IP:port tuples or multiple distinct end-to-end routes in a path-aware network architecture.
86+
- "Path" aligns with the MP-QUIC concept: each path is identified by a unique Path ID and it may reference a specific combination of source and destination IP:port tuples or multiple paths within a path aware network, as defined by {{RFC9473}}.
8587

8688
# Design Overview
8789

@@ -114,21 +116,24 @@ The design goal is to extend MP-QUIC with minimal changes. The extensions enable
114116
- Signal deadline misses to the application layer
115117
- Allow applications to specify handling of missed deadlines
116118

117-
### Minimal Changes to MP-QUIC
119+
### Extensions to MP-QUIC
118120

119-
Our extensions reuse MP-QUICs multipath concepts (paths, path IDs, path validation, etc.) with only the following additions:
121+
Our extensions build on {{MP-QUIC}}'s multipath framework (e.g., paths, path IDs, and validation) and add only:
120122

121-
- Deadline Transport Parameter: `enable_deadline_aware_streams`.
122-
- Custom Deadline Frame: DEADLINE_CONTROL frame to specify deadlines for streams (see {{deadline-control-frame}}).
123-
- Optional DMTP Acknowledgement: DMTP_ACK frames enable more precise per-path delay estimation and real-time path
124-
performance feedback (see {{dmtp-ack-frame}}).
125-
- Optional AFEC Transport Parameter & Frames: If implementations wish to use Adaptive FEC as in {{QUIC-AFEC}}, it introduces an additional transport parameter for FEC support and two new frames for carrying source and repair symbol metadata across multiple paths.
123+
- A transport Parameter to enable deadline-aware streams.
124+
- A DEADLINE_CONTROL frame to signal stream deadlines.
125+
- Optional DMTP_ACK frame for improved per-path delay feedback.
126+
- Optional AFEC support via an extra transport parameter and two frames for source and repair symbol metadata.
126127

127-
By doing so, we preserve MP-QUIC’s wire format except for newly introduced frames and transport parameters, ensuring interoperability with multipath-capable endpoints that do not recognize these extensions (they will treat unknown frames as errors if negotiated incorrectly, or ignore them if permitted).
128+
This preserves the original wire format, ensuring interoperability with {{MP-QUIC}} endpoints that do not implement these extensions.
128129

129-
### Path Selection in Path-Aware Networks (PAN)
130+
## Support for Path-Aware Networks (PAN)
130131

131-
When running over a Path-Aware Network such as {{SCION}}, endpoints may discover multiple disjoint or partially disjoint paths. In SCION, a host can receive multiple end-to-end path options from the network. We leverage MP-QUIC’s concept of multiple path IDs to represent each distinct path from the SCION set. This means that SCION’s path selection is performed outside of MP-QUIC, but MP-QUIC uses the resulting IP:port tuples (plus path ID) to treat each route as a separate path. The advantage is that no additional MP-QUIC modifications are needed to “support SCION” - we simply map each SCION path to a separate MP-QUIC path ID and rely on our new deadline-aware logic to decide scheduling and retransmissions.
132+
When operating over a path-aware network, endpoints can discover and utilize multiple disjoint or partially disjoint paths. This can be provided, for example, by {{SCION}} or other architectures such as {{SR}}. In such an environment, a single source–destination address pair may yield multiple distinct end-to-end paths, each with unique performance characteristics (e.g., latency, loss rate). These paths can be exposed to the transport layer via distinct Path IDs in {{MP-QUIC}}.
133+
134+
This document does not prescribe how endpoints discover and enumerate available paths at the network layer. Rather, it assumes that a PAN can supply multiple viable routes between endpoints. Once discovered, each route is mapped to a unique Path ID, enabling the {{DMTP}} scheduling logic to treat them as distinct transport paths for deadline-aware streams.
135+
136+
Multiple paths and path diversity provided by PAN enhance the effectiveness of {{DMTP}}'s scheduling, retransmission, and optional FEC mechanisms in meeting strict deadlines, making support for PAN essential to the design of the proposed extension.
132137

133138
## Deadlines
134139

@@ -157,13 +162,13 @@ The specific behavior is implementation-specific and MAY be configurable by the
157162

158163
When deadlines are tight and packet losses frequent, relying solely on retransmissions may cause data to miss its deadline. To mitigate this risk, this extension optionally uses Adaptive FEC (AFEC) as proposed in {{QUIC-AFEC}}. AFEC can reduce the need for retransmissions, particularly in networks with random or bursty loss characteristics.
159164

160-
When using AFEC with {{MP-QUIC}}, the Tag Type of the FEC_Tag MUST be set to 1 to indicate Long Flow Usage.” In turn, both source symbol packets and repair symbol packets MUST carry the FEC_Tag frame so that repair packets can be correctly matched to their corresponding source packets across different paths.
165+
When using AFEC with {{MP-QUIC}}, the Tag Type of the FEC_Tag MUST be set to 1 to indicate "Long Flow Usage". In turn, both source symbol packets and repair symbol packets MUST carry the FEC_Tag frame so that repair packets can be correctly matched to their corresponding source packets across different paths.
161166

162-
If multiple paths are available, FEC repair packets SHOULD be sent over a path different from the one carrying the source data. This de-correlates losses and increases the likelihood that repair symbols arrive even if other paths experience congestion or packet loss. The coding rate (i.e., the ratio of repair symbols to source symbols) MAY be configured on a per-stream basis, depending on the streams tolerance for overhead versus its deadline sensitivity.
167+
If multiple paths are available, FEC repair packets SHOULD be sent over a path different from the one carrying the source data. This de-correlates losses and increases the likelihood that repair symbols arrive even if other paths experience congestion or packet loss. The coding rate (i.e., the ratio of repair symbols to source symbols) MAY be configured on a per-stream basis, depending on the stream's tolerance for overhead versus its deadline sensitivity.
163168

164169
## Smart Retransmissions
165170

166-
Smart retransmissions in a deadline-aware context mean that lost frames are only retransmitted if there is still enough time left to meet the deadline via one or more paths. The sender computes whether the frames can arrive on time, factoring in the paths estimated one-way delay or RTT. If not, the sender discards the frames rather than wasting congestion window or scheduling capacity.
171+
Smart retransmissions in a deadline-aware context mean that lost frames are only retransmitted if there is still enough time left to meet the deadline via one or more paths. The sender computes whether the frames can arrive on time, factoring in the path's estimated one-way delay or RTT. If not, the sender discards the frames rather than wasting congestion window or scheduling capacity.
167172

168173
## Path Metrics
169174

@@ -175,18 +180,18 @@ To schedule traffic effectively, the sender should gather:
175180

176181
### Per Path Delay
177182

178-
A crucial metric for DMTP is the one-way or round-trip delay of each path. This is used to decide whether a new or retransmitted packet can arrive before its deadline. In a path-aware network like {{SCION}}, the one-way delay might be advertised or inferred from routing information. Otherwise, endpoints measure RTT or one-way delay themselves.
183+
A crucial metric for DMTP is the one-way or round-trip delay of each path. This is used to decide whether a new or retransmitted packet can arrive before its deadline. In a path-aware network, the one-way delay might be advertised or inferred from routing information. Otherwise, endpoints measure RTT or one-way delay themselves.
179184

180185
For accurate one-way delay measurements, endpoints MAY use synchronized clocks; if full clock sync is not feasible, a fallback to round-trip time measurements is still acceptable. The DMTP_ACK frame (see {{dmtp-ack-frame}}) is introduced primarily for improved delay tracking.
181186

182187
### Gathering Path Metrics
183188

184-
1. Path-Aware Networks (e.g. SCION) might provide direct metrics, such as path latency or bandwidth as part of path metadata.
189+
1. Path-Aware Networks might provide direct metrics, such as path latency or bandwidth as part of path metadata.
185190
2. Active Probing: If the underlying network does not provide metrics, the endpoint MAY send periodic PING frames or small test packets along each active path.
186191
3. Path Measurement Frames: This draft introduces an optional DMTP_ACK frame ({{dmtp-ack-frame}}) for deeper path measurements, including timestamps of packet receipts to estimate per path one-way delay.
187-
4. Congestion windows, RTT estimates, and packet loss detection from MP-QUICs standard loss recovery can inform scheduling.
192+
4. Congestion windows, RTT estimates, and packet loss detection from {{MP-QUIC}}'s standard loss recovery can inform scheduling.
188193

189-
# Extension of Multipath QUIC
194+
# Extension to Multipath QUIC
190195

191196
This extension builds upon {{MP-QUIC}}. Below we list the protocol additions and modifications. Unless otherwise noted, all rules of MP-QUIC remain.
192197

@@ -265,12 +270,12 @@ This extension retains all the security features and considerations of {{QUIC}},
265270
Nevertheless, it introduces additional considerations:
266271

267272
- Deadline Signaling: Knowledge of deadlines or priorities may be sensitive if it reveals application timing patterns or critical data intervals. Implementations SHOULD carefully handle metadata (e.g., by encrypting frames in 1-RTT packets).
268-
- Resource Exhaustion and Flooding: The ability to manage multiple concurrent paths and to schedule or drop data based on deadlines must not weaken QUICs anti-amplification measures. Endpoints MUST still follow QUIC path validation procedures, ensuring that an attacker cannot exploit deadline-aware frames to amplify traffic.
273+
- Resource Exhaustion and Flooding: The ability to manage multiple concurrent paths and to schedule or drop data based on deadlines must not weaken QUIC's anti-amplification measures. Endpoints MUST still follow QUIC path validation procedures, ensuring that an attacker cannot exploit deadline-aware frames to amplify traffic.
269274
- When employing DMTP_ACK frames for one-way delay measurement with clock synchronization, the clock synchronization must also be secured. Otherwise, an attacker injecting false timestamps could mislead scheduling. Endpoints that rely heavily on these measurements should be aware of that risk and possibly cross-check with measured RTT or other heuristics.
270275

271276
# IANA Considerations
272277

273-
This document defines a new transport parameter for the negotiation of enable multiple paths for QUIC, and two new frame types. The draft defines provisional values for experiments, but we expect IANA to allocate short values if the draft is approved.
278+
This document defines a new transport parameter for the negotiation of enable multiple paths for QUIC, and two new frame types. The draft defines provisional values for experiments.
274279

275280
The following entry in {{transport-parameters}} should be added to the "QUIC Transport Parameters" registry under the "QUIC Protocol" heading.
276281

@@ -279,7 +284,7 @@ Value | Parameter Name. | Specificatio
279284
TBD | enable_deadline_aware_streams | {{transport-parameter}}
280285
{: #transport-parameters title="Addition to QUIC Transport Parameters Entries"}
281286

282-
The following frame type defined in {{frame-types}} should be added to
287+
The following frame types defined in {{frame-types}} should be added to
283288
the "QUIC Frame Types" registry under the "QUIC Protocol" heading.
284289

285290
Value | Frame Name | Specification

0 commit comments

Comments
 (0)