<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.30 (Ruby 3.4.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-altanai-tsv-multipath-nested-tunnels-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="Multipath Tunnel Selection">Congestion-Aware Multipath Tunnel Selection for Transport Services</title>
    <seriesInfo name="Internet-Draft" value="draft-altanai-tsv-multipath-nested-tunnels-00"/>
    <author fullname="Altanai Bisht">
      <organization>Cisco Meraki</organization>
      <address>
        <email>albisht@cisco.com</email>
      </address>
    </author>
    <date year="2025" month="October" day="14"/>
    <area>tsv</area>
    <workgroup>tsvwg</workgroup>
    <keyword>MASQUE</keyword>
    <keyword>VPN</keyword>
    <keyword>IPSec</keyword>
    <keyword>Congestion Control</keyword>
    <keyword>ECN</keyword>
    <keyword>Multipath</keyword>
    <keyword>Transport Services</keyword>
    <abstract>
      <?line 197?>

<t>This document addresses the transport-layer challenges of path selection in environments with multiple available tunneling options and congestion control mechanisms. It identifies congestion control conflicts that arise from nested tunneling protocols and proposes a congestion-aware multipath tunnel selection algorithm that conforms to the guidelines established in <xref target="RFC9599"/> for adding congestion notification to protocols that encapsulate IP. The proposed approach considers Explicit Congestion Notification (ECN) propagation, transport protocol characteristics, and network conditions to optimize path selection while avoiding multilevel congestion control issues. This work aligns with current Transport and Services Working Group efforts on Non-Queue-Building (NQB) behaviors, careful congestion control resume, and multipath transport protocols.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://altanai.github.io/tunnel-path-selection/draft-altanai-tsv-multipath-nested-tunnels.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-altanai-tsv-multipath-nested-tunnels/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        tsvwg WG mailing list (<eref target="mailto:tsvwg@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/tsvwg/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/tsvwg/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/altanai/tunnel-path-selection"/>.</t>
    </note>
  </front>
  <middle>
    <?line 202?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>A path for sending data across a network can consist of a combination of many factors such as uplink, application layer protocol, tunneling protocol among others. For example TLS  operates above the network layer, SSH and Secure Real-time Transport Protocol (SRTP) <xref target="RFC5764"/> operates at the application layer to carry data. Stream Control Transmission Protocol (SCTP), intended to tunnel signaling messages over IP networks, can encapsulate data as well. Tunneling can build a secure interconnection called Virtual Private Network(VPN) that provides a private subnet to pass traffic between the tunneled endpoints. This setup caters to enterprises and small private home networks alike. The protocols for such network level tunneling may include GRE, L2P, IPSec, WireGuard, OpenVPN and even proprietary protocols such as AutoVPN or custom implementtion over DTLS. Now multiple proxied stream- and datagram-based flows are possible inside an HTTP connection through the MASQUE which is build on QUIC. However there may be real world use-cases where network tunnels could nest application tunnels, which leads to large overheads in latency and quality of data.</t>
      <section anchor="fundamental-differences-tunneled-vs-non-tunneled-traffic-path-selection">
        <name>Fundamental Differences: Tunneled vs Non-Tunneled Traffic Path Selection</name>
        <t>Path selection for tunneled traffic operates under fundamentally different constraints and objectives compared to open internet traffic:</t>
        <t>Open internet traffic path selection is primarily controlled by either Applications (CDN selection, server choice) or Client-side networking stacks (Happy Eyeballs, etc.). To some extend user preferences and browser settings also play a role.
Over this the Internet Service Providers may further controlouting policies and peering agreements and add their propertiary Traffic engineering algorithms.</t>
        <t>Tunneled traffic path selection is primarily governed by enterprise or service provider security policies. These policies determine which traffic must be tunneled for compliance or security reasons along with geographic or jurisdictional routing constraints. The data sovereignty and privacy protection requirements apply strongly to secure networks service providers. For this reason Network service providers (NSPs) maintain strict control over tunneled traffic routing through:
- Dedicated tunnel infrastructure with specific performance guarantees
- Policy-based routing that may override optimal path selection for security
- Service Level Agreement (SLA) enforcement mechanisms
- Centralized management
- predtermined ingress and egress points
Unlike open internet traffic where applications can freely choose destinations, tunneled traffic has limited Endpoint Flexibility.</t>
      </section>
      <section anchor="current-path-selection-challenges">
        <name>Current Path Selection Challenges</name>
        <t>Today's heterogeneous networking landscape presents critical path selection challenges that span across multi-cloud environments, SASE architectures, and ISP networks, where vendors employ fundamentally incompatible approaches for routing incoming traffic flows. Multi-cloud deployments (AWS, Azure, Google Cloud so on ) suffer from inconsistent path selection decisions as traffic traverses between theirs and other's cloud providers, each implementing proprietary routing algorithms that optimize for local rather than global performance. SASE architectures compound these challenges by attenmpting to integrate  networking and security functions across multiple vendor solutions, yet current path selection mechanisms fail to coordinate effectively between edge security appliances, SD-WAN controllers, and cloud security services. Meanwhile, ISPs and network service providers continue to rely on fragmented approaches—ranging from load balancing across multiple paths to sophisticated ML-based traffic classification and queing—but these vendor-specific implementations lack standardization and interoperability, creating significant operational complexity and suboptimal performance when traffic flows cross vendor boundaries in modern hybrid network deployments.</t>
        <t>The key challenge is developing a standardized algorithm that can operate within the constraints of tunneled traffic while providing optimal performance, unlike open internet traffic where applications and ISPs have more flexibility in path selection decisions.</t>
        <section anchor="vendor-interoperability">
          <name>Vendor Interoperability Challenges</name>
          <t>When different vendors implement proprietary or incompatible path selection algorithms, several critical disadvantages emerge that significantly impact network operations and performance:</t>
          <section anchor="inconsistent-traffic-behavior-across-vendor-boundaries">
            <name>1. Inconsistent Traffic Behavior Across Vendor Boundaries</name>
            <t>Different vendor implementations may make contradictory path selection decisions for the same traffic flow, leading to conflicts and worst Suboptimal Routing where traffic may take longer, more expensive, or less reliable paths when crossing vendor boundaries.
This leads to performance Oscillation and inconsistencies across vendor implementations.</t>
            <t><strong>Example Scenario</strong>: A flow from Vendor A's SD-WAN appliance to Vendor B's tunnel endpoint may experience optimal path selection within Vendor A's domain but suboptimal selection when entering Vendor B's infrastructure due to incompatible metrics and decision criteria.</t>
          </section>
          <section anchor="operational-complexity-and-management-overhead">
            <name>2. Operational Complexity and Management Overhead</name>
            <t>Network operators face significant challenges with multiple proprietary path selection implementation across multi-vendor deployments. The challenges not only include tracking but synchoirnizing any updates. Incompatible algorithms from different vendors lead to redundant Path Probing where Multiple vendors may independently probe the same paths, consuming bandwidth and generating unnecessary traffic, thus duplicate discovery processes.  This makes troubleshoting tough ans also deuplicate configurations.  This further leads to computational overhead leading to inconsistent resource utilization and cache inefficiency due to no decision sharing among vendors.</t>
            <t>Network-Wide Suboptimization is another concern as Vendor algorithms optimizing for local criteria may create network-wide inefficiencies and Load Balancing Imbalances leading to uneven traffic distribution and congestion hotspots. Unpredictable path selection behavior makes accurate capacity planning difficult for everyone.</t>
          </section>
          <section anchor="security-and-compliance-risks">
            <name>3. Security and Compliance Risks</name>
            <t>Policy Enforcement Gaps based on varied interpretion makes may inadvertently route traffic through non-compliant paths or jurisdictions
Multiple proprietary implementations increase the overall attack surface as Vendor-specific path selection patterns may reveal sensitive network topology or traffic information.</t>
            <t>Proprietary unstandardised best path selection algorithms create dependencies resulting in increased Total Cost of Ownership (TCO) through vendor lock-in. Service quality degradation occurs through inconsistent user experiences with varying service quality depending on which vendor's equipment handles their traffic. Unpredictable path selection behavior also makes it difficult to guarantee service level agreements and createing network  continuity risks. Furthermore, this artificial differentiation fragments innovation as vendor-specific implementations prevent collaborative development of industry-wide improvements, create interoperability stagnation, and establish barriers to technology evolution.</t>
          </section>
        </section>
        <section anchor="the-need-for-standardization">
          <name>The Need for Standardization</name>
          <t>These disadvantages collectively demonstrate the critical importance of standardized path selection algorithms that can ensure consistent behavior by providing predictable path selection decisions across vendor boundaries, enable interoperability through seamless integration of multi-vendor network infrastructure, reduce operational complexity and enable global optimization rather than vendor-specific local optimization, and enhance security through consistent policy enforcement and threat response across all network elements.</t>
          <section anchor="path-discovery-overhead-and-resulting-conflicts">
            <name>Path discovery overhead and resulting conflicts</name>
            <t>The absence of standardized path selection algorithms creates significant overhead in discovering optimal paths and leads to widespread fragmentation challenges across heterogeneous tunnel deployments. When networking protocols use hole punching to establish paths between endpoints and multiple tunnels are formed for primary-standby or load sharing configurations, each vendor implements proprietary Path MTU Discovery (PMTUD) mechanisms that operate independently and often conflict with each other. This lack of coordination results in redundant path probing, where multiple vendors simultaneously attempt to discover the same path characteristics, consuming valuable bandwidth and generating unnecessary control traffic. The fragmentation problem is particularly acute because nested tunnels greatly impact traffic quality, with each encapsulation layer introducing additional headers that reduce the effective payload size, leading to frequent fragmentation and defragmentation cycles that increase computational overhead especially for time-sensitive applications operating under limited bandwidth constraints.</t>
            <t>While <xref target="RFC9868"/> Transport Options for UDP provides mechanisms for enhanced path characteristic discovery through embedded metrics, congestion state signaling, and capability advertisement within regular data packets, UDP options-based signaling falls fundamentally short in addressing the core challenges of optimal path selection in multi-vendor environments. The UDP options approach suffers from limited cross-vendor coordination where different implementations may interpret or prioritize the embedded path quality indicators differently. Furthermore, the DPLPMTUD implementation through UDP options designed to minimize fragmentation-related overhead becomes ineffective when vendors use incompatible fragmentation strategies or fail to coordinate MTU discovery across nested tunnel layers, resulting in suboptimal path selections that may actually increase rather than decrease fragmentation.</t>
            <t>The inadequacy becomes evident in complex multi-vendor scenarios where algorithm negotiation, ECN propagation and conflict detection mechanisms fail to provide the comprehensive coordination needed for truly globally optimal path selection. Even with sophisticated features like authenticated ECN marking propagation through nested tunnel layers and active identification of congestion control interference, the fundamental problem remains that these mechanisms operate in isolation without a standardized framework for making unified path selection decisions. This fragmentation of approaches leads to situations where UDP options may indicate one path as optimal based on embedded metrics, while vendor-specific algorithms select different paths based on proprietary criteria, resulting in inconsistent path selection behavior** that undermines the very benefits that UDP options were designed to provide. The lack of a unified decision-making framework means that even advanced signaling capabilities cannot overcome the coordination challenges inherent in multi-vendor tunnel deployments, necessitating the standardized path selection algorithm proposed in this document.</t>
          </section>
        </section>
        <section anchor="congestion">
          <name>Multilevel Congestion Control and ECN Propagation</name>
          <t>Nested tunneling protocols create significant challenges for congestion control mechanisms, particularly when multiple layers independently attempt to manage network congestion. This section addresses these challenges in accordance with <xref target="RFC9599"/> guidelines that add congestion notification to protocols that encapsulate IP. When transport protocols are tunneled within other transport protocols, multiple congestion control loops can interfere with each other, creating a complex interaction where the inner transport congestion control (e.g., TCP or QUIC) implements its own congestion control based on observed packet loss and RTT measurements, while simultaneously the tunnel transport congestion control (e.g., QUIC for MASQUE, UDP for IPsec) may implement its own independent congestion control mechanisms. These interaction effects result in the tunnel's congestion control affecting the RTT and loss measurements of the inner transport, leading to suboptimal performance and potential oscillations that degrade overall network efficiency.</t>
          <t>During ECN encapsulation, tunnel endpoints must copy the ECN field from the inner header to the outer header as specified in <xref target="RFC6040"/> to negotiate ECN capability during tunnel establishment to enable proper congestion notification propagation, but this process becomes increasingly complex when multiple ECMP tunnels or aggregated flows are involved, each potentially implementing different ECN handling strategies.</t>
          <t>To address these multilevel congestion control challenges, the proposed congestion-aware path selection algorithm incorporates multiple sophisticated mechanisms that work synergistically to provide comprehensive network congestion awareness. The algorithm monitors ECN CE (Congestion Experienced) markings on different paths to assess real-time congestion levels, while it also identifies increased RTT variability that often indicates congestion for path quality assessment that inform path selection decisions, and where available, queue delay measurements offer early congestion detection capabilities that enable proactive path switching before performance degradation becomes severe.</t>
          <t>This integrated approach to congestion management represents a significant advancement over current fragmented solutions, providing a standardized framework that can effectively coordinate congestion control across multiple tunnel layers while maintaining compatibility with existing <xref target="RFC9599"/> and <xref target="RFC6040"/> standards. By incorporating these multiple congestion indicators into a unified decision-making process, the algorithm can make intelligent path selection decisions that avoid the oscillations and performance degradation inherent in current multilevel congestion control implementations.</t>
        </section>
        <section anchor="prioritization">
          <name>Prioritization</name>
          <t>Mainstream techniques such as packet marking( DSCP, ECN so on ) and queuing of other non-critical traffic (Fq-CODEL, CAKE AQM) to optimize for realtime streams is essentially prioritization in practice. However, VPN providers, CSPs and/or ISP may employ polar-opposite algorithms to shape traffic based on their interest which could lead to  an overall non-synchronized approach, where a stream is prioritized in some networks and deprioritized in other networks.</t>
        </section>
      </section>
      <section anchor="limited-scope-of-past-proposals-for-prioritiztion-or-path-selection">
        <name>Limited scope of past proposals for prioritiztion or path selection</name>
        <t>Some prior work presented to IETF with the inevitable need for traffic shaping and prioritiation may include one or more of the following</t>
        <t>At present, in the case of multiple active uplinks connecting to various ISPs, there are multiple techniques to steer or prioritize traffic across the network (see <xref target="I-D.ietf-intarea-tunnels"/>), which may include,</t>
        <section anchor="full-or-split-tunnel-based-on-diff-serv-via-differentiated-services-code-point-dscp">
          <name>1: Full or Split tunnel based on Diff Serv via Differentiated Services Code Point (DSCP)</name>
          <t><xref target="RFC3270"/> defines how to support the Diffserv architecture in MPLS networks, including how to encode DSCP in an MPLS header. Application priorities even though using the same protocol have also been used to mark the packets differently such as DSCP Packet Markings for WebRTC QoS <xref target="RFC8807"/>.
An example of path selection based on prioritiztion is that in case of dual uplinks available hosting an active tunnel tunnel each, use the one more with better performance for RTP since that is more prirotized over FTP data.</t>
          <t>The DSCP-based approach offers the advantage of being widely adopted across network infrastructures, making it a familiar and standardized method for traffic differentiation. However, this approach has significant limitations including unreliability in some cases where network operators may choose not to honor markings, and the inherent coarse-grained classification that cannot adequately differentiate between nuanced application requirements.</t>
        </section>
        <section anchor="multiple-active-vpn-uplinks-used-in-weighted-round-robin-order-or-ecmp">
          <name>2: Multiple Active VPN Uplinks used in weighted round robin order or ECMP</name>
          <t>In case of multiple Active VPN Uplinks available, multiple paths are available to a  destination which can be split tunneled, tunneled via different application or network layer or both such as nested tunneled.  With so many options generic traffic shaping rules are often applied which may be based on QoS such as MOS, loss, latency, jitter, usage history, throughput on all VPN sessions or any other customized score. Attributes such as app type, address or even client identifier such as mac address can also be used to balance load across available options.  Simple loop techniques such as Weighted Round Robin do not offer much granularity and can also result in misconfiguration or worse still creating a bottleneck. Other means of balancing the traffic across available paths are Equal-cost multi-path (ECMP) <xref target="RFC2992"/> which is fair by design and routes packets along multiple paths of equal cost but suffers from limited adaptability especially in sudden changes of network conditions and heterogeneous environments of unequal costs.
Although it is tough to make a path selection algorithm which is ideal for balance, scalability as well optimized for all kinds of resource utilization, not having a common basis for path selection can not only lead to detrimental user experience but also undue strain on the network.</t>
        </section>
        <section anchor="policy-based-routing-that-use-flow-preferences-to-pin-traffic-to-a-particular-path">
          <name>3. Policy-Based routing that use flow preferences to pin traffic to a particular path</name>
          <t>It is common for device or network policy to manage network flows such as bandwidth allocation or rate limiting, Geo or proximity based rules. At the device level these policies may prioritize some packets over others to avoid queing delay. Modern hybrid deployments employ many uplinks with a varity of traffic shaping policies which can be adjusted dynmaically not only based on Qos but also on hop-by-hop insights from network, tracking uplink's utilization, uptime, failure or outages.</t>
          <t>Policy-based routing provides the benefit of simplicity in implementation and configuration, making it straightforward for network administrators to define and manage traffic flows. However, this approach suffers from poor scalability as the number of policies and network complexity grows, often requiring manual intervention and becoming unwieldy in large-scale deployments.</t>
        </section>
        <section anchor="dynamic-path-selection-with-application-or-domain-identification">
          <name>4. Dynamic Path Selection with application or domain identification</name>
          <t>The aplication knows its type and can directly feed the information to the algorithm. If the sender is not aware of the application it can attempt to obtain this information from intelligent ML models as Network Based Application Recognition (NBAR) from Cisco. Models exist that can suggest bottlenecks for a traffic type on a path by analysising patterns.
Dynamic path selection can even rely on explicitly identifying Provisioning Domain Names through a Router Advertisement (RA) option. Discovering Provisioning Domain Names and Data, its architecture involving the authenticatio and trust model has been decribed in prior work <xref target="RFC7556"/> and <xref target="RFC8801"/>.</t>
        </section>
        <section anchor="masque-quic-multiplexing-for-all-web-trafic">
          <name>5. MASQUE (QUIC multiplexing) for all Web trafic</name>
          <t>MASQUE provides the advantage of being able to handle both reliable and unreliable data streams efficiently through QUIC multiplexing, offering flexibility in transport protocol selection. However, this approach has the limitation of not being well-suited for non-web-based traffic, potentially requiring additional adaptations or alternative solutions for enterprise applications that do not follow web protocols.</t>
        </section>
        <section anchor="whitelist-for-ip-address-or-tuples-to-prioritize">
          <name>6. Whitelist for IP address or tuples to prioritize</name>
          <t>Using whitelists for IP addresses or tuples offers the advantage of simplicity in implementation and clear, understandable traffic prioritization rules. However, this approach suffers from poor scalability as networks grow and IP address ranges change, requiring constant maintenance and becoming impractical for large-scale dynamic environments.</t>
        </section>
        <section anchor="entropy-headers">
          <name>7. Entropy headers</name>
          <t>Entropy headers are extension to traditional packet header that include information about the randomness of the packet's payload. These help distributing traffic more evenly in a multipath network, mitigating the risk of hotspots and potential congestion points.</t>
          <t>Entropy headers provide the advantage of being protected from in-path modification by making these headers non-updatable, ensuring the integrity of load balancing decisions. However, this approach raises privacy concerns as the entropy information may reveal patterns about the payload content or application behavior that could be exploited by network observers.</t>
        </section>
        <section anchor="tunnelling-of-explicit-congestion-notificationecn">
          <name>8. Tunnelling of Explicit Congestion Notification(ECN)</name>
          <t>Addition of ECN to IP <xref target="RFC3168"/> paved the way for much optimization in managing queues based on these marking. <xref target="RFC6040"/> describes the problems related to obscured original ECN markings in tunneled traffic. It proposes a standard for tunnels to propagate an extra level of congestion severity.</t>
          <t>ECN tunneling benefits from having existing standards that provide a foundation for implementation and interoperability across different network equipment vendors. However, the approach becomes significantly more complicated when dealing with nested tunnels, where multiple layers of ECN marking can create conflicts and require complex processing to maintain proper congestion signaling.</t>
        </section>
        <section anchor="flow-labelling-or-classification-for-traffic-steering">
          <name>9. Flow labelling or classification for traffic steering</name>
          <t>Flow labeling and classification approaches provide the significant advantage of enabling the application of artificially intelligent machine learning models for sophisticated traffic analysis and optimization, allowing for adaptive and predictive traffic management. However, this approach can compromise privacy by potentially exposing sensitive information about user behavior, application usage patterns, and business processes through the classification metadata.</t>
        </section>
      </section>
    </section>
    <section anchor="proposal-to-standardize-the-selection-algorithm">
      <name>Proposal to standardize the selection algorithm</name>
      <t>The VPN can be considered a limited premium network that protects confidential information of an organization such as business communication between retail stores. Hybrid work and move towards private access has increased the interest in tunneling traffic between endpoints. However at present, the traffic steering decision is made in a limited scoped or rule based manner which is different for various networks and service providers. Instead an alternative dynamic strategy is proposed which gauges the confidence in the various available options dynamically and may choose to send data directly via edge gateway, use one or more of the available tunnels or create a new on-demand tunnel, leveraging any of the tunneling protocols best suited.</t>
      <t>By dynamically deciding the tunnel type for a stream or packet, we could avoid the non-performing or counter-productive use-cases such as
* added latency on real time streaming
* added encryption for already end-to-end encrypted VoIP calls
* NAT traversal nightmare
* nested tunneling and double congestion control
* exhausting limited bandwidth available from VPN providers</t>
      <t>The proposal is to standardize an algorithm that computes multiple available options and decides whether, on-demand tunnels are created (via  MASQUE, IPSec, SSH, GRE other proprietary protocols such as AutoVPN), an existing set of tunnels be reused or any other route, based on the current network dynamics and vulnerability of the traffic.
Standardized Path selection decision making algorithm would ensure same treatment of the stream across heterogeneous networks.</t>
      <section anchor="algorithm-inputs">
        <name>Algorithm Input Parameters</name>
        <t>The congestion-aware multipath tunnel selection algorithm processes multiple input parameters organized into the following categories. These parameters are selected to ensure vendor-agnostic standardization for inter-cloud and inter-vendor tunneling scenarios:</t>
        <section anchor="transport-layer-metrics">
          <name>Transport Layer Metrics</name>
          <ol spacing="normal" type="1"><li>
              <t><strong>Available Bandwidth</strong>: Measured in bits per second, obtained through bandwidth estimation algorithms or derived from Bandwidth Delay Product (BDP) calculations. The algorithm uses techniques similar to those in QUIC congestion control <xref target="RFC9002"/>.</t>
            </li>
            <li>
              <t><strong>Round-Trip Time (RTT)</strong>: Both baseline RTT and RTT variation measurements, which indicate path latency characteristics and potential congestion.</t>
            </li>
            <li>
              <t><strong>Packet Loss Rate</strong>: Measured loss percentage that indicates network congestion or path quality issues.</t>
            </li>
            <li>
              <t><strong>ECN Markings Ratio</strong>: The percentage of packets marked with ECN Congestion Experienced (CE) bits, providing early congestion detection as per <xref target="RFC9599"/>.</t>
            </li>
            <li>
              <t><strong>UDP Options Enhanced Metrics</strong>: Leveraging <xref target="RFC9868"/> Transport Options for UDP to enable real-time path characteristic discovery:  </t>
              <ul spacing="normal">
                <li>
                  <t>Real-time Path Probing: UDP options carrying path quality metrics for immediate assessment without dedicated probe traffic</t>
                </li>
                <li>
                  <t>Congestion Control Compatibility Signaling: Transport options indicating supported congestion control algorithms (BBR, CUBIC, etc.) and ECN capabilities</t>
                </li>
                <li>
                  <t>Authentication Status: AUTH option validation confirming tunnel endpoint authenticity and preventing path manipulation attacks</t>
                </li>
              </ul>
            </li>
          </ol>
        </section>
        <section anchor="path-characteristics-and-historical-performance">
          <name>Path Characteristics and Historical Performance</name>
          <ol spacing="normal" type="1"><li>
              <t><strong>Enhanced Tunnel Overhead Calculations</strong>: Leveraging <xref target="RFC9868"/> UDP options for precise overhead assessment:
              </t>
              <ul spacing="normal">
                <li>
                  <t>Base Protocol Overhead: Static overhead from tunneling protocols (IPsec, MASQUE, WireGuard, etc.)</t>
                </li>
                <li>
                  <t>Dynamic UDP Options Overhead: Additional bytes from <xref target="RFC9868"/> transport options based on active feature set</t>
                </li>
                <li>
                  <t>Fragmentation Impact Assessment: Real-time evaluation of fragmentation probability using UDP options for Path MTU Discovery (DPLPMTUD)</t>
                </li>
                <li>
                  <t>Processing Overhead Metrics: CPU and memory costs for UDP option parsing and generation at tunnel endpoints</t>
                </li>
              </ul>
            </li>
            <li>
              <t><strong>Path MTU Discovery Enhanced</strong>: <xref target="RFC9868"/> DPLPMTUD support enabling:
              </t>
              <ul spacing="normal">
                <li>
                  <t>Adaptive MTU Sizing: Dynamic adjustment based on observed fragmentation</t>
                </li>
                <li>
                  <t>Multi-layer MTU Coordination: Coordinated MTU discovery across nested tunnel layers</t>
                </li>
                <li>
                  <t>Fragmentation Avoidance: Proactive path selection to minimize fragmentation overhead</t>
                </li>
              </ul>
            </li>
            <li>
              <t><strong>Advanced Congestion Control Compatibility Assessment</strong>: <xref target="RFC9868"/> enhanced evaluation including:
              </t>
              <ul spacing="normal">
                <li>
                  <t>Transport Option Negotiation: Capability discovery for congestion control algorithms through UDP options</t>
                </li>
                <li>
                  <t>ECN Propagation Verification: Active testing of ECN handling across tunnel layers using authenticated transport options</t>
                </li>
                <li>
                  <t>Congestion Control Interference Detection: Identification of nested congestion control conflicts through option-based signaling</t>
                </li>
                <li>
                  <t>Algorithm Compatibility Matrix: Real-time assessment of congestion control algorithm effectiveness on each path</t>
                </li>
              </ul>
            </li>
            <li>
              <t><strong>Historical Performance Database</strong>: Time-series data including:
              </t>
              <ul spacing="normal">
                <li>
                  <t>Average throughput over different time periods (hourly, daily, weekly)</t>
                </li>
                <li>
                  <t>Failure frequency and duration statistics</t>
                </li>
                <li>
                  <t>Congestion pattern analysis</t>
                </li>
                <li>
                  <t>Peak usage periods and capacity utilization trends</t>
                </li>
                <li>
                  <t>UDP Options Performance History: <xref target="RFC9868"/> specific metrics including option parsing latency, authentication success rates, and DPLPMTUD effectiveness</t>
                </li>
              </ul>
            </li>
            <li>
              <t><strong>Predictive Performance Indicators</strong>:
   - Projected path quality based on historical patterns
   - Anticipated congestion windows based on time-of-day patterns
   - Failure probability predictions based on infrastructure health
   - Expected performance degradation under various load conditions
   - Real-time Path Quality Prediction: ML models path characteristic forecasting</t>
            </li>
          </ol>
        </section>
        <section anchor="network-state-information">
          <name>Network State Information</name>
          <ol spacing="normal" type="1"><li>
              <t><strong>Provisioning Domains (PvD)</strong>: Network characteristics and policies as defined in <xref target="RFC7556"/> and <xref target="RFC8801"/>.</t>
            </li>
            <li>
              <t><strong>Network Telemetry</strong>: Real-time network health data including queue depths, interface utilization, and error rates.</t>
            </li>
            <li>
              <t><strong>NQB Traffic Classification</strong>: Identification of Non-Queue-Building traffic that requires special handling as per TSVWG NQB PHB specifications.</t>
            </li>
            <li>
              <t><strong>UDP Options Network Discovery</strong>: <xref target="RFC9868"/> enhanced network state assessment:  </t>
              <ul spacing="normal">
                <li>
                  <t>Real-time Path Characteristic Discovery: Active measurement of path properties using UDP options without additional probe traffic</t>
                </li>
                <li>
                  <t>Transport Capability Negotiation: Dynamic discovery of network and endpoint transport feature support through option exchange</t>
                </li>
                <li>
                  <t>Security Policy Enforcement: Authenticated path validation using AUTH options to prevent path spoofing and ensure policy compliance</t>
                </li>
              </ul>
            </li>
          </ol>
        </section>
        <section anchor="operational-requirements-and-constraints">
          <name>Operational Requirements and Constraints</name>
          <ol spacing="normal" type="1"><li>
              <t><strong>Failure Tolerance Specification</strong>: Configurable parameters defining acceptable service degradation:
              </t>
              <ul spacing="normal">
                <li>
                  <t>Maximum acceptable RTT increase which is a percentage or absolute value</t>
                </li>
                <li>
                  <t>Minimum acceptable bandwidth threshold</t>
                </li>
                <li>
                  <t>Maximum tolerable packet loss rate</t>
                </li>
                <li>
                  <t>Service availability requirements e.g., 99.9% uptime</t>
                </li>
                <li>
                  <t>Graceful degradation preferences vs hard failover</t>
                </li>
              </ul>
            </li>
            <li>
              <t><strong>Cost Considerations</strong>: Economic factors affecting path selection:
              </t>
              <ul spacing="normal">
                <li>
                  <t>Per-byte or per-minute tunnel service charges</t>
                </li>
                <li>
                  <t>Bandwidth cost differentials between providers</t>
                </li>
                <li>
                  <t>Infrastructure maintenance and operational costs</t>
                </li>
                <li>
                  <t>Service Level Agreement penalty costs</t>
                </li>
                <li>
                  <t>Peak usage surcharge implications</t>
                </li>
              </ul>
            </li>
            <li>
              <t><strong>Green Networking Parameters</strong>: Environmental impact considerations:
              </t>
              <ul spacing="normal">
                <li>
                  <t>Carbon intensity of different network paths (grams CO2/kWh)</t>
                </li>
                <li>
                  <t>Energy efficiency ratings of tunnel endpoints</t>
                </li>
                <li>
                  <t>Renewable energy percentage of infrastructure providers</t>
                </li>
                <li>
                  <t>Geographic routing preferences for low-carbon paths</t>
                </li>
                <li>
                  <t>Time-of-day energy grid composition data</t>
                </li>
              </ul>
            </li>
            <li>
              <t><strong>Prioritization Matrix</strong>: Traffic classification and handling preferences:
              </t>
              <ul spacing="normal">
                <li>
                  <t>Real-time traffic prioritization (VoIP, video conferencing)</t>
                </li>
                <li>
                  <t>Business-critical application identification</t>
                </li>
                <li>
                  <t>Time-sensitive transaction requirements</t>
                </li>
                <li>
                  <t>Bulk transfer tolerance levels</t>
                </li>
                <li>
                  <t>Interactive vs batch workload classification</t>
                </li>
              </ul>
            </li>
          </ol>
        </section>
        <section anchor="security-and-policy-metrics">
          <name>Security and Policy Metrics</name>
          <ol spacing="normal" type="1"><li>
              <t><strong>Traffic Vulnerability Assessment</strong>: A normalized value (0.0-1.0) indicating the security exposure of traffic, where higher values indicate greater need for tunneling protection.</t>
            </li>
            <li>
              <t><strong>Policy Constraints</strong>: Enterprise or regulatory policies that may mandate or prohibit certain tunneling approaches for specific traffic types including:  </t>
              <ul spacing="normal">
                <li>
                  <t>Data sovereignty requirements (geographic routing restrictions)</t>
                </li>
                <li>
                  <t>Compliance framework mandates (GDPR, HIPAA, SOX)</t>
                </li>
                <li>
                  <t>Cryptographic algorithm requirements</t>
                </li>
                <li>
                  <t>Audit trail and logging requirements</t>
                </li>
              </ul>
            </li>
          </ol>
        </section>
        <section anchor="path-evaluation-input-structure">
          <name>Path Evaluation Input Structure</name>
          <ol spacing="normal" type="1"><li>
              <t><strong>Available Path Inventory</strong>: Comprehensive catalog of available paths including:</t>
            </li>
          </ol>
          <t>For example :
<tt>yaml
path_inventory:
  - path_id: "path_001"
    tunnel_type: "ipsec"
    endpoints: ["gateway1.provider.com", "gateway2.provider.com"]
    characteristics:
      bandwidth_capacity: "1000 Mbps"
      baseline_rtt: "25 ms"
      provider: "Provider A"
      geographic_route: ["US-West", "US-East"]
      sla_guarantees:
        uptime: "99.95%"
        max_latency: "50 ms"
        min_bandwidth: "800 Mbps"
    historical_performance:
      avg_throughput_30d: "850 Mbps"
      failure_incidents_30d: 2
      avg_failure_duration: "4.2 minutes"
      peak_usage_hours: ["09:00-12:00", "14:00-17:00"]
    cost_structure:
      base_cost_per_gb: "$0.12"
      peak_surcharge: "25%"
      setup_cost: "$500"
    environmental_impact:
      carbon_intensity: "0.45 kg CO2/kWh"
      renewable_percentage: "75%"
</tt></t>
          <ol spacing="normal" type="1"><li>
              <t><strong>Incoming Traffic Profile</strong>: Characteristics of traffic requiring path assignment:</t>
            </li>
          </ol>
          <t>For example :
<tt>yaml
traffic_profile:
  - flow_id: "flow_001"
    application_type: "video_conference"
    requirements:
      min_bandwidth: "5 Mbps"
      max_latency: "100 ms"
      max_jitter: "20 ms"
      priority: "high"
      failure_tolerance: "low"
    security_requirements:
      encryption_required: true
      compliance_frameworks: ["SOC2", "GDPR"]
      geographic_constraints: ["no_transit_through_china"]
    duration_estimate: "60 minutes"
    data_volume_estimate: "2.25 GB"
</tt></t>
        </section>
      </section>
      <section anchor="technical-algorithm">
        <name>Technical Algorithm Details</name>
        <t>The core algorithm performs a multi-dimensional optimization to match incoming traffic profiles with available paths while respecting policy constraints and performance objectives.</t>
        <section anchor="algorithm-overview-for-a-sample-implementation">
          <name>Algorithm Overview for a sample implementation</name>
          <t>```
Input:
  - Traffic_Profile (T)
  - Available_Paths (P = {p1, p2, ..., pn})
  - Policy_Constraints (C)
  - Optimization_Weights (W)</t>
          <t>Output:
  - Selected_Path (p*)
  - Confidence_Score (0.0-1.0)
  - Fallback_Paths (list of p_fallback1, p_fallback2, etc.)</t>
          <t>Function: SelectOptimalTunnelPath(T, P, C, W)
```</t>
          <section anchor="step-1-policy-filtering">
            <name>Step 1: Policy Filtering</name>
            <t>Apply hard security and compliance constraints to eliminate paths that violate geographic, regulatory, or encryption requirements.
Remove paths that cannot satisfy data sovereignty, compliance framework, or mandatory security policy requirements.</t>
            <t>```python
def policy_filter(traffic_profile, available_paths, constraints):
    """
    Filter paths based on hard security and compliance constraints
    """
    eligible_paths = ..</t>
            <artwork><![CDATA[
for path in available_paths:
    # Check geographic constraints
    if not satisfies_geographic_constraints(path, constraints):
        continue

    # Check compliance requirements
    if not meets_compliance_requirements(path, traffic_profile.compliance):
        continue

    # Check encryption requirements
    if traffic_profile.encryption_required and not path.supports_encryption:
        continue

    # Check data sovereignty requirements
    if violates_data_sovereignty(path, constraints):
        continue

    eligible_paths.append(path)

return eligible_paths ```
]]></artwork>
          </section>
          <section anchor="step-2-performance-scoring">
            <name>Step 2: Performance Scoring</name>
            <t>Calculate performance compatibility scores for bandwidth adequacy, latency suitability, reliability, and congestion likelihood.
Generate normalized scores (0.0-1.0) based on current network metrics and historical performance data.</t>
            <t>```python
def calculate_performance_score(traffic_profile, path):
  """
  Calculate performance compatibility score (0.0-1.0)
  """
  scores = {}</t>
            <artwork><![CDATA[
# Bandwidth adequacy
bandwidth_ratio = path.available_bandwidth / traffic_profile.min_bandwidth
scores['bandwidth'] = min(1.0, bandwidth_ratio)

# Latency suitability
if path.current_rtt <= traffic_profile.max_latency:
    scores['latency'] = 1.0 - (path.current_rtt / traffic_profile.max_latency)
else:
    scores['latency'] = 0.0

# Reliability based on historical data
uptime_score = path.historical_uptime / 100.0
mtbf_score = calculate_mtbf_score(path.failure_history)
scores['reliability'] = (uptime_score + mtbf_score) / 2

# Congestion likelihood
current_utilization = path.current_load / path.capacity
congestion_risk = predict_congestion_risk(path, traffic_profile.duration)
scores['congestion'] = 1.0 - (current_utilization * 0.6 + congestion_risk * 0.4)

return scores ```
]]></artwork>
          </section>
          <section anchor="step-3-cost-benefit-analysis">
            <name>Step 3: Cost-Benefit Analysis</name>
            <t>Evaluate economic factors including data transfer costs, duration charges, and setup fees against traffic profile budget constraints.
Normalize cost scores where lower total costs yield higher scores, with zero score for budget-exceeding paths.</t>
            <t>```python
def calculate_cost_score(traffic_profile, path):
    """
    Calculate normalized cost score (lower cost = higher score)
    """
    # Calculate total cost for traffic profile
    data_cost = traffic_profile.data_volume * path.cost_per_gb
    duration_cost = traffic_profile.duration * path.cost_per_minute
    setup_cost = path.setup_cost if path.requires_setup else 0</t>
            <artwork><![CDATA[
total_cost = data_cost + duration_cost + setup_cost

# Normalize against maximum acceptable cost
if total_cost <= traffic_profile.max_cost:
    return 1.0 - (total_cost / traffic_profile.max_cost)
else:
    return 0.0  # Exceeds budget ```
]]></artwork>
          </section>
          <section anchor="step-4-environmental-impact-scoring">
            <name>Step 4: Environmental Impact Scoring</name>
            <t>Assess carbon intensity, renewable energy percentage, energy efficiency ratings, and geographic routing efficiency.
Combine environmental factors into composite green scores to support sustainable networking decisions.</t>
            <t>```python
def calculate_green_score(traffic_profile, path):
    """
    Calculate environmental impact score (lower impact = higher score)
    """
    # Carbon intensity scoring
    carbon_score = 1.0 - (path.carbon_intensity / MAX_CARBON_INTENSITY)</t>
            <artwork><![CDATA[
# Renewable energy percentage
renewable_score = path.renewable_percentage / 100.0

# Energy efficiency of path
efficiency_score = path.energy_efficiency_rating / 5.0  # Assume 5-star rating

# Geographic routing efficiency (shorter paths generally more efficient)
routing_efficiency = calculate_routing_efficiency(path.geographic_route)

return (carbon_score * 0.4 + renewable_score * 0.3 +
        efficiency_score * 0.2 + routing_efficiency * 0.1) ```
]]></artwork>
          </section>
          <section anchor="step-5-failure-tolerance-evaluation">
            <name>Step 5: Failure Tolerance Evaluation</name>
            <t>Verify each path's ability to meet RTT degradation tolerance, bandwidth guarantees, and availability requirements.
Generate binary tolerance scores based on SLA guarantees and traffic profile failure tolerance specifications.</t>
            <t>```python
def evaluate_failure_tolerance(traffic_profile, path):
    """
    Assess path's ability to meet failure tolerance requirements
    """
    tolerance_scores = {}</t>
            <artwork><![CDATA[
# RTT degradation tolerance
predicted_rtt_increase = predict_rtt_degradation(path)
if predicted_rtt_increase <= traffic_profile.max_rtt_increase:
    tolerance_scores['rtt_tolerance'] = 1.0
else:
    tolerance_scores['rtt_tolerance'] = 0.0

# Bandwidth degradation tolerance
min_guaranteed_bw = path.sla_guarantees.min_bandwidth
if min_guaranteed_bw >= traffic_profile.min_bandwidth:
    tolerance_scores['bandwidth_tolerance'] = 1.0
else:
    tolerance_scores['bandwidth_tolerance'] = 0.0

# Availability requirements
if path.sla_guarantees.uptime >= traffic_profile.min_availability:
    tolerance_scores['availability'] = 1.0
else:
    tolerance_scores['availability'] = 0.0

return tolerance_scores ```
]]></artwork>
          </section>
          <section anchor="step-6-composite-scoring-and-selection">
            <name>Step 6: Composite Scoring and Selection</name>
            <t>Calculate weighted composite scores using optimization weights and apply priority multipliers.
Sort paths by final scores and select optimal path with confidence calculation and fallback path identification.</t>
            <t>```python
def select_optimal_path(traffic_profile, eligible_paths, weights):
    """
    Calculate composite scores and select optimal path
    """
    scored_paths = ...</t>
            <artwork><![CDATA[
for path in eligible_paths:
    perf_scores = calculate_performance_score(traffic_profile, path)
    cost_score = calculate_cost_score(traffic_profile, path)
    green_score = calculate_green_score(traffic_profile, path)
    tolerance_scores = evaluate_failure_tolerance(traffic_profile, path)

    # Calculate weighted composite score
    composite_score = (
        perf_scores['bandwidth'] * weights['bandwidth'] +
        perf_scores['latency'] * weights['latency'] +
        perf_scores['reliability'] * weights['reliability'] +
        perf_scores['congestion'] * weights['congestion'] +
        cost_score * weights['cost'] +
        green_score * weights['environmental'] +
        tolerance_scores['rtt_tolerance'] * weights['rtt_tolerance'] +
        tolerance_scores['bandwidth_tolerance'] * weights['bw_tolerance'] +
        tolerance_scores['availability'] * weights['availability']
    )

    # Apply priority multiplier
    priority_multiplier = get_priority_multiplier(traffic_profile.priority)
    final_score = composite_score * priority_multiplier

    scored_paths.append({
        'path': path,
        'score': final_score,
        'component_scores': {
            'performance': perf_scores,
            'cost': cost_score,
            'environmental': green_score,
            'tolerance': tolerance_scores
        }
    })

# Sort by score (descending)
scored_paths.sort(key=lambda x: x['score'], reverse=True)

if not scored_paths:
    return None, 0.0, ..

# Select best path and prepare fallbacks
best_path = scored_paths[0]
fallback_paths = [sp['path'] for sp in scored_paths[1:4]]  # Top 3 alternatives

# Calculate confidence based on score separation
confidence = calculate_confidence_score(scored_paths)

return best_path['path'], confidence, fallback_paths ```
]]></artwork>
          </section>
          <section anchor="step-7-dynamic-re-evaluation">
            <name>Step 7: Dynamic Re-evaluation</name>
            <t>Monitor selected path performance continuously and trigger re-evaluation when degradation exceeds thresholds.
Implement seamless path migration with minimal service disruption when better alternatives become available.
The algorithm includes continuous monitoring and re-evaluation capabilities:</t>
            <t>```python
def continuous_path_monitoring(selected_path, traffic_flow):
    """
    Monitor path performance and trigger re-evaluation if needed
    """
    while traffic_flow.active:
        current_metrics = measure_path_performance(selected_path)</t>
            <artwork><![CDATA[
    # Check if path performance has degraded
    if performance_degraded(current_metrics, expected_performance):
        # Trigger re-evaluation
        new_path, confidence, fallbacks = SelectOptimalTunnelPath(
            traffic_flow.profile,
            get_current_available_paths(),
            get_current_constraints(),
            get_current_weights()
        )

        if new_path != selected_path and confidence > SWITCH_THRESHOLD:
            initiate_path_migration(traffic_flow, selected_path, new_path)
            selected_path = new_path

    time.sleep(MONITORING_INTERVAL) ```
]]></artwork>
          </section>
        </section>
        <section anchor="algorithm-flow-diagrams">
          <name>Algorithm Flow Diagrams</name>
          <t>```
Tunnel Path Selection Algorithm Flow
====================================</t>
          <t>Input Attributes → Traffic Profile (T) + Available Paths (P) + Policy Constraints (C) + Weights (W)
     │
     ▼
┌─────────────────────────────────────────────────────────────────────────────────────┐
│  STEP 1: POLICY FILTERING                                                           │
│  ────────────────────────                                                           │
│  Input: Traffic Profile (Geographic, Compliance, Encryption, Data Sovereignty)     │
│  Process: Filter paths based on hard security constraints                          │
│  Output: Eligible Paths (Filtered P)                                               │
└──────────────────────────────────┬──────────────────────────────────────────────────┘
                                   │
                                   ▼
┌─────────────────────────────────────────────────────────────────────────────────────┐
│  STEP 2: PERFORMANCE SCORING                                                        │
│  ──────────────────────────                                                         │
│  Input: Traffic Profile (Min Bandwidth, Max Latency, Duration)                     │
│  Process: Calculate scores for Bandwidth, Latency, Reliability, Congestion         │
│  Output: Performance Scores per Path                                                │
└──────────────────────────────────┬──────────────────────────────────────────────────┘
                                   │
                                   ▼
┌─────────────────────────────────────────────────────────────────────────────────────┐
│  STEP 3: COST-BENEFIT ANALYSIS (Based on Input Attributes)                         │
│  ─────────────────────────────────────────────────────                             │
│  Input: Traffic Profile (Data Volume, Duration, Max Cost)                          │
│  Process: Calculate data_cost + duration_cost + setup_cost                         │
│  Output: Cost Scores per Path                                                       │
└──────────────────────────────────┬──────────────────────────────────────────────────┘
                                   │
                                   ▼
┌─────────────────────────────────────────────────────────────────────────────────────┐
│  STEP 4: ENVIRONMENTAL IMPACT SCORING (Based on Input Attributes)                  │
│  ────────────────────────────────────────────────────────────────                  │
│  Input: Traffic Profile (Green Preferences, Geographic Constraints)                │
│  Process: Score Carbon Intensity, Renewable %, Energy Efficiency, Route Efficiency │
│  Output: Environmental Scores per Path                                              │
└──────────────────────────────────┬──────────────────────────────────────────────────┘
                                   │
                                   ▼
┌─────────────────────────────────────────────────────────────────────────────────────┐
│  STEP 5: FAILURE TOLERANCE EVALUATION (Based on Input Attributes)                  │
│  ────────────────────────────────────────────────────────────────                  │
│  Input: Traffic Profile (Max RTT Increase, Min Bandwidth, Min Availability)        │
│  Process: Check RTT tolerance, Bandwidth tolerance, Availability requirements      │
│  Output: Tolerance Scores per Path                                                  │
└──────────────────────────────────┬──────────────────────────────────────────────────┘
                                   │
                                   ▼
┌─────────────────────────────────────────────────────────────────────────────────────┐
│  STEP 6: COMPOSITE SCORING AND SELECTION                                           │
│  ───────────────────────────────────────                                           │
│  Input: All Previous Scores + Optimization Weights (W)                             │
│  Process: Calculate weighted composite score for each path                          │
│  Output: Selected Path + Confidence Score + Fallback Paths                         │
└──────────────────────────────────┬──────────────────────────────────────────────────┘
                                   │
                                   ▼
┌─────────────────────────────────────────────────────────────────────────────────────┐
│  STEP 7: DYNAMIC RE-EVALUATION                                                     │
│  ─────────────────────────────                                                     │
│  Input: Current Path Performance + Original Traffic Profile                        │
│  Process: Continuous monitoring and trigger re-evaluation if degraded              │
│  Output: Path Migration Decision (if needed)                                       │
└─────────────────────────────────────────────────────────────────────────────────────┘
```</t>
        </section>
        <section anchor="algorithm-configuration-and-weights">
          <name>Algorithm Configuration and Weights</name>
          <t>The algorithm uses configurable weights to adapt to different deployment scenarios:</t>
          <t>```yaml
algorithm_weights:
  # Performance factors (sum to 1.0)
  bandwidth: 0.25
  latency: 0.20
  reliability: 0.20
  congestion: 0.15</t>
          <t># Operational factors
  cost: 0.10
  environmental: 0.05</t>
          <t># Tolerance factors
  rtt_tolerance: 0.02
  bw_tolerance: 0.02
  availability: 0.01</t>
          <t># Priority multipliers for different traffic classes
  priority_multipliers:
    critical: 1.5
    high: 1.2
    normal: 1.0
    low: 0.8</t>
          <t># Thresholds for decision making
  thresholds:
    minimum_acceptable_score: 0.6
    path_switch_threshold: 0.15  # Switch if new path scores 15% higher
    monitoring_interval: "30s"
    re_evaluation_triggers:
      - "rtt_increase &gt; 50%"
      - "bandwidth_drop &gt; 20%"
      - "packet_loss &gt; 1%"
      - "availability &lt; sla_requirement"
```</t>
          <t>Prior work that standardized algorithms for networking include:</t>
          <ul spacing="normal">
            <li>
              <t>Happy Eyeballs <xref target="RFC6555"/> and Happy Eyeballs Version 2 <xref target="RFC8305"/> algorithms for dual-stack hosts</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="design-goals">
        <name>Design goals</name>
        <t>The goal of standardizing such a path selection algorithm is to enable the network devices including endpoints to make decisions independently when choosing path characteristics over others. An endpoint, for example, can achieve different prioritization based on the application contained inside flows. At the network devices the decision can be propagated or the device can re-use the same decision making algorithms at its end with richer data points to make a more optimized decision.
The goals of this design are as follows :
* Applications do not need to understand Failover Groups with multiple uplinks.
* Avoid strict priority ordering of multiple paths.
* Avoid static scheduling algorithms such as weighted round robin which do not benefit the majority of use cases such as low latency path for time-sensitive data.
* Other indirect impacts of the algorithm may also be to overcome strategies which unfairly maximize bandwidth usage in the public internet.</t>
      </section>
      <section anchor="sdwan-sase-benefits">
        <name>Benefits for SD-WAN and SASE Architectures</name>
        <t>The standardized congestion-aware multipath tunnel selection algorithm provides significant advantages for Software-Defined Wide Area Network (SD-WAN) and Secure Access Service Edge (SASE) deployments:</t>
        <t><strong>Unified Path Selection Framework</strong>: The standardized algorithm enables consistent path selection decisions across heterogeneous SD-WAN deployments, regardless of vendor-specific implementations. This addresses a key challenge in multi-vendor SD-WAN environments where different vendors may use incompatible path selection algorithms.</t>
        <t><strong>Dynamic Service Chaining</strong>: SD-WAN architectures benefit from the algorithm's ability to dynamically route traffic through appropriate service chains based on real-time network conditions and security requirements. This enables optimal integration with Network Function Virtualization (NFV) and service function chaining deployments.</t>
        <t><strong>Branch Office Optimization</strong>: The algorithm's consideration of cost factors and environmental impact aligns with SD-WAN's focus on optimizing branch office connectivity, enabling automatic selection between MPLS, broadband, and cellular connections based on application requirements and cost constraints.</t>
        <t><strong>Zero-Touch Provisioning</strong>: The standardized approach supports ero-touch provisioning capabilities by providing automated path selection without requiring manual configuration of complex routing policies at each branch location.</t>
        <t><strong>Integrated Security and Networking</strong>: SASE architectures benefit from the algorithm's ability to make security-aware path selection decisions that integrate network optimization with security policy enforcement, supporting the SASE principle of converged networking and security.</t>
        <t><strong>Edge-to-Cloud Optimization</strong>: The algorithm's multi-dimensional scoring approach optimizes paths between edge locations and cloud services, considering latency, security, and compliance requirements that are critical for SASE deployments.</t>
        <t><strong>Dynamic Service Selection</strong>: SASE environments require dynamic selection between different security service instances (firewall, secure web gateway, CASB) based on traffic characteristics and performance requirements, which the algorithm supports through its service-aware path selection capabilities.</t>
        <section anchor="zero-trust-considerations">
          <name>Zero Trust Security Considerations</name>
          <t>In zero trust network architectures, traditional network-based trust assumptions are eliminated, requiring more sophisticated approaches to traffic classification and path selection. DSCP marking limitations present significant security and privacy risks in zero trust environments, as these markings can be easily spoofed or manipulated by malicious actors, making them unreliable indicators of actual traffic priority or security requirements. Furthermore, consistent DSCP marking patterns may reveal sensitive information about traffic nature, application types, and business processes to unauthorized observers, while violating zero trust principles that mandate "never trust, always verify" by inherently trusting network-provided markings without independent verification of their authenticity or accuracy.</t>
          <t>The proposed algorithm addresses these zero trust challenges through self verifying traffic characteristics rather than relying on easily spoofed network markings.</t>
        </section>
      </section>
      <section anchor="algorithms-requirements">
        <name>Algorithm's Requirements</name>
        <t>The algorithm has primary goal of optimization the network path for the traffic stream for achieving the best result in terms of fairness and criticality. This algorithm must be implemented on a stateful system where the sender can make decisions on the path to be traversed.</t>
        <t>The algorithm requires prior categorization pf paths such as uplinks based on their characteristics as type and bandwidth for example ethernet/10 megabit per second or cellular/5 megabit per second. The algorithm also requires available tunneling protocols for data transfer such as GRE, L2P, IPSec, OpenVPN and even propertiary protocols such as AutoVPN as avaiable.</t>
        <t>The algorithm doesnot involve the approach to break out critical traffic from non-critical traffic. The algorithm should fairly suggest what traffic is to be passed through the available best path or failover to best path when experincing issues such as loss, jitter on current path.</t>
        <t>It should
- encourage load sharing between available paths
- collect all data points in realtime
- weights for various data points must be adjustable
- have the ability to input feedback from observed performance which may be due to nested congestion control or multi-layer redudnant security etc</t>
        <t>It should not
- cause a surge of unnecessary traffic
- be impacted by NAT setups
- impact the outbound firewall policies</t>
      </section>
      <section anchor="implementation-strategies">
        <name>Implementation Strategies</name>
        <t>The simplest venue for the implementation of the Path selection algorithm is within the application itself.</t>
        <ul spacing="normal">
          <li>
            <t>Minimal OS support : This algorithm require no specific support from the operating system beyond the commonly available APIs that provide transport service.</t>
          </li>
          <li>
            <t>Feedback loop : The algorithm has feedback on the path consumed by all applications for this sender and tries to balance the utilization by load balacing between them.
The proposed path selection algorithm is only tasked with suggesting the protocol and path and can be overridden by the application.</t>
          </li>
          <li>
            <t>Course correction : While the algorithm relies on the data points to suggest a transport protocol on a link, it can also be misguided by ambiguous or untrust worthy input. The algorithm should be self correcting with the help of feedback and any course correction should minimally impact  cross traffic.</t>
          </li>
        </ul>
        <t>Examples of the decision that may be taken by the standardized algorithm could include:
- Example 1 : Resource intensive ultra low latency application benefit from direct internet connection such as multiplayer games and if the algorithm's path suggestion doesn't meet the latency target the application can select its own path.
```
Example 1: Multiplayer Games - Ultra Low Latency Path Selection
==============================================================</t>
        <t>Input Parameters (Gaming Scenario)     Selection Algorithm              Output Decision
===================================     ===================              ===============</t>
        <t>Bandwidth: 100Mbps ─────────────────┐
                                    │
Network State: ────────────────────┐│
  • 0.1 loss                       ││   ┌─────────────────────────────┐
  • 0.2 jitter                     ││   │                             │
                                   ┌┴┴───┤    Selection Algorithm      │    Direct Traffic
Vulnerability of data: 0.9 ────────┤     │                             │──► on Ethernet
                                   │     │  Gaming Traffic Detected:   │    (Ultra Low
Time sensitivity: GAMES ───────────┤─────┤  • High time sensitivity    │     Latency)
                                   │     │  • Low vulnerability OK     │
Provisioning domains: 0.5 ─────────┤     │  • Adequate bandwidth       │
                                   │     │  • Direct path preferred    │
Criticality: 0.7 ──────────────────┤     │                             │
                                   │     └─────────────────────────────┘
```</t>
      </section>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The congestion-aware multipath tunnel selection algorithm introduces several security considerations that implementers and operators <bcp14>MUST</bcp14> address to ensure secure operation in production environments.</t>
      <section anchor="algorithm-input-integrity">
        <name>Algorithm Input Integrity</name>
        <t>The path selection algorithm relies on multiple input parameters including network metrics, historical performance data, and policy constraints. Attackers who can manipulate these inputs may influence path selection decisions to their advantage:</t>
        <t><strong>Metric Manipulation</strong>: An attacker with access to network telemetry systems could inject false latency, bandwidth, or loss measurements to force traffic onto paths under their control or to degrade service quality. Implementations <bcp14>SHOULD</bcp14> authenticate and integrity-protect all metric collection channels. Where possible, metrics <bcp14>SHOULD</bcp14> be validated through independent measurement sources.</t>
        <t><strong>Historical Data Poisoning</strong>: Long-term manipulation of historical performance databases could gradually shift path selection preferences. Implementations <bcp14>SHOULD</bcp14> implement anomaly detection for historical data and <bcp14>SHOULD</bcp14> maintain audit logs of all data modifications.</t>
        <t><strong>Policy Injection</strong>: Unauthorized modification of policy constraints could bypass geographic routing restrictions or compliance requirements. Policy databases <bcp14>MUST</bcp14> implement strong access controls and <bcp14>SHOULD</bcp14> require multi-party authorization for policy changes affecting security-sensitive traffic classifications.</t>
      </section>
      <section anchor="congestion-signal-security">
        <name>Congestion Signal Security</name>
        <t>The algorithm's reliance on ECN markings and congestion signals creates potential attack vectors:</t>
        <t><strong>ECN Spoofing</strong>: Malicious intermediate nodes could inject false ECN Congestion Experienced (CE) markings to influence path selection away from legitimate paths. While <xref target="RFC6040"/> provides guidance on ECN propagation in tunnels, implementations <bcp14>SHOULD</bcp14> implement mechanisms to detect anomalous ECN marking patterns that may indicate spoofing attempts.</t>
        <t><strong>Congestion Amplification</strong>: An attacker could artificially induce congestion on specific paths to force traffic redistribution, potentially overwhelming alternative paths. The algorithm <bcp14>SHOULD</bcp14> implement rate limiting on path switching decisions and <bcp14>SHOULD</bcp14> detect patterns consistent with deliberate congestion induction.</t>
      </section>
      <section anchor="traffic-analysis-and-privacy">
        <name>Traffic Analysis and Privacy</name>
        <t>Path selection decisions may inadvertently reveal sensitive information:</t>
        <t><strong>Selection Pattern Analysis</strong>: Consistent path selection patterns may reveal information about traffic types, application usage, or organizational priorities to network observers. Implementations <bcp14>SHOULD</bcp14> consider adding controlled randomization to path selection decisions for non-critical traffic to reduce fingerprinting opportunities.</t>
        <t><strong>Timing Correlation</strong>: The timing of path switches may correlate with specific application behaviors or user activities. Implementations <bcp14>SHOULD</bcp14> avoid immediate path switching in response to transient conditions and <bcp14>SHOULD</bcp14> implement hysteresis mechanisms that obscure the relationship between traffic characteristics and path changes.</t>
        <t><strong>Metadata Exposure</strong>: The algorithm's input parameters, if transmitted across network boundaries, could expose sensitive operational information. All algorithm signaling between distributed components <bcp14>MUST</bcp14> be encrypted and authenticated.</t>
      </section>
      <section anchor="multi-vendor-trust-boundaries">
        <name>Multi-Vendor Trust Boundaries</name>
        <t>In heterogeneous deployments spanning multiple vendors, trust relationships require careful consideration:</t>
        <t><strong>Cross-Vendor Metric Sharing</strong>: When path selection decisions depend on metrics from different vendors' equipment, implementations <bcp14>MUST NOT</bcp14> blindly trust metrics from external sources. Cross-vendor metric exchanges <bcp14>SHOULD</bcp14> be authenticated and <bcp14>SHOULD</bcp14> be validated against locally observable network behavior.</t>
        <t><strong>Algorithm Coordination Attacks</strong>: In federated deployments where multiple instances of the algorithm coordinate, a compromised or malicious instance could provide false information to influence global path selection. Implementations <bcp14>SHOULD</bcp14> implement reputation systems and anomaly detection for federated algorithm participants.</t>
        <t><strong>Vendor-Specific Vulnerabilities</strong>: Different vendor implementations may have varying security postures. The algorithm <bcp14>SHOULD</bcp14> support configurable trust levels for different vendor domains and <bcp14>SHOULD</bcp14> allow operators to constrain path selection based on security assessments of traversed infrastructure.</t>
      </section>
      <section anchor="policy-enforcement-and-compliance">
        <name>Policy Enforcement and Compliance</name>
        <t>The algorithm must ensure that security and compliance policies are consistently enforced:</t>
        <t><strong>Policy Bypass Prevention</strong>: The algorithm <bcp14>MUST</bcp14> ensure that performance optimization cannot override mandatory security policies. Geographic routing restrictions, encryption requirements, and compliance constraints <bcp14>MUST</bcp14> be treated as hard constraints that cannot be relaxed by the optimization process.</t>
        <t><strong>Audit and Accountability</strong>: All path selection decisions affecting security-sensitive traffic <bcp14>MUST</bcp14> be logged with sufficient detail to support forensic analysis. Logs <bcp14>SHOULD</bcp14> include the input parameters, evaluated alternatives, and rationale for the selected path.</t>
        <t><strong>Regulatory Compliance</strong>: Operators deploying this algorithm in regulated environments <bcp14>MUST</bcp14> ensure that path selection decisions comply with applicable data protection regulations. The algorithm <bcp14>SHOULD</bcp14> support configurable compliance profiles for different regulatory frameworks (e.g., GDPR, HIPAA, SOX).</t>
      </section>
      <section anchor="denial-of-service-considerations">
        <name>Denial of Service Considerations</name>
        <t>The algorithm may be targeted by denial of service attacks:</t>
        <t><strong>Path Exhaustion</strong>: An attacker could attempt to make all available paths appear unsuitable, forcing traffic to fail or use suboptimal routing. Implementations <bcp14>MUST</bcp14> maintain fallback paths and <bcp14>SHOULD</bcp14> implement graceful degradation rather than complete service denial when optimal paths are unavailable.</t>
        <t><strong>Algorithmic Complexity Attacks</strong>: Carefully crafted inputs could potentially cause excessive computation in the path selection algorithm. Implementations <bcp14>SHOULD</bcp14> bound computational complexity and <bcp14>SHOULD</bcp14> implement timeouts for path selection decisions.</t>
        <t><strong>Oscillation Induction</strong>: An attacker could manipulate network conditions to induce rapid path switching, potentially destabilizing network operations. The algorithm <bcp14>MUST</bcp14> implement dampening mechanisms to prevent rapid oscillation between paths.</t>
      </section>
      <section anchor="authentication-and-authorization">
        <name>Authentication and Authorization</name>
        <t>Access to algorithm configuration and control interfaces requires protection:</t>
        <t><strong>Configuration Access Control</strong>: Modification of algorithm weights, thresholds, and policies <bcp14>MUST</bcp14> require authentication and authorization. Role-based access control <bcp14>SHOULD</bcp14> be implemented to limit configuration capabilities based on operator responsibilities.</t>
        <t><strong>Runtime Control Security</strong>: Interfaces that allow runtime modification of path selection behavior <bcp14>MUST</bcp14> be protected against unauthorized access. All control plane communications <bcp14>SHOULD</bcp14> use mutual TLS authentication.</t>
      </section>
      <section anchor="zero-trust-alignment">
        <name>Zero Trust Alignment</name>
        <t>As discussed in <xref target="zero-trust-considerations"/>, the algorithm <bcp14>SHOULD NOT</bcp14> rely on network-layer trust indicators that can be easily spoofed. Instead, implementations <bcp14>SHOULD</bcp14>:</t>
        <ul spacing="normal">
          <li>
            <t>Verify traffic characteristics through behavioral analysis rather than declared markings</t>
          </li>
          <li>
            <t>Implement continuous validation of path security properties</t>
          </li>
          <li>
            <t>Assume that any network segment may be compromised and select paths accordingly</t>
          </li>
          <li>
            <t>Support integration with zero trust network access (ZTNA) frameworks for identity-aware path selection</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC9599">
          <front>
            <title>Guidelines for Adding Congestion Notification to Protocols that Encapsulate IP</title>
            <author initials="B." surname="Briscoe" fullname="B. Briscoe">
              <organization/>
            </author>
            <author initials="J." surname="Kaippallimalil" fullname="J. Kaippallimalil">
              <organization/>
            </author>
            <date year="2024" month="August"/>
          </front>
        </reference>
        <reference anchor="RFC3168">
          <front>
            <title>The Addition of Explicit Congestion Notification (ECN) to IP</title>
            <author initials="K." surname="Ramakrishnan" fullname="K. Ramakrishnan">
              <organization/>
            </author>
            <author initials="S." surname="Floyd" fullname="S. Floyd">
              <organization/>
            </author>
            <author initials="D." surname="Black" fullname="D. Black">
              <organization/>
            </author>
            <date year="2001" month="September"/>
          </front>
        </reference>
        <reference anchor="RFC6040">
          <front>
            <title>Tunnelling of Explicit Congestion Notification</title>
            <author initials="B." surname="Briscoe" fullname="B. Briscoe">
              <organization/>
            </author>
            <date year="2010" month="November"/>
          </front>
        </reference>
        <reference anchor="RFC8305">
          <front>
            <title>Happy Eyeballs Version 2: Better Connectivity Using Concurrency</title>
            <author initials="D." surname="Schinazi" fullname="D. Schinazi">
              <organization/>
            </author>
            <author initials="T." surname="Pauly" fullname="T. Pauly">
              <organization/>
            </author>
            <date year="2017" month="December"/>
          </front>
        </reference>
        <reference anchor="RFC9000">
          <front>
            <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
            <author initials="J." surname="Iyengar" fullname="J. Iyengar">
              <organization/>
            </author>
            <author initials="M." surname="Thomson" fullname="M. Thomson">
              <organization/>
            </author>
            <date year="2021" month="May"/>
          </front>
        </reference>
        <reference anchor="RFC9002">
          <front>
            <title>QUIC Loss Detection and Congestion Control</title>
            <author initials="J." surname="Iyengar" fullname="J. Iyengar">
              <organization/>
            </author>
            <author initials="I." surname="Swett" fullname="I. Swett">
              <organization/>
            </author>
            <date year="2021" month="May"/>
          </front>
        </reference>
        <reference anchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author initials="M." surname="Cotton" fullname="M. Cotton">
              <organization/>
            </author>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization/>
            </author>
            <author initials="T." surname="Narten" fullname="T. Narten">
              <organization/>
            </author>
            <date year="2017" month="June"/>
          </front>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC6555">
          <front>
            <title>Happy Eyeballs: Success with Dual-Stack Hosts</title>
            <author initials="D." surname="Wing" fullname="D. Wing">
              <organization/>
            </author>
            <author initials="A." surname="Yourtchenko" fullname="A. Yourtchenko">
              <organization/>
            </author>
            <date year="2012" month="April"/>
          </front>
        </reference>
        <reference anchor="RFC8807">
          <front>
            <title>Login Security Extension for the Extensible Provisioning Protocol (EPP)</title>
            <author fullname="J. Gould" initials="J." surname="Gould"/>
            <author fullname="M. Pozun" initials="M." surname="Pozun"/>
            <date month="August" year="2020"/>
            <abstract>
              <t>The Extensible Provisioning Protocol (EPP) includes a client authentication scheme that is based on a user identifier and password. The structure of the password field is defined by an XML Schema data type that specifies minimum and maximum password length values, but there are no other provisions for password management other than changing the password. This document describes an EPP extension that allows longer passwords to be created and adds additional security features to the EPP login command and response.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8807"/>
          <seriesInfo name="DOI" value="10.17487/RFC8807"/>
        </reference>
        <reference anchor="RFC3270">
          <front>
            <title>Multi-Protocol Label Switching (MPLS) Support of Differentiated Services</title>
            <author fullname="F. Le Faucheur" initials="F." role="editor" surname="Le Faucheur"/>
            <author fullname="L. Wu" initials="L." surname="Wu"/>
            <author fullname="B. Davie" initials="B." surname="Davie"/>
            <author fullname="S. Davari" initials="S." surname="Davari"/>
            <author fullname="P. Vaananen" initials="P." surname="Vaananen"/>
            <author fullname="R. Krishnan" initials="R." surname="Krishnan"/>
            <author fullname="P. Cheval" initials="P." surname="Cheval"/>
            <author fullname="J. Heinanen" initials="J." surname="Heinanen"/>
            <date month="May" year="2002"/>
            <abstract>
              <t>This document defines a flexible solution for support of Differentiated Services (Diff-Serv) over Multi-Protocol Label Switching (MPLS) networks. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3270"/>
          <seriesInfo name="DOI" value="10.17487/RFC3270"/>
        </reference>
        <reference anchor="RFC2992">
          <front>
            <title>Analysis of an Equal-Cost Multi-Path Algorithm</title>
            <author initials="C." surname="Hopps" fullname="C. Hopps">
              <organization/>
            </author>
            <date year="2000" month="November"/>
          </front>
        </reference>
        <reference anchor="RFC4459">
          <front>
            <title>MTU and Fragmentation Issues with In-the-Network Tunneling</title>
            <author initials="P." surname="Savola" fullname="P. Savola">
              <organization/>
            </author>
            <date year="2006" month="April"/>
          </front>
        </reference>
        <reference anchor="RFC7556">
          <front>
            <title>Multiple Provisioning Domain Architecture</title>
            <author fullname="D. Anipko" initials="D." role="editor" surname="Anipko"/>
            <date month="June" year="2015"/>
            <abstract>
              <t>This document is a product of the work of the Multiple Interfaces Architecture Design team. It outlines a solution framework for some of the issues experienced by nodes that can be attached to multiple networks simultaneously. The framework defines the concept of a Provisioning Domain (PvD), which is a consistent set of network configuration information. PvD-aware nodes learn PvD-specific information from the networks they are attached to and/or other sources. PvDs are used to enable separation and configuration consistency in the presence of multiple concurrent connections.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7556"/>
          <seriesInfo name="DOI" value="10.17487/RFC7556"/>
        </reference>
        <reference anchor="RFC8801">
          <front>
            <title>Discovering Provisioning Domain Names and Data</title>
            <author fullname="P. Pfister" initials="P." surname="Pfister"/>
            <author fullname="É. Vyncke" surname="É. Vyncke"/>
            <author fullname="T. Pauly" initials="T." surname="Pauly"/>
            <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
            <author fullname="W. Shao" initials="W." surname="Shao"/>
            <date month="July" year="2020"/>
            <abstract>
              <t>Provisioning Domains (PvDs) are defined as consistent sets of network configuration information. PvDs allows hosts to manage connections to multiple networks and interfaces simultaneously, such as when a home router provides connectivity through both a broadband and cellular network provider.</t>
              <t>This document defines a mechanism for explicitly identifying PvDs through a Router Advertisement (RA) option. This RA option announces a PvD identifier, which hosts can compare to differentiate between PvDs. The option can directly carry some information about a PvD and can optionally point to PvD Additional Information that can be retrieved using HTTP over TLS.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8801"/>
          <seriesInfo name="DOI" value="10.17487/RFC8801"/>
        </reference>
        <reference anchor="RFC5764">
          <front>
            <title>Datagram Transport Layer Security (DTLS) Extension to Establish Keys for the Secure Real-time Transport Protocol (SRTP)</title>
            <author fullname="D. McGrew" initials="D." surname="McGrew"/>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="May" year="2010"/>
            <abstract>
              <t>This document describes a Datagram Transport Layer Security (DTLS) extension to establish keys for Secure RTP (SRTP) and Secure RTP Control Protocol (SRTCP) flows. DTLS keying happens on the media path, independent of any out-of-band signalling channel present. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5764"/>
          <seriesInfo name="DOI" value="10.17487/RFC5764"/>
        </reference>
        <reference anchor="NQB-PHB">
          <front>
            <title>A Non-Queue-Building Per-Hop Behavior (NQB PHB) for Differentiated Services</title>
            <author initials="G." surname="White" fullname="G. White">
              <organization/>
            </author>
            <author initials="T." surname="Fossati" fullname="T. Fossati">
              <organization/>
            </author>
            <author initials="R." surname="Geib" fullname="R. Geib">
              <organization/>
            </author>
            <date year="2025" month="September"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tsvwg-nqb-33"/>
        </reference>
        <reference anchor="CAREFUL-RESUME">
          <front>
            <title>Convergence of Congestion Control from Retained State</title>
            <author initials="M." surname="Seemann" fullname="M. Seemann">
              <organization/>
            </author>
            <author initials="I." surname="Swett" fullname="I. Swett">
              <organization/>
            </author>
            <date year="2025" month="October"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tsvwg-careful-resume-24"/>
        </reference>
        <reference anchor="L4S-OPS">
          <front>
            <title>Operational Guidance on Coexistence with Classic ECN during L4S Deployment</title>
            <author initials="B." surname="Briscoe" fullname="B. Briscoe">
              <organization/>
            </author>
            <date year="2025" month="July"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tsvwg-l4sops-08"/>
        </reference>
        <reference anchor="MULTIPATH-DCCP">
          <front>
            <title>DCCP Extensions for Multipath Operation with Multiple Addresses</title>
            <author initials="A." surname="Dreibholz" fullname="A. Dreibholz">
              <organization/>
            </author>
            <date year="2025" month="April"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tsvwg-multipath-dccp-24"/>
        </reference>
        <reference anchor="UDP-ECN">
          <front>
            <title>Configuring UDP Sockets for ECN for Common Platforms</title>
            <author initials="G." surname="Fairhurst" fullname="G. Fairhurst">
              <organization/>
            </author>
            <date year="2025" month="August"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tsvwg-udp-ecn-03"/>
        </reference>
        <reference anchor="RFC9868">
          <front>
            <title>Transport Options for UDP</title>
            <author initials="T." surname="Herbert" fullname="T. Herbert">
              <organization/>
            </author>
            <author initials="C." surname="Huitema" fullname="C. Huitema">
              <organization/>
            </author>
            <date year="2024" month="December"/>
          </front>
          <seriesInfo name="RFC" value="9868"/>
        </reference>
        <reference anchor="I-D.ietf-intarea-tunnels">
          <front>
            <title>IP Tunnels in the Internet Architecture</title>
            <author fullname="Dr. Joseph D. Touch" initials="J. D." surname="Touch">
              <organization>Independent Consultant</organization>
            </author>
            <author fullname="Mark Townsley" initials="M." surname="Townsley">
              <organization>Cisco</organization>
            </author>
            <date day="9" month="May" year="2025"/>
            <abstract>
              <t>   This document discusses the role of IP tunnels in the Internet
   architecture. An IP tunnel transits IP datagrams as payloads in non-
   link layer protocols. This document explains the relationship of IP
   tunnels to existing protocol layers and the challenges in supporting
   IP tunneling, based on the equivalence of tunnels to links. The
   implications of this document updates RFC 4459 and its MTU and
   fragmentation recommendations for IP tunnels.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-intarea-tunnels-15"/>
        </reference>
      </references>
    </references>
    <?line 1078?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
63GHKvsd4td/9KP786NncJIwnFi/PlYnA2i6xMwA1BU8vPXerL/P4sUkiaMP
+9GH3wk4f9+jQnBlZb6/LFfOwNKQnzdO209yCrDuoUbR80KPn4tSwPVcONuF
rxkvqem8yFzZJz5EwwNC+ZP9bkdQX5+3cu531fJ3jCa/l3RDKkHuv7u7//T3
v8eVXBbL6Gu/7E7leaQ9+Ws1BGsaMWArXLOXu+o9GUo6G9tnWeWvpmmz2h3r
LnresL3Gfjt0sW/dJYsL0zeesXnCTddcQQy++BEEhSiyJ43tydxLZzMsc+KP
pLXVnAFgxBNm0/xRITuyPRsrEy8ytdhAwZ+JV5L0L7qCGrtM+CStytXSzSOd
RfxDkhpwLnI9kNrGfrc7LEFZeTvSnnOqmoZb8q/U73f5ruw4BPgrN9iWgvMq
jCBg7lVLqdMjaEF+M7CR0qgpdGMozq7xZxtwerNHhxqQ0Njj93r1hzfhLSDc
RVPRodhyet1e9pxuhlFjyiQIL/taoj6w1VhOj6ra86Tu8Wa0GQuqdMAlfCg3
t1c2bt2iFdz4ptSXNvcNQKr6X/sxlJO6oUYKxdb2Pc/7SRH3PSuCf2s7fCw4
IgG6QiH6D99HwXm6suvMnH4Vjd8dXY5eX12+vjgcvz47PthvLyLNqQ+W4Iql
2i0fPr2ogf26hO32eOGKvreP+htBcxiMZGOWWydnp0eXZxdHp6/IpXrxdngc
uNi8vDAqgniQxnTvg5uM0XNSTYIyrVzJ9PC9zx59/4D/uAcN5ml7XU7+/J//
j2aWJ2aWRV9GYeY2ppXhp+10e8wfgy+CfDGCw5//9C/627/9t88e/flP/+XP
f/rn/3///CuC4V+iaHx5eE4paWfHR6PfRi+PjgE5AEua6PYT/iNo0+B/reX+
VRbDGYxtFHvl5cq5yw296NBmDPX47sTYZfVsN8aWqhz7D8o48xP5HrBuyXeM
DsW1oETAU2Fds+1Pg8mf/mfh2v/9vxrZN/381zZb3QSuhzz3C2/hn4C3YP7Z
4cXLs4uT4enoMBqPzv4S9vLX5y3886nrie7nLydgL1lHfw+v6mo+FfAVzYe5
Z2zLX5wZ5eXmeaPbkS/8NDwvHag9tvKXZpag4bv4JO4/DSi/MJhfGMzP8hMw
GEzmOhtf9l8cnh6+PLqMhqfD49+Oj8bR1guVv01dc7PA/Ln4y1/95yH0dwdT
IoXmLaVDOS7EzAkz4+7QKO5kSg/LVnrA2MqUqG7AX8iNwsF/YUq/MKWf5Sdg
Spirdvr26OLs9OTw9HJ4HB2dnA9Hl1b9+Um86f8zTOnen7v2ttE+o5y5c1dQ
oefnSnnmfwtyHayKL4NJrtqRyxB0KWV/09MMsEObktTjFmHeJ1GbVYW5iX8R
z/qFVcnPL6zqZ/kJWBVm1Q2Pjt9cHEaXZ8eHF2SmHb4dHr8ZXh6dnf7Cqtp7
22jqgfqEOW5HklfWi5rGX5oHuU3b7bGdVkVhAhzOy1F0GWPehxuzpZpjK6vy
ymH9parVL6xKfn5hVT/LT8CqMDHu7OT8bHx06TxJw9ODaHx4fDgibvWTMfd/
Fav6pJUK4xlmGSpEN1QdU0j4y+DSvB8EeeDYHebcpkQs7mOpWdYPGVw5j97X
Z27zpXdPX1SzL+3VfPFz3zP2L4znF8bzs/wEjAezQH57Ojw5GkUXh31POfqU
/352xvMXrkqYzEhuXBOl+s5h4DTac7GpAd07tmMyGzNJNuZtaOLDprGtI5vK
1du0mAPt87Nlcz8eGjD7n81j/rf9+a82VaCZLDDyu8/T+YnksR3Sw9Y3U7/c
qmaj1wV3JqQ+9LYMpWvd3mgLZAs22bE1rYPyLj4PsFVv4m1VVB810gv5Xuml
ncHeM/zIlluCDyjj38vSdR+6xFv8bPcZJ1yE1WllUn4cq2jBg/RykLmIH+/Y
951S7r0dpM7S81RazM9/dZ8GNxzw010d+7wjyZ+EuFfY3a9qyXmRHQmmmpao
9Sf3AZ7P+CO8Hoh/Su0zvvy77y5PZMUtLuo7u1+b3cYrCdtx4TMu/23fXoXB
q6xX7iorZwDiuN/IHSLMrqlu03o6v7Lv80FRsiR9I9k9UmOW9afdZ38jNxxl
LsuV6GpieYObefz1jhaZKs2VY09XwrRc1mY/ehzcQvpV9GzHFViDb12Oc1IW
S/h+L/yeC/heUQHfX0W7wXfBfbS/pcp5ntnnClydu6bxVM+n8tuheR0dqO+5
u3Yq6X5Ea/3odbxcrqPDtZlg1zxp0/vs2TMpV974+i0AAU9xT+qYf71DD4Zz
Jas4w1uQoOTNuRguFeM6MFimLZoVcWbZB/5Bncft0rnrD/aaa3bg8BIWK683
ErUi1OZxBrMi/dv8tsYiF+Z6b9ytWywFajBvmjvWU/4ktXa0heWaZd6pWQK1
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
wygD/wfFnlH02yMBAA==

-->

</rfc>
