<?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-06"
     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@futurewei.com</email>
      </address>
    </author>

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

      <address>
        <postal>
          <street/>

          <city/>

          <region/>

          <code/>

          <country/>
        </postal>

        <phone/>

        <facsimile/>

        <email>ketant@cisco.com</email>

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

    <author fullname="Shunwan Zhuang" initials="S" surname="Zhang">
      <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="Shaowen Ma" initials="S" surname="Ma">
      <organization>Mellanox Technologies</organization>

      <address>
        <postal>
          <street/>

          <city/>

          <region/>

          <code/>

          <country/>
        </postal>

        <phone/>

        <facsimile/>

        <email>mashaowen@gmail.com</email>

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

    <date day="30" month="September" year="2019"/>

    <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 inter Autonomous (inter-AS) Traffic
      Engineering (TE) related 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="RFC7752"/> 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="I-D.ietf-idr-bgpls-segment-routing-epe"/> 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 several 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="section-4" 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="section-5" title="Stub Link NLRI">
      <t><xref target="RFC7752"/> 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 "Direct"
      protocol.</t>

      <t>The semantics of "Local Node Descriptors" and "Stub Link Descriptors"
      are same as that defined in <xref target="RFC7752"/> 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.</t>

      <section title="Inter-AS Native IP Scenario">
        <t>Draft <xref target="I-D.ietf-teas-native-ip-scenarios"/> describes
        the situation that operator needs some traffic engineering solution
        for the inter-as native IP environment. In such situation, different
        domain may run different IGP protocol. The operator needs to know the
        inter-as topology first to calculate the end to end optimal path
        centrally.</t>

        <t>When IGP A or IGP B in Figure 1 runs native IS-IS/OSPF protocol,
        the operator can use passive feature for the inter-domain links to let
        the routers within the IGP domain know these links. Such stub links
        information can then be carried within the Stub Link NLRI reported via
        the BGP-LS protocol to the SDN controller.</t>

        <t>For OSPF, when the interface is configured as passive, the
        "Linktype" field in corresponding Router LSA will be set to 3, to
        indicate it connects with stub network. Other routers in the IGP
        domain can identify such interfaces via this characteristics, and
        report them via the newly defined "Stub Link NLRI".</t>

        <t>For ISIS, currently there is no such mechanism to distinguish the
        passive interfaces from other normal interfaces. One viable way is to
        judge the adjacency of interfaces. If the number of adjacency of the
        interface is zero, then such interfaces can be reported via the newly
        defined "Stub Link NLRI". </t>

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

        <t>When such information is reported via the BGP-LS protocol, the SDN
        controller can construct the underlay inter-domain topology according
        to procedure described in <xref target="section-7"/></t>
      </section>

      <section title="Inter-AS TE Scenario">
        <t>When IGP A or IGP B in Figure 1 runs IS-IS TE/OSPF-TE
        protocol,<xref target="RFC5316"> </xref> and <xref target="RFC5392"/>
        define IS-IS and OSPF extensions respectively to deal with the
        situation for inter-AS traffic engineering. Three new sub-TLVs(Remote
        AS Number&#12289;IPv4 Remote ASBR ID&#12289;IPv6 Remote ASBR ID) which
        are associated with the inter-AS TE 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 TE
        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 TE topology correctly according to the procedure
        described in <xref target="section-7"/></t>
      </section>
    </section>

    <section anchor="section-6" title="Inter-AS TE NLRI related TLVs">
      <t>This draft 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 TE 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      | [RFC5316]/3.3.1|
|           |                     |              | [RFC5392]/3.3.1|
|    TBD    |IPv4 Remote ASBR ID  |   25/22      | [RFC5316]/3.3.2|
|           |                     |              | [RFC5392]/3.3.2| 
|    TBD    |IPv6 Remote ASBR ID  |   26/24      | [RFC5316]/3.3.3|
|           |                     |              | [RFC5392]/3.3.3|
+-----------+---------------------+--------------+----------------+
             Figure 3: Link Descriptor TLVs]]></artwork>
        </figure></t>

      <t>Detail encoding of these TLVs are synchronized with the corresponding
      parts in <xref target="RFC5316"/> 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 TE 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="section-9"/> ) 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 TE 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
        TE 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="RFC5305"/> is RECOMMENDED.</t>

        <t>The IPv4 remote ASBR ID TLV is TLV type TBD (see <xref
        target="section-9"/>) and is 4 octets in length. The format of the
        IPv4 remote ASBR ID sub-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 TE 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="RFC6119"/> is RECOMMENDED.</t>

        <t>The IPv6 remote ASBR ID TLV is TLV type TBD (see <xref
        target="section-9"/>) 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 TE link NLRI.</t>
      </section>
    </section>

    <section anchor="section-7" title="Topology Reconstruction.">
      <t>When SDN controller gets such information from BGP-LS protocol, it
      should compares the proximity of these stub links. If they are under the
      same network scope and in different AS, then it should find the
      corresponding associated router information, build the link between
      these two border routers.</t>

      <t>If the prefixes reported via the "Stub Link" NLRI are under the same
      network scope, and in the same AS, the SDN controller can then determine
      there is some IGP adjacency irregular. The usage of such information is
      out of scope of this draft. </t>

      <t>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="section-9" 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      | Stub Link NLRI |   Allocation from IANA      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           Figure 7:  Stub Link NLRI Codepoint]]></artwork>
          </figure></t>
      </section>

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

        <t><figure>
            <artwork><![CDATA[+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Code Point  |   Description     |           Status         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       TBD      |  Remote AS Number |  Allocation from IANA    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       TBD      |IPv4 Remote ASBR ID|  Allocation from IANA    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       TBD      |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, 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.5305"?>

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

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

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

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

    <references title="Informative References">
      <?rfc include="reference.I-D.ietf-idr-bgpls-segment-routing-epe"?>

      <?rfc include="reference.I-D.ietf-teas-native-ip-scenarios"?>
    </references>
  </back>
</rfc>
