bgp developments - trex - trex regional · pdf filebgp developments timo liuska senior systems...

30
1 Copyright © 2015 Juniper Networks, Inc. www.juniper.net Copyright © 2013 Juniper Networks, Inc. BGP Developments Timo Liuska < [email protected] > Senior Systems Engineer June 9 th 2016

Upload: dokien

Post on 18-Mar-2018

217 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: BGP Developments - TREX - TREX Regional · PDF fileBGP Developments Timo Liuska Senior Systems Engineer ... § Increasing use of BGP as a transport for data less associated with packet

1 Copyright © 2015 Juniper Networks, Inc. www.juniper.net

Copyright © 2013 Juniper Networks, Inc.

BGP DevelopmentsTimo Liuska <[email protected]>

Senior Systems Engineer

June 9th 2016

Page 2: BGP Developments - TREX - TREX Regional · PDF fileBGP Developments Timo Liuska Senior Systems Engineer ... § Increasing use of BGP as a transport for data less associated with packet

2 Copyright © 2015 Juniper Networks, Inc. www.juniper.net

This statement of direction sets forth Juniper Networks’ current intention and is subject to change at any time

without notice. No purchases are contingent upon Juniper Networks delivering any feature or functionality depicted in

this presentation.

This presentation contains proprietary roadmap information and should not be discussed or shared without

a signed non-disclosure agreement (NDA).

Page 3: BGP Developments - TREX - TREX Regional · PDF fileBGP Developments Timo Liuska Senior Systems Engineer ... § Increasing use of BGP as a transport for data less associated with packet

3 Copyright © 2015 Juniper Networks, Inc. www.juniper.net

AGENDA

§ Introduction§ BGP Focus Areas§ BGP Protocol Blocks§ BGP-ORR§ BGP-LS§ BGP Flow Spec

Page 4: BGP Developments - TREX - TREX Regional · PDF fileBGP Developments Timo Liuska Senior Systems Engineer ... § Increasing use of BGP as a transport for data less associated with packet

4 Copyright © 2015 Juniper Networks, Inc. www.juniper.net

Copyright © 2013 Juniper Networks, Inc.

Introduction

Page 5: BGP Developments - TREX - TREX Regional · PDF fileBGP Developments Timo Liuska Senior Systems Engineer ... § Increasing use of BGP as a transport for data less associated with packet

5 Copyright © 2015 Juniper Networks, Inc. www.juniper.net

GROWTH OF BGP TABLE FROM 1994 TO PRESENTSource: bgp.potaroo.net

Page 6: BGP Developments - TREX - TREX Regional · PDF fileBGP Developments Timo Liuska Senior Systems Engineer ... § Increasing use of BGP as a transport for data less associated with packet

6 Copyright © 2015 Juniper Networks, Inc. www.juniper.net

INTRODUCTION§ BGP has evolved from infrastructure to basic connectivity to

underlay for advanced service

§ Proven protocol since 1989 facilitating Inter domain routing

§ Gradually services on the Internet are moving to BGP§ BGP Multicast VPNs§ BGP VPLS§ BGP Flow specifications

§ BGP being in Data Center§ BGP-LU based EPE solution§ BGP based SPRING solution§ BGP-LS and BMP for monitoring BGP

Page 7: BGP Developments - TREX - TREX Regional · PDF fileBGP Developments Timo Liuska Senior Systems Engineer ... § Increasing use of BGP as a transport for data less associated with packet

7 Copyright © 2015 Juniper Networks, Inc. www.juniper.net

Copyright © 2013 Juniper Networks, Inc.

BGP Focus Areas

Page 8: BGP Developments - TREX - TREX Regional · PDF fileBGP Developments Timo Liuska Senior Systems Engineer ... § Increasing use of BGP as a transport for data less associated with packet

8 Copyright © 2015 Juniper Networks, Inc. www.juniper.net

FOCUS AREAS

§ BGP Protocol blocks§ Features to keep the protocol evolving to meet market needs

§ BGP based Services§ BMP, BGP Flow Spec, BGP-LS§ L3VPN services and associated features

§ BGP S&P Initiative§ Target performance at scale for vRR & PE router§ Optimize BGP performance for express control plane

§ Domain Specific BGP§ BGP in Data center using BGP-LU based EPE solution§ BGP-LU based solution for SPRING in Data Center

§ Programmable BGP (Concept stage)

Page 9: BGP Developments - TREX - TREX Regional · PDF fileBGP Developments Timo Liuska Senior Systems Engineer ... § Increasing use of BGP as a transport for data less associated with packet

9 Copyright © 2015 Juniper Networks, Inc. www.juniper.net

Copyright © 2013 Juniper Networks, Inc.

BGP Protocol Blocks

Page 10: BGP Developments - TREX - TREX Regional · PDF fileBGP Developments Timo Liuska Senior Systems Engineer ... § Increasing use of BGP as a transport for data less associated with packet

10 Copyright © 2015 Juniper Networks, Inc. www.juniper.net

PROTOCOL BLOCKS

§Support for long lived GR (BGP LLGR)§ http://tools.ietf.org/html/draft-uttaro-idr-bgp-persistence-03

§Enhanced BMP capabilities§ http://tools.ietf.org/html/draft-ietf-grow-bmp-07

§BGP Precision Timer § Support for short hold interval timer in BGP keep alives§ Benefits minimizing NSR dark window during switch over

§BGP 4 bytes AS support

Page 11: BGP Developments - TREX - TREX Regional · PDF fileBGP Developments Timo Liuska Senior Systems Engineer ... § Increasing use of BGP as a transport for data less associated with packet

11 Copyright © 2015 Juniper Networks, Inc. www.juniper.net

BGP LL GR§ BGP protocol originally designed with focus on correctness

§ Increasing use of BGP as a transport for data less associated with packet forwarding

§ MPLS tunnels in forwarding reduce the risk of loops

§ Persistence complementary to GRES for longer duration failure

§ Capability negotiation to exclude routers without capability

§ Static environments using BGP as transport§ BGP used for auto discovery in case of VPLS§ Filter programming in case of BGP flow spec§ Support for RTC

§ Retain FIB entries with RIB is gone across reboot§ AFI/SAFIs that do not depend on exchanging BGP state§ Introduces 3 communities to determine path persistence

Page 12: BGP Developments - TREX - TREX Regional · PDF fileBGP Developments Timo Liuska Senior Systems Engineer ... § Increasing use of BGP as a transport for data less associated with packet

12 Copyright © 2015 Juniper Networks, Inc. www.juniper.net

BMP: WHAT IS IT?

§ Monitoring station to get a dump of routes received from peers § Provide views for research purposes§ BGP masks implicitly withdraws advertisements

§ Add path in principle can provide information on all paths§ Cost in memory to retain all the routes to a prefix for monitoring§ Withdraws routes not providing indication of peer down notification

§ Provides BGP update messages wrapped in BMP header§ Timestamp: when route or route withdrawal was received§ Peer identity: address BGP identifier, RD

§ Provides timestamps and operational data beyond routing

Page 13: BGP Developments - TREX - TREX Regional · PDF fileBGP Developments Timo Liuska Senior Systems Engineer ... § Increasing use of BGP as a transport for data less associated with packet

13 Copyright © 2015 Juniper Networks, Inc. www.juniper.net

BMP: BENEFITS

§ BMP protocol provides:§ Access to the Adj-RIB-In § Dump of statistics that can be used by monitoring station§ Initiation, Peer Down, Peer Up, Route Monitoring and Stats Reports

§ Monitoring session does not send message to monitored router

§ Monitoring session is tuned to receive messages

§ Following the initial dump RM messages are incremental updates

§ BMP messages will converge to the correct set of routes

Page 14: BGP Developments - TREX - TREX Regional · PDF fileBGP Developments Timo Liuska Senior Systems Engineer ... § Increasing use of BGP as a transport for data less associated with packet

14 Copyright © 2015 Juniper Networks, Inc. www.juniper.net

BGP Precision Timer

Old master

Switchover Kernel socket merge complete

Kernel socket merge RPD socket merge

PFE reconnect

Blackout Window 1 Blackout Window 2

PFE disconnect

Keep Alives

Keep Alives

New master

Reduce blackout window1 across NSR

Page 15: BGP Developments - TREX - TREX Regional · PDF fileBGP Developments Timo Liuska Senior Systems Engineer ... § Increasing use of BGP as a transport for data less associated with packet

15 Copyright © 2015 Juniper Networks, Inc. www.juniper.net

Copyright © 2013 Juniper Networks, Inc.

BGP-ORR

Page 16: BGP Developments - TREX - TREX Regional · PDF fileBGP Developments Timo Liuska Senior Systems Engineer ... § Increasing use of BGP as a transport for data less associated with packet

16 Copyright © 2015 Juniper Networks, Inc. www.juniper.net

WHAT IS ORR?

§ ORR stands for Optimal Route Reflection

§ A route reflector (RR) might receive the same prefix from many egress PEs

§ Currently RR chooses the best path from its own perspective (usually the active route) and advertise it to all clients

§ ORR wants RR to choose the best path from its client’s perspective to advertise to its client

§ https://tools.ietf.org/html/draft-ietf-idr-bgp-optimal-route-reflection-08

Page 17: BGP Developments - TREX - TREX Regional · PDF fileBGP Developments Timo Liuska Senior Systems Engineer ... § Increasing use of BGP as a transport for data less associated with packet

17 Copyright © 2015 Juniper Networks, Inc. www.juniper.net

WHY DO WE NEED ORR?

RR

PE1 PE2 PE3

metric: 10

metric: 20metric: 10

metric: 20

7.7.7.7: active => PE3inactive => PE2

7.7.7.7 => PE2

7.7.7.7 => PE3

7.7.7.7 => PE3

§ Without ORR, PE1 will use PE3 as egress PE which is more costly than PE2

§ With ORR, RR will reflect the path from PE2 to PE1

Page 18: BGP Developments - TREX - TREX Regional · PDF fileBGP Developments Timo Liuska Senior Systems Engineer ... § Increasing use of BGP as a transport for data less associated with packet

18 Copyright © 2015 Juniper Networks, Inc. www.juniper.net

ORR REQUEST: CURRENT NETWORK

PE1

PE2

PEn

RR1

POP1

PE1

PE2

PEn

RR1

POP2

RR6

POP6

RR4

POP4

RR5

POP5

RR3

POP3

RR7

POP7

§ There are around 80 RRs, one sitting in each POP

Page 19: BGP Developments - TREX - TREX Regional · PDF fileBGP Developments Timo Liuska Senior Systems Engineer ... § Increasing use of BGP as a transport for data less associated with packet

19 Copyright © 2015 Juniper Networks, Inc. www.juniper.net

ORR REQUEST: NEW NETWORK

POP1

POP2

POP3

POP4

RR1

POP Group 1

§ Multiple POPs are grouped into a POP group and share a single RR (now RR might be geographically far away from some of its clients)

§ Initial consolidation ration is 1:4

POP5

POP6

POP7

POP8

RR2

POP9

POP10

POP11

POP12

RR3 POP13

POP14

POP15

POP16

RR4

POP Group 2

POP Group 3 POP Group 4

Page 20: BGP Developments - TREX - TREX Regional · PDF fileBGP Developments Timo Liuska Senior Systems Engineer ... § Increasing use of BGP as a transport for data less associated with packet

20 Copyright © 2015 Juniper Networks, Inc. www.juniper.net

Copyright © 2013 Juniper Networks, Inc.

BGP-LS

Page 21: BGP Developments - TREX - TREX Regional · PDF fileBGP Developments Timo Liuska Senior Systems Engineer ... § Increasing use of BGP as a transport for data less associated with packet

21 Copyright © 2015 Juniper Networks, Inc. www.juniper.net

HISTORICAL INSIGHT

rpdPer Protocol: FSM, Encoder, Decoder, DB, route- resolution, IPC

ALTO ServerIPC: FSM, Decoder, DB Session

IPC

BGP Peers

IGP Adjacencies

P2P Clients

DBDB

External Applications need to access rpd internal data• BGP Internet (SAFI 1) prefixes• IGP Topology data

Need to define an API (Session and IPC)• PUSH or PULL model ?• IPC format ?• Would it make sense to “standardize” this API ?

Page 22: BGP Developments - TREX - TREX Regional · PDF fileBGP Developments Timo Liuska Senior Systems Engineer ... § Increasing use of BGP as a transport for data less associated with packet

22 Copyright © 2015 Juniper Networks, Inc. www.juniper.net

BGP-LS MOTIVATION

§ Look across the “fence”§ “Fence” being IGP area/level or AS

boundary

§ Gain visibility for application(s) which need complete topology data§ ALTO§ CDNI§ Inter-{Area, AS} TE

§ Unified API, no IGP stack

Page 23: BGP Developments - TREX - TREX Regional · PDF fileBGP Developments Timo Liuska Senior Systems Engineer ... § Increasing use of BGP as a transport for data less associated with packet

23 Copyright © 2015 Juniper Networks, Inc. www.juniper.net

AltoServer

BGPSpeaker

BGPSpeakerBGP

Speaker

IGPRouter AS1

Prefix 1, 2, 3, …Prefix 11, 12, 13, …

Prefix 21, 22, 23, …

BGPSpeaker

Prefix 31, 32, 33, …

AltoClient

AltoClient

AltoClient

HTTP IGP Peering

IGPRouter

IGPRouter

IGPRouter

IGPRouter

IGPRouter Level 2

Backbone Area

Level 1Non-Backbone Area

Level 1Non-Backbone Area

Level 1Non-Backbone Area

Level 1Non-Backbone Area

IGPRouter

Use case - Multi-area IGP topology

•ALTO server needs to know all areas topology•Manually crafting of “IGP peering” topology is tedious and error prone

Page 24: BGP Developments - TREX - TREX Regional · PDF fileBGP Developments Timo Liuska Senior Systems Engineer ... § Increasing use of BGP as a transport for data less associated with packet

24 Copyright © 2015 Juniper Networks, Inc. www.juniper.net

USE CASE – INTER-REGION TRAFFIC ENGINEERING

Area 0Area 51

R2 ABR2

S

R1 ABR1

Main LSP

Bypass LSP

Area 47

R6

D

R4

R3 ABR3

ABR4

R5

SRLG 666

SRLG 666

• RSVP Loose hop expansion has practical deployment limits• Vanilla RSVP has no crank-back in case it “sees” new information that it did

not see at previous hops. (and RFC4920 has a lot of caveats)

Page 25: BGP Developments - TREX - TREX Regional · PDF fileBGP Developments Timo Liuska Senior Systems Engineer ... § Increasing use of BGP as a transport for data less associated with packet

25 Copyright © 2015 Juniper Networks, Inc. www.juniper.net

Copyright © 2013 Juniper Networks, Inc.

BGP-Flow Spec

Page 26: BGP Developments - TREX - TREX Regional · PDF fileBGP Developments Timo Liuska Senior Systems Engineer ... § Increasing use of BGP as a transport for data less associated with packet

26 Copyright © 2015 Juniper Networks, Inc. www.juniper.net

“FLOW”-BASED BGP NLRI

§ Specific information about a flow can now be distributed using this BGP NLRI:§ AFI/SAFI = 1/133: Unicast Traffic Filtering Applications § AFI/SAFI = 1/134: VPN Traffic Filtering Applications

§ Route “prefix” contains <destination, source, ports>§ E.g. 10.0.1/24,*,proto=6 (TCP),port=80

§ Flow routes are kept in a separate routing table “inetflow.0”

§ The contents of this table are applied as a ingress forwarding-table filter on JUNOS routers

§ Flow routes are automatically validated against unicast routing information or via routing policy framework.

Page 27: BGP Developments - TREX - TREX Regional · PDF fileBGP Developments Timo Liuska Senior Systems Engineer ... § Increasing use of BGP as a transport for data less associated with packet

27 Copyright © 2015 Juniper Networks, Inc. www.juniper.net

WHAT IS IN THE BGP FLOW SPEC NLRI?§A Flow Specification NLRI is defined which may include several components in order to identify particular flows

§ The NLRI field of the MP_REACH_NLRI and MP_UNREACH_NLRI is encoded as a 1 or 2 octet NLRI length field followed by avariablelengthNLRIvalue.

§ TheNLRIlengthisexpressedinoctets+------------------------------+ | length (0xnn or 0xfn nn) |

+------------------------------+ | NLRI value (variable) |

+------------------------------+

Type 1 - Destination Prefix

Type 2 - Source Prefix

Type 3 - IP Protocol

Type 4 – Source or Destination Port

Type 5 – Destination Port

Type 6 - Source Port

Type 7 – ICMP Type

Type 8 – ICMP Code

Type 9 - TCP flags

Type 10 - Packet length

Type 11 – DSCP

Type 12 - Fragment Encoding

Page 28: BGP Developments - TREX - TREX Regional · PDF fileBGP Developments Timo Liuska Senior Systems Engineer ... § Increasing use of BGP as a transport for data less associated with packet

28 Copyright © 2015 Juniper Networks, Inc. www.juniper.net

FLOW SPEC: JUNOS§ Junos supports flow spec for IPv4 and VPNv4

§ Flow route installed in flow route table Instance-name.inetflow.0

§ Criteria for validating route with unicast routing table

§ No-validate to bypass and introduce of operator specific policy

§ Once route is added into the inetflow– Installed to list of firewall filters in a kernel– VPN capability to install flow routes

§ Provides framework for§ match criteria defined on n-tuple match§ Action criteria defined in RFC 5575 with extensibility built in

Page 29: BGP Developments - TREX - TREX Regional · PDF fileBGP Developments Timo Liuska Senior Systems Engineer ... § Increasing use of BGP as a transport for data less associated with packet

29 Copyright © 2015 Juniper Networks, Inc. www.juniper.net

HOW DOES BGP FLOW SPEC HELP?

§ Flow spec addresses the limitations of existing solutions byallowing the “flow”-based NLRI to convey additionalinformation about traffic filtering rules for traffic that shouldbe discarded

§ Since a new address family is defined, filtering information isnow separated from the routing information (and in fact thisinformation is kept in a separate RIB: instance-name.inetflow.0)

§ Provides a tool for Network Operators to quickly react toDDOS attacks, saving valuable time between identification ofattack and implementation

Page 30: BGP Developments - TREX - TREX Regional · PDF fileBGP Developments Timo Liuska Senior Systems Engineer ... § Increasing use of BGP as a transport for data less associated with packet

30 Copyright © 2015 Juniper Networks, Inc. www.juniper.net

Copyright © 2013 Juniper Networks, Inc.

THANK YOU