<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?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-mi-grow-monitoring-outgoing-bgp-routes-00"
     ipr="trust200902">
  <front>
    <title abbrev="Monitoring Outgoing BGP Routes">Monitoring Outgoing Routes
    Using BMP</title>

    <author fullname="Penghui Mi" initials="P. " surname="Mi">
      <organization>Tencent</organization>

      <address>
        <postal>
          <street>Tengyun Building,Tower A ,No. 397 Tianlin Road</street>

          <city>Shanghai</city>

          <code>200233</code>

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

        <email>kevinmi@tencent.com</email>
      </address>
    </author>

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

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

          <city>Beijing</city>

          <code>100095</code>

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

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

    <author fullname="Jie Dong" initials="J. " surname="Dong">
      <organization>Huawei</organization>

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

          <city>Beijing</city>

          <code>100095</code>

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

        <email>jie.dong@huawei.com</email>
      </address>
    </author>

    <date day="13" month="March" year="2017"/>

    <abstract>
      <t>The BGP Monitoring Protocol (BMP) <xref target="RFC7854"/> is
      designed to monitor BGP <xref target="RFC4271"/> running status, such as
      BGP peer relationship establishment and termination and route updates.
      At present, the BMP only monitors the incoming bgp routes (Adj-RIB-In),
      does not monitor the outgoing bgp routes (Adj-RIB-Out).</t>

      <t>This draft extends the applicability of BMP <xref target="RFC7854"/>
      to monitor the outgoing bgp routes.</t>

      <t/>
    </abstract>

    <note title="Requirements Language">
      <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 <xref
      target="RFC2119">RFC 2119</xref>.</t>
    </note>
  </front>

  <middle>
    <section title="Terminology">
      <t>This memo makes use of the terms defined in <xref
      target="RFC7854"/>.</t>

      <t>Adj-RIB-Out: The Adj-RIBs-Out contains the routes for advertisement
      to specific peers by means of the local speaker's UPDATE messages.</t>

      <t>BMP: BGP Monitoring Protocol</t>

      <t>BMS: BGP Monitoring Station</t>

      <t/>
    </section>

    <section title="Introduction">
      <t>The BGP Monitoring Protocol (BMP) introduces the availability of
      monitoring BGP running status, such as BGP peer relationship
      establishment and termination and route updates. Without BMP, manual
      query is required if you want to know about BGP running status. With
      BMP, a router can be connected to a monitoring station and configured to
      report BGP running statistics to the station for monitoring, which
      improves the network monitoring efficiency. BMP facilitates the
      monitoring of BGP running status and reports security threats in real
      time so that preventive measures can be taken promptly.</t>

      <t>The BMP can be used to obtain route view instead of screen scraping.
      The BMP provides access to unprocessed routing information (Adj-RIB-In)
      and processed routes (applied inbound policy) of monitored
      router&rsquo;s peer. Route Monitoring (RM) message defined in <xref
      target="RFC7854"/> is used to provide an initial dump of all routes
      received from a peer, as well as an ongoing mechanism that sends the
      incremental routes advertised and withdrawn by a peer to the monitoring
      station.</t>

      <t>At present, the BMP only monitors the incoming bgp routes
      (Adj-RIB-In), does not monitor the outgoing bgp routes
      (Adj-RIB-Out).</t>

      <t>Consider the following scenario:</t>

      <t>The Station of ISP A is attached to router A, and the route to the
      Station is advertised to the Users via multiple exit routers (Such as
      routers C and E).</t>

      <t>The BMS (BGP Monitoring Station) is used to monitor the bgp running
      status of routers C and E.</t>

      <t>Now the operator of ISP A would like to know the status of the routes
      being advertised out of the ISP A:</t>

      <t>1) Outgoing to which peers;</t>

      <t>2) Whether the route was rejected by the export policy;</t>

      <t>3) The modification of BGP route attributes;</t>

      <t>4) To be added later.</t>

      <t>These status will provide valuable information for network operators,
      can be used in subsequent optimization procedures.</t>

      <t><figure align="center">
          <artwork><![CDATA[*********************************                                 
*                +---+          *                                 
*         AS A   |BMS|          *                                 
*+------+        +---+          *                                 
*|Station|           \           *    AS X                         
*+------+ +---+      \  +---+   *  +-----------+                  
*  |     /| B |-------+-| C |-+----| Transit X |---+              
*  |    / +---+\        +---+ | *  +-----------+   |              
*  |   /    |   \\    //  |   | *    AS Y          |              
*+---+/     |     \\//    |   | *  +-----------+   |      +------+
*| A |      |     //\     |   +----| Transit Y |---+---...| Users|
*+---+\     |   //   \\   |   | *  +-----------+   |      +------+
*      \    |  /       \  |   | *    AS Z          |              
*       \ +---+         +---+ | *  +-----------+   |              
*        \| D |---------| E |-+----| Transit Z |---+              
*         +---+         +---+   *  +-----------+                  
*                               *                                 
*          ISP A                *                                 
*                               *                                 
*********************************                                 
 
Figure 1: Monitoring Outgoing Routes Using BMP

]]></artwork>
        </figure>From the above description of the scenario, it can be seen
      that it is necessary to monitor BGP outgoing routes. This draft extends
      the applicability of BMP <xref target="RFC7854"/> to monitor the
      outgoing bgp routes.</t>

      <t/>
    </section>

    <section title="Protocol Extensions ">
      <t>In order to support BMP to monitoring outgoing BGP routes, this
      document proposes some protocol extensions to BMP.</t>

      <section title="Option 1: Extending BMP Peer Flags">
        <t><xref target="RFC7854"/> defines three bit flags in the Peer Flags
        field of the per-peer header. The bits are numbered from 0 (the
        high-order, or leftmost, bit) to 7 (the low-order, or rightmost,
        bit):</t>

        <t><list style="symbols">
            <t>Flag 0: V flag</t>

            <t>Flag 1: L flag</t>

            <t>Flag 2: A flag</t>
          </list></t>

        <t><figure align="center">
            <artwork><![CDATA[ 0 1 2 3 4 5 6 7  
+-+-+-+-+-+-+-+-+ 
|V|L|A|O|  Res. | 
+-+-+-+-+-+-+-+-+ 

Figure 2: Peer Flags

]]></artwork>
          </figure></t>

        <t>This document defines an additional Flag that will be used to
        monitor the outgoing bgp routes:</t>

        <t><list style="symbols">
            <t>Flag TBD: O flag</t>
          </list>The O flag, if set to 0, indicates that Adj-RIBs-In are
        synchronized to BMP Station. If set to 1, indicates that Adj-RIBs-Out
        are synchronized to BMP Station.</t>

        <t>This flag has no significance when used with other messages but
        Route Monitoring message.</t>

        <t/>
      </section>

      <section title="Option 2: Introducing Advertise Route Monitoring Message">
        <t><xref target="RFC7854"/> defines seven message types for
        transferring BGP messages between cooperating systems:</t>

        <t><list style="symbols">
            <t>Type 0: Route Monitoring</t>

            <t>Type 1: Statistics Report</t>

            <t>Type 2: Peer Down Notification</t>

            <t>Type 3: Peer Up Notification</t>

            <t>Type 4: Initiation</t>

            <t>Type 5: Termination</t>

            <t>Type 6: Route Mirroring</t>
          </list></t>

        <t>This document defines an additional message type that will be used
        to monitor the outgoing bgp routes:</t>

        <t><list style="symbols">
            <t>Type TBD: Advertise Route Monitoring</t>
          </list>The format of Advertise Route Monitoring message will reuse
        Route Monitoring message, the only difference is the message type
        value.</t>

        <t>The support for this new route type is OPTIONAL.</t>

        <t/>
      </section>

      <section title="Optons Comparison">
        <t>Option 1: Reusing the Type 0 information, only introduces an
        additional flag into the BMP Peer Flags. If the BMP Station does not
        support the new flag, there is a risk that the BMP Station will
        wrongly handle the receiving Adj-RIBs-Out information as Adj-RIBs-In
        information.</t>

        <t>Option 2: Introduces an additional message type, if the BMP Station
        does not support it, the receiving new type message will be ignored by
        the BMP Station Quietly.</t>

        <t/>
      </section>
    </section>

    <section title="Acknowledgements">
      <t>TBD.</t>
    </section>

    <section anchor="IANA" title="IANA Considerations">
      <t>TBD.</t>
    </section>

    <section anchor="Security" title="Security Considerations">
      <t>TBD.</t>
    </section>
  </middle>

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

      <?rfc include='reference.RFC.4271'?>

      <?rfc include='reference.RFC.7854'?>
    </references>
  </back>
</rfc>
