The Case for Separating Routing from Routers

Similar documents
Some Foundational Problems in Interdomain Routing

Lecture 4: Intradomain Routing. CS 598: Advanced Internetworking Matthew Caesar February 1, 2011

Practical Verification Techniques for Wide-Area Routing

Towards a Logic for Wide-Area Internet Routing

Dynamics of Hot-Potato Routing in IP Networks

Inter-Domain Routing: BGP

Inter-Domain Routing: BGP II

TELE 301 Network Management

CS 43: Computer Networks. 24: Internet Routing November 19, 2018

CS 43: Computer Networks Internet Routing. Kevin Webb Swarthmore College November 16, 2017

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

Introduction. Keith Barker, CCIE #6783. YouTube - Keith6783.

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

CS519: Computer Networks. Lecture 4, Part 5: Mar 1, 2004 Internet Routing:

Lecture 16: Border Gateway Protocol

Verifying Wide-Area Routing Configuration

Internet Routing Protocols Lecture 01 & 02

BGP Scaling (RR & Peer Group)

Lecture 18: Border Gateway Protocol

Lecture 17: Border Gateway Protocol

BGP made easy. John van Oppen Spectrum Networks / AS11404

CS Networks and Distributed Systems. Lecture 8: Inter Domain Routing

Network-Wide Prediction of BGP Routes

This appendix contains supplementary Border Gateway Protocol (BGP) information and covers the following topics:

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

Some Foundational Problems in Interdomain Routing

COMP/ELEC 429 Introduction to Computer Networks

COMP211 Chapter 5 Network Layer: The Control Plane

CS4700/CS5700 Fundamentals of Computer Networks

BGP Routing and BGP Policy. BGP Routing. Agenda. BGP Routing Information Base. L47 - BGP Routing. L47 - BGP Routing

Finding a Needle in a Haystack: Pinpointing Significant BGP Routing Changes in an IP Network

Routing on the Internet. Routing on the Internet. Hierarchical Routing. Computer Networks. Lecture 17: Inter-domain Routing and BGP

Border Gateway Protocol - BGP

Advanced Multihoming. BGP Traffic Engineering

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

Introduction to BGP ISP/IXP Workshops

TO CONTROL the flow of traffic through their networks,

BGP Routing inside an AS

CS 268: Computer Networking. Next Lecture: Interdomain Routing

Inter-Autonomous-System Routing: Border Gateway Protocol

Impact Analysis in MPLS Networks

Configuring BGP. Cisco s BGP Implementation

Making an AS Act Like a Single Node: Toward Intrinsically Correct Interdomain Routing

Service Provider Multihoming

Configuring Internal BGP Features

LOUP: The Principles and Practice of Intra-Domain Route Dissemination. Nikola Gvozdiev, Brad Karp, Mark Handley

Service Provider Multihoming

MPLS VPN Inter-AS with ASBRs Exchanging VPN-IPv4 Addresses

Inter-Domain Routing: BGP II

BGP for Internet Service Providers

Border Gateway Protocol

Inter-Autonomous-System Routing: Border Gateway Protocol

CS 43: Computer Networks Internet Routing. Kevin Webb Swarthmore College November 14, 2013

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

BGP Scaling Techniques

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

Flexible Forwarding. Tim Sally.

6.829 BGP Recitation. Rob Beverly September 29, Addressing and Assignment

BGP Protocol & Configuration. Scalable Infrastructure Workshop AfNOG2008

BGP route filtering and advanced features

BGP Commands. Network Protocols Command Reference, Part 1 P1R-355

BGP Attributes and Path Selection

BGP. Autonomous system (AS) BGP version 4

Guidelines for Interdomain Traffic Engineering

BGP Attributes and Policy Control

Advanced Computer Networks

BGP Scaling Techniques

BGP. Autonomous system (AS) BGP version 4

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

BGP Attributes and Policy Control

internet technologies and standards

MPLS VPN C H A P T E R S U P P L E M E N T. BGP Advertising IPv4 Prefixes with a Label

BGP Commands. Network Protocols Command Reference, Part 1 P1R-355

Cisco CISCO Configuring BGP on Cisco Routers Exam. Practice Test. Version

The Case for Separating Routing from Routers

Backbone Networks. Networking Case Studies. Backbone Networks. Backbone Topology. Mike Freedman COS 461: Computer Networks.

Outline Computer Networking. Inter and Intra-Domain Routing. Internet s Area Hierarchy Routing hierarchy. Internet structure

Inter-AS routing. Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley

MPLS VPN Route Target Rewrite

Lecture 13: Traffic Engineering

BGP Attributes and Policy Control

Interdomain Routing. EE122 Fall 2011 Scott Shenker

Contents. Introduction. Prerequisites. Configure. Requirements. Components Used

PART III. Implementing Inter-Network Relationships with BGP

Interdomain routing CSCI 466: Networks Keith Vertanen Fall 2011

The Contemporary Internet p. 3 Evolution of the Internet p. 5 Origins and Recent History of the Internet p. 5 From ARPANET to NSFNET p.

Inter-Domain Routing: BGP

Homework Assignment #3b Due 11/22 at 3:50pm EE122 Fall 2010

Table of Contents. Cisco Introduction to EIGRP

1 Introduction. AT&T Labs - Research. Jay Borkenhagen Dept. HA MT C5-3D

DE-CIX Academy: BGP Introduction. Notice of Liability. BGP Configuration Examples. Network Diagram for all examples. Links and Examples

InterAS Option B. Information About InterAS. InterAS and ASBR

MPLS VPN Multipath Support for Inter-AS VPNs

SEMESTER 2 Chapter 3 Introduction to Dynamic Routing Protocols V 4.0

CS118 Discussion Week 7. Taqi

Bringing SDN to the Internet, one exchange point at the time

LACNIC XIII. Using BGP for Traffic Engineering in an ISP

Implementing MPLS Layer 3 VPNs

CCNP ROUTE LAB MANUAL

Module 6 Implementing BGP

Transcription:

The Case for Separating Routing from Routers Nick Feamster, Hari Balakrishnan M.I.T. Computer Science and Artificial Intelligence Laboratory Jennifer Rexford, Aman Shaikh, Kobus van der Merwe AT&T Labs -- Research

You ve Probably Heard the News "BGP is broken." It might not converge. When it converges, it does so slowly. It causes routing loops inside an AS. It s misconfigured frequently. Routing tables are getting huge! "We can t fix the problems." BGP is hard-coded into routers. It s dictated by slow-moving standards. No flag days!

BGP s Problems Have Scared Us Away "BGP is broken." It might not converge. When it converges, it does so slowly. It causes routing loops inside an AS. It s misconfigured frequently. Routing tables are getting huge! What to do? Delve into BGP-specific, esoteric arcana Discover more negative results Incremental fixes that make BGP even harder to understand! Design idealistic architectures

These Problems Can Be Fixed "BGP is broken." It might not converge. When it converges, it does so slowly. It causes routing loops inside an AS. It s misconfigured frequently. Routing tables are getting huge! What s causing these problems? Each router has limited, inconsistent state BGP interacts in odd ways with other protocols Problems result from placing too much logic in the routers.

Our Vision: A "Routing Control Platform" Routers do not compute routes! Route computation for an AS is offloaded to a system with a complete view of network state. Each AS has a "server" that exchanges consistent routing information with other ASes AS 1 Inter AS Protocol ibgp Physical Peering AS 2 AS 3

The rest of this talk: The Case for Principles for interdomain routing: Compute consistent routes using complete state. Example: high-level policy expression Control routing protocol interactions. Example: interactions between BGP and lower-level protocols Potential dealbreakers: Backwards compatibility and incentives Scalability and reliability goals Related work (or..."haven t we seen this before?"): Route reflection and route servers Overlay networks

Routers have inconsistent configuration state Sprint Worldcom 10.0.0.1 192.168.0.1 A B C Simple Policy: "Don t advertise routes learned from Worldcom to Sprint." Configuration is decomposed, so the route must carry state!

Configuration decomposed across routers Sprint Worldcom 10.0.0.1 192.168.0.1 A B C Simple Policy: "Don t advertise routes learned from Worldcom to Sprint." Configuration is decomposed, so the route must carry state! neighbor 192.168.0.1 route-map IMPORT-C in route-map IMPORT-C permit 10 set community 0:1000!

Configuration decomposed across routers Sprint Worldcom 10.0.0.1 192.168.0.1 A B C Simple Policy: "Don t advertise routes learned from Worldcom to Sprint." Configuration is decomposed, so the route must carry state! neighbor 192.168.0.1 route-map IMPORT-C in route-map IMPORT-C permit 10 set community 0:1000!... ip community-list 1 permit 0:1000 neighbor 10.0.0.1 route-map EXPORT-A out route-map EXPORT-A deny 10 match community 1!...

Configuration decomposed across routers Sprint Worldcom 10.0.0.1 192.168.0.1 A B C Simple Policy: "Don t advertise routes learned from Worldcom to Sprint." Configuration is decomposed, so the route must carry state! neighbor 192.168.0.1 route-map IMPORT-C in route-map IMPORT-C permit 10 set community 0:1000!... ip community-list 1 permit 0:1000 neighbor 10.0.0.1 route-map EXPORT-A out route-map EXPORT-A deny 10 match community 1!...

Centralize configuration state Sprint 10.0.0.1 Worldcom 192.168.0.1 A B C Routing Control Platform: Has views of all sessions to other ASes. Implements policy in terms of AS relationship ( has policy configuration that expresses the constraint directly.) Benefits Simpler configuration separates policy and mechanism Don t have to "tag" routes with state

BGP interacts with underlying protocols RR1 3 1 1 RR2 3 C1 1 C2 C1 learns BGP route to destination from RR1. C2 learns BGP route to destination from RR2.

BGP interacts with underlying protocols RR1 3 1 1 RR2 3 C1 1 C2 C1 sends packets to RR1 via its shortest path. That path traverses C2.

BGP interacts with underlying protocols RR1 3 1 1 RR2 3 C1 1 C2 C2 sends packets to RR2 via its shortest path. That path traverses C1. Persistent forwarding loop!

Compute routes with complete information RR1 3 1 1 "RR2" "RR2" RR2 3 Routing Control Platform: Learns all externally learned routes Computes consistent router-level paths C1 1 C2

Compute routes with complete information RR1 3 1 1 "RR2" "RR2" RR2 3 Routing Control Platform: Learns all externally learned routes Computes consistent router-level paths Benefits Intrinsic loop freedom and convergence Path selection dictated by Need not abide by BGP-specific decision process Can "pin" paths C1 1 C2

Getting from here to there in three easy steps ibgp AS 1 Inter AS Protocol ibgp Physical Peering AS 2 AS 3 Two issues: Backwards compatibility Deployment incentives

Phase 1: Control Over Protocol Interactions Before: Conventional ibgp ebgp ibgp After: gets "best" ibgp routes (and IGP topology) ebgp ibgp Only one AS has to change its architecture!

Application: Controlling Path Changes BGP routes take "nearest exit" (shortest IGP path). C D A B

Application: Controlling Path Changes BGP routes take "nearest exit" (shortest IGP path). Failures or maintenance change internal weights. Exit point can also change. Traffic shifts, convergence delay, congestion in downstream AS. C D A B

Application: Controlling Path Changes BGP routes take "nearest exit" (shortest IGP path). Failures or maintenance change internal weights. Exit point can also change. Traffic shifts, convergence delay, congestion in downstream AS. C D A B

Application: Controlling Path Changes BGP routes take "nearest exit" (shortest IGP path). Failures or maintenance change internal weights. Exit point can also change. Traffic shifts, convergence delay, congestion in downstream AS. C D A B

Application: Controlling Path Changes BGP routes take "nearest exit" (shortest IGP path). Failures or maintenance change internal weights. can "pin" exit points as IGP weights change. C D A B

Phase 2: AS-Wide Selection and Policy Before: gets "best" ibgp routes (and IGP topology) ebgp ibgp After: gets all ebgp routes from neighbors ebgp ibgp

Phase 2 Application: Efficient Aggregation Aggregation curbs routing table growth. Routers can t know which routers need more specific routes. 192.168.0.0/23 192.168.0.0/24 A 192.168.0.0/23 192.168.1.0/24 B 192.168.0.0/23 (??) 192.168.0.0/23 (??) 192.168.0.0/23 (??) RR C

Phase 2 Application: Efficient Aggregation Aggregation curbs routing table growth. Policy at determines whether routers need separate routes. can always pass two subnets to downstream ASes. 192.168.0.0/23 192.168.0.0/24 CASE 1 192.168.0.0/23 192.168.1.0/24 192.168.0.0/23 192.168.0.0/24 CASE 2 192.168.0.0/23 192.168.1.0/24 192.168.0.0/23 192.168.0.0/24 192.168.1.0/24 C C

Phase 3: Routing Has Left the Routers Before: gets all ebgp routes from neighbors ebgp ibgp After: ASes exchange routes via AS 1 Inter AS Protocol ibgp Physical Peering AS 2 AS 3

Phase 3 Application: More flexible routing Better management: Diagnostics and troubleshooting Routing co-located with traffic information, etc. Ability to reason about the AS as a single entity Protocol improvements: Attaching prices to routes Inter-AS negotiation of exit points Overlay routing informed by IP-layer information Your application here (Without worrying about BGP-specific arcana)

Scalability and Robustness Will it scale? Will it be fast enough? Maybe. We believe we can build the on a single box. We re building a prototype. The is doing less work than N routers Cisco PRP-2 is 1.3 GHz, 1GB RAM (Note: centralized!= inability to scale) Is that a single point of failure I see? No. Safe to replicate. can be replicated using distributed systems insights. Consistency (mostly) a non-issue: OSPF guarantees clean partitions Today s BGP was not designed with robustness in mind. (e.g., must replicate route reflectors PoP-by-PoP)

" is basically a route reflector." Yes, but it s better. "Customized" routing decisions for clients. Router reflectors do not compute routes from client s perspective. Route reflectors do not emulate a "full mesh". can, though. A 1 2 B RR 1 1 Routing decisions based on complete visibility. Guaranteed correct routes. Replication can be dictated by systems issues. C

" also looks a lot like..." A "route server" Route arbiter: looked at applying policy at exchange points AS agents: answers questions like "What should these policy agents be doing?" An overlay network Most previous work is in data overlays. is a control overlay(no data packets). could give data overlays more information and control. has more fine-grained information directly from the network (e.g., topology, traffic). Can also make changes to the IP layer.

Benefits: Simpler, more expressive configuration Intrinsic robustness: no loops, convergence, etc. More stable routing Enables new applications Conclusion: "Routing Control Platform" Principles for interdomain routing: Compute consistent routes using complete state. Control routing protocol interactions. AS 1 Inter AS Protocol ibgp Physical Peering AS 2 AS 3