Internet DRAFT - draft-zhang-idr-nexthop-path-attr

draft-zhang-idr-nexthop-path-attr




Network Working Group                                              Z. Li
Internet-Draft                                                  L. Zhang
Intended status: Standards Track                     Huawei Technologies
Expires: July 20, 2014                                  January 16, 2014


                     NEXTHOP_PATH ATTIBUTE for BGP
                  draft-zhang-idr-nexthop-path-attr-01

Abstract

   As the BGP is deployed in a single Autonomous System for network
   convergence such as Seamless MPLS, it is desirable for BGP to carry
   more information to help select routing more intelligently.  It can
   reduce the cost proposed by complex policy control design on BGP
   routes and adapt to network change easily.  This document proposed a
   new path attribute for BGP routes that can record the next hop path
   for the route to help BGP route selection and network management.

Requirements Language

   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 [RFC2119].

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on July 20, 2014.

Copyright Notice

   Copyright (c) 2014 IETF Trust and the persons identified as the
   document authors.  All rights reserved.





Li & Zhang                Expires July 20, 2014                 [Page 1]

Internet-Draft        NEXTHOP_PATH ATTIBUTE for BGP         January 2014


   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Motivation  . . . . . . . . . . . . . . . . . . . . . . . . .   3
     2.1.  Complexity of Route Selection . . . . . . . . . . . . . .   3
     2.2.  New Role of BGP in Seamless MPLS Network  . . . . . . . .   4
   3.  Definition of NEXTHOP_PATH ATTRIBUTE  . . . . . . . . . . . .   4
   4.  Process of NEXTHOP_PATH ATTRIBUTE . . . . . . . . . . . . . .   5
     4.1.  Creating and Modifying the NEXTHOP_PATH Attribute . . . .   5
     4.2.  Decision Process  . . . . . . . . . . . . . . . . . . . .   6
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   7
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   7
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   7
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .   8
     7.2.  Informative References  . . . . . . . . . . . . . . . . .   8
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   8

1.  Introduction

   [I-D.ietf-mpls-seamless-mpls] describes an architecture which can be
   used to extend MPLS networks to integrate access and aggregation
   networks into a single MPLS domain ("Seamless MPLS").  As the mobile
   backhaul service is deployed widely, the requirement of the
   integration of mobile backhaul networks and core networks has been
   proposed.  For the reason of scalability , the Seamless MPLS network
   tends to be divided into multiple IGP areas for access, aggregation,
   and core networks and IBGPs runs among Area Border Routers (ABRs)
   which should act as inline RRs to reflect the labeled BGP routes or
   BGP VPN routes to remote BGP peers with next hop self (NHS).

   As the BGP is used in a single Autonomous System for network
   convergence, it is desirable for BGP to carry more information to
   help select routing more intelligently.  It can reduce the cost
   proposed by complex policy control design on BGP routes and adapt to
   network change easily.






Li & Zhang                Expires July 20, 2014                 [Page 2]

Internet-Draft        NEXTHOP_PATH ATTIBUTE for BGP         January 2014


   This document proposes a new path attribute that can record the next
   hop path of the route to help BGP route election and network
   management.

2.  Motivation

2.1.  Complexity of Route Selection

   In the Seamless MPLS network, Area Border Routers (ABRs) which run
   IBGP should act as inline RRs to reflect the labeled BGP routes or
   BGP VPN routes to remote BGP peers with next hop self (NHS).  Each
   ABR should process route selection which needs complex route policy
   to control the BGP route distribution in the Seamless MPLS network ,
   as shown below:

                  Inline RR       Inline RR       Inline RR
                  +------+         +------+        +------+
               /  |ABR-a |---------|ABR-b |--------|ABR-c |
             /    +------+         +------+        +------+\
           /         |              |               |        \
  +-----+/           |              |               |          \
  |PE1  |  IGP area1 |   IGP area2  |   IGP area3   | IGP area4  \+-----+
  +-----+\           |              |               |             |  PE2|
            \        |              |               |            /+-----+
              \   +------+         +------+        +---- -+    /
                 \|ABR-a'|---------|ABR-b'|--------|ABR-c'|  /
                  +------+         +------+        +---- -+/
                   Inline RR       Inline RR      Inline RR


          Figure 1 Seamless MPLS Network with Multiple IGP Areas

   Just like Figure 1 shown, PE1 and PE2 are BGP VPN service end-point.
   IBGP peers runs contiguously between ABRs in different IGP areas, and
   each ABR works as inline RR.  When labeled BGP routes or BGP VPN
   routes originated from PE1 is distributed to the other service end-
   point PE2, the route can be reflected by the ABRs one by one with
   next hop self (NHS).

   The inline RR will distribute the route to all of the IBGP peers
   except the IBGP peer from which the route was received.  As a result,
   an ABR may receive routes of the same prefix from different IBGP
   peers with different next hop.  Traditionally the BGP RR should
   select the best route to reflect to other IBGP peers.  But in this
   network the route selection process will be more complex which needs
   to introduce complex route policy.





Li & Zhang                Expires July 20, 2014                 [Page 3]

Internet-Draft        NEXTHOP_PATH ATTIBUTE for BGP         January 2014


   Here is an example for complex route policy.  ABR-b may receive
   routes of the same prefix originated from PE1 from different three
   IBGP peers, ABR-a, ABR-a', ABR-c, and ABR-c'.  The route policy
   should guarantee that the route from ABR-a or ABR-a' is selected as
   the best one.  At the same time, routes of the same prefix originated
   from PE2 may be received from ABR-a, ABR-a', ABR-c, and ABR-c'.  The
   route policy should guarantee that the route from ABR-c or ABR-c' is
   selected as the best one.  To satisfy the different best route
   selection requirements, each IBGP speaker has to configure complex
   route policy.

2.2.  New Role of BGP in Seamless MPLS Network

   When Seamless MPLS makes integration of mobile backhaul networks and
   core networks, BGP in Seamless MPLS network act more like an
   "Interior Gateway Protocol (IGP)".  As the whole Seamless MPLS
   network is in a single AS for uniform administration, the security
   requirement proposed for traditional BGP can be reduced.  At the same
   time some path attributes for BGP route such as AS_PATH is no use in
   this scenario.  As the BGP is deployed from implementing network
   convergence, it is desirable for BGP to carry more information to
   help select route more intelligently.  It can simplify policy control
   design on BGP routes and adapt to network change easily.  Moreover
   the additional path information may facilitate the network operation
   and maintenance.  [I-D.ietf-idr-aigp] is the example which can help
   BGP route selection by advertising IGP metric information with BGP
   route.  In this document, we propose a new method to record next hop
   list for the BGP route, which can be used for automatic BGP route
   selection and facilitating network operation and maintenance.  The
   new attribute, NEXTHOP_PATH ATTRIBUTE, is defined for the BGP route
   to record the next hop path.  It can work as AS_PATH ATTRIBUTE.

3.  Definition of NEXTHOP_PATH ATTRIBUTE

   The NEXTHOP_PATH ATTRIBUTE is an optional transitive BGP Path
   Attribute.  The NEXTHOP_PATH ATTRIBUTE type is defined as below
   (refer to [RFC4271]):

                  0                   1
                  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
                  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                  |  Attr. Flags  |Attr. Type Code|
                  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

            Figure 2 NEXTHOP_PATH ATTRIBUTE Type definition

   Attr.  Flags




Li & Zhang                Expires July 20, 2014                 [Page 4]

Internet-Draft        NEXTHOP_PATH ATTIBUTE for BGP         January 2014


   SHOULD be optional transitive

   Attr.  Type Code

   SHOULD be allocated by IANA

   NEXTHOP_PATH is composed of a sequence of next hop path segments.
   Each next hop path segment is represented by a triple <path segment
   type, path segment length, path segment value>.  The format of the
   next hop path segmen is shown in the figure 3.

     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                      |  Reserved     |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                        Next Hop                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Figure 3  NH_SEQUENCE_V4 TLV

   - Type: A single octet encoding the TLV Type.  The Type of
   "NH_SEQUENCE_V4" is defined in this document, which needs to be
   allocated by IANA.  The procedure for next hop path segement usage
   for IPv6 or other extensions will be described in the future version.

   - Length: Two octets encoding the length in octets of the TLV,
   including the type and length fields.  The length is encoded as an
   unsigned binary integer.

   - Reserved: A single octet that must be zero now.

   - NextHop: four octets encoding for the route next hop address.

4.  Process of NEXTHOP_PATH ATTRIBUTE

   The NEXTHOP_PATH ATTRIBUTE defined here is an optional transitive BGP
   Path Attribute, the process of this attribute MUSTaccord with the
   procedures in [RFC4271].

4.1.  Creating and Modifying the NEXTHOP_PATH Attribute

   When a BGP speaker distributes a route to its BGP peer within UPDATE
   message, the NEXTHOP_PATH ATTRIBUTE should be processed based on
   different route states:

   1.  If the route is originated in this BGP peaker




Li & Zhang                Expires July 20, 2014                 [Page 5]

Internet-Draft        NEXTHOP_PATH ATTIBUTE for BGP         January 2014


       *  If the NEXTHOP_PATH ATTRIBUTE is supported, the NEXTHOP_PATH
          ATTRIBUTE SHOULD be originated including the BGP speaker's own
          next hop address in a next hop path segment.  In this case,
          the next hop address of the originating BGP speaker will be
          the only entry of the next hop path segment, and this path
          segment will be the only segment in NEXTHOP_PATH ATTRIBUTE.

       *  If the NEXTHOP_PATH ATTRIBUTE is not supported, the route will
          be distributed without NEXTHOP_PATH ATTRIBUTE.

   2.  if the route is received from one BGP speaker's UPDATE message

       *  If the NEXTHOP_PATH ATTRIBUTE is NULL and the local BGP
          speaker support NEXTHOP_PATH ATTRIBUTE, when the route is
          propagated to another IBGP speaker with next hop self (NHS ),
          the NEXTHOP_PATH ATTRIBUTE SHOULD be originated including the
          BGP speaker's own next hop address in a next hop path segment.
          In this case, the next hop address of this BGP speaker will be
          the only entry to the next hop path segment, and this path
          segment will be the only segment in NEXTHOP_PATH ATTRIBUTE

       *  If the NEXTHOP_PATH ATTRIBUTE is non-NULL and the local BGP
          speaker support NEXTHOP_PATH ATTRIBUTE, when the route is
          propagated to another IBGP speaker with next hop self (NHS ),
          the BGP speaker MUST appends its own next hop address as the
          last one of the next hop path segments.

       *  If the NEXTHOP_PATH ATTRIBUTE is NULL and the local BGP
          speaker support NEXTHOP_PATH ATTRIBUTE, when the route is
          propagated to another BGP speaker without changing the next
          hop by the BGP speaker, the BGP speaker MUST NOT originate the
          NEXTHOP_PATH ATTRIBUTE.

       *  If the NEXTHOP_PATH ATTRIBUTE is non-NULL and the local BGP
          speaker support NEXTHOP_PATH ATTRIBUTE, when the route is
          propagated to another BGP speaker without changing the next
          hop by the BGP speaker, the BGP speaker MUST NOT change the
          next hop path sequence.

       *  If the BGP speaker does not support NEXTHOP_PATH ATTRIBUTE, it
          SHOULD keep the NEXTHOP_PATH ATTRIBUTE unchanged whether the
          route is distribute with next hop self or not.

4.2.  Decision Process

   Support for the NEXTHOP_PATH ATTRIBUTE involves several modifications
   to the tie breaking procedures of the "phase 2" decision of BGP route
   selection, described in section 9.1.2.2 of [RFC4271].



Li & Zhang                Expires July 20, 2014                 [Page 6]

Internet-Draft        NEXTHOP_PATH ATTIBUTE for BGP         January 2014


   If the NEXTHOP_PATH ATTRIBUTE of a BGP route contains a next hop path
   loop, the BGP route MUST be excluded from the Phase 2 decision
   function.  The next hop path loop detection is done by scanning the
   full next hop path (as specified in the NEXTHOP_PATH ATTRIBUTE), and
   checking if the local BGP speaker appears in the next hop path.

   The NEXTHOP_PATH ATTRIBUTE can be used for BGP route selection.  The
   priority of the NEXTHOP_PATH ATTRIBUTE for route selection is the
   same as the AS_PATH attribute.

   When a route is received from different IBGP speakers, if the best
   route cannot acquired through the higher priority rules, the
   NEXTHOP_PATH ATTRIBUTE SHOULD be used for route selection, and the
   route with least nexthops will be selected.  If the lengths of the
   next hop lists are the same, the rest rules SHOULD be used for route
   selection.

5.  IANA Considerations

   IANA need to assign the codepoint in the "BGP Path Attributes"
   registry to the NEXTHOP_PATH ATTRIBUTE.

   IANA shall create a registry for "next hop path segment".  The type
   field consists of a single octet, with possible values from 0 to 255.
   The allocation policy for this field is to be "Standards Action with
   Early Allocation".  A new Type should be defined as "NH_SEQUENCE_V4".

6.  Security Considerations

   Note that, the NEXTHOP_PATH ATTRIBUTE is defined as a optional
   transitive BGP Path attribute.  Both the IBGP and EBGP speaker can
   use this attribute.  When an ASBR propagates the route receive from a
   IBGP peer to an EBGP peer, the NEXTHOP_PATH ATTRIBUTE will be
   distribute to the EBGP Speaker which may be controlled by other
   Service Provider.  If the EBGP speaker can support the NEXTHOP_PATH
   ATTRIBUTE, it can parse the NEXTHOP_PATH ATTRIBUTE to get the inner
   network architecture of the other network.

   In order to prevent this possible security problem, the NEXTHOP_PATH
   ATTRIBUTE capability should be disabled for specific BGP speaker,
   such as EBGP.  This can reduce the security risk.

7.  References








Li & Zhang                Expires July 20, 2014                 [Page 7]

Internet-Draft        NEXTHOP_PATH ATTIBUTE for BGP         January 2014


7.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC4271]  Rekhter, Y., Li, T., and S. Hares, "A Border Gateway
              Protocol 4 (BGP-4)", RFC 4271, January 2006.

7.2.  Informative References

   [I-D.ietf-idr-aigp]
              Mohapatra, P., Fernando, R., Rosen, E., and J. Uttaro,
              "The Accumulated IGP Metric Attribute for BGP", draft-
              ietf-idr-aigp-14 (work in progress), December 2013.

   [I-D.ietf-mpls-seamless-mpls]
              Leymann, N., Decraene, B., Filsfils, C., Konstantynowicz,
              M., and D. Steinberg, "Seamless MPLS Architecture", draft-
              ietf-mpls-seamless-mpls-04 (work in progress), July 2013.

Authors' Addresses

   Zhenbin Li
   Huawei Technologies
   Huawei Bld., No.156 Beiqing Rd.
   Beijing  100095
   China

   Email: lizhenbin@huawei.com


   Li Zhang
   Huawei Technologies
   Huawei Bld., No.156 Beiqing Rd.
   Beijing  100095
   China

   Email: monica.zhangli@huawei.com













Li & Zhang                Expires July 20, 2014                 [Page 8]