Internet DRAFT - draft-ietf-idr-flowspec-packet-rate
draft-ietf-idr-flowspec-packet-rate
Inter-Domain Routing (IDR) W. Eddy
Internet-Draft J. Dailey
Intended status: Standards Track G. Clark
Expires: June 5, 2017 MTI Systems
December 2, 2016
BGP Flow Specification Packet-Rate Action
draft-ietf-idr-flowspec-packet-rate-01
Abstract
This document defines a new type of traffic filtering action for the
BGP flow specification. The new packet-rate action allows specifying
a rate-limit in number of packets per second. This is intended to be
used in combatting some types of denial of service attacks where the
packet rate is more important than the raw bitrate of the attack
traffic.
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 June 5, 2017.
Copyright Notice
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
Eddy, et al. Expires June 5, 2017 [Page 1]
Internet-Draft Flowspec Packet-Rate Action December 2016
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 2
2. Packet Rate Action . . . . . . . . . . . . . . . . . . . . . 2
3. Discussion . . . . . . . . . . . . . . . . . . . . . . . . . 3
4. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 4
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4
6. Security Considerations . . . . . . . . . . . . . . . . . . . 4
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 4
7.1. Normative References . . . . . . . . . . . . . . . . . . 4
7.2. Informative References . . . . . . . . . . . . . . . . . 5
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 5
1. Introduction
The existing BGP flow specification [RFC5575] standard supports
traffic-rate limits conveyed in bytes per second. In some cases, it
may be easier, faster, or more relevant to perform accounting and
decision-making based on quantities of packets per second. It is
desirable to specify rate limits in terms of the number of packets
per second, and not just the number of bytes per second.
As an example use case, there are several types of denial of service
attacks that do not require large amounts of bandwidth, but operate
based on a cadence of packets over time. TCP SYN flooding attacks
are one well-known example [RFC4987], along with common packet-rate
limits applied to ICMP messages and packets to unknown UDP ports.
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].
2. Packet Rate Action
The traffic filtering actions pertaining to a matched flow
specification are indicated using BGP extended communities [RFC7153].
Particular extended community values are defined in RFC 5575 for a
number of possible actions. New types of actions can be defined
using additional extended community values. The value 0x8006 has
been defined as the "traffic-rate" action, and specifies a rate-limit
in a quantity of bytes per second. The new packet-rate extended
Eddy, et al. Expires June 5, 2017 [Page 2]
Internet-Draft Flowspec Packet-Rate Action December 2016
community described in this draft is similar, except the quantity is
interpreted as packets per second.
+------+--------------------+-------------------------------------+
| type | extended community | encoding |
+------+--------------------+-------------------------------------+
| TBD | packet-rate | 2-byte ASN, 4-byte unsigned integer |
+------+--------------------+-------------------------------------+
Table 1
Packet-rate: The packet-rate extended community is a transitive
extended community across the autonomous-system boundary and uses
following extended community encoding:
The first two octets carry the 2-octet id, which can be
assigned from a 2-byte AS number. When a 4-byte AS number is
locally present, the 2 least significant bytes of such an AS
number can be used. This value is purely informational and
should not be interpreted by the implementation.
The remaining 4 octets carry the rate information as an
unsigned integer in network byte order, with packets per second
as the unit represented. A packet-rate of 0 should result on
all traffic for the particular flow to be discarded.
Note that this is a transitive community type, as explained in RFC
7153 and not a non-transitive type as mentioned narratively in the
RFC 5575 description of the traffic-rate action.
The packet-rate action SHOULD NOT be used together with a traffic-
rate action within the same flow specification, due to unclear
semantics. Implementations MUST be robust to receiving both actions
and may choose to honor either one or the other, or the combination
of both, depending on local implementation capabilities.
3. Discussion
Interaction between multiple actions in a flow specification is a
matter of ongoing work in the IETF. There are potential semantic
conflicts when a traffic-rate action is combined with a packet-rate
action. This is legal syntactically, but devices are not universally
capable of honoring both a packet per second and a bit per second
rate limit, resulting in inability to meet the operator intention if
both are used within a flow specification. Resolving this is
potential future work, however, the present guidance is for
implementations to avoid sending such flow specifications, while
Eddy, et al. Expires June 5, 2017 [Page 3]
Internet-Draft Flowspec Packet-Rate Action December 2016
still behaving in some reasonable manner when receiving them (e.g.
honoring one or the other limit if it is not possible to honor both).
The traffic-rate action is specified as a floating point value.
There can be discrepancies between what is configured and what is
encoded, due to loss of precision in the floating point
representation, which would be annoying for operators. Based on
discussions in the IDR working group, for the packet-rate action, an
unsigned integer value is used, which allows unambiguous packet per
second rates to be specified. This limits rates represented to under
4.3 Gpps (4.3 billion packets per second), which is believed to be
sufficient for the present and foreseeable future networks.
4. Acknowledgements
The initial idea to add a packet rate action was encouraged by
comments from Donald Smith at a DHS meeting in 2015. The content of
this document was shaped by discussion on the IETF IDR mailing list,
including comments from Aseem Choudhary, Acee Lindem, Jeff Haas, John
Schiel, Robert Raszuk, Kirill Kasavchenko. Special thanks go to the
IDR chairs Sue Hares, and John Scudder for their leadership and
shepherding of the many other BGP enhancements concurrently underway.
5. IANA Considerations
If accepted for publication, IANA will need to allocate a BGP
extended community value for the "packet-rate" action from the
"Generic Transitive Experimental Use Extended Community Sub-Types"
registry.
6. Security Considerations
No security considerations are raised by this document.
7. References
7.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
[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,
<http://www.rfc-editor.org/info/rfc5575>.
Eddy, et al. Expires June 5, 2017 [Page 4]
Internet-Draft Flowspec Packet-Rate Action December 2016
[RFC7153] Rosen, E. and Y. Rekhter, "IANA Registries for BGP
Extended Communities", RFC 7153, DOI 10.17487/RFC7153,
March 2014, <http://www.rfc-editor.org/info/rfc7153>.
7.2. Informative References
[RFC4987] Eddy, W., "TCP SYN Flooding Attacks and Common
Mitigations", RFC 4987, DOI 10.17487/RFC4987, August 2007,
<http://www.rfc-editor.org/info/rfc4987>.
Authors' Addresses
Wesley Eddy
MTI Systems
Email: wes@mti-systems.com
Justin Dailey
MTI Systems
Email: justin@mti-systems.com
Gilbert Clark
MTI Systems
Email: gclark@mti-systems.com
Eddy, et al. Expires June 5, 2017 [Page 5]