<?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.43 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-xl-idr-bgp-sr-policy-pathrate-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.35.0 -->
  <front>
    <title abbrev="BGP SR Policy for Path Rate ">BGP SR Policy for Path Rate</title>
    <seriesInfo name="Internet-Draft" value="draft-xl-idr-bgp-sr-policy-pathrate-00"/>
    <author initials="Q." surname="Xiong" fullname="Quan Xiong">
      <organization>ZTE Corporation</organization>
      <address>
        <email>xiong.quan@zte.com.cn</email>
      </address>
    </author>
    <author initials="J." surname="Li" fullname="Jinming Li">
      <organization>China Mobile</organization>
      <address>
        <email>lijinming@chinamobile.com</email>
      </address>
    </author>
    <date year="2026" month="October" day="30"/>
    <workgroup>idr</workgroup>
    <abstract>
      <?line 37?>

<t>In AI/ML compute fabrics and data center interconnects, collective
communication patterns (e.g., All-Reduce, All-to-All) generate
microbursts that can saturate queuing buffers before reactive
congestion control mechanisms take effect. This document specifies a
BGP SR Policy extension to carry Path Rate information (e.g., Path Committed Rate
and Path Maximum Rate), enabling a central controller to compute and
distribute per-segment-list rate limits along with the SR Policy
Candidate Path. The headend enforces these rate limits on traffic
steered to the corresponding segment list, thereby proactively preventing the
microburst-induced congestion before traffic enters the network.</t>
    </abstract>
  </front>
  <middle>
    <?line 51?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Segment Routing (SR) <xref target="RFC8402"/> is a source routing paradigm that explicitly 
indicates the forwarding path for packets at the ingress node. The ingress node 
steers packets into a specific path according to the Segment Routing Policy (SR Policy) 
as defined in <xref target="RFC9256"/>. In order to distribute SR policies to the headend, 
<xref target="RFC9830"/> specifies a BGP mechanism to pass SR Policies and Candidate Paths
(CPs) in BGP UPDATE messages.</t>
      <t>In AI/ML compute fabrics and data center interconnects, collective
communication patterns such as All-Reduce and All-to-All generate
microbursts that can saturate queuing buffers before reactive
congestion-control mechanisms take effect.  This causes incast
congestion, packet drops, and GPU starvation.  Conventional congestion
control mechanisms (e.g., PFC, ECN/DCQCN, HPCC) rely on the feedback 
loops and therefore typically cannot adjust the sending rate in a timely
manner to prevent the burst from impacting the network.</t>
      <t>In such deployments, it is useful to associate a rate limit with each
segment list of an SR Policy Candidate Path, so the headend can enforce 
it on the steered traffic.  When a controller computes a rate limit for 
a segment list, it advertises or updates the corresponding SR Policy CP 
via BGP.  The receiving headend applies the rate limit to traffic steered 
to that segment list. This document defines the control-plane mechanism to 
distribute path rate information to the headend via BGP SR Policy.</t>
    </section>
    <section anchor="conventions">
      <name>Conventions Used in This Document</name>
      <section anchor="abbreviations">
        <name>Abbreviations</name>
        <t>This document uses the following abbreviations:</t>
        <t>CIR:  Committed Information Rate</t>
        <t>PIR:  Peak Information Rate</t>
        <t>SID:  Segment Identifier</t>
        <t>SRv6: Segment Routing over IPv6</t>
      </section>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>This document defines the following terminologies:</t>
        <ul spacing="normal">
          <li>
            <t>Path Committed Rate : the target sustainable rate (CIR-like) that the 
network gurrantees on a path. It is expressed in bytes per second.</t>
          </li>
          <li>
            <t>Path Maximum Rate: the peak rate (PIR-like) that a path can sustain, 
computed by the controller based on the network information collected via 
Telemetry. It is expressed in bytes per second. The Path Maximum Rate MUST 
be greater than or equal to Path Committed Rate.</t>
          </li>
          <li>
            <t>Path Rate: the transmission rate that the headend enforced for traffic steered 
to a path. It is operated within the range from the Path Committed Rate to the 
Path Maximum Rate.</t>
          </li>
        </ul>
      </section>
      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" 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>
      </section>
    </section>
    <section anchor="path-rate">
      <name>SR Policy for Path Rate</name>
      <t>As defined in <xref target="RFC9830"/>, an SR Policy consists of one or more Candidate Paths (CPs), 
each comprising one or more segment lists.  A headend receives SR Policy CPs via BGP 
and selects the active CP according to <xref target="RFC9256"/>.</t>
      <artwork><![CDATA[
                          +------------------+
                 +--------|Network Controller|  Rate Computation
                 |        +---------+--------+
                 |                  ^
                 |                  |
        Rate enforcement  Network Information Collection
                 |                  |
                 v                  |
              +--+--+   +-----------+-----------+   +-----+
              |Head |---|    Segment Routing    |---|End  |
              |end  |   |    Network Domain     |   |Point|
              +-----+   +-----------------------+   +-----+
                          
                            Figure 1. SR Policy for Path Rate  
                          
]]></artwork>
      <t>The SR Policy for Path Rate is as shown in Figure 1. Each segment list of an 
SR Policy CP has an associated Path Rate, which is used for rate enforcement 
that the headend applies to traffic steered to that segment list.  The Path Rate
is expressed as a tuple (Path Committed Rate, Path Maximum Rate).</t>
      <t>The controller computes the Path Maximum Rate from the collected network information
 (e.g., buffer occupancy, RTT) via Telemetry according to the computation procedure
 specified in <xref target="I-D.xiong-pce-pcep-pathrate"/>.</t>
    </section>
    <section anchor="bgp-sr-policy-for-path-rate">
      <name>BGP SR Policy for Path Rate</name>
      <t>As defined in <xref target="RFC9830"/>, the SR policy encoding structure is as
   follows:</t>
      <artwork><![CDATA[
  SR Policy SAFI NLRI: <Distinguisher, Policy-Color, Endpoint>
  Attributes:
     Tunnel Encaps Attribute (23)
        Tunnel Type: SR Policy
            Binding SID
            Preference
            Priority
            Policy Name
            Explicit NULL Label Policy (ENLP)
            Segment List
                Weight
                Segment
                Segment
                ...
            ...
]]></artwork>
      <t>As introduced in Section 1, each segment list has an associated Path
   Rate.  The SR Policy encoding with Path Rate information is expressed
   as below::</t>
      <artwork><![CDATA[
  SR Policy SAFI NLRI: <Distinguisher, Policy-Color, Endpoint>
  Attributes:
     Tunnel Encaps Attribute (23)
        Tunnel Type: SR Policy
            Binding SID
            Preference
            Priority
            Policy Name
            Explicit NULL Label Policy (ENLP)
            Segment List
                Weight
                Path Rate
                Segment
                Segment
                ...
            ... 
]]></artwork>
      <section anchor="path-rate-sub-tlv">
        <name>Path Rate Sub-TLV</name>
        <t>The Path Rate sub-TLV is an optional sub-TLV of the Segment List sub-
   TLV.  It MUST NOT appear more than once within a single Segment List
   sub-TLV.  If multiple Path Rate sub-TLVs are present, only the first
   occurrence is processed; subsequent occurrences MUST be ignored and
   MUST NOT be considered malformed.</t>
        <t>The Path Rate sub-TLV has the following format:</t>
        <artwork><![CDATA[
       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |              Type             |             Length            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                    Path Committed Rate                        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                     Path Maximum Rate                         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                              Figure 2. Path Rate sub-TLV
]]></artwork>
        <t>Where:</t>
        <ul spacing="normal">
          <li>
            <t>Type:  TBD1 (to be assigned by IANA from the "SR Policy Segment List
 Sub-TLVs" registry <xref target="RFC9830"/>).</t>
          </li>
          <li>
            <t>Length:  8.</t>
          </li>
          <li>
            <t>Path Committed Rate:  A 4-octet field specifying the sustainable rate that
 the network guarantees for the path.  The value is encoded as an IEEE 754 
 single-precision floating-point value, in units of bytes per second.</t>
          </li>
          <li>
            <t>Path Maximum Rate:  A 4-octet field specifying the peak rate that the path
 can sustain.  The value is encoded as an IEEE 754 single-precision 
 floating-point value, in units of bytes per second.
 Path Maximum Rate MUST be greater than or equal to Committed Rate;
 otherwise, the sub-TLV is malformed (see Section 6).</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="operations">
      <name>Operations</name>
      <t>This document does not introduce new BGP processing procedures beyond those defined in <xref target="RFC9830"/>. 
The existing procedures for advertisement, reception, and error handling of BGP SR Policy NLRIs 
in <xref target="RFC9830"/> apply directly to this document. The error handling rules specified in Section 5 of
 <xref target="RFC9830"/> and <xref target="RFC7606"/> govern the processing of malformed Path Rate sub-TLVs.</t>
      <t>Typically, but not limited to, the SR Policies carrying Path Rate information are configured by 
a central controller. After configuration, the SR Policies carrying Path Rate information are 
advertised by BGP UPDATE messages using the same procedures as defined in <xref target="RFC9830"/>.</t>
      <t>Upon receiving a valid Path Rate sub-TLV within a Segment List sub-TLV, the SRPM (SR Policy Module) 
as per <xref target="RFC9830"/> at the headend programs a per-segment-list rate limiter (shaper or policer) with 
the specified Committed Rate and Maximum Rate. The headend SHOULD enforce the following semantics:</t>
      <ul spacing="normal">
        <li>
          <t>Sustained traffic rate SHOULD NOT exceed the Path Maximum Rate.</t>
        </li>
        <li>
          <t>The headend SHOULD aim to meet the Path Committed Rate as a long-term average for traffic steered to the segment list.</t>
        </li>
        <li>
          <t>Short-term bursts up to Path Maximum Rate are permitted; the burst size is governed by the headend's shaper implementation and local policy.</t>
        </li>
      </ul>
      <t>If a Path Rate sub-TLV is absent from a Segment List sub-TLV, the headend MUST NOT apply any rate 
limiting specific to this document for that segment list and SHOULD revert to the default behavior 
as defined by <xref target="RFC9830"/>.</t>
      <t>Whenever the Path Committed Rate or the Path Maximum Rate of a segment list is changed, the controller MUST 
advertise a new BGP UPDATE message containing the updated Path Rate sub-TLV. The headend processes 
the update according to the rules in <xref target="RFC9830"/>.</t>
      <t>When a new SR Policy CP with an updated Path Rate becomes the active CP, the SRPM SHOULD perform an 
update of the per-segment-list rate limiter. The update SHOULD NOT cause packet loss, forwarding pause, 
or throughput degradation to traffic already steered to that segment list.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document extends the BGP SR Policy encoding defined in <xref target="RFC9830"/> with a Path Rate sub-TLV. 
The security considerations described in <xref target="RFC4271"/> and <xref target="RFC9830"/> are applicable to this document.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document defines a new Sub-TLV in registries "SR Policy Segment
List Sub-TLVs" <xref target="RFC9830"/>:</t>
      <artwork><![CDATA[
   Value    Description                                  Reference
   ---------------------------------------------------------------------
    TBD1     Path Rate sub-TLV                            This document

]]></artwork>
    </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="RFC7606">
          <front>
            <title>Revised Error Handling for BGP UPDATE Messages</title>
            <author fullname="E. Chen" initials="E." role="editor" surname="Chen"/>
            <author fullname="J. Scudder" initials="J." role="editor" surname="Scudder"/>
            <author fullname="P. Mohapatra" initials="P." surname="Mohapatra"/>
            <author fullname="K. Patel" initials="K." surname="Patel"/>
            <date month="August" year="2015"/>
            <abstract>
              <t>According to the base BGP specification, a BGP speaker that receives an UPDATE message containing a malformed attribute is required to reset the session over which the offending attribute was received. This behavior is undesirable because a session reset would impact not only routes with the offending attribute but also other valid routes exchanged over the session. This document partially revises the error handling for UPDATE messages and provides guidelines for the authors of documents defining new attributes. Finally, it revises the error handling procedures for a number of existing attributes.</t>
              <t>This document updates error handling for RFCs 1997, 4271, 4360, 4456, 4760, 5543, 5701, and 6368.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7606"/>
          <seriesInfo name="DOI" value="10.17487/RFC7606"/>
        </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="RFC8402">
          <front>
            <title>Segment Routing Architecture</title>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
            <author fullname="S. Previdi" initials="S." role="editor" surname="Previdi"/>
            <author fullname="L. Ginsberg" initials="L." surname="Ginsberg"/>
            <author fullname="B. Decraene" initials="B." surname="Decraene"/>
            <author fullname="S. Litkowski" initials="S." surname="Litkowski"/>
            <author fullname="R. Shakir" initials="R." surname="Shakir"/>
            <date month="July" year="2018"/>
            <abstract>
              <t>Segment Routing (SR) leverages the source routing paradigm. A node steers a packet through an ordered list of instructions, called "segments". A segment can represent any instruction, topological or service based. A segment can have a semantic local to an SR node or global within an SR domain. SR provides a mechanism that allows a flow to be restricted to a specific topological path, while maintaining per-flow state only at the ingress node(s) to the SR domain.</t>
              <t>SR can be directly applied to the MPLS architecture with no change to the forwarding plane. A segment is encoded as an MPLS label. An ordered list of segments is encoded as a stack of labels. The segment to process is on the top of the stack. Upon completion of a segment, the related label is popped from the stack.</t>
              <t>SR can be applied to the IPv6 architecture, with a new type of routing header. A segment is encoded as an IPv6 address. An ordered list of segments is encoded as an ordered list of IPv6 addresses in the routing header. The active segment is indicated by the Destination Address (DA) of the packet. The next active segment is indicated by a pointer in the new routing header.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8402"/>
          <seriesInfo name="DOI" value="10.17487/RFC8402"/>
        </reference>
        <reference anchor="RFC9012">
          <front>
            <title>The BGP Tunnel Encapsulation Attribute</title>
            <author fullname="K. Patel" initials="K." surname="Patel"/>
            <author fullname="G. Van de Velde" initials="G." surname="Van de Velde"/>
            <author fullname="S. Sangli" initials="S." surname="Sangli"/>
            <author fullname="J. Scudder" initials="J." surname="Scudder"/>
            <date month="April" year="2021"/>
            <abstract>
              <t>This document defines a BGP path attribute known as the "Tunnel Encapsulation attribute", which can be used with BGP UPDATEs of various Subsequent Address Family Identifiers (SAFIs) to provide information needed to create tunnels and their corresponding encapsulation headers. It provides encodings for a number of tunnel types, along with procedures for choosing between alternate tunnels and routing packets into tunnels.</t>
              <t>This document obsoletes RFC 5512, which provided an earlier definition of the Tunnel Encapsulation attribute. RFC 5512 was never deployed in production. Since RFC 5566 relies on RFC 5512, it is likewise obsoleted. This document updates RFC 5640 by indicating that the Load-Balancing Block sub-TLV may be included in any Tunnel Encapsulation attribute where load balancing is desired.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9012"/>
          <seriesInfo name="DOI" value="10.17487/RFC9012"/>
        </reference>
        <reference anchor="RFC9256">
          <front>
            <title>Segment Routing Policy Architecture</title>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <author fullname="D. Voyer" initials="D." surname="Voyer"/>
            <author fullname="A. Bogdanov" initials="A." surname="Bogdanov"/>
            <author fullname="P. Mattes" initials="P." surname="Mattes"/>
            <date month="July" year="2022"/>
            <abstract>
              <t>Segment Routing (SR) allows a node to steer a packet flow along any path. Intermediate per-path states are eliminated thanks to source routing. SR Policy is an ordered list of segments (i.e., instructions) that represent a source-routed policy. Packet flows are steered into an SR Policy on a node where it is instantiated called a headend node. The packets steered into an SR Policy carry an ordered list of segments associated with that SR Policy.</t>
              <t>This document updates RFC 8402 as it details the concepts of SR Policy and steering into an SR Policy.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9256"/>
          <seriesInfo name="DOI" value="10.17487/RFC9256"/>
        </reference>
        <reference anchor="RFC9552">
          <front>
            <title>Distribution of Link-State and Traffic Engineering Information Using BGP</title>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <date month="December" year="2023"/>
            <abstract>
              <t>In many environments, a component external to a network is called upon to perform computations based on the network topology and the current state of the connections within the network, including Traffic Engineering (TE) information. This is information typically distributed by IGP routing protocols within the network.</t>
              <t>This document describes a mechanism by which link-state and TE information can be collected from networks and shared with external components using the BGP routing protocol. This is achieved using a BGP Network Layer Reachability Information (NLRI) encoding format. The mechanism applies to physical and virtual (e.g., tunnel) IGP links. The mechanism described is subject to policy control.</t>
              <t>Applications of this technique include Application-Layer Traffic Optimization (ALTO) servers and Path Computation Elements (PCEs).</t>
              <t>This document obsoletes RFC 7752 by completely replacing that document. It makes some small changes and clarifications to the previous specification. This document also obsoletes RFC 9029 by incorporating the updates that it made to RFC 7752.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9552"/>
          <seriesInfo name="DOI" value="10.17487/RFC9552"/>
        </reference>
        <reference anchor="RFC9830">
          <front>
            <title>Advertising Segment Routing Policies in BGP</title>
            <author fullname="S. Previdi" initials="S." surname="Previdi"/>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <author fullname="P. Mattes" initials="P." surname="Mattes"/>
            <author fullname="D. Jain" initials="D." surname="Jain"/>
            <date month="September" year="2025"/>
            <abstract>
              <t>A Segment Routing (SR) Policy is an ordered list of segments (also referred to as "instructions") that define a source-routed policy. An SR Policy consists of one or more Candidate Paths (CPs), each comprising one or more segment lists. A headend can be provisioned with these CPs using various mechanisms such as Command-Line Interface (CLI), Network Configuration Protocol (NETCONF), Path Computation Element Communication Protocol (PCEP), or BGP.</t>
              <t>This document specifies how BGP can be used to distribute SR Policy CPs. It introduces a BGP SAFI for advertising a CP of an SR Policy and defines sub-TLVs for the Tunnel Encapsulation Attribute to signal information related to these CPs.</t>
              <t>Furthermore, this document updates RFC 9012 by extending the Color Extended Community to support additional steering modes over SR Policy.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9830"/>
          <seriesInfo name="DOI" value="10.17487/RFC9830"/>
        </reference>
        <reference anchor="RFC9857">
          <front>
            <title>Advertisement of Segment Routing Policies Using BGP - Link State</title>
            <author fullname="S. Previdi" initials="S." surname="Previdi"/>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <author fullname="J. Dong" initials="J." surname="Dong"/>
            <author fullname="H. Gredler" initials="H." surname="Gredler"/>
            <author fullname="J. Tantsura" initials="J." surname="Tantsura"/>
            <date month="October" year="2025"/>
            <abstract>
              <t>This document describes a mechanism used to collect Segment Routing (SR) Policy information that is locally available in a node and advertise it into BGP - Link State (BGP-LS) updates. Such information can be used by external components for path computation, reoptimization, service placement, network visualization, etc.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9857"/>
          <seriesInfo name="DOI" value="10.17487/RFC9857"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.xiong-pce-pcep-pathrate">
          <front>
            <title>*** BROKEN REFERENCE ***</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="RFC4271">
          <front>
            <title>A Border Gateway Protocol 4 (BGP-4)</title>
            <author fullname="Y. Rekhter" initials="Y." role="editor" surname="Rekhter"/>
            <author fullname="T. Li" initials="T." role="editor" surname="Li"/>
            <author fullname="S. Hares" initials="S." role="editor" surname="Hares"/>
            <date month="January" year="2006"/>
            <abstract>
              <t>This document discusses the Border Gateway Protocol (BGP), which is an inter-Autonomous System routing protocol.</t>
              <t>The primary function of a BGP speaking system is to exchange network reachability information with other BGP systems. This network reachability information includes information on the list of Autonomous Systems (ASes) that reachability information traverses. This information is sufficient for constructing a graph of AS connectivity for this reachability from which routing loops may be pruned, and, at the AS level, some policy decisions may be enforced.</t>
              <t>BGP-4 provides a set of mechanisms for supporting Classless Inter-Domain Routing (CIDR). These mechanisms include support for advertising a set of destinations as an IP prefix, and eliminating the concept of network "class" within BGP. BGP-4 also introduces mechanisms that allow aggregation of routes, including aggregation of AS paths.</t>
              <t>This document obsoletes RFC 1771. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4271"/>
          <seriesInfo name="DOI" value="10.17487/RFC4271"/>
        </reference>
        <reference anchor="RFC5925">
          <front>
            <title>The TCP Authentication Option</title>
            <author fullname="J. Touch" initials="J." surname="Touch"/>
            <author fullname="A. Mankin" initials="A." surname="Mankin"/>
            <author fullname="R. Bonica" initials="R." surname="Bonica"/>
            <date month="June" year="2010"/>
            <abstract>
              <t>This document specifies the TCP Authentication Option (TCP-AO), which obsoletes the TCP MD5 Signature option of RFC 2385 (TCP MD5). TCP-AO specifies the use of stronger Message Authentication Codes (MACs), protects against replays even for long-lived TCP connections, and provides more details on the association of security with TCP connections than TCP MD5. TCP-AO is compatible with either a static Master Key Tuple (MKT) configuration or an external, out-of-band MKT management mechanism; in either case, TCP-AO also protects connections when using the same MKT across repeated instances of a connection, using traffic keys derived from the MKT, and coordinates MKT changes between endpoints. The result is intended to support current infrastructure uses of TCP MD5, such as to protect long-lived connections (as used, e.g., in BGP and LDP), and to support a larger set of MACs with minimal other system and operational changes. TCP-AO uses a different option identifier than TCP MD5, even though TCP-AO and TCP MD5 are never permitted to be used simultaneously. TCP-AO supports IPv6, and is fully compatible with the proposed requirements for the replacement of TCP MD5. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5925"/>
          <seriesInfo name="DOI" value="10.17487/RFC5925"/>
        </reference>
      </references>
    </references>
    <?line 287?>



  </back>
  <!-- ##markdown-source:
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
bFhPYgRT+xN63BBWK5lx/AxDJuPLVOcypDQA6cw6uYsFxeOxxcUHanGgIW2u
R1vKWHjckyJygjdqB0NYsNGUACFKJkB0EI0o8m8ldYJzOnI0CrAc5zJtGKYa
k5pBxCA8HVfWaYOUMq1QZqoAYMsro8gNLYjZJIviXStFbuW6JOfPP//sLOuB
67HXuR73jK+G3V84hJhWCHIvrI6njDFV52Lruu+u+HjXivedJ+Jfnzfsvh7G
fDnXZ9WLkv1mQJq6vHk3370LVNftZwx7zCI/Fm2tt+6rdx2V3H8DWxH3tAX0
czsc0gh6dwpD6a58r/hxKU6phJMkQnyoxLyfJ3DkPra9Ltve57HdvHa9E+Kt
RqxU4nD8oBPvJFDZ+nWzIbBFgYreEjUgeL3kKbltT1qMQrqZXK4llQB1hh3U
tEeALQ0iNhW3cSbbNj8Emu3AVGWj3fSzP/ms46lNpFoBmPgTeZGGlBh049Oo
p0czLpXWl6jnvbG7CoF1atCTOGC3XKFla0SR+H6RytjfjMTl9fUBw1uVTHRr
fb/GE2qwIHhjs0C0LMEddO/oDgIFbVjY2aYlq9oRD1yDKXXNsthPbCMozwo/
J/Nho2LTtKmlmdS5K3lqte7V8duZuDi7nE3EX06wlyBTaIPoNXIjPCBRgl9w
4pRcseozH+eucHC07XVdoJAMMRox0dRjxP7TZwdtV3Ejr7nf3eiWbTvRG+0q
qtlJ9+UcVS/sMvZV3zudZDrvIelkv5BRz7RT12ISFzdIX87kAkyWLZ3Ti7P5
QXdKCXxnmpoEPUAgvld6tX7gnZv9G16Ox+PuC37Ij4+5g8U9OGtDVzaiiMMR
F91tcOnHESbEuaJ18kaLtrQ6LuL7u7NNHGBKkpoysMfJpE4B/m+M/0PG2MCg
vtf/fVsVrgKpDeiqWHjXZ981qo/6nbHvGN9QmKWut1Y+RoBsdmRJBfzOUjr7
DkaMUqqsXMpMnhNhW+lh78rqSgpKlkPVVahbjYgtRVSEuabY1mHScDFC1o/Z
I1tGcLGvM0eIgk/GBkMCcTwhT/mSKBhUZLRqPcZYxqm0WcUJBeOyIKoEWihb
HQQcqyMZkiuqwCr5QWWS57e7ENaDy5jRTtif9GzuYc+zpz3PnjWoHGLEM/Fc
HIkX4qV4JV7/mmcVncfef/inorSVVBMUtB6035+peAU9Nt///jzZq6/Gf+D6
w3jqScj+EJ52p+9VAv903DX7pl1/T+W667bZGCCu35wcin3bSkBMhMvZTtXs
+OK4TjYfNYLXNkw4HDOPUEqvqM26aSZxB65tZA0JC74aP9jtm1Bd/txLkNXm
gA8VBi7h3JQN+U4HkJJ05qLZQVsVsmz8cctprVx/iYHhVoYFAxFHdpe4x2J2
enoqXh49t8mjxUQPqOZrbm0tw0RSoPY4IFsiI0o2iljbHkVPF1EQrPQ2En9J
0LrJWFUtaZmmNPqLnylSRxqbMv9GkR5oKO5qJ7b3+UsbFegw504bNXJbW4W8
CtDFvlGqSudeHJQq3RPvuEfIPfiPe0n141NP/zlRdO6Z1zki7OSOyxIXifgo
tSxyKHHbJHzUlBj1QGVCgYb0rj7Y7K05nSyuOj2JOCRSiym1p2nUTFJZhjFQ
UcCn89Bzu0aizNDwuW9zTa5WNyLQoEbnwlypNQS1zd4t2lkRgqVW1VZq8wgL
Q52tFcAc/6ZvTPB7RY1+239tqAr81hvUzQZsTVuezlEBmrP6+aSHK+uqrqvO
avnLBz5T7k2vKb+A+S0Z5Bid6Myq+03DWBwvcy6h7Vhpdf4bVgP9cgt5vZ7j
YlGYCpWQ0zZNoO8Q3NoN6eYmpU55dTQmyfF0jybrBK2T5+FtKdb8vHECL85h
4KFyB/Hkt63tbXc/wPAqkxF1LXZ88AEa+2YtiRZ9aEDLqOzAFkPUUlEN69oK
1mROrTZ864sQ1xsvzzPbiRk8BwCu/fJo6MrCXX3GaTms++twRV+poL9pMuZ4
111baj4djJTKHzxV4K4OffLi0ZGVkLAKuVK9Rxmud9JqGTHz6yTL7XR3pF+k
1RlLC0c5kaaTMVr/y8bZtNE/Mb5bj6zPkpxAf6LGGu+RjtKQUcfZMoQNE3ii
66HYk+wlROqvNRaUw9uwv8vsSj02KwxAkow3dl+GA7Yd3snyo5JtvHKheavH
xhy77aET+iwv1QqPkqhBAM9reavtuXXtZ4tNx8/oDJwoPLi1SdZvLtx/bHNF
n0is6QgqGG2f4bnDtAovMLWML23E4Ekw4hI17KF6j+O3/aQsl4xzNzut27Kz
UN+DN+5bAGKq1VBlF0ac7vKxQLCP1NZpRwNw3P7A3gg1ba/WseUq052AYuVz
ExouzB+hlN+bhIkxo/bHTgWlCsMBb1uWFKt1WtDxMkAsqM/wnU/KEKlIsNnd
z62yCcTEgroWdLLCVWWVWhj3xvNbb3ryDP6UL7BK2/rIr+wg9QcFtxF9dmCz
jJIH0eahfdTHBOlTzGYcL4EfsMK9bp8T507m4D5ro4y/owAtY/nLwpeH/M7M
SkSJy5KAwm63hhgOGFrqAqLB9KR9hPYdZ7i4TlhozqZ2l0R0XbYaVQ+coPy6
y1ZiXDVV9WALRndcLZ015LOfGNLHTsPBvwEr4MTyaC0AAA==

-->

</rfc>
