rfc9217.original | rfc9217.txt | |||
---|---|---|---|---|
Path Aware Networking RG B. Trammell | Internet Research Task Force (IRTF) B. Trammell | |||
Internet-Draft Google Switzerland GmbH | Request for Comments: 9217 Google Switzerland GmbH | |||
Intended status: Informational 25 January 2022 | Category: Informational March 2022 | |||
Expires: 29 July 2022 | ISSN: 2070-1721 | |||
Current Open Questions in Path Aware Networking | Current Open Questions in Path-Aware Networking | |||
draft-irtf-panrg-questions-12 | ||||
Abstract | Abstract | |||
In contrast to the present Internet architecture, a path-aware | In contrast to the present Internet architecture, a path-aware | |||
internetworking architecture has two important properties: it exposes | internetworking architecture has two important properties: it exposes | |||
the properties of available Internet paths to endpoints, and provides | the properties of available Internet paths to endpoints, and it | |||
for endpoints and applications to use these properties to select | provides for endpoints and applications to use these properties to | |||
paths through the Internet for their traffic. While this property of | select paths through the Internet for their traffic. While this | |||
"path awareness" already exists in many Internet-connected networks | property of "path awareness" already exists in many Internet- | |||
within single domains and via administrative interfaces to the | connected networks within single domains and via administrative | |||
network layer, a fully path-aware internetwork expands these concepts | interfaces to the network layer, a fully path-aware internetwork | |||
across layers and across the Internet. | expands these concepts across layers and across the Internet. | |||
This document poses questions in path-aware networking open as of | This document poses questions in path-aware networking, open as of | |||
2021, that must be answered in the design, development, and | 2021, that must be answered in the design, development, and | |||
deployment of path-aware internetworks. It was originally written to | deployment of path-aware internetworks. It was originally written to | |||
frame discussions in the Path Aware Networking proposed Research | frame discussions in the Path Aware Networking Research Group | |||
Group (PANRG), and has been published to snapshot current thinking in | (PANRG), and has been published to snapshot current thinking in this | |||
this space. | space. | |||
Discussion Venues | ||||
This note is to be removed before publishing as an RFC. | ||||
Source for this draft and an issue tracker can be found at | ||||
https://github.com/panrg/questions. | ||||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This document is not an Internet Standards Track specification; it is | |||
provisions of BCP 78 and BCP 79. | published for informational purposes. | |||
Internet-Drafts are working documents of the Internet Engineering | ||||
Task Force (IETF). Note that other groups may also distribute | ||||
working documents as Internet-Drafts. The list of current Internet- | ||||
Drafts is at https://datatracker.ietf.org/drafts/current/. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Research Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IRTF). The IRTF publishes the results of Internet-related research | |||
time. It is inappropriate to use Internet-Drafts as reference | and development activities. These results might not be suitable for | |||
material or to cite them other than as "work in progress." | 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. | ||||
This Internet-Draft will expire on 29 July 2022. | 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 Notice | |||
Copyright (c) 2022 IETF Trust and the persons identified as the | Copyright (c) 2022 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
extracted from this document must include Revised BSD License text as | to this document. | |||
described in Section 4.e of the Trust Legal Provisions and are | ||||
provided without warranty as described in the Revised BSD License. | ||||
Table of Contents | Table of Contents | |||
1. Introduction to Path-Aware Networking . . . . . . . . . . . . 2 | 1. Introduction to Path-Aware Networking | |||
1.1. Definitions . . . . . . . . . . . . . . . . . . . . . . . 4 | 1.1. Definitions | |||
2. Questions . . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 2. Questions | |||
2.1. A Vocabulary of Path Properties . . . . . . . . . . . . . 5 | 2.1. A Vocabulary of Path Properties | |||
2.2. Discovery, Distribution, and Trustworthiness of Path | 2.2. Discovery, Distribution, and Trustworthiness of Path | |||
Properties . . . . . . . . . . . . . . . . . . . . . . . 5 | Properties | |||
2.3. Supporting Path Selection . . . . . . . . . . . . . . . . 6 | 2.3. Supporting Path Selection | |||
2.4. Interfaces for Path Awareness . . . . . . . . . . . . . . 6 | 2.4. Interfaces for Path Awareness | |||
2.5. Implications of Path Awareness for the Transport and | 2.5. Implications of Path Awareness for the Transport and | |||
Application Layers . . . . . . . . . . . . . . . . . . . 7 | Application Layers | |||
2.6. What is an Endpoint? . . . . . . . . . . . . . . . . . . 7 | 2.6. What is an Endpoint? | |||
2.7. Operating a Path Aware Network . . . . . . . . . . . . . 8 | 2.7. Operating a Path-Aware Network | |||
2.8. Deploying a Path Aware Network . . . . . . . . . . . . . 8 | 2.8. Deploying a Path-Aware Network | |||
3. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 9 | 3. Informative References | |||
4. Informative References . . . . . . . . . . . . . . . . . . . 10 | Acknowledgments | |||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 10 | Author's Address | |||
1. Introduction to Path-Aware Networking | 1. Introduction to Path-Aware Networking | |||
In the current Internet architecture, the network layer provides a | In the current Internet architecture, the network layer provides a | |||
best-effort service to the endpoints using it, without verifiability | best-effort service to the endpoints using it, without verifiability | |||
of the properties of the path between tne endpoints. While there are | of the properties of the path between the endpoints. While there are | |||
network layer technologies that attempt better-than-best-effort | network-layer technologies that attempt better-than-best-effort | |||
delivery, the interfaces to these are generally administrative as | delivery, the interfaces to these are generally administrative as | |||
opposed to endpoint-exposed (e.g. Path Computation Element (PCE) | opposed to endpoint exposed (e.g., Path Computation Element (PCE) | |||
[RFC4655] and Software-Defined Wide Area Network (SD-WAN) | [RFC4655] and Software-Defined Wide Area Network (SD-WAN) | |||
approaches), and they are often restricted to single administrative | approaches), and they are often restricted to single administrative | |||
domains. In this architecture, an application can assume that a | domains. In this architecture, an application can assume that a | |||
packet with a given destination address will eventually be forwarded | packet with a given destination address will eventually be forwarded | |||
toward that destination, but little else. | toward that destination, but little else. | |||
A transport layer protocol such as TCP can provide reliability over | A transport-layer protocol such as TCP can provide reliability over | |||
this best-effort service, and a protocol above the network layer, | this best-effort service, and a protocol above the network layer, | |||
such as Transport Layer Security (TLS) [RFC8446] can authenticate the | such as Transport Layer Security (TLS) [RFC8446], can authenticate | |||
remote endpoint. However, little, if any, explicit information about | the remote endpoint. However, little, if any, explicit information | |||
the path is available to the endpoints, and any assumptions made | about the path is available to the endpoints, and any assumptions | |||
about that path often do not hold. These sometimes have serious | made about that path often do not hold. These sometimes have serious | |||
impacts on the application, as in the case with BGP hijacking | impacts on the application, as in the case with BGP hijacking | |||
attacks. | attacks. | |||
By contrast, in a path-aware internetworking architecture, endpoints | By contrast, in a path-aware internetworking architecture, endpoints | |||
can select or influence the path(s) through the network used by any | can select or influence the path(s) through the network used by any | |||
given packet or flow. The network and transport layers explicitly | given packet or flow. The network and transport layers explicitly | |||
expose information about the path or paths available to the endpoints | expose information about the path or paths available to the endpoints | |||
and to the applications running on them, so that they can make this | and to the applications running on them, so that they can make this | |||
selection. The Application Layer Traffic Optimization (ALTO) | selection. The Application-Layer Traffic Optimization (ALTO) | |||
protocol [RFC7285] can be seen as an example of a path-awareness | protocol [RFC7285] can be seen as an example of a path-awareness | |||
approach implemented in transport-layer terms on the present Internet | approach implemented in transport-layer terms on the present Internet | |||
protocol stack. | protocol stack. | |||
Path selection provides explicit visibility and control of network | Path selection provides explicit visibility and control of network | |||
treatment to applications and users of the network. This selection | treatment to applications and users of the network. This selection | |||
is available to the application, transport, and/or network layer | is available to the application-, transport-, and/or network-layer | |||
entities at each endpoint. Path control at the flow and subflow | entities at each endpoint. Path control at the flow and subflow | |||
level enables the design of new transport protocols that can leverage | level enables the design of new transport protocols that can leverage | |||
multipath connectivity across disjoint paths through the Internet, | multipath connectivity across disjoint paths through the Internet, | |||
even over a single physical interface. When exposed to applications, | even over a single physical interface. When exposed to applications, | |||
or to end-users through a system configuration interface, path | or to end users through a system configuration interface, path | |||
control allows the specification of constraints on the paths that | control allows the specification of constraints on the paths that | |||
traffic should traverse, for instance to confound passive | traffic should traverse, for instance to confound passive | |||
surveillance in the network core [RFC7624]. | surveillance in the network core [RFC7624]. | |||
We note that this property of "path awareness" already exists in many | We note that this property of "path awareness" already exists in many | |||
Internet-connected networks within single domains. Indeed, much of | Internet-connected networks within single domains. Indeed, much of | |||
the practice of network engineering using encapsulation at layer 3 | the practice of network engineering using encapsulation at layer 3 | |||
can be said to be "path aware", in that it explicitly assigns traffic | 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 | at tunnel endpoints to a given path within the network. Path-aware | |||
internetworking seeks to extend this awareness across domain | internetworking seeks to extend this awareness across domain | |||
boundaries without resorting to overlays, except as a transition | boundaries without resorting to overlays, except as a transition | |||
technology. | technology. | |||
This document presents a snapshot of open questions in this space | This document presents a snapshot of open questions in this space | |||
that will need to be answered in order to realize a path-aware | that will need to be answered in order to realize a path-aware | |||
internetworking architecture; it is published to further frame | internetworking architecture; it is published to further frame | |||
discussions within and outside the Path Aware Networking Research | discussions within and outside the Path Aware Networking Research | |||
Group, and is published with the rough consensus of that group. | Group, and is published with the rough consensus of that group. | |||
1.1. Definitions | 1.1. Definitions | |||
For purposes of this document, "path aware networking" describes | For purposes of this document, "path-aware networking" describes | |||
endpoint discovery of the properties of paths they use for | endpoint discovery of the properties of paths they use for | |||
communication across an internetwork, and endpoint reaction to these | communication across an internetwork, and endpoint reaction to these | |||
properties that affects routing and/or data transfer. Note that this | properties that affects routing and/or data transfer. Note that this | |||
can and already does happen to some extent in the current Internet | can and already does happen to some extent in the current Internet | |||
architecture; this definition expands current techniques of path | architecture; this definition expands current techniques of path | |||
discovery and manipulation to cross administrative domain boundaries | discovery and manipulation to cross administrative domain boundaries | |||
and up to the transport and application layers at the endpoints. | and up to the transport and application layers at the endpoints. | |||
Expanding on this definition, a "path aware internetwork" is one in | Expanding on this definition, a "path-aware internetwork" is one in | |||
which endpoint discovery of path properties and endpoint selection of | which endpoint discovery of path properties and endpoint selection of | |||
paths used by traffic exchanged by the endpoint are explicitly | paths used by traffic exchanged by the endpoint are explicitly | |||
supported, regardless of the specific design of the protocol features | supported regardless of the specific design of the protocol features | |||
which enable this discovery and selection. | that enable this discovery and selection. | |||
A "path", for the purposes of these definitions, is abstractly | A "path", for the purposes of these definitions, is abstractly | |||
defined as a sequence of adjacent path elements over which a packet | defined as a sequence of adjacent path elements over which a packet | |||
can be transmitted, where the definition of "path element" is | can be transmitted, where the definition of "path element" is | |||
technology-dependent. As this document is intended to pose questions | technology dependent. As this document is intended to pose questions | |||
rather than answer them, it assumes that this definition will be | rather than answer them, it assumes that this definition will be | |||
refined as part of the answer the first two questions it poses, about | refined as part of the answer to the first two questions it poses | |||
the vocabulary of path properties and how they are disseminated. | about the vocabulary of path properties and how they are | |||
disseminated. | ||||
Research into path aware internetworking covers any and all aspects | Research into path-aware internetworking covers any and all aspects | |||
of designing, building, and operating path aware internetworks or the | of designing, building, and operating path-aware internetworks or the | |||
networks and endpoints attached to them. This document presents a | networks and endpoints attached to them. This document presents a | |||
collection of research questions to address in order to make a path | collection of research questions to address in order to make a path- | |||
aware Internet a reality. | aware Internet a reality. | |||
2. Questions | 2. Questions | |||
Realizing path-aware networking requires answers to a set of open | Realizing path-aware networking requires answers to a set of open | |||
research questions. This document poses these questions, as a | research questions. This document poses these questions as a | |||
starting point for discussions about how to realize path awareness in | starting point for discussions about how to realize path awareness in | |||
the Internet, and to direct future research efforts within the Path | the Internet and to direct future research efforts within the Path | |||
Aware Networking Research Group. | Aware Networking Research Group. | |||
2.1. A Vocabulary of Path Properties | 2.1. A Vocabulary of Path Properties | |||
The first question: how are paths and path properties defined and | The first question: how are paths and path properties defined and | |||
represented? | represented? | |||
In order for information about paths to be exposed to an endpoint, | 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 | and for the endpoint to make use of that information, it is necessary | |||
to define a common vocabulary for paths through an internetwork, and | to define a common vocabulary for paths through an internetwork and | |||
properties of those paths. The elements of this vocabulary could | properties of those paths. The elements of this vocabulary could | |||
include terminology for components of a path and properties defined | include terminology for components of a path and properties defined | |||
for these components, for the entire path, or for subpaths of a path. | 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 | These properties may be relatively static, such as the presence of a | |||
given node or service function on the path; as well as relatively | given node or service function on the path, as well as relatively | |||
dynamic, such as the current values of metrics such as loss and | dynamic, such as the current values of metrics such as loss and | |||
latency. | latency. | |||
This vocabulary and its representation must be defined carefully, as | This vocabulary and its representation must be defined carefully, as | |||
its design will have impacts on the properties (e.g., expressiveness, | its design will have impacts on the properties (e.g., expressiveness, | |||
scalability, security) of a given path-aware internetworking | scalability, and security) of a given path-aware internetworking | |||
architecture. For example, a system that exposes node-level | architecture. For example, a system that exposes node-level | |||
information for the topology through each network would maximize | information for the topology through each network would maximize | |||
information about the individual components of the path at the | information about the individual components of the path at the | |||
endpoints, at the expense of making internal network topology | endpoints, at the expense of making internal network topology | |||
universally public, which may be in conflict with the business goals | universally public, which may be in conflict with the business goals | |||
of each network's operator. Furthermore, properties related to | of each network's operator. Furthermore, properties related to | |||
individual components of the path may change frequently and may | individual components of the path may change frequently and may | |||
quickly become outdated. However, aggregating the properties of | quickly become outdated. However, aggregating the properties of | |||
individual components to distill end-to-end properties for the entire | individual components to distill end-to-end properties for the entire | |||
path is not trivial. | path is not trivial. | |||
2.2. Discovery, Distribution, and Trustworthiness of Path Properties | 2.2. Discovery, Distribution, and Trustworthiness of Path Properties | |||
The second question: how do endpoints and applications get access to | The second question: how do endpoints and applications get access to | |||
accurate, useful, and trustworthy path properties? | accurate, useful, and trustworthy path properties? | |||
Once endpoints and networks have a shared vocabulary for expressing | Once endpoints and networks have a shared vocabulary for expressing | |||
path properties, the network must have some method for distributing | path properties, the network must have some method for distributing | |||
those path properties to the endpoints. Regardless of how path | those path properties to the endpoints. Regardless of how path | |||
property information is distributed, the endpoints require a method | property information is distributed, the endpoints require a method | |||
to authenticate the properties -- to determine that they originated | to authenticate the properties in order to determine that they | |||
from and pertain to the path that they purport to. | originated from and pertain to the path that they purport to. | |||
Choices in distribution and authentication methods will have impacts | Choices in distribution and authentication methods will have impacts | |||
on the scalability of a path-aware architecture. Possible dimensions | on the scalability of a path-aware architecture. Possible dimensions | |||
in the space of distribution methods include in-band versus out-of- | in the space of distribution methods include in band versus out of | |||
band, push versus pull versus publish-subscribe, and so on. There | band, push versus pull versus publish subscribe, and so on. There | |||
are temporal issues with path property dissemination as well, | are temporal issues with path property dissemination as well, | |||
especially with dynamic properties, since the measurement or | especially with dynamic properties, since the measurement or | |||
elicitation of dynamic properties may be outdated by the time that | elicitation of dynamic properties may be outdated by the time that | |||
information is available at the endpoints, and interactions between | information is available at the endpoints, and interactions between | |||
the measurement and dissemination delay may exhibit pathological | the measurement and dissemination delay may exhibit pathological | |||
behavior for unlucky points in the parameter space. | behavior for unlucky points in the parameter space. | |||
2.3. Supporting Path Selection | 2.3. Supporting Path Selection | |||
The third question: how can endpoints select paths to use for traffic | 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 | in a way that can be trusted by the network, the endpoints, and the | |||
applications using them? | applications using them? | |||
Access to trustworthy path properties is only half of the challenge | Access to trustworthy path properties is only half of the challenge | |||
in establishing a path-aware architecture. Endpoints must be able to | in establishing a path-aware architecture. Endpoints must be able to | |||
use this information in order to select paths for specific traffic | use this information in order to select paths for specific traffic | |||
they send. As with the dissemination of path properties, choices | they send. As with the dissemination of path properties, choices | |||
made in path selection methods will also have an impact on the | made in path-selection methods will also have an impact on the trade- | |||
tradeoff between scalability and expressiveness of a path-aware | off between scalability and expressiveness of a path-aware | |||
architecture. One key choice here is between in-band and out-of-band | architecture. One key choice here is between in-band and out-of-band | |||
control of path selection. Another is granularity of path selection | control of path selection. Another is granularity of path selection | |||
(whether per packet, per flow, or per larger aggregate), which also | (whether per packet, per flow, or per larger aggregate), which also | |||
has a large impact on the scalabilty/expressiveness tradeoff. Path | has a large impact on the scalability/expressiveness trade-off. Path | |||
selection must, like path property information, be trustworthy, such | selection must, like path property information, be trustworthy, such | |||
that the result of a path selection at an endpoint is predictable. | that the result of a path selection at an endpoint is predictable. | |||
Moreover, any path selection mechanism should aim to provide an | Moreover, any path-selection mechanism should aim to provide an | |||
outcome that is not worse than using a single path, or selecting | outcome that is not worse than using a single path or selecting paths | |||
paths at random. | at random. | |||
Path selection may be exposed in terms of the properties of the path | 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 | 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 | may be identified at any of multiple layers (e.g., routing domain | |||
identifier, network layer address, higher-layer identifier or name, | identifier, network-layer address, higher-layer identifier or name, | |||
and so on). In this case, care must be taken to present semantically | and so on). In this case, care must be taken to present semantically | |||
useful information to those making decisions about which path(s) to | useful information to those making decisions about which path(s) to | |||
trust. | trust. | |||
2.4. Interfaces for Path Awareness | 2.4. Interfaces for Path Awareness | |||
The fourth question: how can interfaces among the network, transport, | The fourth question: how can interfaces among the network, transport, | |||
and application layers support the use of path awareness? | and application layers support the use of path awareness? | |||
In order for applications to make effective use of a path-aware | In order for applications to make effective use of a path-aware | |||
networking architecture, the control interfaces presented by the | networking architecture, the control interfaces presented by the | |||
network and transport layers must also expose path properties to 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 | application in a useful way, and provide a useful set of paths among | |||
which the application can select. Path selection must be possible | which the application can select. Path selection must be possible | |||
based not only on the preferences and policies of the application | based not only on the preferences and policies of the application | |||
developer, but of end-users as well. Also, the path selection | developer, but of end users as well. Also, the path-selection | |||
interfaces presented to applications and end users will need to | interfaces presented to applications and end users will need to | |||
support multiple levels of granularity. Most applications' | support multiple levels of granularity. Most applications' | |||
requirements can be satisfied with the expression of path selection | requirements can be satisfied with the expression of path-selection | |||
policies in terms of properties of the paths, while some applications | policies in terms of properties of the paths, while some applications | |||
may need finer-grained, per-path control. These interfaces will need | may need finer-grained, per-path control. These interfaces will need | |||
to support incremental development and deployment of applications, | to support incremental development and deployment of applications, | |||
and provide sensible defaults, to avoid hindering their adoption. | and provide sensible defaults, to avoid hindering their adoption. | |||
2.5. Implications of Path Awareness for the Transport and Application | 2.5. Implications of Path Awareness for the Transport and Application | |||
Layers | Layers | |||
The fifth question: how should transport-layer and higher layer | The fifth question: how should transport-layer and higher-layer | |||
protocols be redesigned to work most effectively over a path-aware | protocols be redesigned to work most effectively over a path-aware | |||
networking layer? | networking layer? | |||
In the current Internet, the basic assumption that at a given time | In the current Internet, the basic assumption that at a given time | |||
all traffic for a given flow will receive the same network treatment | all traffic for a given flow will receive the same network treatment | |||
and traverse the same path or equivalend paths often holds. In a | and traverse the same path or equivalent paths often holds. In a | |||
path aware network, this assumption is more easily violated. The | path-aware network, this assumption is more easily violated. The | |||
weakening of this assumption has implications for the design of | weakening of this assumption has implications for the design of | |||
protocols above any path-aware network layer. | protocols above any path-aware network layer. | |||
For example, one advantage of multipath communication is that a given | For example, one advantage of multipath communication is that a given | |||
end-to-end flow can be "sprayed" along multiple paths in order to | end-to-end flow can be "sprayed" along multiple paths in order to | |||
confound attempts to collect data or metadata from those flows for | confound attempts to collect data or metadata from those flows for | |||
pervasive surveillance purposes [RFC7624]. However, the benefits of | pervasive surveillance purposes [RFC7624]. However, the benefits of | |||
this approach are reduced if the upper-layer protocols use linkable | this approach are reduced if the upper-layer protocols use linkable | |||
identifiers on packets belonging to the same flow across different | identifiers on packets belonging to the same flow across different | |||
paths. Clients may mitigate linkability by opting to not re-use | paths. Clients may mitigate linkability by opting to not reuse | |||
cleartext connection identifiers, such as TLS session IDs or tickets, | cleartext connection identifiers, such as TLS session IDs or tickets, | |||
on separate paths. The privacy-conscious strategies required for | on separate paths. The privacy-conscious strategies required for | |||
effective privacy in a path-aware Internet are only possible if | effective privacy in a path-aware Internet are only possible if | |||
higher-layer protocols such as TLS permit clients to obtain | higher-layer protocols such as TLS permit clients to obtain | |||
unlinkable identifiers. | unlinkable identifiers. | |||
2.6. What is an Endpoint? | 2.6. What is an Endpoint? | |||
The sixth question: how is path awareness (in terms of vocabulary and | The sixth question: how is path awareness (in terms of vocabulary and | |||
interfaces) different when applied to tunnel and overlay endpoints? | interfaces) different when applied to tunnel and overlay endpoints? | |||
skipping to change at page 8, line 8 ¶ | skipping to change at line 324 ¶ | |||
and so on). However, incremental deployment may require that a path- | and so on). However, incremental deployment may require that a path- | |||
aware network "core" be used to interconnect islands of legacy | aware network "core" be used to interconnect islands of legacy | |||
protocol networks. In these cases, it is the gateways, not the | protocol networks. In these cases, it is the gateways, not the | |||
application endpoints, that receive path properties and make path | application endpoints, that receive path properties and make path | |||
selections for that traffic. The interfaces provided by this gateway | selections for that traffic. The interfaces provided by this gateway | |||
are necessarily different than those a path-aware networking layer | are necessarily different than those a path-aware networking layer | |||
provides to its transport and application layers, and the path | provides to its transport and application layers, and the path | |||
property information the gateway needs and makes available over those | property information the gateway needs and makes available over those | |||
interfaces may also be different. | interfaces may also be different. | |||
2.7. Operating a Path Aware Network | 2.7. Operating a Path-Aware Network | |||
The seventh question: how can a path aware network in a path aware | The seventh question: how can a path-aware network in a path-aware | |||
internetwork be effectively operated, given control inputs from | internetwork be effectively operated, given control inputs from | |||
network administrators, application designers, and end users? | network administrators, application designers, and end users? | |||
The network operations model in the current Internet architecture | The network operations model in the current Internet architecture | |||
assumes that traffic flows are controlled by the decisions and | assumes that traffic flows are controlled by the decisions and | |||
policies made by network operators, as expressed in interdomain and | policies made by network operators as expressed in interdomain and | |||
intradomain routing protocols. In a network providing path selection | intradomain routing protocols. In a network providing path selection | |||
to the endpoints, however, this assumption no longer holds, as | to the endpoints, however, this assumption no longer holds, as | |||
endpoints may react to path properties by selecting alternate paths. | endpoints may react to path properties by selecting alternate paths. | |||
Competing control inputs from path-aware endpoints and the routing | Competing control inputs from path-aware endpoints and the routing | |||
control plane may lead to more difficult traffic engineering or | control plane may lead to more difficult traffic engineering or non- | |||
nonconvergent forwarding, especially if the endpoints' and operators' | convergent forwarding, especially if the endpoints' and operators' | |||
notion of the "best" path for given traffic diverges significantly. | notion of the "best" path for given traffic diverges significantly. | |||
The degree of difficulty may depend on the fidelity of information | The degree of difficulty may depend on the fidelity of information | |||
made available to path selection algorithms at the endpoints. | made available to path-selection algorithms at the endpoints. | |||
Explicit path selection can also specify outbound paths, while BGP | Explicit path selection can also specify outbound paths, while BGP | |||
policies are expressed in terms of inbound traffic. | policies are expressed in terms of inbound traffic. | |||
A concept for path aware network operations will need to have clear | A concept for path-aware network operations will need to have clear | |||
methods for the resolution of apparent (if not actual) conflicts of | methods for the resolution of apparent (if not actual) conflicts of | |||
intent between the network's operator and the path selection at an | intent between the network's operator and the path selection at an | |||
endpoint. It will also need set of safety principles to ensure that | endpoint. It will also need a set of safety principles to ensure | |||
increasing path control does not lead to decreasing connectivity; one | that increasing path control does not lead to decreasing | |||
such safety principle could be "the existence of at least one path | connectivity; one such safety principle could be "the existence of at | |||
between two endpoints guarantees the selection of at least one path | least one path between two endpoints guarantees the selection of at | |||
between those endpoints." | least one path between those endpoints." | |||
2.8. Deploying a Path Aware Network | 2.8. Deploying a Path-Aware Network | |||
The eighth question: how can the incentives of network operators and | The eighth question: how can the incentives of network operators and | |||
end-users be aligned to realize the vision of path aware networking, | end users be aligned to realize the vision of path-aware networking, | |||
and how can the transition from current ("path-oblivious") to path- | and how can the transition from current ("path-oblivious") to path- | |||
aware networking be managed? | aware networking be managed? | |||
The vision presented in the introduction discusses path aware | The vision presented in the introduction discusses path-aware | |||
networking from the point of view of the benefits accruing at the | networking from the point of view of the benefits accruing at the | |||
endpoints, to designers of transport protocols and applications as | endpoints, to designers of transport protocols and applications as | |||
well as to the end users of those applications. However, this vision | well as to the end users of those applications. However, this vision | |||
requires action not only at the endpoints but also within the | requires action not only at the endpoints but also within the | |||
interconnected networks offering path aware connectivity. While the | interconnected networks offering path-aware connectivity. While the | |||
specific actions required are a matter of the design and | specific actions required are a matter of the design and | |||
implementation of a specific realization of a path aware protocol | implementation of a specific realization of a path-aware protocol | |||
stack, it is clear than any path aware architecture will require | stack, it is clear that any path-aware architecture will require | |||
network operators to give up some control of their networks over to | network operators to give up some control of their networks over to | |||
endpoint-driven control inputs. | endpoint-driven control inputs. | |||
Here the question of apparent versus actual conflicts of intent | Here, the question of apparent versus actual conflicts of intent | |||
arises again: certain network operations requirements may appear | arises again: certain network operation requirements may appear | |||
essential, but are merely accidents of the interfaces provided by | essential but are merely accidents of the interfaces provided by | |||
current routing and management protocols. For example, related (but | current routing and management protocols. For example, related (but | |||
adjacent) to path aware networking, the widespread use of the TCP | adjacent) to path-aware networking, the widespread use of the TCP | |||
wire image [RFC8546] in network monitoring for DDoS prevention | wire image [RFC8546] in network monitoring for DDoS prevention | |||
appears in conflict with the deployment of encrypted transports, only | appears in conflict with the deployment of encrypted transports, only | |||
because path signaling [RFC8558] has been implicit in the deployment | because path signaling [RFC8558] has been implicit in the deployment | |||
of past transport protocols. | of past transport protocols. | |||
Similarly, incentives for deployment must show how existing network | Similarly, incentives for deployment must show how existing network | |||
operations requirements are met through new path selection and | operation requirements are met through new path selection and | |||
property dissemination mechanisms. | property dissemination mechanisms. | |||
The incentives for network operators and equipment vendors need to be | The incentives for network operators and equipment vendors need to be | |||
made clear, in terms of a plan to transition [RFC8170] an | made clear, in terms of a plan to transition [RFC8170] an | |||
internetwork to path-aware operation, one network and facility at a | internetwork to path-aware operation, one network and facility at a | |||
time. This plan to transition must also take into account that the | time. This plan to transition must also take into account that the | |||
dynamics of path aware networking early in this transition (when few | dynamics of path-aware networking early in this transition (when few | |||
endpoints and flows in the Internet use path selection) may be | endpoints and flows in the Internet use path selection) may be | |||
different than those later in the transition. | different than those later in the transition. | |||
Aspects of data security and information management in a network that | Aspects of data security and information management in a network that | |||
explicitly radiates more information about the network's deployment | explicitly radiates more information about the network's deployment | |||
and configuration, and implicitly radiates information about endpoint | and configuration, and implicitly radiates information about endpoint | |||
configuration and preference through path selection, must also be | configuration and preference through path selection, must also be | |||
addressed. | addressed. | |||
3. Acknowledgments | 3. Informative References | |||
Many thanks to Adrian Perrig, Jean-Pierre Smith, Mirja Kuehlewind, | ||||
Olivier Bonaventure, Martin Thomson, Shwetha Bhandari, Chris Wood, | ||||
Lee Howard, Mohamed Boucadair, Thorben Krueger, 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. | ||||
4. Informative References | ||||
[RFC4655] Farrel, A., Vasseur, J.-P., and J. Ash, "A Path | [RFC4655] Farrel, A., Vasseur, J.-P., and J. Ash, "A Path | |||
Computation Element (PCE)-Based Architecture", RFC 4655, | Computation Element (PCE)-Based Architecture", RFC 4655, | |||
DOI 10.17487/RFC4655, August 2006, | DOI 10.17487/RFC4655, August 2006, | |||
<https://www.rfc-editor.org/rfc/rfc4655>. | <https://www.rfc-editor.org/info/rfc4655>. | |||
[RFC7285] Alimi, R., Ed., Penno, R., Ed., Yang, Y., Ed., Kiesel, S., | [RFC7285] Alimi, R., Ed., Penno, R., Ed., Yang, Y., Ed., Kiesel, S., | |||
Previdi, S., Roome, W., Shalunov, S., and R. Woundy, | Previdi, S., Roome, W., Shalunov, S., and R. Woundy, | |||
"Application-Layer Traffic Optimization (ALTO) Protocol", | "Application-Layer Traffic Optimization (ALTO) Protocol", | |||
RFC 7285, DOI 10.17487/RFC7285, September 2014, | RFC 7285, DOI 10.17487/RFC7285, September 2014, | |||
<https://www.rfc-editor.org/rfc/rfc7285>. | <https://www.rfc-editor.org/info/rfc7285>. | |||
[RFC7624] Barnes, R., Schneier, B., Jennings, C., Hardie, T., | [RFC7624] Barnes, R., Schneier, B., Jennings, C., Hardie, T., | |||
Trammell, B., Huitema, C., and D. Borkmann, | Trammell, B., Huitema, C., and D. Borkmann, | |||
"Confidentiality in the Face of Pervasive Surveillance: A | "Confidentiality in the Face of Pervasive Surveillance: A | |||
Threat Model and Problem Statement", RFC 7624, | Threat Model and Problem Statement", RFC 7624, | |||
DOI 10.17487/RFC7624, August 2015, | DOI 10.17487/RFC7624, August 2015, | |||
<https://www.rfc-editor.org/rfc/rfc7624>. | <https://www.rfc-editor.org/info/rfc7624>. | |||
[RFC8170] Thaler, D., Ed., "Planning for Protocol Adoption and | [RFC8170] Thaler, D., Ed., "Planning for Protocol Adoption and | |||
Subsequent Transitions", RFC 8170, DOI 10.17487/RFC8170, | Subsequent Transitions", RFC 8170, DOI 10.17487/RFC8170, | |||
May 2017, <https://www.rfc-editor.org/rfc/rfc8170>. | May 2017, <https://www.rfc-editor.org/info/rfc8170>. | |||
[RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol | [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol | |||
Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | |||
<https://www.rfc-editor.org/rfc/rfc8446>. | <https://www.rfc-editor.org/info/rfc8446>. | |||
[RFC8546] Trammell, B. and M. Kuehlewind, "The Wire Image of a | [RFC8546] Trammell, B. and M. Kuehlewind, "The Wire Image of a | |||
Network Protocol", RFC 8546, DOI 10.17487/RFC8546, April | Network Protocol", RFC 8546, DOI 10.17487/RFC8546, April | |||
2019, <https://www.rfc-editor.org/rfc/rfc8546>. | 2019, <https://www.rfc-editor.org/info/rfc8546>. | |||
[RFC8558] Hardie, T., Ed., "Transport Protocol Path Signals", | [RFC8558] Hardie, T., Ed., "Transport Protocol Path Signals", | |||
RFC 8558, DOI 10.17487/RFC8558, April 2019, | RFC 8558, DOI 10.17487/RFC8558, April 2019, | |||
<https://www.rfc-editor.org/rfc/rfc8558>. | <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 | Author's Address | |||
Brian Trammell | Brian Trammell | |||
Google Switzerland GmbH | Google Switzerland GmbH | |||
Gustav-Gull-Platz 1 | Gustav-Gull-Platz 1 | |||
CH- 8004 Zurich | CH-8004 Zurich | |||
Switzerland | Switzerland | |||
Email: ietf@trammell.ch | Email: ietf@trammell.ch | |||
End of changes. 70 change blocks. | ||||
153 lines changed or deleted | 142 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |