draft-ietf-idr-flowspec-nvo3-02.txt   draft-ietf-idr-flowspec-nvo3-03.txt 
INTERNET-DRAFT Donald Eastlake INTERNET-DRAFT Donald Eastlake
Intended Status: Proposed Standard Weiguo Hao Intended Status: Proposed Standard Weiguo Hao
Shunwan Zhuang Shunwan Zhuang
Zhenbin Li Zhenbin Li
Huawei Technologies Huawei Technologies
Rong Gu Rong Gu
China Mobil China Mobil
Expires: September 20, 2018 March 21, 2018 Expires: March 10, 2019 September 11, 2018
BGP Dissemination of BGP Dissemination of
Network Virtualization Overlays (NVO3) Flow Specification Rules Network Virtualization Overlays (NVO3) Flow Specification Rules
<draft-ietf-idr-flowspec-nvo3-02.txt> <draft-ietf-idr-flowspec-nvo3-03.txt>
Abstract Abstract
This draft specifies a new subset of component types to support the This draft specifies a new subset of component types to support the
(Network Virtualization Overlays (NVO3) flow-spec application. (Network Virtualization Overlays (NVO3)) flow-spec application.
Status of This Document Status of This Document
This Internet-Draft is submitted to IETF in full conformance with the This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Distribution of this document is unlimited. Comments should be sent Distribution of this document is unlimited. Comments should be sent
to the authors or the TRILL Working Group mailing list to the authors or the TRILL Working Group mailing list
<dnsext@ietf.org>. <dnsext@ietf.org>.
skipping to change at page 3, line 11 skipping to change at page 3, line 11
Acknowledgments...........................................10 Acknowledgments...........................................10
Authors' Addresses........................................10 Authors' Addresses........................................10
INTERNET-DRAFT NVO3 BGP Flow-Spec INTERNET-DRAFT NVO3 BGP Flow-Spec
1. Introduction 1. Introduction
BGP Flow-spec is an extension to BGP that supports the dissemination BGP Flow-spec is an extension to BGP that supports the dissemination
of traffic flow specification rules. It uses the BGP Control Plane of traffic flow specification rules. It uses the BGP Control Plane
to simplify the distribution of ACLs and allows new filter rules to to simplify the distribution of Access Control Lists (ACLs) and
be injected to all BGP peers simultaneously without changing router allows new filter rules to be injected to all BGP peers
configuration. A typical application of BGP Flow-spec is to automate simultaneously without changing router configuration. A typical
the distribution of traffic filter lists to routers for Distributed application of BGP Flow-spec is to automate the distribution of
Denial of Service (DDOS) mitigation. traffic filter lists to routers for Distributed Denial of Service
(DDOS) mitigation.
[RFC5575] defines a new BGP Network Layer Reachability Information [RFC5575] defines a new BGP Network Layer Reachability Information
(NLRI) format used to distribute traffic flow specification rules. (NLRI) format used to distribute traffic flow specification rules.
NLRI (AFI=1, SAFI=133) is for IPv4 unicast filtering. NLRI (AFI=1, NLRI (AFI=1, SAFI=133) is for IPv4 unicast filtering. NLRI (AFI=1,
SAFI=134) is for BGP/MPLS VPN filtering. [IPv6-FlowSpec] and [Layer2- SAFI=134) is for BGP/MPLS VPN filtering. [IPv6-FlowSpec] and [Layer2-
FlowSpec] extend the flow-spec rules for IPv6 and layer 2 Ethernet FlowSpec] extend the flow-spec rules for IPv6 and layer 2 Ethernet
packets respectively. All these previous flow specifications match packets respectively. All these previous flow specifications match
only single layer IP/Ethernet information fields like only single layer IP/Ethernet information fields like
source/destination MAC, source/destination IP prefix, protocol type, source/destination MAC, source/destination IP prefix, protocol type,
ports, and the like. ports, and the like.
In the cloud computing era, multi-tenancy has become a core In the cloud computing era, multi-tenancy has become a core
requirement for data centers. Since Network Virtualization Overlays requirement for data centers. Since Network Virtualization Overlays
(NVO3) can satisfy multi-tenancy key requirements, this technology is (NVO3) can satisfy multi-tenancy key requirements, this technology is
being deployed in an increasing number of cloud data center networks. being deployed in an increasing number of cloud data center networks.
NVO3 is an overlay technology and VXLAN [RFC7348] and NVGRE [RFC7367] NVO3 is an overlay technology and VXLAN [RFC7348] and NVGRE [RFC7367]
are two typical NVO3 encapsulations. GENEVE [GENEVE], GUE [GUE] and are two typical NVO3 encapsulations. GENEVE [GENEVE], GUE [GUE] and
GPE [GPE] are three emerging NVO3 encapsulations. Because it is an GPE [GPE] are three emerging NVO3 encapsulations. Because it is an
overlay technology, flow specification matching on an inner header as overlay technology involving an additional level of encapsulation,
well as the outer header, as specified below, is needed. flow specification matching on the inner header as well as the outer
header, as specified below, is needed.
INTERNET-DRAFT NVO3 BGP Flow-Spec
+--+ +--+
|CE| |CE|
+--+ +--+
| |
+----+ +----+
+----| PE |----+ +----| PE |----+
+---------+ | +----+ | +---------+ +---------+ | +----+ | +---------+
+----+ | +---+ +---+ | +----+ +----+ | +---+ +---+ | +----+
|NVE1|--| | | | | |--|NVE3| |NVE1|--| | | | | |--|NVE3|
skipping to change at page 4, line 5 skipping to change at page 4, line 28
| NVO-1 | MPLS | NVO-2 | | NVO-1 | MPLS | NVO-2 |
| +---+ +---+ | | +---+ +---+ |
| | | | | | | | | | | |
+----+ | |GW2| |GW4| | +----+ +----+ | |GW2| |GW4| | +----+
|NVE2|--| +---+ +---+ |--|NVE4| |NVE2|--| +---+ +---+ |--|NVE4|
+----+ +---------+ | | +---------+ +----+ +----+ +---------+ | | +---------+ +----+
+--------------+ +--------------+
Figure 1. NVO3 Data Center Interconnection Figure 1. NVO3 Data Center Interconnection
INTERNET-DRAFT NVO3 BGP Flow-Spec
The MPLS L2/L3 VPN in the WAN network can be used for NVO3 based data The MPLS L2/L3 VPN in the WAN network can be used for NVO3 based data
center network interconnection. When the Data Center (DC) and the WAN center network interconnection. When the Data Center (DC) and the WAN
are operated by the same administrative entity, the Service Provider are operated by the same administrative entity, the Service Provider
can decide to integrate the gateway (GW) and WAN Edge PE functions in can decide to integrate the gateway (GW) and WAN Edge PE functions in
the same router for obvious capital and operational cost saving the same router for capital and operational cost saving reasons. This
reasons. This is illustrated in Figure 1. There are two is illustrated in Figure 1. There are two interconnection solutions
interconnection solutions as follows: as follows:
1. End-to-end NVO3 tunnel across different data centers: NVE1 perform 1. End-to-end NVO3 tunnel across different data centers: NVE1 perform
NVO3 encapsulation for DC interconnection with NVE3, the NVO3 encapsulation for DC interconnection with NVE3, the
destination VTEP IP is NVE3's IP. The GW doesn't perform NVO3 destination VTEP IP is NVE3's IP. The GW doesn't perform NVO3
tunnel termination. The DC interconnect WAN is pure an underlay tunnel termination. The DC interconnect WAN is pure an underlay
network. network.
2. Segmented NVO3 tunnels across different data centers: NVE1 doesn't 2. Segmented NVO3 tunnels across different data centers: NVE1 doesn't
perform end-to-end NVO3 encapsulation to NVE3 for DC perform end-to-end NVO3 encapsulation to NVE3 for DC
interconnection. The GW performs NVO3 tunnel encapsulation interconnection. The GW performs NVO3 tunnel encapsulation
termination, and then transmits the inner original traffic through termination, and then transmits the inner original traffic through
MPLS network to the peer data center GW. The peer data center GW MPLS network to the peer data center GW. The peer data center GW
terminates MPLS encapsulation, and then performs NVO3 again terminates MPLS encapsulation, and then performs NVO3
encapsulation to transmit the traffic to the local NVE3. encapsulation to transmit the traffic to the local NVE3.
In the first solution, to differentiate bandwidth and QOS among In the first solution, to differentiate bandwidth and Quality of
different tenants or applications, different TE tunnels in the WAN Service (QoS) among different tenants or applications, different TE
network will be used to carry the end-to-end NVO3 encapsulation tunnels in the WAN network will be used to carry the end-to-end NVO3
traffic using VN ID, NVO3 outer header DSCP and etc as traffic encapsulation traffic using VN ID, NVO3 outer header DSCP, and other
classification match part. The BGP Flow-spec protocol can be used to fields as the traffic classification match part. The BGP Flow-spec
set the traffic classification on all GWs simultaneously. protocol can be used to set the traffic classification on all GWs
simultaneously.
INTERNET-DRAFT NVO3 BGP Flow-Spec
In the second solution, a centralized BGP speaker can be deployed for In the second solution, a centralized BGP speaker can be deployed for
DDOS mitigation in the WAN network. When the analyzer detects DDOS mitigation in the WAN network. When the analyzer detects
abnormal traffic, it will automatically generate Flow-spec rules and abnormal traffic, it will automatically generate Flow-spec rules and
distribute them to each GW through BGP Flow-spec protocol, the match distribute them to each GW through BGP Flow-spec protocol, the match
part should include matching on inner or outer L2/L3 layer or NVO3 part should include matching on inner or outer L2/L3 layer or NVO3
headers. headers.
In summary, the Flow specification match part on the GW/PE should In summary, the Flow specification match part on the GW/PE should be
include inner layer 2 Ethernet header, inner layer 3 IP header, outer able to include inner layer 2 Ethernet header, inner layer 3 IP
layer 2 Ethernet header, outer layer 3 IP header, and/or NVO3 header header, outer layer 2 Ethernet header, outer layer 3 IP header,
information. Because the current flow-spec matching facilities lack a and/or NVO3 header information. Because the current flow-spec
layer indicator and NVO3 header information, they can't be used matching facilities lack a layer indicator and NVO3 header
directly for the traffic filtering based on NVO3 header or on a information, those facilities can't be used directly for traffic
specified layer header directly. This draft specifies a new subset of filtering based on NVO3 headers or on a specified layer header
component types to support the NVO3 flow-spec application. directly. This draft specifies a new subset of component types to
support the NVO3 flow-spec application.
INTERNET-DRAFT NVO3 BGP Flow-Spec
1.1 Terminology 1.1 Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
The reader is assumed to be familiar with BGP and NVO3 terminology. The reader is assumed to be familiar with BGP and NVO3 terminology.
The following terms and acronyms are used in this document with the The following terms and acronyms are used in this document with the
meaning indicated: meaning indicated:
ACL - Access Control List
DC - Data Center DC - Data Center
DDOS - Distributed Denial of Service (Attack). DDOS - Distributed Denial of Service (Attack).
GW - gateway GW - gateway
VN - virtual network VN - virtual network
VTEP - Virtual Tunnel End Point
WAN - wide area network WAN - wide area network
INTERNET-DRAFT NVO3 BGP Flow-Spec INTERNET-DRAFT NVO3 BGP Flow-Spec
2. NVO3 Flow Specification Encoding 2. NVO3 Flow Specification Encoding
The current Flow-spec rules can only recognize flows based on the The current Flow-spec rules can only recognize flows based on the
outer layer header of NVO3 encapsulation data packets. To enable outer layer header of NVO3 encapsulation data packets. To enable
traffic filtering based on an NVO3 header and inner header of NVO3 traffic filtering based on an NVO3 header and on an inner header of
packets, a new component type acting as a delimiter is introduced. NVO3 packets, a new component type acting as a delimiter is
The delimiter type is used to specify the boundary between the inner introduced. The delimiter type is used to indicate the boundary
and outer layer component types for NVO3 data packets. All the between the inner and outer layer component types for NVO3 data
component types defined in [RFC5575], [IPv6-FlowSpec], packets. All the component types defined in [RFC5575],
[Layer2-FlowSpec], and the like can be used between two delimiters. [IPv6-FlowSpec], [Layer2-FlowSpec], and the like can be used for the
inner or outer header as indicated by the use of delimiters.
Because the NVO3 outer layer address normally belongs to a public Because the NVO3 outer layer address normally belongs to a public
network, the "Flow Specification" NLRI for the outer layer header network, the "Flow Specification" NLRI for the outer layer header
doesn't need to include a Route Distinguisher field (8 bytes). If the doesn't need to include a Route Distinguisher field (8 bytes). If the
outer layer address belongs to a VPN, the NLRI format for the outer outer layer address belongs to a VPN, the NLRI format for the outer
header should consist of a fixed-length Route Distinguisher field (8 header should consist of a fixed-length Route Distinguisher field (8
bytes) corresponding to the VPN. This Route Distinguisher is followed bytes) corresponding to the VPN. This Route Distinguisher is followed
by the detail flow specifications for the outer layer. by the detail flow specifications for the outer layer.
The VN ID is the identification for each tenant network. The "Flow The VN ID is the identification for each tenant network. The "Flow
Specification" NLRI for an NVO3 header part should always include VN Specification" NLRI for an NVO3 header part should always include the
ID field but a Route Distinguisher field doesn't need to be included. VN ID field but a Route Distinguisher field doesn't need to be
included.
The inner layer MAC/IP address is always associated with a VN ID. The inner layer MAC/IP address is always associated with a VN ID.
Thus the NLRI format for the inner header should consist of a fixed- Thus the NLRI format for the inner header should consist of a fixed-
length VN ID field (4 bytes). The VN ID is followed by the detailed length VN ID field (4 bytes). The VN ID is followed by the detailed
flow specifications for the inner layer. The NLRI length field shall flow specifications for the inner layer. The NLRI length field shall
include both the 4 bytes of the VN ID as well as the subsequent flow include both the 4 bytes of the VN ID as well as the subsequent flow
specification. In the NVO3 terminating into a VPN scenario, if specification. In the NVO3 terminating into a VPN scenario, if
multiple access VN IDs map to one VPN instance, one shared VN ID can multiple access VN IDs map to one VPN instance, one shared VN ID can
be carried in the Flow-Spec rule to enforce the rule to the entire be carried in the Flow-Spec rule to enforce the rule on the entire
VPN instance and the share VN ID and VPN correspondence should be VPN instance and the shared VN ID and VPN correspondence should be
configured on each VPN PE beforehand. In this case, the function of configured on each VPN PE beforehand. In this case, the function of
the layer3 VN ID is the same as a Route Distinguisher: it acts as the the layer3 VN ID is the same as a Route Distinguisher: it acts as the
identification of the VPN instance. identification of the VPN instance.
This document specifies the following Flow-Spec Component Types for This document specifies the following Flow-Spec Component Types for
use with NVO3 flows: use with NVO3 flows:
Type TBD1 - Delimiter type Type TBD1 - Delimiter type
Encoding: <type (1 octet), length (1 octet), Value>. Encoding: <type (1 octet), length (1 octet), Value>.
When this delimiter type is present, it indicates the component When this delimiter type is present, it indicates the component
types for the next layer of NVO3 header fields immediately types and layer for the NVO3 header fields immediately
follow. At the same time, it indicates the end of the component following. At the same time, it indicates the end of the
types belonging to the previous layer of header fields. component types belonging to the previous delimiter.
The value field defines encapsulation type and is encoded as: The value field defines encapsulation type and is encoded as:
INTERNET-DRAFT NVO3 BGP Flow-Spec INTERNET-DRAFT NVO3 BGP Flow-Spec
| 0 1 2 3 4 5 6 7 | | 0 1 2 3 4 5 6 7 |
+---+---+---+---+---+---+---+---+ +---+---+---+---+---+---+---+---+
| Encap Type | | Encap Type |
+---+---+---+---+---+---+---+---+ +---+---+---+---+---+---+---+---+
| I | O | Resv | | I | O | Resv |
skipping to change at page 7, line 33 skipping to change at page 7, line 33
O: If O is set to one, it indicates the component types for the O: If O is set to one, it indicates the component types for the
outer layer of NVO3 headers immediately follow. outer layer of NVO3 headers immediately follow.
For NVO3 header part, the following additional component types are For NVO3 header part, the following additional component types are
introduced. introduced.
Type TBD2 - VN ID Type TBD2 - VN ID
Encoding: <type (1 octet), [op, value]+>. Encoding: <type (1 octet), [op, value]+>.
Defines a list of {operation, value} pairs used to match 24-bit VN Defines a list of {operation, value} pairs used to match the
ID which is used as tenant identification in NVO3 network. For 24-bit VN ID that is used as the tenant identification in NVO3
NVGRE encapsulation, the VN ID is equivalent to VSID. Values are networks. For NVGRE encapsulation, the VN ID is equivalent to
encoded as 1- to 3-byte quantities. VSID. Values are encoded as 1- to 3-byte quantities.
Type TBD3 - Flow ID Type TBD3 - Flow ID
Encoding: <type (1 octet), [op, value]+> Encoding: <type (1 octet), [op, value]+>
Defines a list of {operation, value} pairs used to match 8-bit Defines a list of {operation, value} pairs used to match 8-bit
Flow ID fields which are only useful for NVGRE encapsulation. Flow ID fields which are only useful for NVGRE encapsulation.
Values are encoded as 1-byte quantity. Values are encoded as 1-byte quantity.
INTERNET-DRAFT NVO3 BGP Flow-Spec INTERNET-DRAFT NVO3 BGP Flow-Spec
skipping to change at page 10, line 16 skipping to change at page 10, line 16
Acknowledgments Acknowledgments
The authors wish to acknowledge the important contributions of Jeff The authors wish to acknowledge the important contributions of Jeff
Haas, Susan Hares, Qiandeng Liang, Nan Wu, Yizhou Li, and Lucy Yong. Haas, Susan Hares, Qiandeng Liang, Nan Wu, Yizhou Li, and Lucy Yong.
Authors' Addresses Authors' Addresses
Donald Eastlake Donald Eastlake
Huawei Technologies Huawei Technologies
155 Beaver Street 1424 Pro Shop Court
Milford, MA 01757 USA Davenport, FL 33896 USA
Tel: +1-508-333-2270 Tel: +1-508-333-2270
Email: d3e3e3@gmail.com Email: d3e3e3@gmail.com
Weiguo Hao Weiguo Hao
Huawei Technologies Huawei Technologies
101 Software Avenue, 101 Software Avenue,
Nanjing 210012 China Nanjing 210012 China
Email: haoweiguo@huawei.com Email: haoweiguo@huawei.com
 End of changes. 18 change blocks. 
51 lines changed or deleted 61 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/