RFC 9473

A Vocabulary of Path Properties

๐Ÿ“… published September 2023, from ietf

RFC 9473: A Vocabulary of Path Properties ๐Ÿฆ‹

okay bestie, let's talk about RFC 9473, and yes the title is literally A Vocabulary of Path Properties ๐Ÿ’… It's marked Informational, so it's published for information and isn't a Standards Track spec. It came out in September 2023 through the IRTF (Internet Research Task Force), and the work comes from the Path Aware Networking Research Group (PANRG). The authors are R. Enghardt at Netflix and C. Krรคhenbรผhl at ETH Zรผrich. The ISSN is 2070-1721. Its header doesn't list any RFCs that it obsoletes or updates, so it doesn't replace or change anything else ๐ŸŒธ

Abstract

okay so path properties are the info about the paths your traffic takes across a network and about the services you can use along those paths โœจ In a path-aware network, endpoints and other entities might get some or all of that info ๐Ÿ‘€ This doc defines path properties and sorts them into categories ๐Ÿ—‚๏ธ It also points out several path properties that could be handy for endpoints or other entities, like picking between paths or invoking some of the services on offer ๐Ÿซถ This document is a product of the Path Aware Networking Research Group (PANRG) ๐ŸŽ€

Status of This Memo

not a Standards Track spec, so this is published purely for info ๐Ÿ’œ

this is a product of the Internet Research Task Force (IRTF), which shares the results of Internet-related research and development ๐Ÿ”ฌ Those results might not be suitable for deployment, so be careful ๐Ÿ™ˆ This RFC represents the consensus of the Path Aware Networking Research Group of the IRTF ๐Ÿซถ Documents approved for publication by the IRSG are not candidates for any level of Internet Standard, see Section 2 of RFC 7841 ๐Ÿ’…

for the current status, any errata, and how to send feedback, check https://www.rfc-editor.org/info/rfc9473 ๐ŸŒˆ

Copyright (c) 2023 IETF Trust and the persons identified as the document authors. All rights reserved. ๐ŸŽ€

this doc is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) as they stand on the date this was published ๐Ÿ“œ Please read them carefully, because they spell out your rights and restrictions for 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 โœจ

okay so the current Internet architecture doesn't explicitly let endpoints discover the forwarding paths through the network, or find out the properties and services tied to those paths ๐Ÿ˜ญ Path-aware networking, as defined in Section 1.1 of [RFC9217], is described as "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 gives a generic definition of path properties, which answers the first of the questions in path-aware networking [RFC9217] ๐Ÿ’…

path terms have been used with different meanings in different areas of networking, so first this doc gives a common terminology for paths, path elements, and flows ๐Ÿงš Using those terms, it defines path properties ๐Ÿฆ‹ Then it shares some example use cases for path properties ๐Ÿ“ Finally, it lists several path properties that could be useful for those use cases ๐ŸŒŸ This list isn't meant to be exhaustive or definitive, so don't treat it as the whole universe ๐ŸŒŒ

heads up, this document does not assume that any of the listed path properties are actually available to any entity ๐Ÿ‘€ How entities can discover and distribute path properties in a trustworthy way is out of scope here ๐Ÿ™…โ€โ™€๏ธ

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 whole collection of devices or functions, that plays a role in path-aware networking for particular paths and flows โœจ An entity can be on-path or off-path ๐Ÿ›ฃ๏ธ When it's on the path, it can take part in forwarding the flow, which is what people call "data plane functionality" ๐Ÿ“ฆ On or off the path, an entity can influence how the flow gets forwarded, which is "control plane functionality" like path selection or service invocation ๐ŸŽ›๏ธ An entity that influences forwarding is usually aware of path properties, for example by observing or measuring them, or by learning them from another entity ๐Ÿง 
  • Node: an on-path entity that processes packets, like sending, receiving, forwarding, or modifying them ๐Ÿ” A node can be physical or virtual, like a physical device, a service function provided as a virtual element, or even a single queue inside a switch ๐Ÿช„ A node can also be an entity made of a collection of devices or functions, like an entire Autonomous System (AS) ๐Ÿ™๏ธ
  • Link: a medium or communication facility that connects two or more nodes โœจ A link lets a node send packets to other nodes ๐Ÿ“ฌ Links can be physical, like a Wi-Fi network connecting an Access Point to stations ๐Ÿ“ถ, or virtual, like a virtual switch connecting two virtual machines hosted on the same physical machine ๐Ÿ’ป A link is unidirectional, so bidirectional communication gets modeled as two links between the same nodes, pointing 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 that a packet can be transmitted over, starting and ending with a node ๐Ÿ—บ๏ธ
    • Paths are unidirectional and time dependent ๐Ÿ•ฐ๏ธ There can be a bunch of different paths from one node to another, and the path your packets take can change over time ๐ŸŒŠ A path definition can be strict, meaning the exact sequence of path elements stays the same, or loose, meaning the start and end node stay the same but the elements in between can vary over time ๐ŸŽข
    • How a path and its properties get represented can depend on which entity is looking at it ๐Ÿ‘๏ธ That's because entities might only partially see the path elements, or their visibility might change over time ๐ŸŒซ๏ธ It can also differ because path elements get treated at different levels of abstraction ๐Ÿชœ For example, a path can be a sequence of physical nodes and the links between them, or a sequence of logical nodes like a sequence of ASes or an Explicit Route Object (ERO), or it can just be a specific source and destination known to be reachable from that source ๐Ÿ“
    • multicast or broadcast, where one node sends a packet and multiple nodes receive it, is described by multiple paths, one for each combination of sending and receiving node ๐Ÿ“ก These paths don't have to be disjoint, which is what the disjointness path property is about, see Section 4 ๐Ÿ”—
  • Endpoint: the endpoints of a path are its start and end nodes ๐ŸŽฏ For example, an endpoint can be a host as defined in [RFC1122], which could be a client (like a node running a web browser) or a server (like a node running a web server) ๐Ÿ–ฅ๏ธ
  • Reverse Path: the path that a remote node uses in the context of bidirectional communication ๐Ÿ”™
  • Subpath: given a path, a subpath is a sequence of adjacent path elements of that path ๐Ÿงต
  • Flow: one or multiple packets that the traits of a path or a set of subpaths may be applied to in a functional sense ๐ŸŒŠ For example, a flow can be all packets sent within a TCP session with the same five-tuple between two hosts, or it can be 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 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 sent from one node to another over that subpath โฑ๏ธ So a property is described by a tuple with the path element(s), the flow (or an empty set if no packets are relevant for the property), the name of the property (like maximum data rate), and the value of the property (like 1 Gbps) ๐Ÿงฎ
  • Aggregated property: a bunch of values of a property squished into one value, using 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 (like median, sum, or minimum) or logical (like "true if all are true" or "true if at least 50% of values are true"), or it can be any arbitrary function that maps multiple input values to one output value ๐Ÿง 
  • Observed property: a property that's observed for a specific path element, subpath, or path ๐Ÿ‘€ It can be observed using measurements, like the one-way delay of one specific packet sent from node to node โฒ๏ธ
  • Assessed property: an approximate calculation or assessment of a property's value โœจ An assessed property includes how reliable that calculation or assessment is, and what "reliable" means depends on the property ๐Ÿ” For example, a path property based on an approximate calculation might 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 might instead include the likelihood that the property holds ๐ŸŽฒ
  • Target property: an objective set for a property over a path element, subpath, or path ๐ŸŽฏ A target property can be set for observed properties, like one-way delay, and also for properties the entity setting the target can't observe, like certain nodes being included on a path ๐Ÿšฆ

2.1. Terminology Usage for Specific Technologies โœจ

okay so the terms we just went over are meant to be super general ๐Ÿ’… they work for path-aware tech that exists right now AND stuff that hasn't been invented yet ๐Ÿ”ฎ which is so iconic. so a technology can pick its own path elements and path properties at whatever level of abstraction it wants ๐Ÿฆ‹

for example, a technology might say path elements are IP routers, like in source routing [RFC1940] ๐Ÿ›ฃ๏ธ or it might look at path elements on a different layer of the Internet architecture [RFC1122] ๐Ÿงฑ or treat them as a bunch of entities that aren't tied to one layer at all, like an AS or ERO ๐ŸŒˆ

and even inside ONE path-aware technology, the definitions can shift depending on where you're using them ๐Ÿซถ like, the endpoints could be the communicating hosts if you're talking transport layer, ASes that hold those hosts if you're talking routing, or specific applications if you're at the application layer. it's the same word doing different jobs, bestie ๐Ÿ’œ


3. Use Cases for Path Properties ๐ŸŽ€

okay so when a path-aware network shows its path properties to endpoints or other entities, those entities can use that info to chase different goals ๐ŸŽฏ this section is a little list of use cases ๐Ÿ“

and heads up, this is NOT the full list ๐Ÿ™ˆ new tech and protocols always bring new use cases, and new path properties might pop up too ๐ŸŒธ plus, for any given technology, different entities might see and control different path elements and path properties, and think about them at different levels of abstraction ๐Ÿงš so a new technology might pull off an existing use case with different path elements, or at a different level of abstraction entirely. it's giving flexibility ๐Ÿ’–

3.1. Path Selection ๐Ÿ›ค๏ธ

so nodes might be able to send flows over one path (or a subset of paths) out of several possible ones, and an entity might be able to nudge which path(s) get picked ๐Ÿ‘‘ path selection makes sense when there are several paths to the same destination (like a mobile device with two wireless interfaces, each providing a path ๐Ÿ“ฑ๐Ÿ“ถ) or when there are several destinations, and therefore several paths, offering the same service (like Application-Layer Traffic Optimization (ALTO) [RFC5693], an application-layer peer-to-peer protocol that gives endpoints a better-than-random peer selection ๐Ÿค). entities can say what they're aiming for by specifying target properties for their paths, like stuff about performance or security ๐ŸŽฏ then paths that best meet those target properties can get selected. the entity can pick from all the available paths itself, or it can hand the target properties to the network and trust the network to choose good paths ๐Ÿซถ

target properties about network performance usually refer to observed properties, like one-way delay, one-way packet loss, and link capacity ๐Ÿ“Š entities then select paths by comparing their target property with the assessed property of the available paths, and they go with whichever paths best match the application requirements โœจ for these performance-related target properties, the observed property is kinda like a Service Level Indicator (SLI), and the assessed property is kinda like a Service Level Objective (SLO) for IETF Network Slices [NETWORK-SLICES] ๐Ÿ’… as an example strategy, an entity might pick a path with a short one-way delay for a small delay-sensitive query ๐Ÿƒโ€โ™€๏ธ, but pick a path with high link capacities on all links for grabbing a big file ๐Ÿ“ฆ

it's also possible for an entity to set target properties it can't (directly) observe ๐Ÿ‘€ this is kinda like Service Level Expectations (SLEs) for IETF Network Slices [NETWORK-SLICES] ๐Ÿง this could apply to security-related target properties (like requiring that ALL enterprise traffic goes through one specific firewall ๐Ÿ”ฅ) and to path selection (like enforcing traffic policies by allowing or disallowing flows over paths that go through specific networks or nodes ๐Ÿšง)

โš ๏ธ bestie, be careful when you pick paths based on observed path properties! path properties measured in the past might not help predict the current or future ones ๐Ÿ˜ฌ and that kind of path selection can lead to unintended feedback loops ๐ŸŒ€ also, path properties can trade off against each other (like one-way delay vs. link capacity), and entities can influence those trade-offs with their choices ๐ŸŽš๏ธ and path selection can affect fairness ๐Ÿฅบ like, if multiple entities are trying to hit their target properties using the same network resources at the same time, one entity's choices can change the conditions on the path that another entity's flows experience ๐Ÿ˜ญ

as a baseline, a path-selection algorithm should aim to do a better job of meeting the target properties, and therefore accommodating the user's requirements, than the default case of not selecting a path most of the time ๐Ÿ“ˆ it's giving "don't be worse than doing nothing" energy ๐Ÿ’€

path selection can be done by the communicating node(s) OR by other entities inside the network ๐Ÿ  a network (like an AS) can adjust its path selection for internal or external routing based on path properties ๐Ÿ—บ๏ธ in BGP, the Multi-Exit Discriminator (MED) attribute gets used in the decision-making process to pick which path to take among those with the same AS path length and origin [RFC4271] ๐Ÿ”ข but in a path-aware network, instead of relying on that single MED value, other properties like link capacity or link usage could also be used to improve load balancing or performance [PERFORMANCE-ROUTING] โš–๏ธโœจ

3.2. Protocol Selection ๐Ÿงฉ

before sending data over a specific path, an entity might pick an appropriate protocol or configure protocol parameters depending on path properties ๐Ÿ”ง for example, an endpoint might cache state if a path allows the use of QUIC [RFC9000] ๐Ÿ’พ and if it does, it can try connecting with QUIC first, then fall back to another protocol next time it connects over that same path ๐Ÿ” a video-streaming app might choose its (initial) video quality based on the achievable data rate or the monetary cost of sending data (like a volume-based or flat-rate cost model) ๐ŸŽฌ๐Ÿ’ธ

3.3. Service Invocation ๐Ÿช„

on top of path or protocol selection, an entity might choose to invoke additional functions in the context of Service Function Chaining [RFC7665], which can influence which nodes end up on the path ๐Ÿ”— for example, a 0-RTT Transport Converter [RFC8803] only gets involved in a path when an endpoint invokes it ๐Ÿ™Œ that invocation leads to the use of Multipath TCP (MPTCP) [RFC8684] or tcpcrypt [RFC8548] capabilities, while that use isn't supported via the default forwarding path ๐Ÿšซ another example is a connection made up of multiple streams, where each stream has its own specific service requirements ๐ŸŒŠ an endpoint might decide to invoke a given service function (like transcoding) for only some streams, while others skip that service function entirely ๐ŸŽž๏ธ๐Ÿ’…

4. Examples of Path Properties โœจ

Okay bestie, this section gives some examples of path properties ๐Ÿ’… that could be super useful for the use cases in Section 3 ๐Ÿซถ.

Path properties depend on who's looking. Visibility changes by technology, because entities can see into and influence different path elements and properties. An endpoint might see things that are close and low-level, like individual nodes within the first few hops ๐Ÿ‘€, or things that are far away and higher-level, like the list of ASes traversed ๐ŸŒ. What's visible can depend on physical or network distance, or on whether there are 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," which means relative to a path that has two endpoints and a single virtual link connecting them ๐Ÿงš.

Some properties are super dynamic, and some are not. A dynamic one is the one-way delay of a packet sent over a specific path ๐Ÿ’จ. A non-dynamic one is the MTU of an Ethernet link that only changes infrequently ๐ŸŒธ. How useful a property is over time depends on how dynamic it is. A momentarily observed dynamic property can get stale fast ๐Ÿ’€. The observed one-way delay can change on timescales shorter than the one-way delay between the measurement point and an entity making a decision, like path selection, so the measurement might already be outdated by the time it reaches that decision-maker ๐Ÿ˜ญ. That's why consumers of dynamic path properties need to be careful. Aggregate them appropriately, or apply a dampening function to their changes to avoid oscillation ๐ŸŒŠ. On the flip side, the observed value of a less dynamic property can stay relevant for way longer. A NAT, for example, 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 it's known, the access technology can be given as an abstract link type, like Wi-Fi, wired Ethernet, or cellular. It can also be given as a specific technology used on a link, like 3GPP cellular or 802.11 Wireless Local Area Network (WLAN) ๐Ÿ›œ. Other path elements related to the access technology can include nodes that process packets on the physical or link layer, like elements of a cellular core network ๐Ÿ—๏ธ. Note that there is no common registry of possible values for this property, so it's a bit of a free-for-all ๐Ÿ™ˆ.

Monetary Cost: The price to be paid to transmit or receive a specific flow across a network that one or multiple path elements belong to ๐Ÿ’ธ.

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, like NAT, need to observe the same flow in both directions, for example 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 be, for example, the existence of a protocol (header) in a packet, or the content of a protocol header, payload, or both. A can be things like blocking packets, or reading and modifying (other protocol) headers or payloads. Transparency can be modeled using a function f, which takes F and M as input 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 transparent โœ….

Here's how that plays out. 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 ๐Ÿงฑ. And 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 under this definition, a node that modifies packets in accordance with the endpoints, such as a transparent HTTP proxy as defined in [RFC9110], is not considered transparent. Same goes for a node listening and reacting to implicit or explicit signals, see [RFC8558] ๐Ÿ™…โ€โ™€๏ธ.

Transparency only applies to nodes, not links. A link can't modify packets or do any other actions on them by itself, so it doesn't count ๐Ÿ”—. For example, if the content of a packet gets altered when it's forwarded over a Generic Routing Encapsulation (GRE) tunnel [RFC2784] [RFC7676], then per this document, the software instances that terminate the tunnel are the nodes where the actions are performed, and the transparency definition applies to those 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 that indicates 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 talk to 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. The Jaccard coefficient is a great example of this, and it's the number of shared elements divided by the total number of elements ๐Ÿค“. Flip it around, and the number of non-shared path elements can be a measure of disjointness, like 1 - Jaccard coefficient ๐Ÿงฉ. A multipath protocol might use disjointness as a metric to reduce the number of single points of failure ๐Ÿ›ก๏ธ. Also, because paths can be defined at different levels of abstraction, two paths might be disjoint at one level but not at 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, just in reverse order ๐Ÿชž. For example, a path made of layer 3 switches and the links between them, plus a reverse path with those same path elements in reverse order, is considered "routing" symmetric, since 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 the path is defined or modeled on. If there are two parallel physical links between two nodes, modeling them as separate links may result in a flow using asymmetric paths. Modeling them as a single virtual link may result in symmetric paths, e.g., if the difference between the two physical links doesn't matter 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. This is 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 transmitting a packet or flow over a link or subpath. These transmission performance properties can be observed or assessed by endpoints or by path elements on the path. They can also be available as cost metrics, see [RFC9439] ๐Ÿ“Š. They might be shared in an aggregated form, like averages or minimums ๐Ÿงฎ. Properties related to a path element that makes up a single layer 2 domain are abstracted from the physical- and link-layer technology used, similar to [RFC8175] ๐Ÿช„.

Link Capacity: The maximum data rate at which data sent over a link can be correctly received at the node adjacent to the link ๐Ÿšฐ. This property is analogous to the link capacity defined in [RFC5136] and [RFC9097], but it isn't restricted to IP-layer traffic ๐Ÿ’œ.

Link Usage: The actual data rate at which data 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 it isn't restricted to IP-layer traffic either ๐ŸŒˆ.

One-Way Delay: The delay between a node sending a packet and another node on the same path receiving it โฑ๏ธ. This property is analogous to the one-way delay defined in [RFC7679], but it isn't 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]. The difference is that it isn't restricted to IP-layer traffic, and it's defined for packets on the same flow instead of packets sent between a source and destination IP address ๐Ÿ™Œ.

One-Way Packet Loss: Packets that a node sends but that another node on the same path doesn't receive after a certain time interval are considered lost ๐Ÿ˜ค. This property is analogous to the one-way loss defined in [RFC7680], but it isn't restricted to IP-layer traffic. Metrics like loss patterns [RFC3357] and loss episodes [RFC6534] can be expressed as aggregated properties ๐Ÿ“‰.

5. Security Considerations โœจ

Okay bestie, this part is super important ๐Ÿ”’. If entities are making policy or path-selection decisions based on path properties, they need to rely on the accuracy of the path properties that other devices send them ๐Ÿ“ก. To actually trust those properties, entities may need to set up a trust relationship, or be able to independently verify the authenticity, integrity, and correctness of path properties received from another entity ๐Ÿซถ.

Now, the privacy side is a whole vibe ๐Ÿ™ˆ. Entities that reveal their target path properties to the network can hurt their own privacy. For example, if the target property leaks personal info about a user, like their identity or which (type of) application they're using, that info could let network operators block or reprioritize traffic for certain users and/or applications ๐Ÿ’€. On the flip side, if privacy-enhancing technologies, like MASQUE proxies [RFC9298], are used on a path, the path may only be partially visible to any single entity ๐Ÿฆ‹. That can lowkey reduce how useful path-aware technologies are over that path ๐Ÿ˜ญ.

The need for, and possible definition of, security- and privacy-related path properties (like confidentiality and integrity protection of payloads) is still being talked about and researched, see [RFC9049] and [RFC9217] ๐Ÿง . Since the discussion isn't mature enough yet, these are out of scope for this document ๐Ÿ™…โ€โ™€๏ธ. One thing that comes up in this context is that security-related properties are hard to pin down, since they only mean something with respect to a threat model. That threat model depends on the use case, application, environment, and other factors ๐ŸŒธ. Same deal for trust relations between entities: they can't 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 โœจ. They're tied to the communicating nodes and the protocols they use (like a client and server using HTTPS, or a client and remote network node using a VPN service), plus extra context like keying material and who has access to that context ๐Ÿ”. The path, as defined here, is typically oblivious to all of that ๐Ÿซ . 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

Here's the full reading list, bestie ๐Ÿ“š (all the details, no cuts):


Acknowledgments

Huge thanks to the Path Aware Networking Research Group for the discussion and feedback ๐ŸŽ€. Special shoutout 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 ๐ŸŒˆ

๐Ÿ“ฆ where this page comes from