<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>


<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-irtf-panrg-questions-12" number="9217" tocInclude="true" sortRefs="true" symRefs="true" obsoletes="" updates="" submissionType="IRTF" category="info" consensus="true" xml:lang="en" version="3">

  
  <front>
    <title abbrev="PAN Questions">Current Open Questions in Path-Aware Networking</title>
    <seriesInfo name="RFC" value="9217"/>
    <author initials="B." surname="Trammell" fullname="Brian Trammell">
      <organization>Google Switzerland GmbH</organization>
      <address>
        <postal>
          <street>Gustav-Gull-Platz 1</street>
          <city>Zurich</city>
          <code>8004</code>
          <country>Switzerland</country>
        </postal>
        <email>ietf@trammell.ch</email>
      </address>
    </author>
    <date year="2022" month="March"/>
    <workgroup>Path Aware Networking</workgroup>

    <abstract>
      <t>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.</t>

      <t>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.</t>
    </abstract>
  </front>
  <middle>

    <section anchor="intro" numbered="true" toc="default">
      <name>Introduction to Path-Aware Networking</name>
      <t>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) <xref
      target="RFC4655" format="default"/> and Software-Defined Wide Area
      Network (SD-WAN) <xref target="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.</t>
      <t>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) <xref target="RFC8446"
      format="default"/>, 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.</t>
      <t>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
      <xref target="RFC7285" format="default"/> can be seen as an example of a
      path-awareness approach implemented in transport-layer terms on the
      present Internet protocol stack.</t>
      <t>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
<xref target="RFC7624" format="default"/>.</t>
      <t>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.</t>
      <t>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.</t>
      <section anchor="definitions" numbered="true" toc="default">
        <name>Definitions</name>
        <t>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.</t>
        <t>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.</t>
        <t>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.</t>
        <t>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.</t>
      </section>
    </section>
    <section anchor="questions" numbered="true" toc="default">
      <name>Questions</name>
      <t>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.</t>
      <section anchor="a-vocabulary-of-path-properties" numbered="true" toc="default">
        <name>A Vocabulary of Path Properties</name>
        <t>The first question: how are paths and path properties defined and represented?</t>
        <t>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.</t>
        <t>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.</t>
      </section>
      <section anchor="discovery-distribution-and-trustworthiness-of-path-properties" numbered="true" toc="default">
        <name>Discovery, Distribution, and Trustworthiness of Path Properties</name>
        <t>The second question: how do endpoints and applications get access to accurate,
useful, and trustworthy path properties?</t>
        <t>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.</t>
        <t>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.</t>
      </section>
      <section anchor="supporting-path-selection" numbered="true" toc="default">
        <name>Supporting Path Selection</name>
        <t>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?</t>
        <t>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.</t>
        <t>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.</t>
      </section>
      <section anchor="interfaces-for-path-awareness" numbered="true" toc="default">
        <name>Interfaces for Path Awareness</name>
        <t>The fourth question: how can interfaces among the network,
        transport, and application layers support the use of path
        awareness?</t>
        <t>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.</t>
      </section>
      <section anchor="implications-of-path-awareness-for-the-transport-and-application-layers" numbered="true" toc="default">
        <name>Implications of Path Awareness for the Transport and Application Layers</name>
        <t>The fifth question: how should transport-layer and higher-layer
        protocols be redesigned to work most effectively over a path-aware
        networking layer?</t>
        <t>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.</t>
        <t>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 <xref target="RFC7624" format="default"/>. 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.</t>
      </section>
      <section anchor="what-is-an-endpoint" numbered="true" toc="default">
        <name>What is an Endpoint?</name>
        <t>The sixth question: how is path awareness (in terms of vocabulary and
interfaces) different when applied to tunnel and overlay endpoints?</t>
        <t>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.</t>
      </section>
      <section anchor="operating-a-path-aware-network" numbered="true" toc="default">
        <name>Operating a Path-Aware Network</name>
        <t>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?</t>
        <t>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.</t>
        <t>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."</t>
      </section>
      <section anchor="deploying-a-path-aware-network" numbered="true" toc="default">
        <name>Deploying a Path-Aware Network</name>
        <t>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?</t>
        <t>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.</t>
        <t>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 <xref target="RFC8546" format="default"/> in network monitoring
        for DDoS prevention appears in conflict with the deployment of
        encrypted transports, only because path signaling <xref
        target="RFC8558" format="default"/> has been implicit in the
        deployment of past transport protocols.</t>
        <t>Similarly, incentives for deployment must show how existing network
        operation requirements are met through new path selection and property
        dissemination mechanisms.</t>
        <t>The incentives for network operators and equipment vendors need to
        be made clear, in terms of a plan to transition <xref target="RFC8170"
        format="default"/> 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.</t>
        <t>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.</t>
      </section>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
<t>This document has no IANA actions.
</t>
    </section>

        <section anchor="security">
      <name>Security and Privacy Considerations</name>


      <t>
	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 (<xref
	target="discovery-distribution-and-trustworthiness-of-path-properties"/>)
	are most security-relevant.
</t>

	</section>

  </middle>
  <back>
    <references>
      <name>Informative References</name>

<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4655.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8446.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7285.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7624.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8546.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8558.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8170.xml"/>

 <reference anchor="MEF70" target='https://www.mef.net/wp-content/uploads/2019/07/MEF-70.pdf'>
          <front>
            <title>SD-WAN Service Attributes and Services</title>
            <author >
              <organization>MEF</organization>
            </author>
            <date month="July" year="2019"/>
          </front>
	  <refcontent>MEF Standard</refcontent>
	  <seriesInfo  name="MEF" value="70"/>
        </reference>
    </references>

    <section anchor="acknowledgments" numbered="false" toc="default">
      <name>Acknowledgments</name>
      <t>Many thanks to <contact fullname="Adrian Perrig"/>, <contact
      fullname="Jean-Pierre Smith"/>, <contact fullname="Mirja Kühlewind"/>,
      <contact fullname="Olivier Bonaventure"/>, <contact fullname="Martin
      Thomson"/>, <contact fullname="Shwetha Bhandari"/>, <contact
      fullname="Chris Wood"/>, <contact fullname="Lee Howard"/>, <contact
      fullname="Mohamed Boucadair"/>, <contact fullname="Thorben Krüger"/>,
      <contact fullname="Gorry Fairhurst"/>, <contact fullname="Spencer
      Dawkins"/>, <contact fullname="Reese Enghardt"/>, <contact
      fullname="Laurent Ciavaglia"/>, <contact fullname="Stephen Farrell"/>,
      and <contact fullname="Richard Yang"/> for discussions leading to
      questions in this document and for feedback on the document itself.</t>
      <t>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.</t>
    </section>

  </back>

</rfc>
