diff options
author | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
commit | 4bfd864f10b68b71482b35c818559068ef8d5797 (patch) | |
tree | e3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc9217.txt | |
parent | ea76e11061bda059ae9f9ad130a9895cc85607db (diff) |
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc9217.txt')
-rw-r--r-- | doc/rfc/rfc9217.txt | 483 |
1 files changed, 483 insertions, 0 deletions
diff --git a/doc/rfc/rfc9217.txt b/doc/rfc/rfc9217.txt new file mode 100644 index 0000000..61afa48 --- /dev/null +++ b/doc/rfc/rfc9217.txt @@ -0,0 +1,483 @@ + + + + +Internet Research Task Force (IRTF) B. Trammell +Request for Comments: 9217 Google Switzerland GmbH +Category: Informational March 2022 +ISSN: 2070-1721 + + + Current Open Questions in Path-Aware Networking + +Abstract + + In contrast to the present Internet architecture, a path-aware + internetworking architecture has two important properties: it exposes + the properties of available Internet paths to endpoints, and it + provides for endpoints and applications to use these properties to + select paths through the Internet for their traffic. While this + property of "path awareness" already exists in many Internet- + connected networks within single domains and via administrative + interfaces to the network layer, a fully path-aware internetwork + expands these concepts across layers and across the Internet. + + This document poses questions in path-aware networking, open as of + 2021, that must be answered in the design, development, and + deployment of path-aware internetworks. It was originally written to + frame discussions in the Path Aware Networking Research Group + (PANRG), and has been published to snapshot current thinking in this + space. + +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/rfc9217. + +Copyright Notice + + Copyright (c) 2022 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 to Path-Aware Networking + 1.1. Definitions + 2. Questions + 2.1. A Vocabulary of Path Properties + 2.2. Discovery, Distribution, and Trustworthiness of Path + Properties + 2.3. Supporting Path Selection + 2.4. Interfaces for Path Awareness + 2.5. Implications of Path Awareness for the Transport and + Application Layers + 2.6. What is an Endpoint? + 2.7. Operating a Path-Aware Network + 2.8. Deploying a Path-Aware Network + 3. IANA Considerations + 4. Security and Privacy Considerations + 5. Informative References + Acknowledgments + Author's Address + +1. Introduction to Path-Aware Networking + + In the current Internet architecture, the network layer provides a + best-effort service to the endpoints using it, without verifiability + of the properties of the path between the endpoints. While there are + network-layer technologies that attempt better-than-best-effort + delivery, the interfaces to these are generally administrative as + opposed to endpoint exposed (e.g., Path Computation Element (PCE) + [RFC4655] and Software-Defined Wide Area Network (SD-WAN) [MEF70] + approaches), and they are often restricted to single administrative + domains. In this architecture, an application can assume that a + packet with a given destination address will eventually be forwarded + toward that destination, but little else. + + A transport-layer protocol such as TCP can provide reliability over + this best-effort service, and a protocol above the network layer, + such as Transport Layer Security (TLS) [RFC8446], can authenticate + the remote endpoint. However, little, if any, explicit information + about the path is available to the endpoints, and any assumptions + made about that path often do not hold. These sometimes have serious + impacts on the application, as in the case with BGP hijacking + attacks. + + By contrast, in a path-aware internetworking architecture, endpoints + can select or influence the path(s) through the network used by any + given packet or flow. The network and transport layers explicitly + expose information about the path or paths available to the endpoints + and to the applications running on them, so that they can make this + selection. The Application-Layer Traffic Optimization (ALTO) + protocol [RFC7285] can be seen as an example of a path-awareness + approach implemented in transport-layer terms on the present Internet + protocol stack. + + Path selection provides explicit visibility and control of network + treatment to applications and users of the network. This selection + is available to the application-, transport-, and/or network-layer + entities at each endpoint. Path control at the flow and subflow + level enables the design of new transport protocols that can leverage + multipath connectivity across disjoint paths through the Internet, + even over a single physical interface. When exposed to applications, + or to end users through a system configuration interface, path + control allows the specification of constraints on the paths that + traffic should traverse, for instance to confound passive + surveillance in the network core [RFC7624]. + + We note that this property of "path awareness" already exists in many + Internet-connected networks within single domains. Indeed, much of + the practice of network engineering using encapsulation at layer 3 + can be said to be "path aware" in that it explicitly assigns traffic + at tunnel endpoints to a given path within the network. Path-aware + internetworking seeks to extend this awareness across domain + boundaries without resorting to overlays, except as a transition + technology. + + This document presents a snapshot of open questions in this space + that will need to be answered in order to realize a path-aware + internetworking architecture; it is published to further frame + discussions within and outside the Path Aware Networking Research + Group, and is published with the rough consensus of that group. + +1.1. Definitions + + For purposes of this document, "path-aware networking" 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. Note that this + can and already does happen to some extent in the current Internet + architecture; this definition expands current techniques of path + discovery and manipulation to cross administrative domain boundaries + and up to the transport and application layers at the endpoints. + + Expanding on this definition, a "path-aware internetwork" is one in + which endpoint discovery of path properties and endpoint selection of + paths used by traffic exchanged by the endpoint are explicitly + supported regardless of the specific design of the protocol features + that enable this discovery and selection. + + A "path", for the purposes of these definitions, is abstractly + defined as a sequence of adjacent path elements over which a packet + can be transmitted, where the definition of "path element" is + technology dependent. As this document is intended to pose questions + rather than answer them, it assumes that this definition will be + refined as part of the answer to the first two questions it poses + about the vocabulary of path properties and how they are + disseminated. + + Research into path-aware internetworking covers any and all aspects + of designing, building, and operating path-aware internetworks or the + networks and endpoints attached to them. This document presents a + collection of research questions to address in order to make a path- + aware Internet a reality. + +2. Questions + + Realizing path-aware networking requires answers to a set of open + research questions. This document poses these questions as a + starting point for discussions about how to realize path awareness in + the Internet and to direct future research efforts within the Path + Aware Networking Research Group. + +2.1. A Vocabulary of Path Properties + + The first question: how are paths and path properties defined and + represented? + + In order for information about paths to be exposed to an endpoint, + and for the endpoint to make use of that information, it is necessary + to define a common vocabulary for paths through an internetwork and + properties of those paths. The elements of this vocabulary could + include terminology for components of a path and properties defined + for these components, for the entire path or for subpaths of a path. + These properties may be relatively static, such as the presence of a + given node or service function on the path, as well as relatively + dynamic, such as the current values of metrics such as loss and + latency. + + This vocabulary and its representation must be defined carefully, as + its design will have impacts on the properties (e.g., expressiveness, + scalability, and security) of a given path-aware internetworking + architecture. For example, a system that exposes node-level + information for the topology through each network would maximize + information about the individual components of the path at the + endpoints, at the expense of making internal network topology + universally public, which may be in conflict with the business goals + of each network's operator. Furthermore, properties related to + individual components of the path may change frequently and may + quickly become outdated. However, aggregating the properties of + individual components to distill end-to-end properties for the entire + path is not trivial. + +2.2. Discovery, Distribution, and Trustworthiness of Path Properties + + The second question: how do endpoints and applications get access to + accurate, useful, and trustworthy path properties? + + Once endpoints and networks have a shared vocabulary for expressing + path properties, the network must have some method for distributing + those path properties to the endpoints. Regardless of how path + property information is distributed, the endpoints require a method + to authenticate the properties in order to determine that they + originated from and pertain to the path that they purport to. + + Choices in distribution and authentication methods will have impacts + on the scalability of a path-aware architecture. Possible dimensions + in the space of distribution methods include in band versus out of + band, push versus pull versus publish subscribe, and so on. There + are temporal issues with path property dissemination as well, + especially with dynamic properties, since the measurement or + elicitation of dynamic properties may be outdated by the time that + information is available at the endpoints, and interactions between + the measurement and dissemination delay may exhibit pathological + behavior for unlucky points in the parameter space. + +2.3. Supporting Path Selection + + The third question: how can endpoints select paths to use for traffic + in a way that can be trusted by the network, the endpoints, and the + applications using them? + + Access to trustworthy path properties is only half of the challenge + in establishing a path-aware architecture. Endpoints must be able to + use this information in order to select paths for specific traffic + they send. As with the dissemination of path properties, choices + made in path-selection methods will also have an impact on the trade- + off between scalability and expressiveness of a path-aware + architecture. One key choice here is between in-band and out-of-band + control of path selection. Another is granularity of path selection + (whether per packet, per flow, or per larger aggregate), which also + has a large impact on the scalability/expressiveness trade-off. Path + selection must, like path property information, be trustworthy, such + that the result of a path selection at an endpoint is predictable. + Moreover, any path-selection mechanism should aim to provide an + outcome that is not worse than using a single path or selecting paths + at random. + + Path selection may be exposed in terms of the properties of the path + or the identity of elements of the path. In the latter case, a path + may be identified at any of multiple layers (e.g., routing domain + identifier, network-layer address, higher-layer identifier or name, + and so on). In this case, care must be taken to present semantically + useful information to those making decisions about which path(s) to + trust. + +2.4. Interfaces for Path Awareness + + The fourth question: how can interfaces among the network, transport, + and application layers support the use of path awareness? + + In order for applications to make effective use of a path-aware + networking architecture, the control interfaces presented by the + network and transport layers must also expose path properties to the + application in a useful way, and provide a useful set of paths among + which the application can select. Path selection must be possible + based not only on the preferences and policies of the application + developer, but of end users as well. Also, the path-selection + interfaces presented to applications and end users will need to + support multiple levels of granularity. Most applications' + requirements can be satisfied with the expression of path-selection + policies in terms of properties of the paths, while some applications + may need finer-grained, per-path control. These interfaces will need + to support incremental development and deployment of applications, + and provide sensible defaults, to avoid hindering their adoption. + +2.5. Implications of Path Awareness for the Transport and Application + Layers + + The fifth question: how should transport-layer and higher-layer + protocols be redesigned to work most effectively over a path-aware + networking layer? + + In the current Internet, the basic assumption that at a given time + all traffic for a given flow will receive the same network treatment + and traverse the same path or equivalent paths often holds. In a + path-aware network, this assumption is more easily violated. The + weakening of this assumption has implications for the design of + protocols above any path-aware network layer. + + For example, one advantage of multipath communication is that a given + end-to-end flow can be "sprayed" along multiple paths in order to + confound attempts to collect data or metadata from those flows for + pervasive surveillance purposes [RFC7624]. However, the benefits of + this approach are reduced if the upper-layer protocols use linkable + identifiers on packets belonging to the same flow across different + paths. Clients may mitigate linkability by opting to not reuse + cleartext connection identifiers, such as TLS session IDs or tickets, + on separate paths. The privacy-conscious strategies required for + effective privacy in a path-aware Internet are only possible if + higher-layer protocols such as TLS permit clients to obtain + unlinkable identifiers. + +2.6. What is an Endpoint? + + The sixth question: how is path awareness (in terms of vocabulary and + interfaces) different when applied to tunnel and overlay endpoints? + + The vision of path-aware networking articulated so far makes an + assumption that path properties will be disseminated to endpoints on + which applications are running (terminals with user agents, servers, + and so on). However, incremental deployment may require that a path- + aware network "core" be used to interconnect islands of legacy + protocol networks. In these cases, it is the gateways, not the + application endpoints, that receive path properties and make path + selections for that traffic. The interfaces provided by this gateway + are necessarily different than those a path-aware networking layer + provides to its transport and application layers, and the path + property information the gateway needs and makes available over those + interfaces may also be different. + +2.7. Operating a Path-Aware Network + + The seventh question: how can a path-aware network in a path-aware + internetwork be effectively operated, given control inputs from + network administrators, application designers, and end users? + + The network operations model in the current Internet architecture + assumes that traffic flows are controlled by the decisions and + policies made by network operators as expressed in interdomain and + intradomain routing protocols. In a network providing path selection + to the endpoints, however, this assumption no longer holds, as + endpoints may react to path properties by selecting alternate paths. + Competing control inputs from path-aware endpoints and the routing + control plane may lead to more difficult traffic engineering or non- + convergent forwarding, especially if the endpoints' and operators' + notion of the "best" path for given traffic diverges significantly. + The degree of difficulty may depend on the fidelity of information + made available to path-selection algorithms at the endpoints. + Explicit path selection can also specify outbound paths, while BGP + policies are expressed in terms of inbound traffic. + + A concept for path-aware network operations will need to have clear + methods for the resolution of apparent (if not actual) conflicts of + intent between the network's operator and the path selection at an + endpoint. It will also need a set of safety principles to ensure + that increasing path control does not lead to decreasing + connectivity; one such safety principle could be "the existence of at + least one path between two endpoints guarantees the selection of at + least one path between those endpoints." + +2.8. Deploying a Path-Aware Network + + The eighth question: how can the incentives of network operators and + end users be aligned to realize the vision of path-aware networking, + and how can the transition from current ("path-oblivious") to path- + aware networking be managed? + + The vision presented in the introduction discusses path-aware + networking from the point of view of the benefits accruing at the + endpoints, to designers of transport protocols and applications as + well as to the end users of those applications. However, this vision + requires action not only at the endpoints but also within the + interconnected networks offering path-aware connectivity. While the + specific actions required are a matter of the design and + implementation of a specific realization of a path-aware protocol + stack, it is clear that any path-aware architecture will require + network operators to give up some control of their networks over to + endpoint-driven control inputs. + + Here, the question of apparent versus actual conflicts of intent + arises again: certain network operation requirements may appear + essential but are merely accidents of the interfaces provided by + current routing and management protocols. For example, related (but + adjacent) to path-aware networking, the widespread use of the TCP + wire image [RFC8546] in network monitoring for DDoS prevention + appears in conflict with the deployment of encrypted transports, only + because path signaling [RFC8558] has been implicit in the deployment + of past transport protocols. + + Similarly, incentives for deployment must show how existing network + operation requirements are met through new path selection and + property dissemination mechanisms. + + The incentives for network operators and equipment vendors need to be + made clear, in terms of a plan to transition [RFC8170] an + internetwork to path-aware operation, one network and facility at a + time. This plan to transition must also take into account that the + dynamics of path-aware networking early in this transition (when few + endpoints and flows in the Internet use path selection) may be + different than those later in the transition. + + Aspects of data security and information management in a network that + explicitly radiates more information about the network's deployment + and configuration, and implicitly radiates information about endpoint + configuration and preference through path selection, must also be + addressed. + +3. IANA Considerations + + This document has no IANA actions. + +4. Security and Privacy Considerations + + This document poses questions about path-aware internetworking; the + answers are a matter for future research, and security considerations + for those answers would be included in the corresponding RFCs that + describe them. While each of these questions is to a lesser or + greater degree relevant to the security and privacy of users of a + path-aware network, questions of discovery and trustworthiness + (Section 2.2) are most security-relevant. + +5. Informative References + + [MEF70] MEF, "SD-WAN Service Attributes and Services", MEF + Standard, MEF 70, July 2019, <https://www.mef.net/wp- + content/uploads/2019/07/MEF-70.pdf>. + + [RFC4655] Farrel, A., Vasseur, J.-P., and J. Ash, "A Path + Computation Element (PCE)-Based Architecture", RFC 4655, + DOI 10.17487/RFC4655, August 2006, + <https://www.rfc-editor.org/info/rfc4655>. + + [RFC7285] Alimi, R., Ed., Penno, R., Ed., Yang, Y., Ed., Kiesel, S., + Previdi, S., Roome, W., Shalunov, S., and R. Woundy, + "Application-Layer Traffic Optimization (ALTO) Protocol", + RFC 7285, DOI 10.17487/RFC7285, September 2014, + <https://www.rfc-editor.org/info/rfc7285>. + + [RFC7624] Barnes, R., Schneier, B., Jennings, C., Hardie, T., + Trammell, B., Huitema, C., and D. Borkmann, + "Confidentiality in the Face of Pervasive Surveillance: A + Threat Model and Problem Statement", RFC 7624, + DOI 10.17487/RFC7624, August 2015, + <https://www.rfc-editor.org/info/rfc7624>. + + [RFC8170] Thaler, D., Ed., "Planning for Protocol Adoption and + Subsequent Transitions", RFC 8170, DOI 10.17487/RFC8170, + May 2017, <https://www.rfc-editor.org/info/rfc8170>. + + [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol + Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, + <https://www.rfc-editor.org/info/rfc8446>. + + [RFC8546] Trammell, B. and M. Kuehlewind, "The Wire Image of a + Network Protocol", RFC 8546, DOI 10.17487/RFC8546, April + 2019, <https://www.rfc-editor.org/info/rfc8546>. + + [RFC8558] Hardie, T., Ed., "Transport Protocol Path Signals", + RFC 8558, DOI 10.17487/RFC8558, April 2019, + <https://www.rfc-editor.org/info/rfc8558>. + +Acknowledgments + + Many thanks to Adrian Perrig, Jean-Pierre Smith, Mirja Kühlewind, + Olivier Bonaventure, Martin Thomson, Shwetha Bhandari, Chris Wood, + Lee Howard, Mohamed Boucadair, Thorben Krüger, Gorry Fairhurst, + Spencer Dawkins, Reese Enghardt, Laurent Ciavaglia, Stephen Farrell, + and Richard Yang for discussions leading to questions in this + document and for feedback on the document itself. + + This work is partially supported by the European Commission under + Horizon 2020 grant agreement no. 688421 Measurement and Architecture + for a Middleboxed Internet (MAMI) and by the Swiss State Secretariat + for Education, Research, and Innovation under contract no. 15.0268. + This support does not imply endorsement. + +Author's Address + + Brian Trammell + Google Switzerland GmbH + Gustav-Gull-Platz 1 + CH-8004 Zurich + Switzerland + Email: ietf@trammell.ch |