IDR Working Group | L. Yong |
Internet-Draft | S. Hares |
Intended status: Standards Track | Q. Liang |
Expires: December 2, 2016 | J. You |
Huawei | |
May 31, 2016 |
BGP Flow Specification Filter for MPLS Label
draft-ietf-idr-flowspec-mpls-match-00.txt
This draft proposes BGP flow specification rules that are used to filter MPLS labeled packets.
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 December 2, 2016.
Copyright (c) 2016 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.
BGP Flow Specification (BGP-FS) [RFC5575] is an extension to that allows for the dissemination of traffic flow specification rules via BGP ([RFC4271]). BGP-FS policies have a match condition that may be n-tuple match in a policy, and an action that modifies the packet and forwards/drops the packet. Via BGP, new filter rules can be sent to all BGP peers simultaneously without changing router configuration, and the BGP peer can install these routes in the forwarding table. The typical application of BGP-FS is to automate the distribution of traffic filter lists to routers for DDOS mitigation.
[RFC5575] defines a new BGP Network Layer Reachability Information (NLRI) format used to distribute traffic flow specification rules. NLRI (AFI=1, SAFI=133) is for IPv4 unicast filtering. NLRI (AFI=1, SAFI=134)is for BGP/MPLS VPN filtering. [I-D.ietf-idr-flow-spec-v6] defines flow-spec extension for IPv6 data packets. [I-D.ietf-idr-flowspec-l2vpn] extends the flow-spec rules for layer 2 Ethernet packets (AFI=25, SAFI=133, SAFI=134). All these flow specifications match parts only reflect single layer IP (source/destination IP prefix, protocol type, ports, etc.) and Ethernet information with matches for source/destination MAC
MPLS technologies [RFC3031] have been widely deployed in WAN networks. MPLS label stack [RFC3032] is the foundation for label switched data plane. A label on a label stack may represent a label switch path (LSP), application identification such as Pseudo Wire (PW), a reserved label that triggers a specific data plane action, or etc. The data plane label switching operations includes pop, push, or swap label on the label stack.
For value added services, it is valuable for a MPLS network to have BGP-FS policy filter that matches on the MPLS portion of a packet and an action to modify the MPLS packet header and/or monitor the packets that match the policy. This document specifies an MPLS match filter. [I-D.liang-idr-bgp-flowspec-label] specifies a BGP action to modify the MPLS label.
[I-D.hares-idr-flowspec-combo] describes the following two options for extending [RFC5575]:
0 1 2 3 4 5 6 7 +---+---+---+---+---+---+---+---+ | e | a | i | pos | Resv | +---+---+---+---+---+---+---+---+
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Label | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
This document proposes new flow specifications rules that is encoded in NLRI.
In this example, 5 local policy rules in the filter-based RIBs (FB-RB, aka Policy Routing) will match n-tuples (destination IP address, Destination Port, source IP address, Source IP Address, protocols (ICMP and STCP). These policy rules can be created by standard yang modules for filter-based RIBS (configuration, and ephemeral configuration) or ACLs, or vendor based policy. These policies will put the DDoS attack data onto one LSP (LSP1) in order to send the DDoS traffic to the IDS/IPS processing attached to PE2.
The MPLS Filter allows the BGP Flow specification to match on the LSP label rather than the IP address so that PE2 (with the FB-RIBs on PE2) can forward the traffic to a set of IDS/IPS machines. The BGP Flow Specification (BGP-FS) can forward this simple match policy along with an action policy that constraints the traffic on this Flow to a certain rate (bytes/second).
|<---------------- AS1 ----------------->| +---------+ +-----+ +-----+ +-----+ ===| PE1 |---|IBGP |----|IBGP |----| PE2 |--IDS-1/IPS | Filters | | | | | | |--IDS-2/IPS +---------+ +-----+ +-----+ +-----+ |-------------------------------| MPLS travel on LSP-1 with label-1 BGP Flow Specification Filter 1 BGP Flow Specification Match Policy Destination IP address (0/0) [Required by RFC5575] MPLS Label match (label-1) Action Policy Traffic-rate (n bytes)
The validation of BGP Flow Specification policy is considered in [I-D.hares-idr-flowspec-combo] for option 1, and for option 2. For Option 1, the MPLS Match can be one of the match filtes, and and the final match is an “AND” of all the filters. Match filters are tested in the order specified in [I-D.hares-idr-flowspec-combo] and/or an RFC5575bis document.
The traffic rate action described above is described in [RFC5575]. [I-D.hares-idr-flowspec-combo] suggests a default order for filters and for the BGP-FS action proposed after [RFC5575], and this document discusses how conflicts between action are handled.
This section complies with [RFC7153]
Value Name: Value Reference =========== ===== ========= MPLS-Match1 TBD1 [This Document] MPLS-Match2 TBD2 [This Document]
IANA is requested to a new entry in “Flow Spec component types registry” with the following values:
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997. |
[RFC3031] | Rosen, E., Viswanathan, A. and R. Callon, "Multiprotocol Label Switching Architecture", RFC 3031, DOI 10.17487/RFC3031, January 2001. |
[RFC3032] | Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y., Farinacci, D., Li, T. and A. Conta, "MPLS Label Stack Encoding", RFC 3032, DOI 10.17487/RFC3032, January 2001. |
[RFC4271] | Rekhter, Y., Li, T. and S. Hares, "A Border Gateway Protocol 4 (BGP-4)", RFC 4271, DOI 10.17487/RFC4271, January 2006. |
[RFC5575] | Marques, P., Sheth, N., Raszuk, R., Greene, B., Mauch, J. and D. McPherson, "Dissemination of Flow Specification Rules", RFC 5575, DOI 10.17487/RFC5575, August 2009. |
[RFC7153] | Rosen, E. and Y. Rekhter, "IANA Registries for BGP Extended Communities", RFC 7153, DOI 10.17487/RFC7153, March 2014. |
[I-D.hares-idr-flowspec-combo] | Hares, S., "An Information Model for Basic Network Policy and Filter Rules", Internet-Draft draft-hares-idr-flowspec-combo-01, March 2016. |
[I-D.ietf-idr-bgp-flowspec-oid] | Uttaro, J., Filsfils, C., Smith, D., Alcaide, J. and P. Mohapatra, "Revised Validation Procedure for BGP Flow Specifications", Internet-Draft draft-ietf-idr-bgp-flowspec-oid-03, March 2016. |
[I-D.ietf-idr-flow-spec-v6] | McPherson, D., Raszuk, R., Pithawala, B., Andy, A. and S. Hares, "Dissemination of Flow Specification Rules for IPv6", Internet-Draft draft-ietf-idr-flow-spec-v6-07, March 2016. |
[I-D.ietf-idr-flowspec-l2vpn] | Weiguo, H., Litkowski, S. and S. Zhuang, "Dissemination of Flow Specification Rules for L2 VPN", Internet-Draft draft-ietf-idr-flowspec-l2vpn-04, May 2016. |
[I-D.liang-idr-bgp-flowspec-label] | Hares, S., You, J., Raszuk, R. and d. danma@cisco.com, "Carrying Label Information for BGP FlowSpec", Internet-Draft draft-liang-idr-bgp-flowspec-label-02, March 2016. |