Internet DRAFT - draft-drao-bgp-l3vpn-virtual-network-overlays

draft-drao-bgp-l3vpn-virtual-network-overlays



 



L3VPN                                                             D. Rao
Internet-Draft                                               J. Mullooly
Intended status: Standards Track                             R. Fernando
Expires: January 5, 2015                                           Cisco
                                                            July 4, 2014


       Layer-3 virtual network overlays based on BGP Layer-3 VPNs
            draft-drao-bgp-l3vpn-virtual-network-overlays-03

Abstract

   Virtual network overlays are being designed and deployed in various
   types of networks, including data centers.  These network overlays
   address several requirements including flexible network
   virtualization and multi-tenancy, increased scale, and support for
   mobility of virtual machines.  Such overlay networks can be used to
   provide both Layer-2 and Layer-3 network services to hosts at the
   network edge.  New packet encapsulations are being defined and
   standardized to support these virtual networks.  These
   encapsulations, such as VXLAN and NVGRE, are primarily based on IP
   and are currently defined to support a Layer-2 forwarding service.

   BGP based Layer-3 VPNs, as specified in RFC 4364, provide an industry
   proven and well-defined solution for supporting Layer-3 virtual
   network services.  However, RFC 4364 procedures use MPLS labels to
   provide the network virtualization capability in the data plane. With
   the increasing support for IP overlay encapsulations in data center
   devices, there is a strong preference to utilize this support to
   deploy Layer-3 virtual networks using the familiarpolicy and
   operational primitives of Layer-3 VPNs.

   This document describes the use of BGP Layer-3 VPNs alongwith various
   IP-based virtual network overlay encapsulations to provide a Layer-3
   virtualization solution for all IP traffic, and specifies mechanisms
   to use the new encapsulations while continuing to leverage existing
   BGP Layer-3 VPN control plane techniques, extensions and
   implementations.  This mechanism provides an efficient incremental
   solution to support forwarding for IP traffic, irrespective of
   whether it is destined within or across an IP subnet boundary.

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
 


Rao, et al.             Expires January 5, 2015                 [Page 1]

Internet-Draft    BGP Layer-3 virtual network overlay       July 4, 2014


   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 January 5, 2015.

Copyright Notice

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

   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  . . . . . . . . . . . . . . . . . . . . . . . .   3
     1.1.  Requirements Language . . . . . . . . . . . . . . . . . .   4
     1.2.  Terminology . . . . . . . . . . . . . . . . . . . . . . .   4
     1.3.  Control plane signaling requirements  . . . . . . . . . .   4
     1.4.  Control plane model . . . . . . . . . . . . . . . . . . .   5
     1.5.  Overlay Encapsulations  . . . . . . . . . . . . . . . . .   5
   2.  Virtual Network Identifier  . . . . . . . . . . . . . . . . .   5
     2.1.  Virtual Network Identifier Scope  . . . . . . . . . . . .   6
       2.1.1.  Domain-scoped provisioned virtual network identifiers   6
       2.1.2.  Per-device scoped allocated virtual network
               identifiers . . . . . . . . . . . . . . . . . . . . .   6
       2.1.3.  Global unicast table  . . . . . . . . . . . . . . . .   7
       2.1.4.  Virtual Network Identifier Specification  . . . . . .   7
     2.2.  Signaling Virtual Network Identifiers . . . . . . . . . .   7
       2.2.1.  Signaling Requirements  . . . . . . . . . . . . . . .   8
       2.2.2.  Signaling Specification . . . . . . . . . . . . . . .   9
   3.  Overlay Encapsulation specification . . . . . . . . . . . . .   9
     3.1.  Encapsulation for VXLAN and NVGRE . . . . . . . . . . . .  10
     3.2.  Encapsulation for MPLS-in-GRE . . . . . . . . . . . . . .  11
     3.3.  Multiple encapsulations . . . . . . . . . . . . . . . . .  11
     3.4.  Gateway device encapsulation handling . . . . . . . . . .  11
 


Rao, et al.             Expires January 5, 2015                 [Page 2]

Internet-Draft    BGP Layer-3 virtual network overlay       July 4, 2014


   4.  Forwarding behavior . . . . . . . . . . . . . . . . . . . . .  11
   5.  Overlay Interconnection and Interworking Scenarios  . . . . .  12
     5.1.  End-to-end overlay  . . . . . . . . . . . . . . . . . . .  12
     5.2.  Virtual-network overlay VPN interworking  . . . . . . . .  12
       5.2.1.  Normalized interworking via VRF . . . . . . . . . . .  13
       5.2.2.  Seamless VPN interworking . . . . . . . . . . . . . .  13
   6.  Virtual-Network Overlay Encapsulation Capability  . . . . . .  13
     6.1.  Need for Capability Negotiation . . . . . . . . . . . . .  13
     6.2.  Capability Specification  . . . . . . . . . . . . . . . .  14
   7.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  15
   8.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  15
   9.  Security Considerations . . . . . . . . . . . . . . . . . . .  15
   10. References  . . . . . . . . . . . . . . . . . . . . . . . . .  16
     10.1.  Normative References . . . . . . . . . . . . . . . . . .  16
     10.2.  Informative References . . . . . . . . . . . . . . . . .  16
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  17

1.  Introduction

   Virtual network overlays are increasingly being designed and deployed
   in various types of networks, including data center networks.  These
   virtual network overlays can be used to provide both Layer-2 and
   Layer-3 network services to hosts at the network edge.  New
   encapsulations are being defined and standardized to support these
   virtual networks.  These encapsulations are primarily based on IP
   transport, such as VXLAN and NVGRE.  A significant characteristic of
   these encapsulations is the presence of an embedded virtual network
   identifier field that is part of the encapsulation header.  The use
   of these encapsulations is defined in [VXLAN] and [NVGRE] and is
   being currently worked on as part of the NVO3 architecture [NVO3].

   BGP based Layer-3 VPNs, as specified in RFC 4364, provide an industry
   proven and well-defined solution for supporting Layer-3 virtual
   network services.  The Layer-3 VPN BGP control plane is eminently
   suitable to provide a Layer-3 network virtualization solution in the
   data center.

   However, RFC 4364 mechanisms use MPLS labels as the mechanism to
   provide the network virtualization capability in the data plane.  An
   MPLS label is signaled by a device advertising a VPN-IP route.  This
   label can identify the virtual network when the device processes
   packets received with that label.  RFC 4364 does allow an MPLS label
   to be carried in an IP tranport encapsulation such as MPLS-in-GRE.

   This document specifies procedures to use the new IP-based virtual
   network overlay encapsulations such as VXLAN and NVGRE, while
   continuing to leverage the BGP based Layer-3 VPN control plane
   techniques and extensions.  It also describes how virtual network
 


Rao, et al.             Expires January 5, 2015                 [Page 3]

Internet-Draft    BGP Layer-3 virtual network overlay       July 4, 2014


   overlays based on these encapsulations can efficiently interconnect
   with one another and with existing MPLS based L3VPN networks.

   This document describes the protocol extensions necessary to allow
   advertising a VPN-IP NLRI with an attached VN-ID as well as an
   encapsulation attribute indicating the type of enapsulation, for
   example, VXLAN or NVGRE.

   There are aspects of the signaling of encapsulation and VN-ID that
   can be leveraged across different kinds of services.  Hence, the
   generic overlay encapsulation signaling extensions are defined in
   [remote-next-hop].  The current document provides the necessary
   context of how these extensions are used with the BGP IP-VPN NLRIs.

1.1.  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].

1.2.  Terminology

   VM: Virtual Machine

   Edge device: The edge device is where end-hosts (eg. application VMs)
   attach to the overlay.  This is where the tunnel encapsulation
   starts.  It's called NVE in the NVO3 terminology.  The NVE is
   equivalent to a VPN PE in the context of BGP L3VPNs.

1.3.  Control plane signaling requirements

   While considering the leverage of the BGP L3VPN control plane with
   the IP overlay technologies, the following requirements should be
   supported.

   1.  Signal VN-ID with VPN-IP routes, that can be used with IP based
       overlay encapsulations.

   2.  Support signaling of multiple encapsulations per edge device.

   3.  Have flexibility to support single and per-encapsulation VN-ID
       spaces if needed.

   4.  Support both device-local and domain-global VN-ID/label spaces.

   5.  Support per-prefix granularity for VN-ID/encapsulation.

   6.  Support interoperability with legacy IP-VPN PEs.
 


Rao, et al.             Expires January 5, 2015                 [Page 4]

Internet-Draft    BGP Layer-3 virtual network overlay       July 4, 2014


   7.  Be efficient in signaling to provide good scalability.

   8.  Minimize protocol and deployment overhead.

1.4.  Control plane model

   The virtual network overlay described in this document uses regular
   BGP peering on the edge devices for policy constrained route
   distribution.  A typical deployment would use Route Reflectors.

   It is also feasible for an alternative protocol or provisioning
   framework to be used to control the forwarding plane population and
   forwarding behavior on the edge devices, as described in [vpe-
   framework].

   The extensions specified here are compatible with both approaches.

1.5.  Overlay Encapsulations

   Different tunnel encapsulations may be used to realize an overlay
   virtual network.  Based on the encapsulation type being used, the
   virtual network identifier is appropriately encoded in the
   encapsulation header.

   An overlay network may use the IP based VN-ID encapsulations such as
   VXLAN and NVGRE.  It may also use an MPLS based encapsulation such as
   MPLS-in-GRE.

   When VXLAN encapsulation is used, the virtual network identifier is
   carried as the 24-bit VNI in the VXLAN header.

   When NVGRE encapsulation is used, the virtual network identifier is
   carried as the 24-bit VSID in the NVGRE header.

   When MPLS-in-GRE is used, the regular MPLS VPN label serves as the
   data plane identifier for the virtual network or a specific
   destination.

   A given overlay edge device may support a single encapsulation type
   or it may support multiple encapsulation types.  In the latter case,
   it may signal the multiple encapsulations so that a receiving device
   can potentially use the one most suitable to it.  An edge device may
   use the same encapsulation(s) for all routes or for a subset of
   routes.

2.  Virtual Network Identifier


 


Rao, et al.             Expires January 5, 2015                 [Page 5]

Internet-Draft    BGP Layer-3 virtual network overlay       July 4, 2014


   In RFC 4364 based Layer-3 VPNs, a 20-bit MPLS label is assigned to an
   VPN-IP route by the device that advertises the route, with itself as
   the BGP next-hop.  This label determines the forwarding behavior in
   the data plane for traffic being switched as per that route.  A
   device receiving this route will encode this label in the packet
   header when sending traffic to the advertiser.  The advertiser will
   take a unique forwarding action for traffic received with this label
   when compared to traffic with other labels.  The label may also be
   used at the granularity of a VPN table and drive an IP lookup in that
   table.  This MPLS VPN label is independent of the transport
   encapsulation that is used to carry this traffic to this PE from
   other PEs across a core network. The transport encapsulation may be
   native MPLS or be IP (eg, MPLS-in-GRE).

   On the other hand, the various IP overlay encapsulations support a
   virtual network identifier explicitly within their encapsulation
   header.  A virtual network identifier is a value that at a minimum
   can identify a specific virtual network table in the forwarding
   plane, and may be used to perform an IP address lookup.  It may also
   drive a specific forwarding action for packets destined to a
   particular destination address or prefix.

   It is typically a 24-bit value which can support upto 16 million
   individual network segments or end-hosts.  For instance, VXLAN
   defines a 24-bit VNI while NVGRE uses a 24-bit VSID that is carried
   in the GRE key field of the GRE header.

2.1.  Virtual Network Identifier Scope

   The scope of these virtual network identifiers fall into two broad
   categories.  It is important to support both cases, and in doing so,
   ensure that the scope of the identifier be clear and the values not
   conflict with each other.

2.1.1.  Domain-scoped provisioned virtual network identifiers

   Based on the provisioning mechanism used, a virtual network
   identifier typically has a domain-wide scope within the network
   domain, where a unique value is assigned to a given virtual network
   or a given IP destination route at one or more edge devices.

   This scope is useful in environments such as data centers where
   virtual networks and VMs are automatically provisioned by central
   orchestration systems.  The system must support a very large number
   of VN-IDs given the scope.

2.1.2.  Per-device scoped allocated virtual network identifiers

 


Rao, et al.             Expires January 5, 2015                 [Page 6]

Internet-Draft    BGP Layer-3 virtual network overlay       July 4, 2014


   There are scenarios where it is also necessary for an identifier to
   have significance local to each network edge device that advertises
   the route.  In this case, the same value may be used by different
   edge devices to represent different forwarding classes.

   When it is locally scoped, the virtual network identifier may be
   dynamically allocated by the advertising device.  This allocation
   follows the same semantics of an MPLS VPN label, and supports similar
   forwarding behaviors as specified in RFC 4364.  The device may, for
   example, be a DC-WAN edge device that supports L3VPN Inter-AS Option
   B and use this allocation for routes received from other ASBRs.

2.1.3.  Global unicast table

   The overlay encapsulation can also be used to support forwarding for
   routes in the global or default routing table.  A virtual network
   identifier value can be allocated for the purpose as per the above
   options.

2.1.4.  Virtual Network Identifier Specification

   The above requirements can be achieved in a simple manner by
   splitting the virtual network ID number space to support both domain-
   wide and device-local scopes.

   o  Values upto 1 million (or less than 20 bits) SHOULD be treated
      with the same semantics as MPLS VPN labels and have significance
      local to the advertiser.

   For future expansion, this draft stipulates that the 16 numerical
   values in the end of the VN-ID range be reserved for future use.
   These special values could be used to indicate the presence of other
   types of IP payloads.

   o  Values greater than 1 million (greater than 20 bits) SHOULD be
      treated as per their original definition, ie domain-wide scoped
      values.

   These limits are not mandatory, but are recommended defaults.  As
   long as the provisioning system can ensure conflict-free operation,
   the boundary between local and domain scoped ranges can be adjusted
   higher or lower by configuration.

   o  A virtual network identifier value of zero SHOULD be used by
      default to indicate the global or routing table.

2.2.  Signaling Virtual Network Identifiers

 


Rao, et al.             Expires January 5, 2015                 [Page 7]

Internet-Draft    BGP Layer-3 virtual network overlay       July 4, 2014


2.2.1.  Signaling Requirements

   The Introduction section listed the desirable characteristics of
   signaling of VN-IDs.  This section elaborates on a couple of those
   requirements.

   o  The device may support a single VN-ID space across all its
      supported encapsulations.

   This is expected to be common deployed scenario.  A given edge device
   will be provisioned by a single network orchestrator or controller.
   The device may support multiple encapsulations in order to
   interoperate with remote edge devices that support a different
   encapsulation.  However, the single network orchestrator will manage
   the VN-ID space that will be common across multiple encapsulations on
   this device.

   o  A device may support an independent VN-ID space per-supported
      encapsulation.

   This is expected to be applicable mostly at network gateway devices
   that interconnect two different overlay domains and support the same
   virtual network across these domains.  These border devices are
   likely to be managed by two different orchestrators, and hence need
   to support different VN-ID spaces.  In this case, they typically
   advertise routes of one domain into another.

   o  An edge device may support an independent VN-ID space per-
      supported encapsulation.

   This is assumed to not be a commmon scenario, where an edge device
   within the domain is being shared or managed by multiple
   orchestration systems.  However, in case this scenario must be
   supported, the edge device must be able to support multiple distinct
   VN-ID spaces.  An alternative scheme would be to divide the VN-ID
   range among the orchestration systems.

   o  It is required to support prefix-level VN-ID assignment.

   Supporting prefix-level granularity is useful in various scenarios,
   for example, at an interworking point between DC (VXLAN) and WAN
   (MPLS).






 


Rao, et al.             Expires January 5, 2015                 [Page 8]

Internet-Draft    BGP Layer-3 virtual network overlay       July 4, 2014


2.2.2.  Signaling Specification

   This document specifies two options for signaling VN-IDs.

   1.  The VN-ID is encoded within an Virtual-Network Overlay
   encapsulation attribute that also contains the encapsulation type and
   associated parameters.

   This enables the device to signal a VN-ID per encapsulation that it
   may support.  For example, the device may use VN-ID1 for VXLAN and
   VN-ID2 for NVGRE.  The VN-ID is encoded as a 24-bit value in each
   encapsulation attribute.

   When multiple VN-IDs need to be signaled, one per overlay
   encapsulation type, then the VN-ID MUST be included in the overlay
   encapsulation attribute as defined in [remote-next-hop].

   When MPLS-in-GRE is one of the encapsulations, there is no change
   from current behavior. The VPN label is encoded in the label field in
   the IP-VPN NLRI.

   2.  The VN-ID is encoded in the label field in the IP-VPN NLRI.

   This option is used when a device supports a single VN-ID space
   across all encapsulations.  The benefit of this encoding is it's
   efficiency of packing, even when used for per-prefix VN-ID
   assignment.  With this option, the 24-bit VN-ID for VXLAN and NVGRE
   is encoded as a 3-byte label field in the IP-VPN NLRI.

   When a VN-ID or VPN label is to be signaled, the value MUST be
   encoded in the 3-octet label field in the IP or IP-VPN NLRI.

   This offers the most efficient packing of prefixes in BGP update
   messages.  The device may still advertise multiple encapsulation
   types with this route, but they will all use the same VN-ID value.

   An advertising device will select the suitable option as per the
   requirements stated above, based on configuration.

3.  Overlay Encapsulation specification

   Signaling the VN-ID must be coupled with signaling the appropriate
   overlay encapsulation type.  An overlay encapsulation attribute MUST
   be carried with each route.




 


Rao, et al.             Expires January 5, 2015                 [Page 9]

Internet-Draft    BGP Layer-3 virtual network overlay       July 4, 2014


   The section above specified two options of signaling VN-ID.  In both
   options, the accompanying encapsulation attribute indicates that a
   24-bit VN-ID is specified with the NLRI and must be encoded in the
   signaled encapsulation header.

   The encapsulation attribute also indicates the accompanying
   parameters to be used in the packet header.

   RFC 5512 defines a Tunnel Encapsulation Extended Community that can
   be used to signal different tunnel types. It defines an Encapsulation
   Sub-TLV that can be used to specify encapsulation parameters.

   [remote-next-hop] specifies a Remote-Next-Hop attribute which reuses
   the Encapsulation Sub-TLV from RFC 5512, but adds the flexibility to
   signal the encapsulation attribute and parameters along with each
   individual route.  The address specified as the remote next-hop
   identifies the end-point or destination of the encapsulated packets
   that use the dependent routes as well as the tunnel encapsulation
   parameters.

   Hence, the Remote-Next-Hop attribute is used to signal VN-ID
   encapsulations.  New tunnel types are defined for VXLAN, NVGRE and
   MPLS-in-GRE. The format for the tunnel parameters are specified in
   [remote-next-hop].

3.1.  Encapsulation for VXLAN and NVGRE

   When VXLAN and NVGRE encapsulations are used, the header by
   definition contains an Ethernet MAC address within the overlay
   header.  When these encapsulations are used for Layer-3 as specified
   in this document, the MAC addresses are not relevant.  A single well-
   known MAC address may be specified for the purpose of
   deterministically driving a Layer-3 lookup based on the inner IP or
   IPv6 address.

   Alternatively, an overlay egress edge device device may choose to
   specify a MAC address as part of the encapsulation header in its
   route advertisement.  In this case, any ingress edge device sending
   traffic as per this route MUST use the above specified MAC address as
   the destination MAC address in the header.  The egress device may use
   this address to drive the Layer-3 table lookup or for other purposes.







 


Rao, et al.             Expires January 5, 2015                [Page 10]

Internet-Draft    BGP Layer-3 virtual network overlay       July 4, 2014


3.2.  Encapsulation for MPLS-in-GRE

   When MPLS-in-GRE is one of the encapsulations, there is no change
   from current behavior.  A tunnel type of [MPLS-in-GRE] as defined in
   RFC 5512 is used in the Remote-Next-Hop attribute.

3.3.  Multiple encapsulations

   A given overlay edge device MAY advertise multiple Encapsulation Sub-
   TLVs, in order to signal multiple encapsulations.  It MAY encode a
   different VN-ID in each Sub-TLV as per rules specified earlier.

   A receiving edge device may support one or more encapsulations that
   are signaled by the advertising edge device.  In that case, the
   receiving device can select any of these encapsulations for sending
   traffic to the advertiser.  If a receiving device supports no
   encapsulations that were signaled by the advertiser, then it will not
   send any traffic for these routes to the advertiser.

3.4.  Gateway device encapsulation handling

   When an intermediate gateway device changes the BGP next-hop to self
   before propagating a received route, it may need to advertise a new
   overlay encapsulation attribute with the local address as the
   endpoint.  While doing so, it MAY use an overlay encapsulation type
   that is different from the received route.  It MAY also signal a
   different VN-ID or VPN label than what it received, as described in
   the various VN-ID requirements and rules earlier.

4.  Forwarding behavior

   o  Locally assigned virtual network identifiers

   When the virtual network identifier is locally assigned, forwarding
   based on the identifier at the advertising device follows the
   semantics of an MPLS VPN label.  The VN-ID may either drive an IP
   table lookup or provide a seamless binding to an output VN-ID or
   label.

   o  Domain-scoped provisioned virtual network identifiers

   With a provisioned VN-ID, forwarding behavior at a device which is
   provisioned with this value is governed by the forwarding action that
   has been provisioned.  As one example, the VN-ID may be set up to
   represent a specific IP VRF table on all relevant edge devices,
   causing incoming packets with this VN-ID to undergo an IP lookup.
   Alternatively, the VN-ID may be configured on only one or two edge or
   border devices to directly forward incoming packets to an attached
 


Rao, et al.             Expires January 5, 2015                [Page 11]

Internet-Draft    BGP Layer-3 virtual network overlay       July 4, 2014


   end-host, without undergoing an IP lookup.

   In either case, the forwarding behavior at any ingress edge device
   (physical or virtual) remains the same.  The ingress edge device adds
   an encapsulation as signaled by the advertising device, and includes
   the VN-ID in that encapsulation header.

5.  Overlay Interconnection and Interworking Scenarios

   Multiple virtual network overlay domains may be inter-connected using
   a couple of approaches.  Both these approaches may co-exist in the
   same data center, and be used for connectivity to different kinds of
   external networks.

5.1.  End-to-end overlay

   The IP overlay encapsulation or tunnel extends end-to-end between
   edge devices in different data centers.

   IP routes for hosts attached to each edge device are exchanged
   between the overlay domains either via route exchange between BGP
   speakers in each overlay domain, or via an orchestration/controller
   framework that manages the domains.  The two networks may be located
   within the same ASN or may extend across ASes.

   The routes are propogated to various edge device via the control
   plane mechanism used in the DC, along with the encapsulation and VN-
   ID or label to be used for sending traffic to a given destination
   edge device.  All intermediate devices in the forwarding path between
   the two edge devices simply transport the IP encapsulated overlay
   traffic.

   The tunnel endpoints, ie the edge devices need to be reachable across
   the ASes.  This reachability may be provided by BGP peering across
   ASes.

5.2.  Virtual-network overlay VPN interworking

   The overlay encapsulation terminates at a border router such as the
   DC-WAN gateway device.  The gateway device may re-encapsulate packets
   in another header when sending it onwards.  This requires an
   interworking function which can be of multiple types.

5.2.1.  Normalized interworking via VRF

   The overlay based virtual network terminates into an L3VPN VRF at the
   DC-WAN gateway device.  Internal routes of the DC as well as the
   external routes received from the WAN router are installed in the VRF
 


Rao, et al.             Expires January 5, 2015                [Page 12]

Internet-Draft    BGP Layer-3 virtual network overlay       July 4, 2014


   forwarding table at the DC gateway router.  The DC gateway will
   perform an IP lookup and forward traffic after doing the appropriate
   output MPLS or IP overlay/VPN encapsulation.

5.2.2.  Seamless VPN interworking

   In this case, the DC Gateway router performs a direct translation of
   VN-IDs/labels while switching packets between the DC and WAN
   interfaces without doing an IP lookup.  The forwarding table at the
   DC Gateway router is set up to do a VN-ID or VPN label lookup and
   derive the output VN-ID or VPN label.  The DC Gateway Router can act
   as an Inter-AS Option-B ASBR/ABR peering with other ASBRs/ABRs.

6.  Virtual-Network Overlay Encapsulation Capability

6.1.  Need for Capability Negotiation

   When the MP-BGP NLRIs are used along with a VN-ID based
   encapsulation, the MPLS label field in the NLRI is either not used or
   is used to indicate the presence of a VN-ID that must be included in
   the corresponding overlay encapsulation packet header while sending
   data.  A device that supports vanilla RFC 4364 based IP-VPNs but does
   not understand the extensions specified in this document may not
   interpret the received MP-BGP NLRI as intended, potentially causing
   inconsistent forwarding plane behavior.  In order to avoid this
   situation, such devices must not receive the modified NLRIs.  The
   presence of a capability protect against this issue and ensures
   interoperability with vanilla IP-VPN peers.

   [RFC5492] defines a mechanism to allow two peering BGP speakers to
   discover if a particular capability is supported by each other and
   thus whether it can be used between them.  This document defines a
   new BGP capability that can be advertised using [RFC5492] and is
   referred to as the Virtual-Network Overlay Encapsulation capability.

   A BGP speaker MUST only advertise to a BGP peer the corresponding MP-
   BGP NLRIs alongwith a VN-ID if the BGP speaker has first ascertained
   via BGP Capability Advertisement that the BGP peer supports the
   Virtual-Network Overlay Encapsulation capability.

   With the Virtual-Network Overlay Encapsulation Capability, a VN-
   capable BGP speaker will detect peers that are not capable of
   processing VN-ID encapsulation information received in BGP updates.
   The speaker MUST not send any VPN-IP routes that contain only a VN-ID
   based encapsulation to such peers.  If the route contains both a VN-
   ID encapsulation and an MPLS-in-GRE encapsulation, the speaker MAY
   send the route to the legacy peer with only the MPLS encapsulation
   information, and with the VN-ID encapsulation information removed.
 


Rao, et al.             Expires January 5, 2015                [Page 13]

Internet-Draft    BGP Layer-3 virtual network overlay       July 4, 2014


   If routes are advertised by a speaker via a Route Reflector (RR),
   then the RR MUST advertise the BGP capability for it to receive
   routes with VN-ID information from the speaker.

   When a next-hop address needs to be passed along unchanged (e.g., by
   an RR), its encoding MUST NOT be changed.  If a particular RR client
   cannot handle that encoding (as determined by the BGP Capability
   Advertisement), then the NLRI in question cannot be distributed to
   that client.  The RR may, as above, send the route with only the
   MPLS-in-GRE encapsulation information to such legacy peers.

6.2.  Capability Specification

   A BGP speaker that is capable of processing VN-ID based encapsulation
   information in BGP updates as per this specification MUST use the
   Capability Advertisement procedures defined in [RFC5492] with the
   Virtual-Network Overlay Encapsulation Capability.  The fields in the
   Capabilities Optional Parameter MUST be set as follows:

   o  The Capability Code field MUST be set to 71, indicating the
      capability.

   o  The Capability Length field is set to a variable value that is the
      length of the Capability Value field (which follows).

   o  The Capability value field has the following format:

            +-----------------------------------------------------+
            | NLRI AFI - 1 (2 octets)                             |
            +-----------------------------------------------------+
            | NLRI SAFI - 1 (2 octets)                            |
            +-----------------------------------------------------+
            | .....                                               |
            +-----------------------------------------------------+
            | NLRI AFI - N (2 octets)                             |
            +-----------------------------------------------------+
            | NLRI SAFI - N (2 octets)                            |
            +-----------------------------------------------------+
        where:

         *  each NLRI AFI, NLRI SAFI pair indicates the BGP NLRI address
        family for which the speaker can process the VN-ID information.


         *  the AFI and SAFI values are defined in the Address Family
            Identifier and Subsequent Address Family Identifier
            registries maintained by IANA.

 


Rao, et al.             Expires January 5, 2015                [Page 14]

Internet-Draft    BGP Layer-3 virtual network overlay       July 4, 2014


      Since this document only concerns itself with the advertisement of
      IP NLRI and VPN-IP NLRIs, this specification specifies the
      following values in the Capability Value field of the above
      capability:

      o  NLRI AFI = 1 (IPv4), 2 (IPv6)

      o  NLRI SAFI = 1, 2, 4, or 128

      It is expected that if new AFI/SAFIs can use this in the future,
      then these AFI/SAFIs can be included in the Capability values.


7.  Acknowledgements

   The authors would like to acknowledge and thank Nabil Bitar, Dave
   Smith, Maria Napierala, Robert Raszuk, Eric Rosen, Ashok Ganesan and
   Luyuan Fang for their input and feedback.

8.  IANA Considerations

   This document defines, in Section N, a new Capability Code to
   indicate the Virtual-Network Overlay Encapsulation Capability in the
   [RFC5492] Capabilities Optional Parameter.  The value for this new
   Capability Code is 71, which is in the range set aside for allocation
   using the "FCFS" policy defined in [RFC5226].  There are no
   additional requirements to IANA at this time.  A specific VN-ID range
   may be reserved for future use as applications for carrying payloads
   different than regular IP/VPN packets emerge in future.

9.  Security Considerations

   This draft does not add any additional security implications to the
   BGP/L3VPN control plane.  All existing authentication and security
   mechanisms for BGP apply here.

   There are security considerations pertaining to IP based overlay or
   tunnel encapsulations which are described in the respective overlay
   encapsulation specifications as well as in RFC 5512.

   There are certain measures that may be taken by default to increase
   the level of security provided at the overlay edge devices.






 


Rao, et al.             Expires January 5, 2015                [Page 15]

Internet-Draft    BGP Layer-3 virtual network overlay       July 4, 2014


   When an IP-based overlay encapsulation is used within a domain such
   as a data center, the network edge devices can enforce a default
   forwarding access rule to restrict the acceptance of such overlay
   encapsulated packets on their access interfaces attached to servers
   or VMs.

   For example, when VXLAN is being used, an edge device may be directed
   to filter any VXLAN encapsulated packets (identified by the UDP port
   number) on their access interfaces.  This rule can be further
   augmented by checking that the destination IP address of such VXLAN
   packets does not fall in the prefix range allocated to edge device
   addresses.  Similarly, a DC edge device may be directed to not accept
   any VXLAN encapsulated packets on its interfaces connected to
   external routers, depending on the interconnectivity option being
   used.

10.  References

10.1.  Normative References

   [I-D.mahalingam-dutt-dcops-vxlan]
              Mahalingam, M., Dutt, D., Duda, K., Agarwal, P., Kreeger,
              L., Sridhar, T., Bursell, M., and C. Wright, "VXLAN: A
              Framework for Overlaying Virtualized Layer 2 Networks over
              Layer 3 Networks", draft-mahalingam-dutt-dcops-vxlan-09
              (work in progress), April 2014.

   [I-D.sridharan-virtualization-nvgre]
              Sridharan, M., Greenberg, A., Venkataramaiah, N., Wang,
              Y., Duda, K., Ganga, I., Lin, G., Pearson, M., Thaler, P.,
              and C. Tumuluri, "NVGRE: Network Virtualization using
              Generic Routing Encapsulation", draft-sridharan-
              virtualization-nvgre-04 (work in progress), February
              2014.

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

   [min_ref]  authSurName, authInitials., "Minimal Reference", 2006.

10.2.  Informative References

   [I-D.fang-l3vpn-virtual-pe]
              Fang, L., Ward, D., Fernando, R., Napierala, M., Bitar,
              N., Rao, D., Rijsman, B., and S. Ning, "BGP IP VPN Virtual
              PE", draft-fang-l3vpn-virtual-pe-05 (work in progress),
              July 2014.

 


Rao, et al.             Expires January 5, 2015                [Page 16]

Internet-Draft    BGP Layer-3 virtual network overlay       July 4, 2014


   [I-D.narten-iana-considerations-rfc2434bis]

              Narten, T. and H. Alvestrand, "Guidelines for Writing an
              IANA Considerations Section in RFCs", draft-narten-iana-
              considerations-rfc2434bis-09 (work in progress), March
              2008.

   [I-D.vandevelde-idr-remote-next-hop]
              Velde, G., Patel, K., Rao, D., Raszuk, R., and R. Bush,
              "BGP Remote-Next-Hop", draft-vandevelde-idr-remote-next-
              hop-07 (work in progress), June 2014.

   [RFC2629]  Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629,
              June 1999.

   [RFC3107]  Rekhter, Y. and E. Rosen, "Carrying Label Information in
              BGP-4", RFC 3107, May 2001.

   [RFC3552]  Rescorla, E. and B. Korver, "Guidelines for Writing RFC
              Text on Security Considerations", BCP 72, RFC 3552, July
              2003.

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

   [RFC4364]  Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private
              Networks (VPNs)", RFC 4364, February 2006.

   [RFC5512]  Mohapatra, P. and E. Rosen, "The BGP Encapsulation
              Subsequent Address Family Identifier (SAFI) and the BGP
              Tunnel Encapsulation Attribute", RFC 5512, April 2009.

Authors' Addresses

   Dhananjaya Rao
   Cisco
   San Jose
   USA

   Email: dhrao@cisco.com


   John Mullooly
   Cisco
   New Jersey
   USA

   Email: jmullool@cisco.com
 


Rao, et al.             Expires January 5, 2015                [Page 17]

Internet-Draft    BGP Layer-3 virtual network overlay       July 4, 2014


   Rex Fernando
   Cisco
   San Jose
   USA

   Email: rex@cisco.com













































Rao, et al.             Expires January 5, 2015                [Page 18]