<?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.5 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-sidrops-wang-fcbgp-protocol-00" category="std" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.20.0 -->
  <front>
    <title abbrev="FC-BGP">FC-BGP Protocol Specification</title>
    <seriesInfo name="Internet-Draft" value="draft-sidrops-wang-fcbgp-protocol-00"/>
    <author fullname="Ke Xu">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>xuke@tsinghua.edu.cn</email>
      </address>
    </author>
    <author fullname="Xiaoliang Wang">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>wangxiaoliang0623@foxmail.com</email>
      </address>
    </author>
    <author fullname="Zhuotao Liu">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>zhuotaoliu@tsinghua.edu.cn</email>
      </address>
    </author>
    <author fullname="Qi Li">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>qli01@tsinghua.edu.cn</email>
      </address>
    </author>
    <author fullname="Jianping Wu">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>jianping@cernet.edu.cn</email>
      </address>
    </author>
    <author initials="Y." surname="Guo" fullname="Yangfei Guo">
      <organization>Zhongguancun Laboratory</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>guoyangfei@zgclab.edu.cn</email>
      </address>
    </author>
    <date year="2024" month="February" day="23"/>
    <workgroup>sidrops</workgroup>
    <abstract>
      <?line 79?>

<t>This document describes Forwarding Commitment BGP (FC-BGP), an extension to the Border Gateway Protocol (BGP) that provides security for the path of Autonomous Systems (ASes) through which a BGP UPDATE message passes. Forwarding Commitment（FC）is a cryptographically signed code to certify an AS's routing intent on its directly connected hops. Based on FC, FC-BGP aims to build a secure inter-domain system that can simultaneously authenticate the AS_PATH attribute in BGP UPDATE and validate network forwarding on the data plane.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://BasilGuo.github.io/fcbgp-protocol/draft-sidrops-wang-fcbgp-protocol.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-sidrops-wang-fcbgp-protocol/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/BasilGuo/fcbgp-protocol"/>.</t>
    </note>
  </front>
  <middle>
    <?line 84?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The FC-BGP control plane mechanism described in this document is to verify the authenticity of BGP advertised routes.  FC-BGP is fully compatible with BGP and provides more security benefits in case of partial deployment compared with BGPsec. 
FC-BGP extends the BGP UPDATE message with a new optional, transitive, and extended path attribute called FC (Forwarding Commitment). When the BGP UPDATE message traverses an FC-BGP enabled AS, it adds a new FC according to the AS order in AS_PATH. Subsequent ASes can then use the list of FCs in the UPDATE message to verify that the advertised path is consistent with the AS_PATH attribute.</t>
      <t>Similar to BGPsec defined in <xref target="RFC8205"/>, FC-BGP relies on RPKI to perform route origin validation. Additionally, any FC-enabled BGP speaker that wishes to generate and propagate FC along with BGP UPDATE messages <bcp14>MUST</bcp14> use a router certificate from RPKI that is associated with its AS number. The router key generation here follows <xref target="RFC8635"/>.</t>
      <t>It is worth noting that the FC-BGP framework can be extended to verify data plane forwarding paths, ensuring that these paths are honoring the control plane BGP paths. However, the description of these mechanisms is outside the scope of this document.</t>
      <section anchor="requirements-language">
        <name>Requirements Language</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>
    <section anchor="fc-attribute">
      <name>FC Attribute</name>
      <t>Unlike BGPsec, FC-BGP does not modify the AS_PATH. Instead, FC is enclosed in a BGP UPDATE message as an optional, transitive, and extended length path attribute. Thus, it is unnecessary to negotiate this feature in the BGP OPEN message.</t>
      <t>Although FC-BGP would not modify the AS_PATH path attribute, it is <bcp14>REQUIRED</bcp14> to ever use the AS_SET or AS_CONFED_SET in FC-BGP according to what <xref target="RFC6472"/> says.</t>
      <t>The format of the FC path attribute is shown in <xref target="figure1"/>.</t>
      <figure anchor="figure1">
        <name>Format of FC path attribute.</name>
        <artwork><![CDATA[
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      Flags    |      Type     |         FCList Length         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                            FCList                             ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
      </figure>
      <t>FC path attribute includes the following parts:</t>
      <dl>
        <dt>Flags (1 octet):</dt>
        <dd>
          <t>The current value is 0b11010000, representing the FC attribute as optional, transitive, partial, and extended-length.</t>
        </dd>
        <dt>Type (1 octet):</dt>
        <dd>
          <t>The current value is TBD, which is waiting for the IANA assignment. Refer to <xref target="iana-considerations"/>.</t>
        </dd>
        <dt>FCList Length (2 octets):</dt>
        <dd>
          <t>The value is the total length of the FCList in bytes.</t>
        </dd>
        <dt>FCList (variable length):</dt>
        <dd>
          <t>The value is a sequence of FCs, in order. The definition of the FC signed code format is shown in <xref target="figure2"/>.</t>
        </dd>
      </dl>
      <figure anchor="figure2">
        <name>Format of FC.</name>
        <artwork><![CDATA[
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                Previous Autonomous System Number              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                 Current Autonomous System Number              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                 Nexthop Autonomous System Number              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                     Subject Key Identifier                    ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Algorithm ID  |      Flags    |       Signature Length        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                          Signature                            ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
      </figure>
      <t>In FC-BGP, all ASes <bcp14>MUST</bcp14> use 4-byte AS numbers. Existing 2-byte AS numbers are converted into 4-byte AS numbers by setting the two high-order octets of the 4-octet field to 0 <xref target="RFC6793"/>.</t>
      <t>FC signed code includes the following parts.</t>
      <dl>
        <dt>Previous Autonomous System Number (PASN, 4 octets):</dt>
        <dd>
          <t>The AS number of the previous AS. If the current AS has no previous AS hop, it <bcp14>MUST</bcp14> be filled with 0.</t>
        </dd>
        <dt>Current Autonomous System Number (CASN, 4 octets):</dt>
        <dd>
          <t>The AS number of the current AS.</t>
        </dd>
        <dt>Nexthop Autonomous System Number (NASN, 4 octets):</dt>
        <dd>
          <t>The AS number of the next hop AS to whom the current AS will send the BGP UPDATE message.</t>
        </dd>
        <dt>Subject Key Identifier (SKI, 20 octets):</dt>
        <dd>
          <t>It exists in the RPKI router certificate, used to uniquely identify the public key for signature verification.</t>
        </dd>
      </dl>
      <!-- TODO: Different from BGPsec as each FC has its algorithm ID, there is no need to set more than one FC for each hop. -->
<dl>
        <dt>Algorithm ID (1 octet):</dt>
        <dd>
          <t>The current assigned value is 1, indicating that SHA256 is used to hash the content to be signed, and ECDSA is used for signing. It follows the algorithm suite defined in <xref target="RFC8208"/> and its updates. As each FC has its Algorithm ID, so no need to worry about that one suddenly changing its algorithm suite.</t>
        </dd>
        <dt>Flags (1 octet):</dt>
        <dd>
          <t>Its value <bcp14>MUST</bcp14> be 0. None of these bits are assigned values.</t>
        </dd>
        <dt>Signature Length (2 octets):</dt>
        <dd>
          <t>It indicates the signature length in bytes.</t>
        </dd>
        <dt>Signature (variable length):</dt>
        <dd>
          <t>The signature content and order are Signature=ECDSA(SHA256(PASN, CASN, NASN, Prefix)), where the Prefix is the IP address prefix which is encapsulated in the BGP UPDATE, and only one prefix is used each time. For hashing and signing, it uses the full IP address and IP prefix length. The full IP address uses 4 bytes for IPv4 and 16 bytes for IPv6.</t>
        </dd>
      </dl>
    </section>
    <section anchor="processing-a-received-fc-bgp-update-message">
      <name>Processing a Received FC-BGP UPDATE Message</name>
      <t>Upon receiving a BGP UPDATE message carrying FC path attributes, an AS will perform the following three steps:</t>
      <ol spacing="normal" type="1"><li>
          <t>Verify the AS-Path attribute.</t>
        </li>
        <li>
          <t>BGP best path selection.</t>
        </li>
        <li>
          <t>Update the FC path attributes and continue advertising the BGP route.</t>
        </li>
      </ol>
      <t>The AS that originates a BGP UPDATE message with the FC path attributes only performs the third step. An AS which no longer propagates a BGP UPDATE only completes the first two steps. For the sake of discussion, we assume that AS 65537 receives an FC-BGP UPDATE message for prefix 192.0.0/24, with an originating AS of 65536 and a next hop of 65538. All three ASes support FC-BGP.</t>
      <section anchor="verify-the-as-path-attribute">
        <name>Verify the AS-Path Attribute</name>
        <t>The FC-BGP speaker in AS 65537, upon receiving an UPDATE message, retrieves the FC path attribute and extracts the FC list. It then finds the FC with CASN = 65536 and checks if NASN is equal to 65537. If so, it uses the SKI field to find the public key and calculates the signature using the algorithm specified in the Algorithm ID. If the calculated signature matches the signature in the message, then the AS-Path hop associated with the AS 65536 is verified. This process repeats for all FCs and AS-Paths in the FC list. If AS 65537 does not support FC-BGP, it simply forwards the BGP UPDATE to its neighbors when propagating this BGP route.</t>
      </section>
      <section anchor="bgp-best-path-selection">
        <name>BGP Best Path Selection</name>
        <t>Based on the AS-Path verification, it is recommended that AS 65537 prioritize route selection as follows:</t>
        <ol spacing="normal" type="1"><li>
            <t>Local preference. Local preference is the highest priority, regardless of the verification results.</t>
          </li>
          <li>
            <t>Full path validation. All AS hops in the AS-Path attribute from the source AS to the current AS have successfully passed the aforementioned FC validation.</t>
          </li>
          <li>
            <t>Partial path validation. There is a contiguous AS subsequence in the AS-Path attribute starting from the source AS. All AS hops in the subsequence have successfully passed the FC validation. However, there is at least one AS between the last AS in the subsequence and the current AS whose associated FC is either missing or invalid. We denote the number of ASes included in the subsequence as N, and the total number of ASes from the source AS to the current AS as M. This path should be considered to be secure in the following two conditions: N = 1 and M &lt;= 4 or N &gt; 1 and M &lt;= N + 3.</t>
          </li>
          <li>
            <t>Shorter AS-Path. The current AS selects the route with the shorter AS_PATH.</t>
          </li>
          <li>
            <t>Other attributes with lower priority than the AS-path length. The addition of FCs in this case should not affect path selection.</t>
          </li>
        </ol>
      </section>
      <section anchor="update-the-fc-path-attributes-and-continue-to-advertise-the-bgp-route">
        <name>Update the FC path attributes and continue to advertise the BGP route</name>
        <t>FC-BGP speakers need to generate different UPDATE messages for different peers. Each UPDATE announcement contains only one route prefix and cannot be aggregated. This is because different route prefixes may have different announcement paths due to different routing policies. Multiple aggregated route prefixes may cause FC generation and verification errors. When multiple route prefixes need to be announced, the FC-BGP speaker needs to generate different UPDATE messages for each route prefix.</t>
        <t>When the AS-PATH uses AS_SEQUENCE in the BGP UPDATE, the FC-BGP function will not be enabled. In other cases, the FC-BGP speaker router will enable the FC-BGP function and update the FC path attribute after verifying AS-Path Attribute and selecting the preferable BGP path. 
All FC-BGP UPDATE messages must comply with the maximum BGP message size. If the final message exceeds the maximum message size, then it must follow the processing of <xref section="9.2" sectionFormat="of" target="RFC4271"/>.</t>
        <t>The FC-BGP speaker in AS 65537 will encapsulate each prefix to be sent to AS 65538 in a single UPDATE message, add the FC path attribute, and sign the path content using its private key. Afterwards, AS65537 will prepend its own FC on the top of the FC List. The FC path attribute uses the message format shown in <xref target="figure1"/> and <xref target="figure2"/> and should be signed with the RPKI router certificate. When signing the FC attribute, the FC-BGP speaker computes the  SHA256 hash in the order of (PASN ( 0 if absent), CASN, NASN, IP Prefix Address, and IP Prefix Length) firstly. Afterwards, the FC-BGP speaker should calculate the digest information Digest, sign the Digest with ECDSA, and then fill the Signature field and FC fields. At this point, the processing of FC path attributes by the FC-BGP speaker is complete. The subsequent processing of BGP messages follows the standard BGP process.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations of <xref target="RFC8205"/> and <xref target="RFC4272"/> also apply to FC-BGP.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>TBD: Wait for IANA to assign FC-BGP-UPDATE-PATH-ATTRIBUTE-TYPE.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="RFC6793">
          <front>
            <title>BGP Support for Four-Octet Autonomous System (AS) Number Space</title>
            <author fullname="Q. Vohra" initials="Q." surname="Vohra"/>
            <author fullname="E. Chen" initials="E." surname="Chen"/>
            <date month="December" year="2012"/>
            <abstract>
              <t>The Autonomous System number is encoded as a two-octet entity in the base BGP specification. This document describes extensions to BGP to carry the Autonomous System numbers as four-octet entities. This document obsoletes RFC 4893 and updates RFC 4271. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6793"/>
          <seriesInfo name="DOI" value="10.17487/RFC6793"/>
        </reference>
        <reference anchor="RFC7607">
          <front>
            <title>Codification of AS 0 Processing</title>
            <author fullname="W. Kumari" initials="W." surname="Kumari"/>
            <author fullname="R. Bush" initials="R." surname="Bush"/>
            <author fullname="H. Schiller" initials="H." surname="Schiller"/>
            <author fullname="K. Patel" initials="K." surname="Patel"/>
            <date month="August" year="2015"/>
            <abstract>
              <t>This document updates RFC 4271 and proscribes the use of Autonomous System (AS) 0 in the Border Gateway Protocol (BGP) OPEN, AS_PATH, AS4_PATH, AGGREGATOR, and AS4_AGGREGATOR attributes in the BGP UPDATE message.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7607"/>
          <seriesInfo name="DOI" value="10.17487/RFC7607"/>
        </reference>
        <reference anchor="RFC8205">
          <front>
            <title>BGPsec Protocol Specification</title>
            <author fullname="M. Lepinski" initials="M." role="editor" surname="Lepinski"/>
            <author fullname="K. Sriram" initials="K." role="editor" surname="Sriram"/>
            <date month="September" year="2017"/>
            <abstract>
              <t>This document describes BGPsec, an extension to the Border Gateway Protocol (BGP) that provides security for the path of Autonomous Systems (ASes) through which a BGP UPDATE message passes. BGPsec is implemented via an optional non-transitive BGP path attribute that carries digital signatures produced by each AS that propagates the UPDATE message. The digital signatures provide confidence that every AS on the path of ASes listed in the UPDATE message has explicitly authorized the advertisement of the route.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8205"/>
          <seriesInfo name="DOI" value="10.17487/RFC8205"/>
        </reference>
        <reference anchor="RFC8208">
          <front>
            <title>BGPsec Algorithms, Key Formats, and Signature Formats</title>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <author fullname="O. Borchert" initials="O." surname="Borchert"/>
            <date month="September" year="2017"/>
            <abstract>
              <t>This document specifies the algorithms, algorithm parameters, asymmetric key formats, asymmetric key sizes, and signature formats used in BGPsec (Border Gateway Protocol Security). This document updates RFC 7935 ("The Profile for Algorithms and Key Sizes for Use in the Resource Public Key Infrastructure").</t>
              <t>This document also includes example BGPsec UPDATE messages as well as the private keys used to generate the messages and the certificates necessary to validate those signatures.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8208"/>
          <seriesInfo name="DOI" value="10.17487/RFC8208"/>
        </reference>
        <reference anchor="RFC8635">
          <front>
            <title>Router Keying for BGPsec</title>
            <author fullname="R. Bush" initials="R." surname="Bush"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <author fullname="K. Patel" initials="K." surname="Patel"/>
            <date month="August" year="2019"/>
            <abstract>
              <t>BGPsec-speaking routers are provisioned with private keys in order to sign BGPsec announcements. The corresponding public keys are published in the Global Resource Public Key Infrastructure (RPKI), enabling verification of BGPsec messages. This document describes two methods of generating the public-private key pairs: router-driven and operator-driven.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8635"/>
          <seriesInfo name="DOI" value="10.17487/RFC8635"/>
        </reference>
        <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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC4272">
          <front>
            <title>BGP Security Vulnerabilities Analysis</title>
            <author fullname="S. Murphy" initials="S." surname="Murphy"/>
            <date month="January" year="2006"/>
            <abstract>
              <t>Border Gateway Protocol 4 (BGP-4), along with a host of other infrastructure protocols designed before the Internet environment became perilous, was originally designed with little consideration for protection of the information it carries. There are no mechanisms internal to BGP that protect against attacks that modify, delete, forge, or replay data, any of which has the potential to disrupt overall network routing behavior.</t>
              <t>This document discusses some of the security issues with BGP routing data dissemination. This document does not discuss security issues with forwarding of packets. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4272"/>
          <seriesInfo name="DOI" value="10.17487/RFC4272"/>
        </reference>
        <reference anchor="RFC6472">
          <front>
            <title>Recommendation for Not Using AS_SET and AS_CONFED_SET in BGP</title>
            <author fullname="W. Kumari" initials="W." surname="Kumari"/>
            <author fullname="K. Sriram" initials="K." surname="Sriram"/>
            <date month="December" year="2011"/>
            <abstract>
              <t>This document recommends against the use of the AS_SET and AS_CONFED_SET types of the AS_PATH in BGPv4. This is done to simplify the design and implementation of BGP and to make the semantics of the originator of a route more clear. This will also simplify the design, implementation, and deployment of ongoing work in the Secure Inter-Domain Routing Working Group. This memo documents an Internet Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="172"/>
          <seriesInfo name="RFC" value="6472"/>
          <seriesInfo name="DOI" value="10.17487/RFC6472"/>
        </reference>
      </references>
    </references>
    <?line 243?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
