L11 : Inter-domain Routing with BGP Lecture14 Michaelmas, 2016

Similar documents
Internet Routing Protocols Lecture 03 Inter-domain Routing

TELE 301 Network Management

Internet Routing Protocols Lecture 01 & 02

BGP. Autonomous system (AS) BGP version 4

Routing part 2. Electrical and Information Technology

BGP. Autonomous system (AS) BGP version 4

BGP. Autonomous system (AS) BGP version 4

BGP. Autonomous system (AS) BGP version 4. Definition (AS Autonomous System)

Routing. Jens A Andersson Communication Systems

Routing Unicast routing protocols

Internet Protocols Fall Lectures Inter-domain routing, mobility support, multicast routing Andreas Terzis

BGP. Autonomous system (AS) BGP version 4. Definition (AS Autonomous System)

Border Gateway Protocol (an introduction) Karst Koymans. Monday, March 10, 2014

PART III. Implementing Inter-Network Relationships with BGP

BGP. Border Gateway Protocol (an introduction) Karst Koymans. Informatics Institute University of Amsterdam. (version 17.3, 2017/12/04 13:20:08)

BGP Attributes and Path Selection

Advanced Computer Networks

BGP. Autonomous system (AS) BGP version 4. Definition (AS Autonomous System)

BGP. Border Gateway Protocol A short introduction. Karst Koymans. Informatics Institute University of Amsterdam. (version 18.3, 2018/12/03 13:53:22)

LACNIC XIII. Using BGP for Traffic Engineering in an ISP

BGP. Attributes 2005/03/11. (C) Herbert Haas

BGP Configuration. BGP Overview. Introduction to BGP. Formats of BGP Messages. Header

Lecture 18: Border Gateway Protocol

Lecture 16: Border Gateway Protocol

BGP Attributes (C) Herbert Haas 2005/03/11 1

Lecture 17: Border Gateway Protocol

BGP Attributes and Policy Control

CS 640: Introduction to Computer Networks. Intra-domain routing. Inter-domain Routing: Hierarchy. Aditya Akella

BGP Attributes and Policy Control

BGP. Autonomous system (AS) BGP version 4. Definition (AS Autonomous System)

BGP Attributes and Policy Control

Border Gateway Protocol (an introduction) Karst Koymans. Tuesday, March 8, 2016

Interdomain Routing Reading: Sections P&D 4.3.{3,4}

Service Provider Multihoming

Network Working Group Request for Comments: 1998 Category: Informational cisco Systems August 1996

Configuring BGP community 43 Configuring a BGP route reflector 44 Configuring a BGP confederation 44 Configuring BGP GR 45 Enabling Guard route

Exterior Gateway Protocols: EGP, BGP-4, CIDR

Interdomain Routing BGP. Benjamin Baron

BGP made easy. John van Oppen Spectrum Networks / AS11404

Service Provider Multihoming

Lecture 16: Interdomain Routing. CSE 123: Computer Networks Stefan Savage

BGP. BGP Overview. Formats of BGP Messages. I. Header

Connecting to a Service Provider Using External BGP

Configuration prerequisites 45 Configuring BGP community 45 Configuring a BGP route reflector 46 Configuring a BGP confederation 46 Configuring BGP

APNIC elearning: BGP Basics. 30 September :00 PM AEST Brisbane (UTC+10) Revision: 2.0

Protecting an EBGP peer when memory usage reaches level 2 threshold 66 Configuring a large-scale BGP network 67 Configuring BGP community 67

BGP Scaling (RR & Peer Group)

Table of Contents. BGP Configuration 1

LARGE SCALE IP ROUTING LECTURE BY SEBASTIAN GRAF

Introduction to IP Routing. Geoff Huston

Table of Contents 1 BGP Configuration 1-1

Towards a Logic for Wide-Area Internet Routing

Inter-Domain Routing: BGP

From the given configuration taken from RTA and graphic, which network will be filtered from being propagated to RTC from RTA?

CS4450. Computer Networks: Architecture and Protocols. Lecture 15 BGP. Spring 2018 Rachit Agarwal

ISP Border Definition. Alexander Azimov

BGP Policy Control. ISP Workshops. Last updated 17 May 2014

Module 8 Multihoming Strategies Lab

A Day in the Life of an Address. Bill Fenner AT&T Labs - Research IETF Routing Area Director

Multihoming Techniques. bdnog8 May 4 8, 2018 Jashore, Bangladesh.

Connecting to a Service Provider Using External BGP

Internet Interconnection Structure

Routing Between Autonomous Systems (Example: BGP4) RFC 1771

University of Belgrade - School of Electrical Engineering Department of Telecommunications

How BGP Routers Use the Multi Exit Discriminator for Best Path Selection

Introduction to BGP. BGP Basics BGP. Border Gateway Protocol. Path Vector Protocol. Path Vector Protocol INET 2000 NTW

Balancing incoming traffic over multiple links

BGP Protocol & Configuration. Scalable Infrastructure Workshop AfNOG2008

IPv4/IPv6 BGP Routing Workshop. Organized by:

BGP Tutorial. APRICOT 2003, Taipei February Philip Smith APRICOT , Cisco Systems, Inc. All rights reserved.

Introduction to BGP. ISP/IXP Workshops

CSCI-1680 Network Layer: Inter-domain Routing Rodrigo Fonseca

Interdomain Routing Reading: Sections K&R EE122: Intro to Communication Networks Fall 2007 (WF 4:00-5:30 in Cory 277)

CSCI-1680 Network Layer: Inter-domain Routing Rodrigo Fonseca

Inter-domain Routing. Outline. Border Gateway Protocol

BGP-v4 Theory and Practice

An overview of how packets are routed in the Internet

BGP Scaling Techniques

Service Provider Multihoming

BGP and the Internet

Advanced Multihoming. BGP Traffic Engineering

Shim6: Network Operator Concerns. Jason Schiller Senior Internet Network Engineer IP Core Infrastructure Engineering UUNET / MCI

CSCI-1680 Network Layer: Inter-domain Routing Rodrigo Fonseca

BGP Tutorial. APRICOT 2004, Kuala Lumpur February Philip Smith APRICOT , Cisco Systems, Inc. All rights reserved.

HP Load Balancing Module

Multihoming Complex Cases & Caveats

CS BGP v4. Fall 2014

Internet inter-as routing: BGP

Introduction to BGP. ISP Workshops. Last updated 30 October 2013

BGP and the Internet. Enterprise Multihoming. Enterprise Multihoming. Medium/Large ISP Multihoming. Enterprise Multihoming. Enterprise Multihoming

IBGP scaling: Route reflectors and confederations

Next Lecture: Interdomain Routing : Computer Networking. Outline. Routing Hierarchies BGP

Dynamics of Hot-Potato Routing in IP Networks

Operation Manual BGP. Table of Contents

Service Provider Multihoming

BGP Policy Control. ISP Workshops

Some Foundational Problems in Interdomain Routing

Lecture 13: Traffic Engineering

How does a router know where to send a packet next?

CS 268: Computer Networking. Next Lecture: Interdomain Routing

Transcription:

7//06 L : Inter-domain Routing with BGP Lecture4 Michaelmas, 06 Timothy G. Griffin Computer Lab Cambridge UK

7//06 How many ASNs today (7 November, 06)? http://bgp.potaroo.net/

7//06 How many prefixes today (7 November, 06)? http://bgp.potaroo.net/ AS Graph!= Internet Topology BGP was designed to throw away information! The AS graph may look like this. Reality may be closer to this ICNP 00 3

7//06 BGP Route Attributes Value Code Reference ----- --------------------------------- --------- ORIGIN [RFC77] AS_PATH [RFC77] 3 NEXT_HOP [RFC77] 4 MULTI_EXIT_DISC [RFC77] LOCAL_PREF [RFC77] 6 ATOMIC_AGGREGATE [RFC77] 7 AGGREGATOR [RFC77] 8 COMMUNITY [RFC997] 9 ORIGINATOR_ID [RFC796] 0 CLUSTER_LIST [RFC796] DPA [Chen] ADVERTISER [RFC863] 3 RCID_PATH / CLUSTER_ID [RFC863] 4 MP_REACH_NLRI [RFC83] MP_UNREACH_NLRI [RFC83] 6 EXTENDED COMMUNITIES [Rosen]... reserved for development From IANA: http://www.iana.org/assignments/bgp-parameters Most important attributes Not all attributes need to be present in every announcement How Can Routes be Classified? BGP Communities A community value is 3 bits By convention, first 6 bits is ASN indicating who is giving it an interpretation community number Used for signally within and between ASes Very powerful BECAUSE it has no (predefined) meaning Community Attribute = a list of community values. (So one route can belong to multiple communities) RFC 997 (August 996) Reserved communities no_export = 0xFFFFFF0: don t export out of AS no_advertise 0xFFFFFF0: don t pass to BGP neighbors 8 4

7//06 BGP Route Processing Open ended programming. Constrained only by vendor configuration language Receive BGP Updates Apply Policy = filter routes & tweak attributes Based on Attribute Values Best Routes Apply Policy = filter routes & tweak attributes Transmit BGP Updates Apply Import Policies Best Route Selection Best Route Table Apply Export Policies Install forwarding Entries for best Routes. IP Forwarding Table 9 Route Selection Summary (A lexicographic product) Highest Local Preference Enforce relationships Shortest ASPATH Lowest MED i-bgp < e-bgp Lowest IGP cost to BGP egress Lowest router ID traffic engineering Throw up hands and break ties

7//06 Traffic Engineering For inbound traffic Filter outbound routes Tweak attributes on outbound routes in the hope of influencing your neighbor s best route selection For outbound traffic Filter inbound routes Tweak attributes on inbound routes to influence best route selection inbound traffic outbound traffic outbound routes inbound routes In general, an AS has more control over outbound traffic Implementing Backup Links with Local Preference (Outbound Traffic) primary link backup link Set Local Pref = 00 for all routes from AS 6000 Set Local Pref = 0 for all routes from Forces outbound traffic to take primary link, unless link is down. We ll talk about inbound traffic soon 6

7//06 Multihomed Backups (Outbound Traffic) AS 3 primary link backup link Set Local Pref = 00 for all routes from Set Local Pref = 0 for all routes from AS 3 Forces outbound traffic to take primary link, unless link is down. 3 Shedding Inbound Traffic with ASPATH Padding. Yes, this is an ugly hack 9.0..0/4 ASPATH = 9.0..0/4 ASPATH = primary backup 9.0..0/4 Padding will (usually) force inbound traffic from to take primary link 4 7

7//06 But Padding Does Not Always Work AS 3 9.0..0/4 ASPATH = primary backup 9.0..0/4 9.0..0/4 ASPATH = AS 3 will send traffic on backup link because it prefers routes and local preference is considered before ASPATH length! Padding in this way is often used as a form of load balancing COMMUNITY Attribute to the Rescue! AS 3 AS 3: normal local pref is 00, peer local pref is 90 9.0..0/4 ASPATH = primary backup 9.0..0/4 9.0..0/4 ASPATH = COMMUNITY = 3:70 Customer import policy at AS 3: If 3:90 in COMMUNITY then set local preference to 90 If 3:80 in COMMUNITY then set local preference to 80 If 3:70 in COMMUNITY then set local preference to 70 6 8

7//06 Problem scenario with inter-domain routing in the Internet (BGP) BGP policies make sense locally Interaction of local policies allows multiple stable routings Some routings are consistent with intended policies, and some are not If an unintended routing is installed (BGP is wedged ), then manual intervention is needed to change to an intended routing When an unintended routing is installed, no single group of network operators has enough knowledge to debug the problem Simple Example peer peer primary link backup link implements backup link by sending a depref me community. implements this community so that the resulting local pref is below that of routes from it s upstream (AS 3 routes) 9

7//06 And the Routings are Intended Routing Note: this would be the ONLY routing if AS translated its depref me community to a depref me community of AS 3 Unintended Routing Note: This is easy to reach from the intended routing just by bouncing the BGP session on the primary link. Recovery Bring down - session Bring it back up! Requires manual intervention Can be done in or 0

7//06 What is going on? There is no guarantee that a BGP configuration has a unique routing solution. When multiple solutions exist, the (unpredictable) order of updates will determine which one is wins. There is no guarantee that a BGP configuration has any solution! And checking configurations NP-Complete Complex policies (weights, communities setting preferences, and so on) increase chances of routing anomalies. yet this is the current trend! Load Balancing Example peer peer AS 3 AS 4 primary link for prefix P backup link for prefix P primary link for prefix P backup link for prefix P Simple session reset my not work!!

7//06 Can t un-wedge with session resets! & down P wedged all up down down P wedged up up Reset BOTH P & P wedged INTENDED Note that when bringing all up we could actually land the system in any one of the 4 stable states --- depends on message order. all up Reset & down Recovery P wedged Temporarily filter P from session Temporarily filter P from session P wedged up up INTENDED down down Who among us could figure this one out? When is in New York and is in Tokyo?

7//06 Advanced Example peer peer peer peer backup links primary link implements backup links by sending and AS 3 a depref me communities. implements its community so that the resulting local pref is below that of its upstream s and it s peers (AS 3 and routes) implements its community so that the resulting local pref is below its peers () but above that of its s (AS 3) And the Routings are Intended Routing Unintended Routing 3

7//06 Resetting does not help!! Bring down - session Bring up - session Recovery Bring down - session AND - session Bring up - session AND - session A lot of non-local knowledge is required to arrive at this recovery strategy! Try to convince and that their session has be reset (or filtered) even though it is not associated with an active route! 4

7//06 That Can t happen in MY network!! NA EMEA AP LA AU++ An normal global global backbone (ISP or Corporate Intranet) implemented with regional ASes Does this look familiar? NA AP EMEA LA Intended Routing for some prefixes in AU, implemented with communities. AU Same problems can arise with traffic engineering across regional networks.