Internet-Draft | Flowspec TTL (Time to Live) Match | July 2021 |
Bergeon | Expires 13 January 2022 | [Page] |
This document defines a new component type to match TTL (Time to Live) values using BGP Flow Specification rules.¶
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 https://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 13 January 2022.¶
Copyright (c) 2021 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 (https://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.¶
One general purpose of BGP Flowspec [RFC8955] is to distribute firewall rules, also known as filtering or Access Control Lists (ACLs) rules, in receiving routers for mitigation of denial-of-service (DoS) attacks using flows specifications encoded as BGP NLRI [RFC4271].¶
BGP Flowspec [RFC8955] defines 12 component types that can be used as match criteria in filtering rules with destination prefix, source prefix, IP protocol, port, destination port, source port, ICMP type, ICMP code, TCP flags, packet length, DSCP and fragment.¶
The IP header field Time to Live (TTL) is a notable absent of the component types defined in BGP Flowspec [RFC8955].¶
This document proposes to address this by adding support for a new Flowspec component type to add support for TTL match.¶
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 BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
As defined in [RFC0791], the TTL is an indication of an upper bound on the lifetime of an internet datagram. It is set by the sender of the datagram and reduced by each router along the route where it is processed.¶
This unique property of the IP header TTL field can make it particularly useful for security and distributed-denial-of-service (DDoS) mitigation.¶
Studies such as the one presented at NANOG 82 Tracing DDoS End-to-End highlight how filtering traffic based on TTL values can be used as an effective mitigation for DDoS attacks at the IP edge of the network. In particular, the TTL value can be used to differentiate legitimate traffic from DDoS attack traffic generated by DDoS for hire services.¶
Different IP edge routers of a given network under attack may see the same attack traffic using slightly different TTL values, however these routers can use a common set of filtering rules propagated via BGP flowspec to mitigatie the attack using range(s) of TTL values.¶
This document defines a new Flowspec component type, value TBD, named "TTL (Time to Live)".¶
Encoding: <type (1 octet), [numeric_op, value]+>¶
Defines a list of {numeric_op, value} pairs used to match the 8-bit TTL field value.¶
This component type uses the Numeric Operator (numeric_op) as defined already in [RFC8955] section 4.2.1.1.¶
Type TBD component values SHOULD be encoded as single octet (numeric_op len=00).¶
The ordering of Flow Specifications rules defined in [RFC8955] remains unchanged and applies to the component type introduced in this document.¶
The new component type introduced in this document does not introduce new security considerations other than the ones already defined in [RFC8955].¶
IANA is requested to assign a type from the First Come First Served range of the "Flow Spec Component Types" registry:¶
Type Value | Name | Reference |
---|---|---|
TBD | TTL (Time to Live) | this document |
Reference: this document¶
Registry Owner/Change Controller: IESG¶
Registration procedures:¶
Range | Registration Procedures |
---|---|
0-127 | IETF Review |
128-249 | First Come First Served |
250-254 | Experimental |
255 | Reserved |
Note: a separate "owner" column is not provided because the owner of all registrations, once made, is "IESG".¶