Internet DRAFT - draft-liang-idr-bgp-flowspec-route
draft-liang-idr-bgp-flowspec-route
Idr Working Group Q. Liang
Internet-Draft J. You
Intended status: Standards Track Huawei
Expires: April 23, 2015 October 20, 2014
BGP FlowSpec based Multi-dimensional Route Distribution
draft-liang-idr-bgp-flowspec-route-00
Abstract
This document proposes a BGP FlowSpec (Border Gateway Protocol Flow
Specification) based multi-dimensional routes distribution method.
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 [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 April 23, 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
Liang & You Expires April 23, 2015 [Page 1]
Internet-Draft BGP FlowSpec October 2014
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
1.1. Network Load Balancing . . . . . . . . . . . . . . . . . 3
1.2. Network Diagnostics . . . . . . . . . . . . . . . . . . . 3
1.3. Flow-based Policy Deployment . . . . . . . . . . . . . . 3
1.4. Summary . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. BGP FlowSpec based Multi-dimensional Route . . . . . . . . . 4
3.1. Nexthop Information . . . . . . . . . . . . . . . . . . . 4
3.2. Carrying Label Mapping Information . . . . . . . . . . . 5
4. Open Issues . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.1. FlowSpec Route Preference . . . . . . . . . . . . . . . . 6
4.2. FlowSpec Route Conflict . . . . . . . . . . . . . . . . . 7
4.3. Multicast for Multi-dimensional Route . . . . . . . . . . 7
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
6. Security considerations . . . . . . . . . . . . . . . . . . . 7
7. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 7
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 7
8.1. Normative References . . . . . . . . . . . . . . . . . . 7
8.2. Informative References . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8
1. Introduction
[RFC5575] defines the flow specification (FlowSpec) that is an
n-tuple consisting of several matching criteria that can be applied
to IP traffic. The matching criteria can include elements such as
source and destination address prefixes, IP protocol, and transport
protocol port numbers. A given IP packet is said to match the
defined flow if it matches all the specified criteria. [RFC5575]
also defines filtering actions, such as rate limit, redirect,
marking, associated with each flow specification. A new Border
Gateway Protocol Network Layer Reachability Information (BGP NLRI)
(AFI/SAFI: 1/133 for IPv4, AFI/SAFI: 1/134 for VPNv4) encoding format
is used to distribute traffic flow specifications.
Actually, flow specification can precisely identify a particular
traffic flow. It is quite appropriate to describe a multi-
dimensional route. In the following subsections, we discuss the use
cases for FlowSpec based multi-dimensional route.
Liang & You Expires April 23, 2015 [Page 2]
Internet-Draft BGP FlowSpec October 2014
1.1. Network Load Balancing
Traditional routers forward traffic according to destination IP
address or MAC address. The operational granularity on the traffic
is coarse and limited. However, by using multi-dimensional route,
multiple fields of the packet header (such as source and destination
address prefixes, IP protocol, and transport protocol port numbers)
can be used to identify an operational flow. For example, routers
can hash the multi-dimensional routes with the same destination
through different paths. Therefore, the traffic can be
differentiated or managed in a finer granularity. For example, when
the congestion is detected at some link, it can transfer some traffic
to other links by adjusting the multi-dimensional routes. This can
optimize the network load balancing.
1.2. Network Diagnostics
Traditional IP prefix or MAC based routes may aggregate the traffic
that has different sources or service classes to the same link. This
is difficult for traffic statistics for a particular flow in the
network. However, multi-dimensional route can solve these issues
such as packet loss location, traffic tracking, as it can precisely
identify a particular flow.
1.3. Flow-based Policy Deployment
When using FlowSpec based multi-dimensional routes, it is more
flexible and precise to deploy the flow-based policies in the
network. For example, if router X wants to specify an explicit path
for a particular traffic (e.g. source address = A, destination
address = B), and to reserve the bandwidth through this path, this
can be implemented by using multi-dimensional routes.
1.4. Summary
Especially in the data center network, campus network and service
provider networks, it's more and more important for the refined
management of the network traffic.
The BGP FlowSpec based multi-dimensional route method proposed in
this document can make use of the current widely deployed BGP
protocol. As the multi-dimensional route usually cannot aggregate,
meanwhile it has long matching key and consumes more space in the
forwarding table, it is not meant to substitute the IP prefix/MAC
based route. It can be regarded as a complementary routing tool for
the traffic flow that having special requirements. Besides, using a
dynamic multi-dimensional route distribution method can replace the
traditional management approach (i.e. configuring policy-based routes
Liang & You Expires April 23, 2015 [Page 3]
Internet-Draft BGP FlowSpec October 2014
on the associated nodes in the network). It helps the automatic
deployments for the policy-based routes and facilitates the route
management.
Similar to IP prefix based L3 routing table, or MAC address based L2
forwarding table, FlowSpec can be regarded as a special network
reachability information identity, which can be distributed by BGP.
Such multi-dimensional route in this document also can be called as
FlowSpec route.
2. Terminology
This section contains definitions of terms used in this document.
Flow Specification (FlowSpec): A flow specification is an n-tuple
consisting of several matching criteria that can be applied to IP
traffic, including filters and actions. Each FlowSpec consists of
a set of filters and a set of actions.
3. BGP FlowSpec based Multi-dimensional Route
3.1. Nexthop Information
[RFC5575] defines a "Flow Specification" NLRI type that is encoded
using MP_REACH_NLRI and MP_UNREACH_NLRI attributes as defined in
[RFC4760]. Whenever the corresponding application does not require
Next-Hop information, this shall be encoded as a 0-octet length Next
Hop in the MP_REACH_NLRI attribute and ignored on receipt.
However, for FlowSpec route defined in this document, nexthop
information is required to be included. When included, the filtering
actions [RFC5575] standardized as BGP extended community values
[RFC4360] are also valid. Besides, if the FlowSpec route is the
preferred one, it also determines the forwarding path of the packet
that matches this FlowSpec route. Therefore, several forwarding
paths from one node or multi ingress nodes to one egress node would
be generated by distributing the FlowSpec routes on the forwarding
devices in the network.
The nexthop information contains the network address (expressed as an
IP address) of the next router on the path to the destination system.
The FlowSpec routes received from a BGP peer and that are accepted in
the respective Adj-RIB-In are used as input to the route selection
process. The selected FlowSpec routes will be added into the
FlowSpec routing table as new entries that are used to steer the
packets in the data plane. Meanwhile, the routers also can do
network traffic statistics based on FlowSpec routes.
Liang & You Expires April 23, 2015 [Page 4]
Internet-Draft BGP FlowSpec October 2014
[RFC5575] defines a redirect action that allows the traffic to be
redirected to a VRF (virtual routing and forwarding) routing instance
that lists the specified route-target in its import policy.
[I-D.ietf-idr-flowspec-redirect-ip] defines a redirect-to-IP FlowSpec
action that provides a method of policy-based forwarding. If a
FlowSpec route carries a combination of 'redirect to IP' and
'redirect to VRF' extended communities, the BGP speaker SHOULD apply
the 'redirect to IP' actions in the context of the 'target VRF', i.e.
the BGP speaker redirects the matching packets or copies them towards
the IPv4 or IPv6 address in the extended community's global
administrator field (the 'target address').
The difference of the redirect and nexthop is that the former
specifies the termination point however the latter specifies the next
processing node. The redirect information is transitive but not
changeable normally, i.e. the packets that match the FlowSpec routes
on the different routers will be redirected to the same remote
device. The nexthop information [RFC4760] is usually the local IP
address of the router that disseminates this FlowSpec route, or the
IP address of some remote forwarding device. The receiving router
will do route iteration based on the nexthop information for
obtaining the actual nexthop information. The next-hop can be
changed according to the local explicit or default route policy.
3.2. Carrying Label Mapping Information
[RFC3107] specifies the way in which the label mapping information
for a particular route is piggybacked in the same Border Gateway
Protocol Update message that is used to distribute the route itself.
Label mapping information is carried as part of the Network Layer
Reachability Information (NLRI) in the Multiprotocol Extensions
attributes. The Network Layer Reachability Information is encoded as
one or more triples of the form <length, label, prefix>. The fact
that the NLRI contains a label is indicated by using SAFI value 4.
[RFC4364] describes a method in which each route within a VPN is
assigned a Multiprotocol Label Switching (MPLS) label. If the
Address Family Identifier (AFI) field is set to 1, and the Subsequent
Address Family Identifier (SAFI) field is set to 128, the NLRI is an
MPLS-labeled VPN-IPv4 address.
In this document, BGP is used to distribute a particular FlowSpec
route, it can also be used to distribute one or more MPLS labels that
are mapped to that FlowSpec route. The Network Layer Reachability
Information for FlowSpec route is encoded as one or more triples of
the form <length, label, FlowSpec>, whose fields are described below.
Liang & You Expires April 23, 2015 [Page 5]
Internet-Draft BGP FlowSpec October 2014
The values for AFI/SAFI used to indicate the NLRI containing a label
associated with a FlowSpec route are TBD. For example, SAFI Code
(TBD1) for FlowSpec mapping label(s), and SAFI Code (TBD2) for VPN
FlowSpec mapping label(s).
+---------------------------+
| Length (1 octet) |
+---------------------------+
| Label (3 octets) |
+---------------------------+
.............................
+---------------------------+
| FlowSpec (variable) |
+---------------------------+
The use and the meaning of these fields are as follows:
Length: The Length field indicates the length in bits of the flow
filters plus the label(s).
Label: The Label field carries one or more labels (that
corresponds to the stack of labels [RFC3032]). Each label is
encoded as 3 octets, where the high-order 20 bits contain the
label value, and the low order bit contains "Bottom of Stack"
[RFC3032].
FlowSpec: The FlowSpec field is the same as "flow-spec NLRI value"
defined in [RFC5575]. When SAFI value is TBD1, the field contains
flow filters, and when SAFI value is TBD2, the field contains a
route distinguisher and flow filters.
For FlowSpec route which is associated with multiple fields of the
packet header, label-based forwarding can effectively improve the
route lookup performance in the data plane. When FlowSpec routes on
multiple forwarding devices in the network binding the labels which
makes up one or more LSPs, only the ingress LSR (Label Switching
Router) needs to identify a particular traffic flow based on the
matching criteria and then steer the packet to a corresponding LSP
(Label Switched Path). Other LSRs of the LSP just need to forward
the packet according to the label carried in it.
4. Open Issues
4.1. FlowSpec Route Preference
The route preference for FlowSpec route is separate from the
traditional IP prefix/MAC route. When the IP packet matching both
Liang & You Expires April 23, 2015 [Page 6]
Internet-Draft BGP FlowSpec October 2014
the FlowSpec route and traditional IP prefix/MAC route, then the
FlowSpec route would have higher preference.
4.2. FlowSpec Route Conflict
The FlowSpec route is compliant with [RFC5575], including the
constraint description for FlowSpec features. If the feature value
space of the different FlowSpec routes overlaps, then it is an error.
4.3. Multicast for Multi-dimensional Route
TBD
5. IANA Considerations
The values for AFI/SAFI used to indicate the NLRI containing a label
associated with a FlowSpec route need to be allocated by IANA. For
example, SAFI Code (TBD1) for FlowSpec mapping label(s), and SAFI
Code (TBD2) for VPN FlowSpec mapping label(s).
6. Security considerations
This extension to BGP does not change the underlying security issues
inherent in the existing BGP.
7. Acknowledgement
TBD.
8. References
8.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3032] Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y.,
Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack
Encoding", RFC 3032, January 2001.
[RFC3107] Rekhter, Y. and E. Rosen, "Carrying Label Information in
BGP-4", RFC 3107, May 2001.
[RFC4360] Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended
Communities Attribute", RFC 4360, February 2006.
[RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private
Networks (VPNs)", RFC 4364, February 2006.
Liang & You Expires April 23, 2015 [Page 7]
Internet-Draft BGP FlowSpec October 2014
[RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter,
"Multiprotocol Extensions for BGP-4", RFC 4760, January
2007.
[RFC5575] Marques, P., Sheth, N., Raszuk, R., Greene, B., Mauch, J.,
and D. McPherson, "Dissemination of Flow Specification
Rules", RFC 5575, August 2009.
8.2. Informative References
[I-D.ietf-idr-flowspec-redirect-ip]
Uttaro, J., Haas, J., Texier, M., Andy, A., Simpson, A.,
and W. Henderickx, "BGP Flow-Spec Redirect to IP Action",
draft-ietf-idr-flowspec-redirect-ip-01 (work in progress),
April 2014.
Authors' Addresses
Qiandeng Liang
Huawei
101 Software Avenue, Yuhuatai District
Nanjing, 210012
China
Email: liuweihang@huawei.com
Jianjie You
Huawei
101 Software Avenue, Yuhuatai District
Nanjing, 210012
China
Email: youjianjie@huawei.com
Liang & You Expires April 23, 2015 [Page 8]