<?xml version="1.0" encoding="US-ASCII"?>
<!-- edited with XMLSPY v5 rel. 3 U (http://www.xmlspy.com)
     by Daniel M Kohn (private) -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc2119 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
]>
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="std" docName="draft-ietf-idr-bgpls-inter-as-topology-ext-15"
     ipr="trust200902">
  <front>
    <title abbrev="BGP-LS-Inter-AS-Ext">BGP-LS Extension for Inter-AS Topology
    Retrieval</title>

    <author fullname="Aijun Wang" initials="A" surname="Wang">
      <organization>China Telecom</organization>

      <address>
        <postal>
          <street>Beiqijia Town, Changping District</street>

          <city>Beijing</city>

          <region>Beijing</region>

          <code>102209</code>

          <country>China</country>
        </postal>

        <email>wangaj3@chinatelecom.cn</email>
      </address>
    </author>

    <author fullname="Huaimo Chen" initials="H" surname="Chen">
      <organization>Futurewei</organization>

      <address>
        <postal>
          <street/>

          <city>Boston</city>

          <region>MA</region>

          <code/>

          <country>USA</country>
        </postal>

        <email>hchen.ietf@gmail.com</email>
      </address>
    </author>

    <author fullname="Ketan Talaulikar" initials="K" surname="Talaulikar">
      <organization>Cisco Systems</organization>

      <address>
        <postal>
          <street/>

          <city/>

          <region/>

          <code/>

          <country>India</country>
        </postal>

        <phone/>

        <facsimile/>

        <email>ketant.ietf@gmail.com</email>

        <uri/>
      </address>
    </author>

    <author fullname="Shunwan Zhuang" initials="S" surname="Zhuang">
      <organization>Huawei Technologies</organization>

      <address>
        <postal>
          <street>Huawei Building, No.156 Beiqing Rd.</street>

          <city>Beijing</city>

          <region/>

          <code>100095</code>

          <country>China</country>
        </postal>

        <phone/>

        <facsimile/>

        <email>zhuangshunwan@huawei.com</email>

        <uri/>
      </address>
    </author>

    <author fullname="Changwang Lin" initials="C" surname="Lin">
      <organization>New H3C Technologies</organization>

      <address>
        <postal>
          <street>Huawei Building, No.156 Beiqing Rd.</street>

          <city>Beijing</city>

          <region/>

          <code/>

          <country>China</country>
        </postal>

        <phone/>

        <facsimile/>

        <email>linchangwang.04414@h3c.com</email>

        <uri/>
      </address>
    </author>

    <date day="25" month="April" year="2024"/>

    <area>RTG Area</area>

    <workgroup>IDR Working Group</workgroup>

    <keyword>RFC</keyword>

    <abstract>
      <t>This document describes the process to build Border Gateway
      Protocol-Link State (BGP-LS) key parameters in inter-domain scenario,
      defines one new BGP-LS Network Layer Reachability Information (NLRI)
      type (Stub Link NLRI) and some new Type-Length-Values (TLVs) for BGP-LS
      to let Software Definition Network (SDN) controller retrieve the network
      topology automatically under various inter-AS environments.</t>

      <t>Such extension and process can enable the network operator to collect
      the interconnect information between different domains and then
      calculate the overall network topology automatically based on the
      information provided by BGP-LS protocol.</t>
    </abstract>
  </front>

  <middle>
    <section anchor="intro" title="Introduction">
      <t>BGP-LS <xref target="RFC9552"/> describes the methodology that using
      BGP protocol to transfer the Link-State information. Such method can
      enable SDN controller to collect the underlay network topology
      automatically, but normally it can only get the information within one
      Interior Gateway Protocol (IGP) domain. If the operator has more than
      one IGP domain, and these domains interconnect with each other, there is
      no mechanic within current BGP- LS to transfer the interconnect topology
      information.</t>

      <t>Draft <xref target="RFC9086"/> defines some extensions for exporting
      BGP peering node topology information (including its peers, interfaces
      and peering ASs) in a way that is exploitable in order to compute
      efficient BGP Peering Engineering policies and strategies. Such
      information can also be used to calculate the interconnection topology
      among different IGP domains, but it requires every border router to run
      BGP-LS protocol and report the information to SDN controller.
      Considering there will be plenty of border routers on the network
      boundary, such solution restricts its deployment flexibility.</t>

      <t>This draft analysis the situations that the SDN controller needs to
      get the interconnected topology information between different AS
      domains, defines the new Stub Link NLRI and some new TLVs within the
      BGP-LS protocol to transfer the key information related to them. After
      that, the SDN controller can then deduce the multi-domain topology
      automatically based on the information from BGP-LS protocol.</t>
    </section>

    <section title="Conventions used in this document">
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
      document are to be interpreted as described in RFC 2119 <xref
      target="RFC2119"/> .</t>
    </section>

    <section title="Terminology">
      <t>The following terms are defined in this document:</t>

      <t><list style="symbols">
          <t>IDCs: Internet Data Centers</t>

          <t>MAN: Metrio-Area-Network</t>

          <t>SDN: Software Definition Network</t>
        </list></t>
    </section>

    <section anchor="s-Inter-AS-Scenario" title="Inter-AS Domain Scenarios">
      <t>Figure 1 illustrates the multi-domain scenarios that this draft
      discusses. Normally, SDN Controller can get the topology of IGP A and
      IGP B individually via the BGP-LS protocol, but it can't get the
      topology connection information between these two IGP domains because
      there is generally no IGP protocol run on the connected links.<figure>
          <artwork align="center"><![CDATA[                      +-----------------+
                 +----+IP SDN Controller+----+
                 |    +-----------------+    |
                 |                           |
                 |BGP-LS                     |BGP-LS
                 |                           |
 +---------------+-----+               +-----+--------------+
 | +--+        +-++   ++-+           +-++   +|-+        +--+|
 | |S1+--------+S2+---+B1+-----------+B2+---+T1+--------+T2||
 | +-++   N1   +-++   ++-+           +-++   ++++   N2   +-++|
 |   |           |     |               |     ||           | |
 |   |           |     |               |     ||           | |
 | +-++        +-++   ++-+           +-++   ++++        +-++|
 | |S4+--------+S3+---+B3+-----------+B4+---+T3+--------+T4||
 | +--+        +--+   ++-+           +-++   ++-+        +--+|
 |                     |               |                    |
 |                     |               |                    |
 |       IGP A         |               |      IGP B         |
 +---------------------+               +--------------------+

             Figure 1: Inter-AS Domain Scenarios
]]></artwork>
        </figure></t>
    </section>

    <section anchor="s-Stub-Link-NLRI" title="Stub Link NLRI">
      <t><xref target="RFC9552"/> defines four NLRI types(Node NLRI, Link
      NLRI, IPv4 Topology Prefix NLRI, IPv6 Topology Prefix NLRI) to transfer
      the topology and prefix information. For inter-as link, the two ends of
      the link locates in different IGP domains, then it is not appropriate to
      transfer their information within the current defined NLRI types.</t>

      <t>This draft defines one new NLRI type, called Stub Link NLRI, which is
      coded as the following format:</t>

      <t><figure>
          <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
     +-+-+-+-+-+-+-+-+
     |  Protocol-ID  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                           Identifier                          |
     |                            (64 bits)                          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     //              Local Node Descriptors (variable)              //
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     //               Stub Link Descriptors (variable)              //
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

            Figure 2: Stub Link NLRI Format]]></artwork>
        </figure></t>

      <t>The "Protocol-ID" should be set to the value that indicates the
      source protocol of the stub link information, as indicated in <xref
      target="RFC9552"/></t>

      <t>The semantics of "Local Node Descriptors" and "Stub Link Descriptors"
      are same as that defined in <xref target="RFC9552"/> for "Node
      Descriptors" and "Link Descriptor". </t>

      <t>This newly defined NLRI can be used to describe the link that has
      only one end located within the IGP domain, as described in the
      following sections. The Node/Link/Prefix Descriptor sub-TLVs and
      Node/Link/Prefix attributes that defined in <xref target="RFC9552"/> can
      be included in the NLRI if necessary. The interface and neighbor address
      sub-TLVs SHOULD be included in the Local Node Descriptors to
      differentiate the parallel links between two ASBRs.</t>
    </section>

    <section title="IGP Information for Inter-AS Link">
      <t><xref target="RFC9346"/> and <xref target="RFC5392"/> define IS-IS
      and OSPF extensions respectively to deal with the situation for inter-AS
      link. Three sub-TLVs(Remote AS Number&#12289;IPv4 Remote ASBR
      ID&#12289;IPv6 Remote ASBR ID) which are associated with the inter-AS
      link are defined.</t>

      <t>These TLVs are flooded within the IGP domain automatically. They
      should be carried within the newly defined Stub Link NLRI within the
      BGP-LS protocol, as the descriptors for the inter-AS stub link.</t>

      <t>The "Local Node Descriptors" should describe the the characteristics
      of ASBRs that are connected these inter-AS links.</t>

      <t>If the SDN controller knows these information via one of the interior
      router that runs BGP-LS protocol, the SDN controller can rebuild the
      inter-AS topology correctly according to the procedure described in
      <xref target="s-Topology-Reconstruction"/></t>
    </section>

    <section title="BGP-LS Extensions for Inter-AS Link">
      <t>This section proposes to add three new TLVs that is included within
      the Stub Link NLRI to transfer the information via BGP-LS, which are
      required to build the inter-AS related topology by the SDN
      controller.</t>

      <t>The following Link Descriptor TLVs are added into the BGP-LS protocol
      :</t>

      <t><figure>
          <artwork><![CDATA[+-----------+---------------------+--------------+----------------+
|  TLV Code | Description         |IS-IS/OSPF TLV| Reference      |
|   Point   |                     |   /Sub-TLV   | (RFC/Section)  |
+-----------+---------------------+--------------+----------------+
|    TBD    |Remote AS Number     |   24/21      | [RFC9346]/3.3.1|
|           |                     |              | [RFC5392]/3.3.1|
|    TBD    |IPv4 Remote ASBR ID  |   25/22      | [RFC9346]/3.3.2|
|           |                     |              | [RFC5392]/3.3.2| 
|    TBD    |IPv6 Remote ASBR ID  |   26/24      | [RFC9346]/3.3.3|
|           |                     |              | [RFC5392]/3.3.3|
+-----------+---------------------+--------------+----------------+
             Figure 3: Stub Link Descriptor TLVs]]></artwork>
        </figure></t>

      <t>Detail encoding of these TLVs are synchronized with the corresponding
      parts in <xref target="RFC9346"/> and <xref target="RFC5392"/>, which
      keeps the BGP-LS protocol agnostic to the underly protocol.</t>

      <section title="Remote AS Number TLV">
        <t>A new TLV, the remote AS number TLV, is defined for inclusion in
        the link descriptor when advertising inter-AS links. The remote AS
        number TLV specifies the AS number of the neighboring AS to which the
        advertised link connects.</t>

        <t>The remote AS number TLV is TLV type TBD (see <xref
        target="s-IANA"/> ) and is 4 octets in length. The format is as
        follows:</t>

        <t><figure>
            <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            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Remote AS Number                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           Figure 4: Remote AS Number TLV Format    ]]></artwork>
          </figure>The Remote AS number field has 4 octets. When only 2 octets
        are used for the AS number, as in current deployments, the left
        (high-order) 2 octets MUST be set to 0. The remote AS number TLV MUST
        be included when a router advertises an inter-AS link.</t>
      </section>

      <section title="IPv4 Remote ASBR ID">
        <t>A new TLV, which is referred to as the IPv4 remote ASBR ID TLV, is
        defined for inclusion in the link descriptor when advertising inter-AS
        links. The IPv4 remote ASBR ID TLV specifies the IPv4 identifier of
        the remote ASBR to which the advertised inter-AS link connects. This
        could be any stable and routable IPv4 address of the remote ASBR. Use
        of the TE Router ID as specified in the Traffic Engineering router ID
        TLV <xref target="RFC9346"/> is RECOMMENDED.</t>

        <t>The IPv4 remote ASBR ID TLV is TLV type TBD (see <xref
        target="s-IANA"/>) and is 4 octets in length. The format of the IPv4
        remote ASBR ID TLV is as follows:</t>

        <t><figure>
            <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            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Remote ASBR ID                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            Figure 5:  IPv4 Remote ASBR ID TLV Format ]]></artwork>
          </figure></t>

        <t>The IPv4 remote ASBR ID TLV MUST be included if the neighboring
        ASBR has an IPv4 address. If the neighboring ASBR does not have an
        IPv4 address (not even an IPv4 TE Router ID), the IPv6 remote ASBR ID
        TLV MUST be included instead. An IPv4 remote ASBR ID TLV and IPv6
        remote ASBR ID TLV MAY both be present in an inter-AS stub link
        NLRI.</t>
      </section>

      <section title="IPv6 Remote ASBR ID">
        <t>A new TLV, which is referred to as the IPv6 remote ASBR ID TLV, is
        defined for inclusion in the link descriptor when advertising inter-AS
        links. The IPv6 remote ASBR ID TLV specifies the IPv6 identifier of
        the remote ASBR to which the advertised inter-AS link connects. This
        could be any stable and routable IPv6 address of the remote ASBR. Use
        of the TE Router ID as specified in the IPv6 Traffic Engineering
        router ID TLV <xref target="RFC9346"/> is RECOMMENDED.</t>

        <t>The IPv6 remote ASBR ID TLV is TLV type TBD (see <xref
        target="s-IANA"/>) and is 16 octets in length. The format of the IPv6
        remote ASBR ID TLV is as follows:</t>

        <t><figure>
            <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            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Remote ASBR ID                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Remote ASBR ID (continued)              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Remote ASBR ID (continued)              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Remote ASBR ID (continued)              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           Figure 6:  IPv6 Remote ASBR ID TLV Format]]></artwork>
          </figure></t>

        <t>The IPv6 remote ASBR ID TLV MUST be included if the neighboring
        ASBR has an IPv6 address. If the neighboring ASBR does not have an
        IPv6 address, the IPv4 remote ASBR ID TLV MUST be included instead. An
        IPv4 remote ASBR ID TLV and IPv6 remote ASBR ID TLV MAY both be
        present in an inter-AS stub link NLRI.</t>
      </section>
    </section>

    <section anchor="s-Topology-Reconstruction"
             title="Topology Reconstruction.">
      <t>When SDN controller gets such information from BGP-LS protocol, it
      should find the corresponding associated router information, build the
      link between these two border routers. After iterating the above
      procedures for all of the stub links, the SDN controller can then
      retrieve the connection topology between different domains
      automatically.</t>
    </section>

    <section title="Security Considerations">
      <t>It is common for one operator to occupy several IGP domains that are
      composited by its backbone network and several
      MAN(Metrio-Area-Network)s/Internet Data Centers (IDCs). When they do
      traffic engineering which spans MAN, Backbone and IDC, they need to know
      the inter-as topology via the process described in this draft. Using the
      passive interface features or configuring the Traffic Engineering (TE)
      parameters on the interconnect links will not spread the topology
      fluctuation across each other domain.</t>
    </section>

    <section anchor="s-IANA" title="IANA Considerations">
      <t>This document defines:</t>

      <t><list style="symbols">
          <t>A new BGP NLRI Type: Stub Link NLRI. The codepoint is from the
          "BGP-LS NLRI Types"</t>

          <t>Three new Link Descriptors TLV: Remote AS Number TLV, IPv4 Remote
          ASBR ID, IPv6 Remote ASBR ID. The codepoint are from "BGP-LS Node
          Descriptor, Link Descriptor, Prefix Descriptor, and Attribute TLVs"
          registry.</t>
        </list></t>

      <section title="New BGP-LS NLRI type">
        <t>This document defines a new value in the registry "BGP-LS NLRI
        Types":</t>

        <t><figure>
            <artwork><![CDATA[+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Code Point   |   Description  |          Status            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TBD(suggestion 7)| Stub Link NLRI |  Allocation from IANA      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           Figure 7:  Stub Link NLRI Codepoint]]></artwork>
          </figure></t>
      </section>

      <section title="New Stub Link Descriptors">
        <t>This document defines three new values in the registry "BGP-LS NLRI
        and Attribute TLVs":</t>

        <t><figure>
            <artwork><![CDATA[+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Code Point     |   Description        |        Status        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TBD(suggestion 270)|  Remote AS Number    | Allocation from IANA |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TBD(suggestion 271)|  IPv4 Remote ASBR ID | Allocation from IANA |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TBD(suggestion 272)|  IPv6 Remote ASBR ID | Allocation from IANA |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           Figure 8:  BGP-LS Link Descriptors TLV]]></artwork>
          </figure></t>
      </section>
    </section>

    <section title="Acknowledgement">
      <t>The author would like to thank Acee Lindem, Jie Dong, Shaowen Ma,
      Jeff Tantsura and Dhruv Dhody for their valuable comments and
      suggestions.</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <?rfc include="reference.RFC.2119"?>

      <?rfc include="reference.RFC.5392"?>

      <?rfc include="reference.RFC.9346"?>

      <?rfc include="reference.RFC.9552"?>
    </references>

    <references title="Informative References">
      <?rfc include="reference.RFC.9086"?>
    </references>
  </back>
</rfc>
