diff options
Diffstat (limited to 'doc/rfc/rfc9473.txt')
-rw-r--r-- | doc/rfc/rfc9473.txt | 759 |
1 files changed, 759 insertions, 0 deletions
diff --git a/doc/rfc/rfc9473.txt b/doc/rfc/rfc9473.txt new file mode 100644 index 0000000..f069206 --- /dev/null +++ b/doc/rfc/rfc9473.txt @@ -0,0 +1,759 @@ + + + + +Internet Research Task Force (IRTF) R. Enghardt +Request for Comments: 9473 Netflix +Category: Informational C. Krähenbühl +ISSN: 2070-1721 ETH Zürich + September 2023 + + + A Vocabulary of Path Properties + +Abstract + + Path properties express information about paths across a network and + the services provided via such paths. In a path-aware network, path + properties may be fully or partially available to entities such as + endpoints. This document defines and categorizes path properties. + Furthermore, the document identifies several path properties that + might be useful to endpoints or other entities, e.g., for selecting + between paths or for invoking some of the provided services. This + document is a product of the Path Aware Networking Research Group + (PANRG). + +Status of This Memo + + This document is not an Internet Standards Track specification; it is + published for informational purposes. + + This document is a product of the Internet Research Task Force + (IRTF). The IRTF publishes the results of Internet-related research + and development activities. These results might not be suitable for + deployment. This RFC represents the consensus of the Path Aware + Networking Research Group of the Internet Research Task Force (IRTF). + Documents approved for publication by the IRSG are not candidates for + any level of Internet Standard; see Section 2 of RFC 7841. + + 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/rfc9473. + +Copyright Notice + + Copyright (c) 2023 IETF Trust and the persons identified as the + document authors. All rights reserved. + + This document is subject to BCP 78 and the IETF Trust's Legal + Provisions Relating to IETF Documents + (https://trustee.ietf.org/license-info) in effect on the date of + publication of this document. Please review these documents + carefully, as they describe your rights and restrictions with respect + to this document. + +Table of Contents + + 1. Introduction + 2. Terminology + 2.1. Terminology Usage for Specific Technologies + 3. Use Cases for Path Properties + 3.1. Path Selection + 3.2. Protocol Selection + 3.3. Service Invocation + 4. Examples of Path Properties + 5. Security Considerations + 6. IANA Considerations + 7. Informative References + Acknowledgments + Authors' Addresses + +1. Introduction + + The current Internet architecture does not explicitly support + endpoint discovery of forwarding paths through the network nor the + discovery of properties and services associated with these paths. + Path-aware networking, as defined in Section 1.1 of [RFC9217], + describes "endpoint discovery of the properties of paths they use for + communication across an internetwork, and endpoint reaction to these + properties that affects routing and/or data transfer". This document + provides a generic definition of path properties, addressing the + first of the questions in path-aware networking [RFC9217]. + + As terms related to paths have been used with different meanings in + different areas of networking, first, this document provides a common + terminology to define paths, path elements, and flows. Based on + these terms, the document defines path properties. Then, this + document provides some examples of use cases for path properties. + Finally, the document lists several path properties that may be + useful for the mentioned use cases. This list is intended to be + neither exhaustive nor definitive. + + Note that this document does not assume that any of the listed path + properties are actually available to any entity. The question of how + entities can discover and distribute path properties in a trustworthy + way is out of scope for this document. + + This document represents the consensus of the Path Aware Networking + Research Group (PANRG). + +2. Terminology + + Entity: A physical or virtual device or function, or a collection of + devices or functions, that plays a role related to path-aware + networking for particular paths and flows. An entity can be on- + path or off-path. On the path, an entity may participate in + forwarding the flow, i.e., what may be called "data plane + functionality". On or off the path, an entity may influence + aspects of how the flow is forwarded, i.e., what may be called + "control plane functionality", such as path selection or service + invocation. An entity influencing forwarding aspects is usually + aware of path properties, e.g., by observing or measuring them or + by learning them from another entity. + + Node: An on-path entity that processes packets, e.g., sends, + receives, forwards, or modifies them. A node may be physical or + virtual, e.g., a physical device, a service function provided as a + virtual element, or even a single queue within a switch. A node + may also be an entity that consists of a collection of devices or + functions, e.g., an entire Autonomous System (AS). + + Link: A medium or communication facility that connects two or more + nodes with each other. A link enables a node to send packets to + other nodes. Links can be physical, e.g., a Wi-Fi network that + connects an Access Point to stations, or virtual, e.g., a virtual + switch that connects two virtual machines hosted on the same + physical machine. A link is unidirectional. As such, + bidirectional communication can be modeled as two links between + the same nodes in opposite directions. + + Path element: Either a node or a link. For example, a path element + can be an Abstract Network Element (ANE) as defined in [RFC9275]. + + Path: A sequence of adjacent path elements over which a packet can + be transmitted, starting and ending with a node. + + Paths are unidirectional and time dependent, i.e., there can be a + variety of paths from one node to another, and the path over which + packets are transmitted may change. A path definition can be + strict (i.e., the exact sequence of path elements remains the + same) or loose (i.e., the start and end node remain the same, but + the path elements between them may vary over time). + + The representation of a path and its properties may depend on the + entity considering the path. On the one hand, the representation + may differ due to entities having partial visibility of path + elements comprising a path or their visibility changing over time. + On the other hand, the representation may differ due to treating + path elements at different levels of abstraction. For example, a + path may be given as a sequence of physical nodes and the links + connecting these nodes, be given as a sequence of logical nodes + such as a sequence of ASes or an Explicit Route Object (ERO), or + only consist of a specific source and destination that is known to + be reachable from that source. + + A multicast or broadcast setting where a packet is sent by one + node and received by multiple nodes is described by multiple paths + over which the packet is sent, one path for each combination of + sending and receiving node; these paths do not have to be disjoint + as defined by the disjointness path property, see Section 4. + + Endpoint: The endpoints of a path are the start and end node of the + path. For example, an endpoint can be a host as defined in + [RFC1122], which can be a client (e.g., a node running a web + browser) or a server (e.g., a node running a web server). + + Reverse Path: The path that is used by a remote node in the context + of bidirectional communication. + + Subpath: Given a path, a subpath is a sequence of adjacent path + elements of this path. + + Flow: One or multiple packets to which the traits of a path or set + of subpaths may be applied in a functional sense. For example, a + flow can consist of all packets sent within a TCP session with the + same five-tuple between two hosts, or it can consist of all + packets sent on the same physical link. + + Property: A trait of one or a sequence of path elements, or a trait + of a flow with respect to one or a sequence of path elements. An + example of a link property is the maximum data rate that can be + sent over the link. An example of a node property is the + administrative domain that the node belongs to. An example of a + property of a flow with respect to a subpath is the aggregated + one-way delay of the flow being sent from one node to another node + over this subpath. A property is thus described by a tuple + containing the path element(s), the flow or an empty set if no + packets are relevant for the property, the name of the property + (e.g., maximum data rate), and the value of the property (e.g., 1 + Gbps). + + Aggregated property: A collection of multiple values of a property + into a single value, according to a function. A property can be + aggregated over: + + * multiple path elements (i.e., a subpath), for example, the MTU + of a path as the minimum MTU of all links on the path, + + * multiple packets (i.e., a flow), for example, the median one- + way latency of all packets between two nodes, + + * or both path elements and packets, for example, the mean of the + queueing delays of a flow on all nodes along a path. + + The aggregation function can be numerical (e.g., median, sum, + minimum) or logical (e.g., "true if all are true", "true if at + least 50% of values are true"), or it can be an arbitrary function + that maps multiple input values to an output value. + + Observed property: A property that is observed for a specific path + element, subpath, or path. A property may be observed using + measurements, for example, the one-way delay of a specific packet + transmitted from node to node. + + Assessed property: An approximate calculation or assessment of the + value of a property. An assessed property includes the + reliability of the calculation or assessment. The notion of + reliability depends on the property. For example, a path property + based on an approximate calculation may describe the expected + median one-way latency of packets sent on a path within the next + second, including the confidence level and interval. A non- + numerical assessment may instead include the likelihood that the + property holds. + + Target property: An objective that is set for a property over a path + element, subpath, or path. Note that a target property can be set + for observed properties, such as one-way delay, and also for + properties that cannot be observed by the entity setting the + target, such as inclusion of certain nodes on a path. + +2.1. Terminology Usage for Specific Technologies + + The terminology defined in this document is intended to be general + and applicable to existing and future path-aware technologies. Using + this terminology, a path-aware technology can define and consider + specific path elements and path properties on a specific level of + abstraction. For instance, a technology may define path elements as + IP routers, e.g., in source routing [RFC1940]. Alternatively, it may + consider path elements on a different layer of the Internet + architecture [RFC1122] or as a collection of entities not tied to a + specific layer, such as an AS or ERO. Even within a single path- + aware technology, specific definitions might differ depending on the + context in which they are used. For example, the endpoints might be + the communicating hosts in the context of the transport layer, ASes + that contain the hosts in the context of routing, or specific + applications in the context of the application layer. + +3. Use Cases for Path Properties + + When a path-aware network exposes path properties to endpoints or + other entities, these entities may use this information to achieve + different goals. This section lists several use cases for path + properties. + + Note that this is not an exhaustive list; as with every new + technology and protocol, novel use cases may emerge, and new path + properties may become relevant. Moreover, for any particular + technology, entities may have visibility of and control over + different path elements and path properties and consider them on + different levels of abstraction. Therefore, a new technology may + implement an existing use case related to different path elements or + on a different level of abstraction. + +3.1. Path Selection + + Nodes may be able to send flows via one (or a subset) out of multiple + possible paths, and an entity may be able to influence the decision + about which path(s) to use. Path selection may be feasible if there + are several paths to the same destination (e.g., in case of a mobile + device with two wireless interfaces, both providing a path) or if + there are several destinations, and thus several paths, providing the + same service (e.g., Application-Layer Traffic Optimization (ALTO) + [RFC5693], an application layer peer-to-peer protocol allowing + endpoints a better-than-random peer selection). Entities can express + their intent to achieve a specific goal by specifying target + properties for their paths, e.g., related to performance or security. + Then, paths can be selected that best meet the target properties, + e.g., the entity can select these paths from all available paths or + express the target properties to the network and rely on the network + to select appropriate paths. + + Target properties relating to network performance typically refer to + observed properties, such as one-way delay, one-way packet loss, and + link capacity. Entities then select paths based on their target + property and the assessed property of the available paths that best + match the application requirements. For such performance-related + target properties, the observed property is similar to a Service + Level Indicator (SLI), and the assessed property is similar to a + Service Level Objective (SLO) for IETF Network Slices + [NETWORK-SLICES]. As an example path-selection strategy, an entity + may select a path with a short one-way delay for sending a small + delay-sensitive query, while it may select a path with high link + capacities on all links for retrieving a large file. + + It is also possible for an entity to set target properties that it + cannot (directly) observe, similar to Service Level Expectations + (SLEs) for IETF Network Slices [NETWORK-SLICES]. This may apply to + security-related target properties (e.g., to mandate that all + enterprise traffic goes through a specific firewall) and path + selection (e.g., to enforce traffic policies by allowing or + disallowing sending flows over paths that involve specific networks + or nodes). + + Care needs to be taken when selecting paths based on observed path + properties, as path properties that were previously measured may not + be helpful in predicting current or future path properties, and such + path selection may lead to unintended feedback loops. Also, there + may be trade-offs between path properties (e.g., one-way delay and + link capacity), and entities may influence these trade-offs with + their choices. Finally, path selection may impact fairness. For + example, if multiple entities concurrently attempt to meet their + target properties using the same network resources, one entity's + choices may influence the conditions on the path as experienced by + flows of another entity. + + As a baseline, a path-selection algorithm should aim to do a better + job of meeting the target properties, and consequently accommodating + the user's requirements, than the default case of not selecting a + path most of the time. + + Path selection can be done either by the communicating node(s) or by + other entities within the network. A network (e.g., an AS) can + adjust its path selection for internal or external routing based on + path properties. In BGP, the Multi-Exit Discriminator (MED) + attribute is used in the decision-making process to select which path + to choose among those having the same AS path length and origin + [RFC4271]; in a path-aware network, instead of using this single MED + value, other properties such as link capacity or link usage could + additionally be used to improve load balancing or performance + [PERFORMANCE-ROUTING]. + +3.2. Protocol Selection + + Before sending data over a specific path, an entity may select an + appropriate protocol or configure protocol parameters depending on + path properties. For example, an endpoint may cache state if a path + allows the use of QUIC [RFC9000]; if so, it may first attempt to + connect using QUIC before falling back to another protocol when + connecting over this path again. A video-streaming application may + choose an (initial) video quality based on the achievable data rate + or the monetary cost of sending data (e.g., volume-based or flat-rate + cost model). + +3.3. Service Invocation + + In addition to path or protocol selection, an entity may choose to + invoke additional functions in the context of Service Function + Chaining [RFC7665], which may influence which nodes are on the path. + For example, a 0-RTT Transport Converter [RFC8803] will be involved + in a path only when invoked by an endpoint; such invocation will lead + to the use of Multipath TCP (MPTCP) [RFC8684] or tcpcrypt [RFC8548] + capabilities, while such use is not supported via the default + forwarding path. Another example is a connection that is composed of + multiple streams where each stream has specific service requirements. + An endpoint may decide to invoke a given service function (e.g., + transcoding) only for some streams while others are not processed by + that service function. + +4. Examples of Path Properties + + This section gives some examples of path properties that may be + useful, e.g., for the use cases described in Section 3. + + Within the context of any particular technology, available path + properties may differ as entities have insight into and are able to + influence different path elements and path properties. For example, + an endpoint may have some visibility into path elements that are + close and on a low level of abstraction (e.g., individual nodes + within the first few hops), or it may have visibility into path + elements that are far away and/or on a higher level of abstraction + (e.g., the list of ASes traversed). This visibility may depend on + factors such as the physical or network distance or the existence of + trust or contractual relationships between the endpoint and the path + element(s). A path property can be defined relative to individual + path elements, a sequence of path elements, or "end-to-end", i.e., + relative to a path that comprises of two endpoints and a single + virtual link connecting them. + + Path properties may be relatively dynamic, e.g., the one-way delay of + a packet sent over a specific path, or non-dynamic, e.g., the MTU of + an Ethernet link that only changes infrequently. Usefulness over + time differs depending on how dynamic a property is: the merit of a + momentarily observed dynamic path property may diminish greatly as + time goes on, e.g., it is possible for the observed values of one-way + delay to change on timescales that are shorter than the one-way delay + between the measurement point and an entity making a decision such as + path selection, which may cause the measurement to be outdated when + it reaches the decision-making entity. Therefore, consumers of + dynamic path properties need to apply caution when using them, e.g., + by aggregating them appropriately or applying a dampening function to + their changes to avoid oscillation. In contrast, the observed value + of a less dynamic path property might stay relevant for a longer + period of time, e.g., a NAT typically stays on a particular path + during the lifetime of a connection involving packets sent over this + path. + + Access Technology: The physical- or link-layer technology used for + transmitting or receiving a flow on one or multiple path elements. + If known, the access technology may be given as an abstract link + type, e.g., as Wi-Fi, wired Ethernet, or cellular. It may also be + given as a specific technology used on a link, e.g., 3GPP cellular + or 802.11 Wireless Local Area Network (WLAN). Other path elements + relevant to the access technology may include nodes related to + processing packets on the physical or link layer, such as elements + of a cellular core network. Note that there is no common registry + of possible values for this property. + + Monetary Cost: The price to be paid to transmit or receive a + specific flow across a network to which one or multiple path + elements belong. + + Service Function: A service function that a path element applies to + a flow, see [RFC7665]. Examples of abstract service functions + include firewalls, Network Address Translation (NAT), and TCP + Performance Enhancing Proxies. Some stateful service functions, + such as NAT, need to observe the same flow in both directions, + e.g., by being an element of both the path and the reverse path. + + Transparency: When a node performs an action A on a flow F, the node + is transparent to F with respect to some (meta-)information M if + the node performs A independently of M. M can, for example, be + the existence of a protocol (header) in a packet or the content of + a protocol header, payload, or both. For example, A can be + blocking packets or reading and modifying (other protocol) headers + or payloads. Transparency can be modeled using a function f, + which takes as input F and M and outputs the action taken by the + node. If a taint analysis shows that the output of f is not + tainted (impacted) by M, or if the output of f is constant for + arbitrary values of M, then the node is considered to be + transparent. An IP router could be transparent to transport + protocol headers such as TCP/UDP but not transparent to IP headers + since its forwarding behavior depends on the IP headers. A + firewall that only allows outgoing TCP connections by blocking all + incoming TCP SYN packets regardless of their IP address is + transparent to IP but not to TCP headers. Finally, a NAT that + actively modifies IP and TCP/UDP headers based on their content is + not transparent to either IP or TCP/UDP headers. Note that + according to this definition, a node that modifies packets in + accordance with the endpoints, such as a transparent HTTP proxy, + as defined in [RFC9110], and a node listening and reacting to + implicit or explicit signals, see [RFC8558], are not considered + transparent. + + Transparency only applies to nodes and not to links, as a link + cannot modify or perform any other actions on the packets by + itself. For example, if the content of a packet is altered when + forwarded over a Generic Routing Encapsulation (GRE) tunnel + [RFC2784] [RFC7676], per this document the software instances that + terminate the tunnel are considered nodes over which the actions + are performed; thus, the transparency definition applies to these + nodes. + + Administrative Domain: The identity of an individual or an + organization that controls access to a path element (or several + path elements). Examples of administrative domains are an IGP + area, an AS, or a service provider network. + + Routing Domain Identifier: An identifier indicating the routing + domain of a path element. Path elements in the same routing + domain are in the same administrative domain and use a common + routing protocol to communicate with each other. An example of a + routing domain identifier is the globally unique Autonomous System + Number (ASN) as defined in [RFC1930]. + + Disjointness: For a set of two paths or subpaths, the number of + shared path elements can be a measure of intersection (e.g., + Jaccard coefficient, which is the number of shared elements + divided by the total number of elements). Conversely, the number + of non-shared path elements can be a measure of disjointness + (e.g., 1 - Jaccard coefficient). A multipath protocol might use + disjointness as a metric to reduce the number of single points of + failure. As paths can be defined at different levels of + abstraction, two paths may be disjoint at one level of abstraction + but not on another. + + Symmetric Path: Two paths are symmetric if the path and its reverse + path consist of the same path elements on the same level of + abstraction, but in reverse order. For example, a path that + consists of layer 3 switches and links between them and a reverse + path with the same path elements but in reverse order are + considered "routing" symmetric, as the same path elements on the + same level of abstraction (IP forwarding) are traversed in the + opposite direction. Symmetry can depend on the level of + abstraction on which the path is defined or modeled. If there are + two parallel physical links between two nodes, modeling them as + separate links may result in a flow using asymmetric paths, and + modeling them as a single virtual link may result in symmetric + paths, e.g., if the difference between the two physical links is + irrelevant in a particular context. + + Path MTU: The maximum size, in octets, of a packet or frame that can + be transmitted without fragmentation. + + Transport Protocols available: Whether a specific transport protocol + can be used to establish a connection over a path or subpath, + e.g., whether the path is QUIC-capable or MPTCP-capable, based on + input such as policy, cached knowledge, or probing results. + + Protocol Features available: Whether a specific protocol feature is + available over a path or subpath, e.g., Explicit Congestion + Notification (ECN) or TCP Fast Open. + + Some path properties express the performance of the transmission of a + packet or flow over a link or subpath. Such transmission performance + properties can be observed or assessed, e.g., by endpoints or by path + elements on the path, or they may be available as cost metrics, see + [RFC9439]. Transmission performance properties may be made available + in an aggregated form, such as averages or minimums. Properties + related to a path element that constitutes a single layer 2 domain + are abstracted from the used physical- and link-layer technology, + similar to [RFC8175]. + + Link Capacity: The link capacity is the maximum data rate at which + data that was sent over a link can correctly be received at the + node adjacent to the link. This property is analogous to the link + capacity defined in [RFC5136] and [RFC9097] but is not restricted + to IP-layer traffic. + + Link Usage: The link usage is the actual data rate at which data + that was sent over a link is correctly received at the node + adjacent to the link. This property is analogous to the link + usage defined in [RFC5136] and [RFC9097] but is not restricted to + IP-layer traffic. + + One-Way Delay: The one-way delay is the delay between a node sending + a packet and another node on the same path receiving the packet. + This property is analogous to the one-way delay defined in + [RFC7679] but is not restricted to IP-layer traffic. + + One-Way Delay Variation: The variation of the one-way delays within + a flow. This property is similar to the one-way delay variation + defined in [RFC3393], but it is not restricted to IP-layer traffic + and it is defined for packets on the same flow instead of packets + sent between a source and destination IP address. + + One-Way Packet Loss: Packets sent by a node but not received by + another node on the same path after a certain time interval are + considered lost. This property is analogous to the one-way loss + defined in [RFC7680] but is not restricted to IP-layer traffic. + Metrics such as loss patterns [RFC3357] and loss episodes + [RFC6534] can be expressed as aggregated properties. + +5. Security Considerations + + If entities are basing policy or path-selection decisions on path + properties, they need to rely on the accuracy of path properties that + other devices communicate to them. In order to be able to trust such + path properties, entities may need to establish a trust relationship + or be able to independently verify the authenticity, integrity, and + correctness of path properties received from another entity. + + Entities that reveal their target path properties to the network can + negatively impact their own privacy, e.g., if the target property + leaks personal information about a user, such as their identity or + which (type of) application is used. Such information could then + allow network operators to block or reprioritize traffic for certain + users and/or applications. Conversely, if privacy-enhancing + technologies, e.g., MASQUE proxies [RFC9298], are used on a path, the + path may only be partially visible to any single entity. This may + diminish the usefulness of path-aware technologies over this path. + + The need for, and potential definition of, security- and privacy- + related path properties, such as confidentiality and integrity + protection of payloads, are the subject of ongoing discussion and + research, for example, see [RFC9049] and [RFC9217]. As the + discussion of such properties is not mature enough, they are out of + scope for this document. One aspect discussed in this context is + that security-related properties are difficult to characterize since + they are only meaningful with respect to a threat model that depends + on the use case, application, environment, and other factors. + Likewise, properties for trust relations between entities cannot be + meaningfully defined without a concrete threat model, and defining a + threat model is out of scope for this document. Properties related + to confidentiality, integrity, and trust seem to be orthogonal to the + path terminology and path properties defined in this document, since + they are tied to the communicating nodes and the protocols they use + (e.g., client and server using HTTPS, or client and remote network + node using a VPN service) as well as additional context, such as + keying material and who has access to such a context. In contrast, + the path as defined in this document is typically oblivious to these + aspects. Intuitively, the path describes what function the network + applies to packets, while confidentiality, integrity, and trust + describe what function the communicating parties apply to packets. + +6. IANA Considerations + + This document has no IANA actions. + +7. Informative References + + [NETWORK-SLICES] + Farrel, A., Drake, J., Rokui, R., Homma, S., Makhijani, + K., Contreras, L. M., and J. Tantsura, "A Framework for + Network Slices in Networks Built from IETF Technologies", + Work in Progress, Internet-Draft, draft-ietf-teas-ietf- + network-slices-24, 25 August 2023, + <https://datatracker.ietf.org/doc/html/draft-ietf-teas- + ietf-network-slices-24>. + + [PERFORMANCE-ROUTING] + Xu, X., Hegde, S., Talaulikar, K., Boucadair, M., and C. + Jacquenet, "Performance-based BGP Routing Mechanism", Work + in Progress, Internet-Draft, draft-ietf-idr-performance- + routing-03, 21 December 2020, + <https://datatracker.ietf.org/doc/html/draft-ietf-idr- + performance-routing-03>. + + [RFC1122] Braden, R., Ed., "Requirements for Internet Hosts - + Communication Layers", STD 3, RFC 1122, + DOI 10.17487/RFC1122, October 1989, + <https://www.rfc-editor.org/info/rfc1122>. + + [RFC1930] Hawkinson, J. and T. Bates, "Guidelines for creation, + selection, and registration of an Autonomous System (AS)", + BCP 6, RFC 1930, DOI 10.17487/RFC1930, March 1996, + <https://www.rfc-editor.org/info/rfc1930>. + + [RFC1940] Estrin, D., Li, T., Rekhter, Y., Varadhan, K., and D. + Zappala, "Source Demand Routing: Packet Format and + Forwarding Specification (Version 1)", RFC 1940, + DOI 10.17487/RFC1940, May 1996, + <https://www.rfc-editor.org/info/rfc1940>. + + [RFC2784] Farinacci, D., Li, T., Hanks, S., Meyer, D., and P. + Traina, "Generic Routing Encapsulation (GRE)", RFC 2784, + DOI 10.17487/RFC2784, March 2000, + <https://www.rfc-editor.org/info/rfc2784>. + + [RFC3357] Koodli, R. and R. Ravikanth, "One-way Loss Pattern Sample + Metrics", RFC 3357, DOI 10.17487/RFC3357, August 2002, + <https://www.rfc-editor.org/info/rfc3357>. + + [RFC3393] Demichelis, C. and P. Chimento, "IP Packet Delay Variation + Metric for IP Performance Metrics (IPPM)", RFC 3393, + DOI 10.17487/RFC3393, November 2002, + <https://www.rfc-editor.org/info/rfc3393>. + + [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A + Border Gateway Protocol 4 (BGP-4)", RFC 4271, + DOI 10.17487/RFC4271, January 2006, + <https://www.rfc-editor.org/info/rfc4271>. + + [RFC5136] Chimento, P. and J. Ishac, "Defining Network Capacity", + RFC 5136, DOI 10.17487/RFC5136, February 2008, + <https://www.rfc-editor.org/info/rfc5136>. + + [RFC5693] Seedorf, J. and E. Burger, "Application-Layer Traffic + Optimization (ALTO) Problem Statement", RFC 5693, + DOI 10.17487/RFC5693, October 2009, + <https://www.rfc-editor.org/info/rfc5693>. + + [RFC6534] Duffield, N., Morton, A., and J. Sommers, "Loss Episode + Metrics for IP Performance Metrics (IPPM)", RFC 6534, + DOI 10.17487/RFC6534, May 2012, + <https://www.rfc-editor.org/info/rfc6534>. + + [RFC7665] Halpern, J., Ed. and C. Pignataro, Ed., "Service Function + Chaining (SFC) Architecture", RFC 7665, + DOI 10.17487/RFC7665, October 2015, + <https://www.rfc-editor.org/info/rfc7665>. + + [RFC7676] Pignataro, C., Bonica, R., and S. Krishnan, "IPv6 Support + for Generic Routing Encapsulation (GRE)", RFC 7676, + DOI 10.17487/RFC7676, October 2015, + <https://www.rfc-editor.org/info/rfc7676>. + + [RFC7679] Almes, G., Kalidindi, S., Zekauskas, M., and A. Morton, + Ed., "A One-Way Delay Metric for IP Performance Metrics + (IPPM)", STD 81, RFC 7679, DOI 10.17487/RFC7679, January + 2016, <https://www.rfc-editor.org/info/rfc7679>. + + [RFC7680] Almes, G., Kalidindi, S., Zekauskas, M., and A. Morton, + Ed., "A One-Way Loss Metric for IP Performance Metrics + (IPPM)", STD 82, RFC 7680, DOI 10.17487/RFC7680, January + 2016, <https://www.rfc-editor.org/info/rfc7680>. + + [RFC8175] Ratliff, S., Jury, S., Satterwhite, D., Taylor, R., and B. + Berry, "Dynamic Link Exchange Protocol (DLEP)", RFC 8175, + DOI 10.17487/RFC8175, June 2017, + <https://www.rfc-editor.org/info/rfc8175>. + + [RFC8548] Bittau, A., Giffin, D., Handley, M., Mazieres, D., Slack, + Q., and E. Smith, "Cryptographic Protection of TCP Streams + (tcpcrypt)", RFC 8548, DOI 10.17487/RFC8548, May 2019, + <https://www.rfc-editor.org/info/rfc8548>. + + [RFC8558] Hardie, T., Ed., "Transport Protocol Path Signals", + RFC 8558, DOI 10.17487/RFC8558, April 2019, + <https://www.rfc-editor.org/info/rfc8558>. + + [RFC8684] Ford, A., Raiciu, C., Handley, M., Bonaventure, O., and C. + Paasch, "TCP Extensions for Multipath Operation with + Multiple Addresses", RFC 8684, DOI 10.17487/RFC8684, March + 2020, <https://www.rfc-editor.org/info/rfc8684>. + + [RFC8803] Bonaventure, O., Ed., Boucadair, M., Ed., Gundavelli, S., + Seo, S., and B. Hesmans, "0-RTT TCP Convert Protocol", + RFC 8803, DOI 10.17487/RFC8803, July 2020, + <https://www.rfc-editor.org/info/rfc8803>. + + [RFC9000] Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based + Multiplexed and Secure Transport", RFC 9000, + DOI 10.17487/RFC9000, May 2021, + <https://www.rfc-editor.org/info/rfc9000>. + + [RFC9049] Dawkins, S., Ed., "Path Aware Networking: Obstacles to + Deployment (A Bestiary of Roads Not Taken)", RFC 9049, + DOI 10.17487/RFC9049, June 2021, + <https://www.rfc-editor.org/info/rfc9049>. + + [RFC9097] Morton, A., Geib, R., and L. Ciavattone, "Metrics and + Methods for One-Way IP Capacity", RFC 9097, + DOI 10.17487/RFC9097, November 2021, + <https://www.rfc-editor.org/info/rfc9097>. + + [RFC9110] Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke, + Ed., "HTTP Semantics", STD 97, RFC 9110, + DOI 10.17487/RFC9110, June 2022, + <https://www.rfc-editor.org/info/rfc9110>. + + [RFC9217] Trammell, B., "Current Open Questions in Path-Aware + Networking", RFC 9217, DOI 10.17487/RFC9217, March 2022, + <https://www.rfc-editor.org/info/rfc9217>. + + [RFC9275] Gao, K., Lee, Y., Randriamasy, S., Yang, Y., and J. Zhang, + "An Extension for Application-Layer Traffic Optimization + (ALTO): Path Vector", RFC 9275, DOI 10.17487/RFC9275, + September 2022, <https://www.rfc-editor.org/info/rfc9275>. + + [RFC9298] Schinazi, D., "Proxying UDP in HTTP", RFC 9298, + DOI 10.17487/RFC9298, August 2022, + <https://www.rfc-editor.org/info/rfc9298>. + + [RFC9439] Wu, Q., Yang, Y., Lee, Y., Dhody, D., Randriamasy, S., and + L. Contreras, "Application-Layer Traffic Optimization + (ALTO) Performance Cost Metrics", RFC 9439, + DOI 10.17487/RFC9439, August 2023, + <https://www.rfc-editor.org/info/rfc9439>. + +Acknowledgments + + Thanks to the Path Aware Networking Research Group for the discussion + and feedback. Specifically, thanks to Mohamed Boucadair for the + detailed review, various text suggestions, and shepherding; thanks to + Brian Trammell for suggesting the flow definition; and thanks to Luis + M. Contreras, Spencer Dawkins, Paul Hoffman, Jake Holland, Colin + Perkins, Adrian Perrig, and Matthias Rost for the reviews, comments, + and suggestions. Many thanks to Dave Oran for his careful IRSG + review. + +Authors' Addresses + + Reese Enghardt + Netflix + Email: ietf@tenghardt.net + + + Cyrill Krähenbühl + ETH Zürich + Email: cyrill.kraehenbuehl@inf.ethz.ch |