Internet DRAFT - draft-ma-idr-flowspec-mpls
draft-ma-idr-flowspec-mpls
Network Working Group Dan Ma
Internet-Draft Cisco Systems
Updates: RFC5575 Aug 10, 2014
Intended status: Standards Track
Expires: Jan 31, 2015
Dissemination of Flow Specification Rules for MPLS Flow
draft-ma-idr-flowspec-mpls-00
Abstract
Dissemination of Flow Specification Rules [RFC5575] specifies BGP SAFI
133/134 and NLRI types/extended communities to propagate the native IP
flow information for the purpose of dropping, rate limiting or filtering.
This proposal extends the current [RFC5575], adds more specifications to
propagate MPLS flow information.
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), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
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."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
This Internet-Draft will expire on Dec 31, 2014.
Copyright Notice
Copyright (c) 2012 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 . . . . . . . . . . . . . . . . . . . . . . . . 2
2. MPLS Flow Specification encoding in BGP . . . . . . . . . . . 3
3. MPLS Flow Specification Traffic Filtering Action changes . . 4
4. Security considerations . . . . . . . . . . . . . . . . . . . 5
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5
6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 6
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 6
7.1. Normative References . . . . . . . . . . . . . . . . . . 6
7.2. Informative References . . . . . . . . . . . . . . . . . 6
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6
1. Introduction
BGP Flowspec is a new mechanism to assist in DDOS mitigation, which
has many advantages like flow application aware filtering/redirect
/mirroring, dynamic and adaptive to flow, easy to disseminate via
new BGP SAFI/NLRI(SAFI=133/134).
Currently BGP Flowspec RFC5575 and other drafts define many flow
specification types like IP source/destination address, IP protocol,
TCP/UDP source/destination port, DSCP, packet length etc, but all
these types are for native IP flows, they only can be applied
between PE-CE or applied for other native IP packets scenarios.
But we also have requirement to mitigate DDoS attack traffic on
Inter-AS ASBR or on CSC-PE/CSC-CE to prevent DDoS traffic flowing
into Service Provider core network. Since the traffic between AS or
between CSC are MPLS flows, so BGP Flowspec needs support MPLS type.
Internet traffic flowing through MPLS LSP also has this requirement.
With the hardware chip develops, today more and more applications can
classify and operate MPLS flows like OpenFlow/ACL, so BGP Flowspec
should also have this capability.
With MPLS flow support in BGP Flowspec, Service Provider administrator/
operator has more flexibility/capability to mitigate DDoS attack traffic
coming from another AS or from Tier-2 service provider CSC-CE.
In this document authors propose a subset of new NLRI types and
extended communities to extend Dissemination of Flow Specification
Rules [RFC5575] for MPLS flow.
This specification should be treated as an extension of base
[RFC5575] specification for MPLS flow. It only defines the
delta changes required to support MPLS flow while all other
definitions and operation mechanisms of Dissemination of Flow
Specification Rules will remain in the main specification and will
not be repeated here.
2. MPLS Flow Specification encoding in BGP
The [RFC5575] defines a new SAFIs (133 for IPv4) and (134 for VPNv4)
applications in order to carry corresponding to each such application
flow specification.
This document proposes the following specifications for MPLS flow to
extend [RFC5575]:
Type 14 - MPLS label
Encoding: <type (1 octet), [op, value]+>
Defines a list of {operation, value} pairs used to match MPLS
label. Values are encoded as 1- or 2-byte quantities.
Type 15 - MPLS label TTL
Encoding: <type (1 octet), [op, value]+>
Defines a list of {operation, value} pairs used to match MPLS
label TTL. Values are encoded as 1- or 2-byte quantities.
Type 16 - MPLS label EXP
Encoding: <type (1 octet), [op, value]+>
Defines a list of {operation, value} pairs used to match MPLS
label EXP. Values are encoded as 1- or 2-byte quantities.
Type 17 - MPLS label BoS bit
Encoding: <type (1 octet), [op, value]+>
Defines a list of {operation, value} pairs used to match MPLS
label bottom of stack bit. Values are encoded as 1- or 2-byte
quantities.
3. MPLS Flow Specification Traffic Actions
+--------+--------------------+--------------------------+
| type | extended community | encoding |
+--------+--------------------+--------------------------+
| 0x8006 | traffic-rate | 2-byte as#, 4-byte float |
| 0x8007 | traffic-action | bitmask |
| 0x8008 | redirect | 6-byte Route Target |
| 0x8009 | traffic-marking | DSCP value |
+--------+--------------------+--------------------------+
Besides to support the above extended communities per RFC5575, this
document also proposes the following BGP extended communities
specifications for MPLS flow to extend [RFC5575]:
+--------+--------------------+--------------------------+
| type | extended community | encoding |
+--------+--------------------+--------------------------+
| 0x800A | MPLS EXP marking | EXP vale |
| 0x800B | MPLS TTL setting | TTL value |
| 0x800C | Label-action | bitmask |
+--------+--------------------+--------------------------+
0x080A - MPLS EXP marking
The MPLS EXP marking extended community instructs a system to modify
the EXP bits of a transiting MPLS packet to the corresponding value.
This extended community is encoded as a sequence of 5 zero bytes
followed by the EXP value encoded in the 3 least significant bits of 6th
byte.
0x080B - MPLS TTL setting
The MPLS TTL setting extended community instructs a system to modify
the TTL bits of a transiting MPLS packet to the corresponding value.
This extended community is encoded as a sequence of 5 zero bytes
followed by the TTL value encoded in 6th byte.
0x080C - Label action
The Label-action extended community consists of 6 bytes of which only
the 4 least significant bits of the 6th byte (from left to right) are
currently defined.
40 41 42 43 44 45 46 47
+---+---+---+---+---+---+---+---+
| Unassigned | U | S | H | P |
+---+---+---+---+---+---+---+---+
* Pop Action (bit 47): Enable label pop for MPLS flow When this bit
is set.
* Push Action (bit 46): Enable label push for MPLS flow When this bit
is set.
* Swap Action (bit 45): Enable label swap for MPLS flow When this bit
is set.
* Unlabel Action (bit 44): Enable unlabel for MPLS flow When this bit
is set.
4. Security considerations
No new security issues are introduced to the BGP protocol by this
specification.
5. IANA Considerations
IANA is requested to create and maintain a new registry entitled:
"Flow spec MPLS Component Types":
Type 14 - MPLS label
Type 15 - MPLS label TTL
Type 16 - MPLS label EXP
Type 17 - MPLS label BoS bit
IANA is requested to update the reference for the following
assignment in the "BGP Extended Communities Type - extended,
transitive" registry:
Type value Name Reference
---------- ---------------------------------------- ---------
0x080A Flow spec MPLS EXP marking [this document]
0x080B Flow spec MPLS TTL setting [this document]
0x080C Flow spec Label action [this document]
The "label-action" extended community defined in this document has
46 unused bits, which can be used to convey additional meaning. IANA
created and maintains a new registry entitled: "Label Action Fields".
These values should be assigned via IETF Review rules only. The
following Label-action fields have been allocated:
47 Pop
46 Push
45 Swap
44 Unlabel
0-43 Unassigned
6. Acknowledgments
Authors would like to thank for their valuable input.
7. References
7.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
7.2. Informative References
[RFC5575] P. Marques, N. Sheth, R. Raszuk, B. Greene, J.
Mauch, D. McPherson, "Dissemination of Flow
Specification Rules", RFC 5575, August 2009.
[IPV6-FLOW] R. Raszuk, B. Pithawala, D. McPherson,
"Dissemination of Flow Specification Rules for
IPv6", draft-ietf-idr-flow-spec-v6-00, June 2011.
[VALIDATE] Uttaro, J., Filsfils, C., Mohapatra, P., Smith, D.,
"Revised Validation Procedure for BGP Flow
Specifications", draft-ietf-idr-bgp-flowspec-oid-
00, June 2012.
Authors' Addresses
Dan Ma
Cisco Systems
170 West Tasman Drive
San Jose, CA 95134
US
Email: danma@cisco.com