bgp flow specification for route servers at ixps · cisco systems b. greene juniper networks j....

28
1 BGP Flow Specification for Route Servers at IXPs NANOG 73 – 26 th of June 2018 Benedikt Rudolph Research & Development, DE-CIX

Upload: others

Post on 26-May-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BGP Flow Specification for Route Servers at IXPs · Cisco Systems B. Greene Juniper Networks J. Mauch NTT America D. McPherson Arbor Networks August 2009 Dissemination of Flow Specification

1

BGP Flow Specification for Route Servers at IXPsNANOG 73 – 26th of June 2018Benedikt RudolphResearch & Development, DE-CIX

Page 2: BGP Flow Specification for Route Servers at IXPs · Cisco Systems B. Greene Juniper Networks J. Mauch NTT America D. McPherson Arbor Networks August 2009 Dissemination of Flow Specification

2

Motivation

Page 3: BGP Flow Specification for Route Servers at IXPs · Cisco Systems B. Greene Juniper Networks J. Mauch NTT America D. McPherson Arbor Networks August 2009 Dissemination of Flow Specification

3

Why BGP Flow Specification?

ÚExpose router packet-processing features in BGP• Actions based on n-tuple matching

ÚEasy to automate (like RTBH)• Leverage existing BGP control plane to distribute flow information

ÚLeverages BGP best-practices and policy controls• NEXT_HOP validation against unicast routing

malicious traffic analysis redirection ensure QoS

Page 4: BGP Flow Specification for Route Servers at IXPs · Cisco Systems B. Greene Juniper Networks J. Mauch NTT America D. McPherson Arbor Networks August 2009 Dissemination of Flow Specification

4

BGP Flow Specification (FlowSpec)ÚRFC 5575 for IPv4 [4], IPv6 (draft) [5]

ÚComplement routing information with traffic flow specification

• Take advantage of router ACL capabilities

ÚFlowSpec rules encoded as BGP NLRI (address family)• n-tuple of matching criteria (src/dst prefix, protocol, port, …)

ÚFlowSpec rules complement unicast routing (no interference)

ÚExtended communities to specify action: discard, limit, sample, redirect

ÚValidation: accept filter when advertised by next-hop for destination prefix

Page 5: BGP Flow Specification for Route Servers at IXPs · Cisco Systems B. Greene Juniper Networks J. Mauch NTT America D. McPherson Arbor Networks August 2009 Dissemination of Flow Specification

5

DDoS Mitigation TechniquesNetwork operators use several techniques to mitigate DDoS attacks:

static

dynamic

inter-domain“cooperative”

intra-domain

ACLs

BGP src/uRPF

RTBH

FlowSpec

Page 6: BGP Flow Specification for Route Servers at IXPs · Cisco Systems B. Greene Juniper Networks J. Mauch NTT America D. McPherson Arbor Networks August 2009 Dissemination of Flow Specification

6

DDoS Mitigation with FlowSpec at an IXP

datacenterNetwork

AS A AS B AS C

AS D

Discard traffic for 213.0.0.2/32 proto NTP IXProuteserver

Page 7: BGP Flow Specification for Route Servers at IXPs · Cisco Systems B. Greene Juniper Networks J. Mauch NTT America D. McPherson Arbor Networks August 2009 Dissemination of Flow Specification

7

BGP FlowSpec Performance

Network Working Group P. MarquesRequest for Comments: 5575 Cisco SystemsCategory: Standards Track N. Sheth Juniper Networks R. Raszuk Cisco Systems B. Greene Juniper Networks J. Mauch NTT America D. McPherson Arbor Networks August 2009

Dissemination of Flow Specification Rules

Abstract

This document defines a new Border Gateway Protocol Network Layer Reachability Information (BGP NLRI) encoding format that can be used to distribute traffic flow specifications. This allows the routing system to propagate information regarding more specific components of the traffic aggregate defined by an IP destination prefix.

Additionally, it defines two applications of that encoding format: one that can be used to automate inter-domain coordination of traffic filtering, such as what is required in order to mitigate (distributed) denial-of-service attacks, and a second application to provide traffic filtering in the context of a BGP/MPLS VPN service.

The information is carried via the BGP, thereby reusing protocol algorithms, operational experience, and administrative processes such as inter-provider peering agreements.

Status of This Memo

This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.

Marques, et al. Standards Track [Page 1]

ÚRFC warns about possible impacts to performance

ÚEncourages careful use of automation

Page 8: BGP Flow Specification for Route Servers at IXPs · Cisco Systems B. Greene Juniper Networks J. Mauch NTT America D. McPherson Arbor Networks August 2009 Dissemination of Flow Specification

8

Requirements AnalysisÚ What # of flowspec rules to expect per neighbor?

Ú Update frequency of flowspec rules?

Ú Use RTBH data as basis for flowspec test scenario

• RTBH usage: automated or manual? – hint for kind of use

Page 9: BGP Flow Specification for Route Servers at IXPs · Cisco Systems B. Greene Juniper Networks J. Mauch NTT America D. McPherson Arbor Networks August 2009 Dissemination of Flow Specification

9

Blackholing Usage – Active AnnouncementsÚAbout 23,000 announcements

collected in three months time

ÚStable number of active /32 blackholes (~1200)

ÚAlso, stable number of less specifics /31 - /18 (~50)

ÚResults confirmed by 2017 data• ~1750 blackholes (95 %entile)

source: [1] and NANOG 67

Page 10: BGP Flow Specification for Route Servers at IXPs · Cisco Systems B. Greene Juniper Networks J. Mauch NTT America D. McPherson Arbor Networks August 2009 Dissemination of Flow Specification

10

Blackholing Usage – PrefixesÚ Mainly /32 announcements (97%)

• Majority are short-lived(~50% <= 3 hours)

Ú Confirmed by 2017 data• /32s at 98%

• 95 percent of ASNs have <5 prefixes

• At max 421 prefixes per ASN

source: [1] and NANOG 67

Page 11: BGP Flow Specification for Route Servers at IXPs · Cisco Systems B. Greene Juniper Networks J. Mauch NTT America D. McPherson Arbor Networks August 2009 Dissemination of Flow Specification

11

RTBH Activity Clustering (Route Server)

~70%: High amount of prefixes orhigh prefix activity.

à High degree of automation?

~30%: Low amount of prefixesand low prefix activity.

à Low degree of automation?

# Prefixes

# Reannouncements

Mean Lifetime

Mean time active

ASN

Page 12: BGP Flow Specification for Route Servers at IXPs · Cisco Systems B. Greene Juniper Networks J. Mauch NTT America D. McPherson Arbor Networks August 2009 Dissemination of Flow Specification

12

FlowSpec Capability “in the wild” (1)Steps for successful BGP FlowSpec deployment:

1. Vendor / firmware support (multiprotocol BGP + FlowSpec capability)

2. Administrative policy (needs to be enabled)

3. Negotiation during BGP protocol handshake

Ú Analyze BGP OPEN MessagesOptional Parameter: Capability

Parameter Type: Capability (2)Parameter Length: 6Capability: Multiprotocol extensions capability

Type: Multiprotocol extensions capability (1)Length: 4AFI: IPv4 (1)Reserved: 00SAFI: Flow Spec Filter (133)

Page 13: BGP Flow Specification for Route Servers at IXPs · Cisco Systems B. Greene Juniper Networks J. Mauch NTT America D. McPherson Arbor Networks August 2009 Dissemination of Flow Specification

13

Flowspec Capability “In the wild” (2)ÚResults:

• NYC-based router with 81 BGP sessions => 0• DE-CIX’s FRA route servers connected to 964 peers => 0

ÚEven if flowspec is supported it is not enabled “by accident”

• Careful use (if used at all)

Ú No test data

Ú Need to generate test data

Page 14: BGP Flow Specification for Route Servers at IXPs · Cisco Systems B. Greene Juniper Networks J. Mauch NTT America D. McPherson Arbor Networks August 2009 Dissemination of Flow Specification

14

BIRD for BGP Route ServersÚ BIRD v2.0.x is a refactoring with new features:

• Multiprotocol BGP (IPv4 and IPv6 integration)

• FlowSpec support (among others)

Ú Expressive filter-language e.g. for route validation

Ú Limitations for flow4/6 routes:

• No access to flow-fields (e.g. src, dst)

• Common BGP fields accessible

Ú Basic reflection of FlowSpec routes

flow4 { dst 255.255.255.255/32; src 172.31.193.242/32; }Type: BGP univBGP.origin: IGPBGP.as_path: 553BGP.local_pref: 100BGP.ext_community: (generic, 0x80060000, 0x477fff00)

Page 15: BGP Flow Specification for Route Servers at IXPs · Cisco Systems B. Greene Juniper Networks J. Mauch NTT America D. McPherson Arbor Networks August 2009 Dissemination of Flow Specification

15

Test Setup for Peering LAN

ÚPeers: emulated with ExaBGP (version 3.4.26)• Non-filtered / filtered routes (to exercise prefix filters)

• 742 neighbors, ~316.000 routes for ~182.000 networks

• dedicated server

Lab-Route Server

Page 16: BGP Flow Specification for Route Servers at IXPs · Cisco Systems B. Greene Juniper Networks J. Mauch NTT America D. McPherson Arbor Networks August 2009 Dissemination of Flow Specification

16

Scenario “Route Server Reboot”

Start BIRD Idle Memory

Start ExaBGPs(neighbors)

BGP convergence idle

Memory(converged)

CLI commands

Page 17: BGP Flow Specification for Route Servers at IXPs · Cisco Systems B. Greene Juniper Networks J. Mauch NTT America D. McPherson Arbor Networks August 2009 Dissemination of Flow Specification

17

Scenario “Route Server Reboot”

Ú Convergence: 1736 s

Ú 1 neighbor delayed

Ú spiky CPU pattern(at times)

Ú 347 MiB initial mem

Ú21,04 GiB max. mem

ÚBIRD v2.0.2 “flowspec”

Page 18: BGP Flow Specification for Route Servers at IXPs · Cisco Systems B. Greene Juniper Networks J. Mauch NTT America D. McPherson Arbor Networks August 2009 Dissemination of Flow Specification

18

Scenario “Route Server Reboot”

Ú Convergence: 1698 s

Ú 301 MiB initial mem

Ú 21 GiB max. mem

ÚBIRD v1.6.4 “stable”

Page 19: BGP Flow Specification for Route Servers at IXPs · Cisco Systems B. Greene Juniper Networks J. Mauch NTT America D. McPherson Arbor Networks August 2009 Dissemination of Flow Specification

19

Scenario “Route Server Reboot”

Ú Convergence: 1832 s

Ú 1 neighbor delayed

Ú spiky CPU pattern

(at times)

Ú 347 MiB initial mem

Ú21,04 GiB max. mem

ÚBIRD v2.0.2 “no flowspec”

Page 20: BGP Flow Specification for Route Servers at IXPs · Cisco Systems B. Greene Juniper Networks J. Mauch NTT America D. McPherson Arbor Networks August 2009 Dissemination of Flow Specification

20

Scenario “Route Server reboot” SummaryÚ + 44 MB idle memory

compared to BIRD 1

Ú a little bit slower

Ú What is the effect of adding flowspec to the existing setup?

BIRD memory usage idle convergent

Routing tables: 1743 kB 20 GB

Route attributes: 78 kB 91 MB

Protocols: 3514 kB 10 MB

Total: 345 MB 21 GB

ÚBIRD v2.0.2 “no flowspec”

$ birdc show memory

Page 21: BGP Flow Specification for Route Servers at IXPs · Cisco Systems B. Greene Juniper Networks J. Mauch NTT America D. McPherson Arbor Networks August 2009 Dissemination of Flow Specification

21

Scenario “Route Server reboot” SummaryÚ more mem for routing tables

Ú more mem for protocols

ÚLittle more memory in total

ÚHow does it interact with neighbors?

ÚBIRD v2.0.2 “flowspec”

$ birdc show memory

BIRD memory usage idle convergent

Routing tables: 1743 kB 20 GB

Route attributes: 78 kB 91 MB

Protocols: 3514 kB 10 MB

Total: 345 MB 21 GB

+ 3 MB

+5409 kB

Page 22: BGP Flow Specification for Route Servers at IXPs · Cisco Systems B. Greene Juniper Networks J. Mauch NTT America D. McPherson Arbor Networks August 2009 Dissemination of Flow Specification

22

Scenario “FlowSpec single update”Ú Distribution of one FlowSpec (IPv4) rule to 742 neighbors

Ú Method: capture traffic at the route server

Ú Announce: 19 ms (incl. processing)

• Propagation to all neighbors: 17,4 ms

• Total time: 36,4 ms

ÚWithdraw: 1,1 ms (incl. processing)

• Propagation to all neighbors: 14,3 ms

• Total time: 15,4 ms

Page 23: BGP Flow Specification for Route Servers at IXPs · Cisco Systems B. Greene Juniper Networks J. Mauch NTT America D. McPherson Arbor Networks August 2009 Dissemination of Flow Specification

23

Scenario “FlowSpec bulk-update” – IÚ Announce

2288 IPv4 rules to 741 neighbors

Ú 2288 rules: extrapolated growth

Ú Method: observe BIRD processÚ Initial announcement: 1469 s

Ú Bottleneck: exabgpcli + bash

Ú Memory: no change

Page 24: BGP Flow Specification for Route Servers at IXPs · Cisco Systems B. Greene Juniper Networks J. Mauch NTT America D. McPherson Arbor Networks August 2009 Dissemination of Flow Specification

24

Scenario “FlowSpec bulk-update” – IIÚWithdraw

2288 IPv4 rules to 741 neighbors

Ú Method: observe BIRD process

ÚWithdraw: 34 s$ birdc disable protocol <proto_ID>

Ú BIRD process at 100% CPU

Ú Memory: no change

Page 25: BGP Flow Specification for Route Servers at IXPs · Cisco Systems B. Greene Juniper Networks J. Mauch NTT America D. McPherson Arbor Networks August 2009 Dissemination of Flow Specification

25

Scenario “FlowSpec bulk-update” – IIIÚ Re-Announce

2288 IPv4 rules to 741 neighbors

Ú Method: observe BIRD process

Ú Re-Announce: 6 sÚ BIRD process at 100% CPU

Ú Fast (RIB to RIB transfer)

Ú Memory increase 8444 kB

Page 26: BGP Flow Specification for Route Servers at IXPs · Cisco Systems B. Greene Juniper Networks J. Mauch NTT America D. McPherson Arbor Networks August 2009 Dissemination of Flow Specification

26

ConclusionsÚ BIRD v2 and FlowSpec seem ready for deployment at IXPs

Ú Tests in worst-case conditions => 100% FlowSpec adoption unrealistic

Ú Scalability looks good

Ú Lots of interesting applications possible

Page 27: BGP Flow Specification for Route Servers at IXPs · Cisco Systems B. Greene Juniper Networks J. Mauch NTT America D. McPherson Arbor Networks August 2009 Dissemination of Flow Specification

27

SourcesÚ[1] Christoph Dietzel, Anja Feldmann, Thomas King: Blackholing at IXPs: On the

Effectiveness of DDoS Mitigation in the Wild; In: Thomas Karagiannis, Xenofontas

Dimitropoulos: Passive and Active Measurement, 17th International Conference, PAM 2016,

Heraklion, Greece, March 31 - April 1, 2016. Proceedings

Ú[2] The BIRD Internet Routing Daemon, by CZ.NIC http://bird.network.cz

Ú[3] ExaBGP, by Thomas-Mangin https://github.com/Exa-Networks/exabgp

Ú[4] RFC5575, Dissemination of Flow Specification Rules,

https://www.rfc-editor.org/rfc/rfc5575.txt

Ú[5] Dissemination of Flow Specification Rules for IPv6 (Internet-Draft)

https://www.ietf.org/archive/id/draft-ietf-idr-flow-spec-v6-09.txt

Page 28: BGP Flow Specification for Route Servers at IXPs · Cisco Systems B. Greene Juniper Networks J. Mauch NTT America D. McPherson Arbor Networks August 2009 Dissemination of Flow Specification

Comments? Questions?

DE-CIX Management GmbH | Lindleystr. 12 | 60314 Frankfurt | GermanyPhone +49 69 1730 902 0 | [email protected] | www.de-cix.net