<?xml version="1.0" encoding="us-ascii"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.3.4 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>

<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<?rfc comments="yes"?>

<rfc ipr="trust200902" docName="draft-huitema-quic-mpath-option-00" category="std">

  <front>
    <title abbrev="QUIC Multipath Option">QUIC Multipath Negotiation Option</title>

    <author initials="C." surname="Huitema" fullname="Christian Huitema">
      <organization>Private Octopus Inc.</organization>
      <address>
        <postal>
          <street>427 Golfcourse Rd</street>
          <city>Friday Harbor</city>
          <code>WA 98250</code>
          <country>U.S.A</country>
        </postal>
        <email>huitema@huitema.net</email>
      </address>
    </author>

    <date year="2020" month="October" day="20"/>

    <area>Transport</area>
    
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>The initial version of QUIC provides support for path migration.
In this draft, we argue that there is a very small distance between
supporting path migration and supporting simulatneous traffic on
multipath. Instead of using an implicit algorithm to discard unused
paths, we propose a simple option to allow explicit management
of active and inactive paths. Once paths are explicitly managed,
pretty much all other requirements for multipath support can
be met by appropriate algorithms for scheduling transmissions on
specific paths. These algorithms can be implemented on the sender side,
and do not require specific extensions, except maybe a measurement
of one way delays.</t>



    </abstract>


  </front>

  <middle>


<section anchor="introduction" title="Introduction">

<t>The QUIC Working Group is debating how much priority should be given
to the support of multipath in QUIC. This is not a new debate. The
the QUIC transport <xref target="I-D.ietf-quic-transport"/>
includes a number of mechanisms
to handle multiple paths, including the support for NAT rebinding
and for explicit migration.</t>

<t>The processing of received packets by QUIC nodes only requires
that the connection context can be retrieved using the combination
of IP addresses and UDP ports in the IP and UDP headers, and
connection identifier in the packet header. Once the connection context
is identified, the receiving node will verify if the packet can be
successfully decrypted. If it is, the packet will be processed and
eventually an acknowledgement will inform the sender that it was
received.</t>

<t>In theory, that property of QUIC implies that senders could send
packets using whatever IP addresses or UDP ports they see fit, as long
as they carry a valid connection ID, and are
properly encrypted. Senders can, indeed SHOULD, use the Path Challenge
and Response mechanism to verify that the path is valid before
sending packets, but even that is optional. The NAT rebinding mechanisms,
for example, rely on the possibility of receiving packets without
a preliminary Path Challenge. However, in practice, the sender's
choice of sending paths is limited by the path migration logic
in <xref target="I-D.ietf-quic-transport"/>.</t>

<t>Path migration according to <xref target="I-D.ietf-quic-transport"/> is always
initiated by the node in the client role. That node will test the validity
of paths using the path challenge response mechanism, and at some
point decide to switch all its traffic to a new path. The node in the
server role will detect that data traffic (i.e., ack eliciting frames)
is sent on a new path, and on detecting that, will switch its own traffic
to that new path. After that, client and server can release the resource
tied to the old path, for example by retiring the connection identifiers,
releasing the memory context used for managing per path congestion,
or forgetting the IP addresses and ports associated with that path.
By sending data on a new path, the client provides an implicit signal to
discard the old path. If the client was to spread data on several paths,
the server would probably become confused.</t>

<t>This draft proposes an explicit mechanism for replacing the implicit signalling of
path migration through data transmission, by means of a new PATH_OPTION
frame.</t>

</section>
<section anchor="path-management-requirement" title="Path Management Requirement">

<t>Implicit path management, as specified in <xref target="I-D.ietf-quic-transport"/>, fulfills two goals:
it direct a peers to switch sending through a new preferred path, and it allows the peer
to release resources associated with the old path. Explicit path management will have to
fulfill similar goals: provide indications to the peer regarding preferred paths for
receiving data; and, signal to the peer when resource associated with previous paths
can be discarded.</t>

<t>We cannot mandate that path management signals be always carried on the path that
they affect. For example, consider a node that wants to abandon a path through a
Wi-Fi network because the signal strength is fading. It will need to signal its peer
to move traffic away from that path, but there is no guarantee that a packet sent
through the old fading path will be promptly received. It is much preferable to
send such management signals on a different path, for example through a cellular 
link. But if path management signals can be sent on arbitrary paths, they
need to identify the path that they manage.</t>

<t>Neither addresses nor connection identifiers are good identifiers of paths.
Because of NAT, addresses and ports can be changed during the transfer of packets
from source to destination. Multiple
connection identifiers can be used over the lifetime of a path, and there is also
no strict requirement that a given connection identifier be used on a single path.
On the other hand, one can imagine an inband "path identification" frame that
establishes an identifier for a specific path. That identifier can then be
used in other path management frames.</t>

<t>The path management frames provides directions on how to use existing paths.
We could imagine a number of variations, but the simplest one would be:</t>

<t><list style="symbols">
  <t>Abandon a path, and release the corresponding resource.</t>
  <t>Mark a path as "available", i.e., allow the peer to use its own logic to
split traffic among available paths.</t>
  <t>Mark a path as "standby", i.e., suggest that no traffic should be sent
on that path if another path is available.</t>
</list></t>

<t>We could also envisage marking a path as "preferred", suggesting that all
traffic would be sent to that path, but the same functionality
is achieved by marking only one path as available.</t>

<t>There might be a delay between the moment a path is validated through
the challenge response mechanism, identified using path identification
frames, and managed using path management frames. During that delay,
the following conventions apply:</t>

<t><list style="symbols">
  <t>If a path is validated but no ack-eliciting frames or path management
frames are received, the path is placed in the "standby" state.</t>
  <t>If ack-eliciting frames are received on a path before path management
frames, the path is placed in the "available" state.</t>
</list></t>

</section>
<section anchor="path-management-extension" title="Path Management Extension">

<t>The path management extension is negotiated by means of the 
"enable_path_management" transport parameter. When support is
negotiated, the peers can send or receive the PATH_IDENTIFICATION
and PATH_STATUS frames.</t>

<section anchor="path-management-support-transport-parameter" title="Path Management Support Transport Parameter">

<t>The use of the PATH_IDENTIFICATION and PATH_STATUS transport frame extension
is negotiated using a transport parameter:</t>

<t><list style="symbols">
  <t>"enable_path_management" (TBD)</t>
</list></t>

<t>The "enable_path_management" transport parameter is included if the endpoint
wants to receive or accepts PATH_IDENTIFICATION and PATH_STATUS frames
for this connection. This parameter is encoded as a variable integer as specified in
section 16 of <xref target="I-D.ietf-quic-transport"/>. It
can take one of the following three values:</t>

<t><list style="numbers">
  <t>I would like to send PATH_IDENTIFICATION and PATH_STATUS frames</t>
  <t>I am able to process PATH_IDENTIFICATION and PATH_STATUS frames</t>
  <t>I am able to process PATH_IDENTIFICATION and PATH_STATUS frames
and I would like to send them.</t>
</list></t>

<t>Peers receiving another value SHOULD terminate the connection with a TRANSPORT
PARAMETER error.</t>

<t>A peer that advertises its capability of sending PATH_IDENTIFICATION and
PATH_STATUS frames using option values 1 or 3 MUST NOT send these frames
if the other peer does not announce advertise its ability to process them by
sending the enable_path_management TP with option 1 or 3.</t>

</section>
<section anchor="pathidentification-frame-tbd" title="PATH_IDENTIFICATION Frame (TBD)">

<t>The PATH_IDENTIFICATION frames carry a single identifier, the path identifier.
<spanx style="verb">
PATH_IDENTIFICATION Frame {
  Path Identifier (i)
}
</spanx>
The frame carries the identifier of the path over which it is received,
as defined by the peer sending data on that path. The identifier is a
positive integer lower than 2^62.</t>

<t>PATH_IDENTIFICATION frames are ACK-eliciting.</t>

<t>Due to delays and retransmissions, several PATH_IDENTIFICATION frames
may be received on the same path. In that case, the identifier with the
highest value is retrained for the path. For example, if a node receives
on the same path the identifiers 11, 17 and 13, the path will
be identified by the number 17.</t>

<t>If both peers have successfully negotiated the capability of sending
path management frames, each peer will send its own identifier over
the path.</t>

<t>PATH_MANAGEMENT frames MUST only be sent in 1-RTT packets. Receiving
such frames in Initial, Handshake of 0-RTT packets is a transport
violation.</t>

</section>
<section anchor="pathstatus-frame-tbd" title="PATH_STATUS Frame (TBD)">

<t>The PATH_STATUS frames carry three parameters: the identifier of
the path being managed, the new status of the path, and a management
sequence number.</t>

<t><spanx style="verb">
PATH_STATUS Frame {
  Path Identifier (i),
  Path Status (i),
  Management Sequence Number (i)
}
</spanx></t>

<t>The path identifier SHOULD match the value sent in a previous
PATH_IDENTIFICATION frame for an existing frame. If no such value is
found, the PATH_STATUS frame will be discarded.</t>

<t>NAT rebinding and retransmissions could cause the same identifier to
be received over different paths. If that happens, PATH_MANAGEMENT
frames will apply to all the paths sharing that identifier.</t>

<t>PATH_STATUS frames are ACK-eliciting.</t>

<t>Due to delays and retransmissions, PATH_STATUS frames may be
received out of order. If the Management Sequence
Number is not greater than the previously received values for
that path, the PATH_STATUS frame will be discarded.</t>

<t>If the frame is accepted, the status of the path is set to the received
Path Status, for which the authorized values are:</t>

<t>0- Abandon
1- Standby
2- Available</t>

<t>Receiving any other value is an error, which SHOULD trigger the
closure of the connection with a reason code PROTOCOL VIOLATION.</t>

<t>PATH_MANAGEMENT frames MUST only be sent in 1-RTT packets. Receiving
such frames in Initial, Handshake of 0-RTT packets is a transport
violation.</t>

</section>
</section>
<section anchor="sender-side-algorithms" title="Sender side algorithms">

<t>In this minimal design, the sender is responsible for scheduling
packets transmission on different paths, preferably on "Available"
paths, but possibly on "StandBy" paths if all available paths are
deemed unusable.</t>

<section anchor="packet-numbers-and-acknowledgements" title="Packet Numbers and Acknowledgements">

<t>The packet number space does not depend on the path on which the
packet is sent. ACK frames report the numbers of packets that have
been received so far, regardless of the path on which they have
been received.</t>

<t>If senders decide to send packets on paths with different transmission
delays, some packets will very probably be received out of order.
This will cause the ACK frames to carry multiple ranges of received
packets. Senders that want to control this issue may do so by
dedicating sub-ranges of packet numbers to different paths. We
expect that experience on how to manage such ranges will quickly
emerge.</t>

</section>
<section anchor="congestion-control-and-error-recovery" title="Congestion Control and Error Recovery">

<t>Senders MUST manage per-path congestion status, and MUST NOT send more
data on a given path than congestion control on that path allows. This
is already a requirement of <xref target="I-D.ietf-quic-transport"/>.</t>

<t>In order to implement per path congestion control, the senders maintain
an association between previously sent packet numbers and the path
over which these packets were sent. When a packet is newly acknowledged,
the delay between the transmission of that packet and its first
acknowledgement is used to update the RTT statitics for the sending path,
and to update the state of the congestion control for that path.</t>

<t>Packet loss detection MUST be adapted to allow for different RTT on
different paths. For example, timer computations should take into account
the RTT of the path on which a packet was sent. Detections based on
packet numbers shall compare a given packet number to the highest
packet number received for that path.</t>

<t>Acknowledgement delays are the sum of two one-way delays, the delay on the
packet sending path and the delay on the return path chosen for the
acknowledgements. It is unclear whether this is a problem in practice,
but this could motivate the use of time stamps <xref target="I-D.huitema-quic-ts"/>
in conjunction with acknowledgements.</t>

</section>
</section>
<section anchor="security-considerations" title="Security Considerations">

<t>TBD. There are probably ways to abuse this.</t>

</section>
<section anchor="iana-considerations" title="IANA Considerations">

<t>This document registers a new value in the QUIC Transport Parameter
Registry:</t>

<t>Value:  TBD (using value 0xe9a in early deployments)</t>

<t>Parameter Name:  enable_path_management</t>

<t>Specification:  Indicates support of the Path Management options.</t>

<t>This document also registers 2 new values in the QUIC Frame Type registry:</t>

<t>Value:  TBD (using value 0x9a1 in early deployments)</t>

<t>Frame Name:  PATH_IDENTIFICATION</t>

<t>Specification:  Identification of the path over which a packet is sent.</t>

<t>Value:  TBD (using value 0x9a5 in early deployments)</t>

<t>Frame Name:  PATH_STATUS</t>

<t>Specification:  Identification of the path over which a packet is sent.</t>

</section>
<section anchor="acknowledgements" title="Acknowledgements">

</section>


  </middle>

  <back>

    <references title='Normative References'>





<reference anchor="I-D.ietf-quic-transport">
<front>
<title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>

<author initials='J' surname='Iyengar' fullname='Jana Iyengar'>
    <organization />
</author>

<author initials='M' surname='Thomson' fullname='Martin Thomson'>
    <organization />
</author>

<date month='September' day='24' year='2020' />

<abstract><t>This 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 (mailto: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.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-ietf-quic-transport-31' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-quic-transport-31.txt' />
</reference>



<reference anchor="I-D.huitema-quic-ts">
<front>
<title>Quic Timestamps For Measuring One-Way Delays</title>

<author initials='C' surname='Huitema' fullname='Christian Huitema'>
    <organization />
</author>

<date month='August' day='10' year='2020' />

<abstract><t>The TIME_STAMP frame can be added to Quic packets when one way delay measurements is useful.  The timestamp is set to the number of microseconds from the beginning of the connection to the time at which the packet is sent.  The draft defines the "enable_time_stamp" transport parameter for negotiating the use of this extension frame, and a new frame types for the time_stamped frame.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-huitema-quic-ts-03' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-huitema-quic-ts-03.txt' />
</reference>




    </references>





  </back>

<!-- ##markdown-source:
H4sIAJ3Wj18AC81bW5MbN3Z+x69AtA+xt0iWRs6u48lLRhrZmoo1M5mhVg+p
xAa7QRJRX5hG91CMy/99v3MO0ECTHK2d5CFbXosicTnX79zg+XyuetdX9lL/
64ebN/r9UPVuZ/qtvrWbtnemd22j73b0hzKrVWefTlaGXwvTY0t3uNS+L1XZ
FremxrFlZ9b9fDu43tZm/l+DK+Y1bZu3vG3+8qXS+J/yvWnKn0zVNth0sF4p
t+sudd8Nvn/18uV3L18p01lzqZedafyu7Xr1aX+pb5redo3t59d0j1JFW7pm
c6kHPze+cE7t3KX+t74tZtpjT2fXHp8OtXwo2rq2Te//XSkz9Nu2u2RitJ6H
P7V2jb/Ubxb6nXAwft8wd2+2nfMQU3Pye9uBivvOPUEs+q7o293gQW2xGFd4
UGP7S/0Pr77VP7TVumiHzlv9UI4rCtdDnN93rjQH/c50q7ZLv7Ul7v94pb/7
x1d/epl9PTQ9KeHD4nFxNX4Nylx1qYMa/jn8uYDglJrP59qsQI0p8Lfl1oJn
B54q/WQ7T/pv16LzXdc+udJ67YcdaUCv206zDdRu07GtLNRNo/ut86L4md5b
bbrNYPGl6fEv2+F8rw0dftC+NlWlS0faL6xe2X5vbaPC+dDk0fEaRqKzX72r
h8r0jW0hXXCwXrtCwxjraJ0LyNz31pTExOBpD5Tl6l3lIF1tKpis67e17lsi
ozBdqYdm8LZUtN0zA+B710I1hu7bVVaL7dIekN/utf0czqtNYzaWbErhPgjU
PVmm2TXhL3zqQt8Ru/wZ4rHjAdUhHFHO1K6zfY+/D8WWrtEtCU93Fj7U8RWe
5T+yOmqlMI1aWV3bXq8O2uyI/M6RHY7sylZfbG05VCSUnryqdp707UmCfmcL
R9IMBMMu/OQA3AJ9sSiZGgsRk+qt9rYpQamHqcwUMV+2umn7SLoej7afe9vw
jTN8LuyOBHhYkaBra/zQjZIEKug9nKC0lTn4hRht7cqyskr9gVCga8uhYCBi
E2Z7/dh2n4i5H7p22JHVlXZl2G62UBoLFoIhhmCJ23aoSuJoAzU1CrplXoJM
QUMStGv4fBIKDsU/xJ3Rjd3LDZbFpfpIRx8hS//yy9/dzK8XzvZrwcLxp19/
Va4pqoHcC0cN9QoipFttsTWN87UnkvARLAdSqmBBMy07WY8ZzaTi26sl5L5y
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
VKmD/o9JhK2epqDy1H2FxfT5r1q00MiwMwAA

-->

</rfc>

