An Analysis of BGP Convergence Properties

Slides:



Advertisements
Similar presentations
Complexity Classes: P and NP
Advertisements

1 Interdomain Traffic Engineering with BGP By Behzad Akbari Spring 2011 These slides are based on the slides of Tim. G. Griffin (AT&T) and Shivkumar (RPI)
1 Copyright  1999, Cisco Systems, Inc. Module10.ppt10/7/1999 8:27 AM BGP — Border Gateway Protocol Routing Protocol used between AS’s Currently Version.
Border Gateway Protocol Ankit Agarwal Dashang Trivedi Kirti Tiwari.
CS540/TE630 Computer Network Architecture Spring 2009 Tu/Th 10:30am-Noon Sue Moon.
© J. Liebeherr, All rights reserved 1 Border Gateway Protocol This lecture is largely based on a BGP tutorial by T. Griffin from AT&T Research.
Sept Internet routing seminar (Fall 2000) An analysis of BGP convergence Properties Timothy G. Griffin Gordan Wilfong Presented by Tian Bu.
Does BGP Solve the Shortest Paths Problem? Timothy G. Griffin Joint work with Bruce Shepherd and Gordon Wilfong Bell Laboratories, Lucent Technologies.
Part IV BGP Modeling. 2 BGP Is Not Guaranteed to Converge!  BGP is not guaranteed to converge to a stable routing. Policy inconsistencies can lead to.
Fundamentals of Computer Networks ECE 478/578 Lecture #18: Policy-Based Routing Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University.
1 Interdomain Routing Protocols. 2 Autonomous Systems An autonomous system (AS) is a region of the Internet that is administered by a single entity and.
Inferring Autonomous System Relationships in the Internet Lixin Gao.
Announcement  Slides and reference materials available at  Slides and reference materials available.
STABLE PATH PROBLEM Presented by: Sangeetha A. J. Based on The Stable Path Problem and Interdomain Routing Timothy G. Griffin, Bruce Shepherd, Gordon Wilfong.
Towards a Lightweight Model of BGP Safety Matvey Arye Princeton University Joint work with: Rob Harrison, Richard Wang, Jennifer Rexford (Princeton) Pamela.
Lecture 14: Inter-domain Routing Stability CS 268 class March 8 th, 2004 (slides from Timothy Griffin’s tutorial and Craig Labovitz’s NANOG talk)
Practical and Configuration issues of BGP and Policy routing Cameron Harvey Simon Fraser University.
1 Policy Disputes in Path-Vector Protocols A Safe Path-Vector Protocol Zacharopoulos Dimitris
CS Summer 2003 Lecture 3. CS Summer 2003 What is a BGP Path Attribute? BGP uses a set of parameters known as path attributes to characterize.
Reduction Techniques Restriction Local Replacement Component Design Examples.
Internet Networking Spring 2004 Tutorial 5 Safe “Peering Backup” Routing With BGP.
The Border Gateway Protocol (BGP) Sharad Jaiswal.
CS Summer 2003 Quiz 1 A1) IGP (IS-IS, OSPF) BGP A2) Stub Transit. because it is adverting AS2’s routes to AS1 and vice versa. A3) Traffic discarded.
Slide -1- February, 2006 Interdomain Routing Gordon Wilfong Distinguished Member of Technical Staff Algorithms Research Department Mathematical and Algorithmic.
Computer Networking Lecture 10: Inter-Domain Routing
More on BGP Check out the links on politics: ICANN and net neutrality To read for next time Path selection big example Scaling of BGP.
Inherently Safe Backup Routing with BGP Lixin Gao (U. Mass Amherst) Timothy Griffin (AT&T Research) Jennifer Rexford (AT&T Research)
15-744: Computer Networking L-5 Inter-Domain Routing.
Computer Networks Layering and Routing Dina Katabi
Advertising Equal Cost Multi-Path Routes in BGP Manav Bhatia Samsung India Software Operations, Bangalore – India July 17, th IETF - Vienna draft-ecmp-routes-in-bgp-00.txt.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking BGP, Flooding, Multicast routing.
1 Interdomain Routing (BGP) By Behzad Akbari Fall 2008 These slides are based on the slides of Ion Stoica (UCB) and Shivkumar (RPI)
CS 3700 Networks and Distributed Systems Inter Domain Routing (It’s all about the Money) Revised 8/20/15.
CS 268: Lecture 9 Inter-domain Routing Protocol Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and Computer.
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks BGP.
Network Layer4-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
Border Gateway Protocol
Xuan Zheng (modified by M. Veeraraghavan) 1 BGP overview BGP operations BGP messages BGP decision algorithm BGP states.
Border Gateway Protocol (BGP) W.lilakiatsakun. BGP Basics (1) BGP is the protocol which is used to make core routing decisions on the Internet It involves.
More on Internet Routing A large portion of this lecture material comes from BGP tutorial given by Philip Smith from Cisco (ftp://ftp- eng.cisco.com/pfs/seminars/APRICOT2004.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 ECSE-6600: Internet Protocols Informal Quiz #08: SOLUTIONS Shivkumar Kalyanaraman: GOOGLE: “Shiv.
CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.
Pitch Patarasuk Policy Disputes in Path-Vector Protocol A Safe Path Vector Protocol The Stable Paths Problem and Interdomain routing.
CSCI-1680 Network Layer: Inter-domain Routing Based partly on lecture notes by Rob Sherwood, David Mazières, Phil Levis, Rodrigo Fonseca John Jannotti.
Routing in the Inernet Outcomes: –What are routing protocols used for Intra-ASs Routing in the Internet? –The Working Principle of RIP and OSPF –What is.
© 2005 Cisco Systems, Inc. All rights reserved. BGP v3.2—6-1 Scaling Service Provider Networks Scaling IGP and BGP in Service Provider Networks.
BGP Basics BGP uses TCP (port 179) BGP Established unicast-based connection to each of its BGP- speaking peers. BGP allowing the TCP layer to handle such.
Text BGP Basics. Document Name CONFIDENTIAL Border Gateway Protocol (BGP) Introduction to BGP BGP Neighbor Establishment Process BGP Message Types BGP.
CSci5221: BGP Policies1 Inter-Domain Routing: BGP, Routing Policies, etc. BGP Path Selection and Policy Routing Stable Path Problem and Policy Conflicts.
Border Gateway Protocol BGP-4 BGP environment How BGP works BGP information BGP administration.
ROUTING ON THE INTERNET COSC Jun-16. Routing Protocols  routers receive and forward packets  make decisions based on knowledge of topology.
1 Internet Routing 11/11/2009. Admin. r Assignment 3 2.
CS 3700 Networks and Distributed Systems
CS 3700 Networks and Distributed Systems
Border Gateway Protocol
COS 561: Advanced Computer Networks
BGP supplement Abhigyan Sharma.
Interdomain Traffic Engineering with BGP
Routing: Distance Vector Algorithm
Module Summary BGP is a path-vector routing protocol that allows routing policy decisions at the AS level to be enforced. BGP is a policy-based routing.
Inter-Domain Routing: BGP, Routing Policies, etc.
COS 561: Advanced Computer Networks
Routers Routing algorithms
COS 561: Advanced Computer Networks
Inter-domain Routing Protocol
COS 561: Advanced Computer Networks
BGP Route Selection.
COS 461: Computer Networks
Fixing the Internet: Think Locally, Impact Globally
Instructor: Aaron Roth
Presentation transcript:

An Analysis of BGP Convergence Properties Fernando Sanchez Florida State University An Analysis of BGP Convergence Properties

BGP Convergence Problem No guarantee of globally reasonable polices As opposed to RIP-like protocols, BGP can diverge due to polices implemented on each AS Two ways to address Dynamically: prevent oscillation on run- time (route flap dampening) Statically: analyze routing polices to guarantee no oscillations

Objectives Explore worst-case complexity of static analysis of BGP routing policies Show complexity of particular problems: Reachability Asymmetry Solvability Single Destination Solvability Uniqueness Robustness

Abstract Model of BGP Simpler abstraction Network addresses are flat space Ignores attributes: MED, ORIGIN, AGGREGATE, etc At most one link between peer AS Ignore iBGP completely No Default route Each destination is generated at a single AS One global default value for LOCAL PREFERENCE

Network Routes Model of undirected graph G = (V, E) V -> AS E -> links between AS Route announcements nlri : network layer reachability information (destination) next_hop : next hop as_path : list of vertices traversed (list of AS) loc_pref : local preference (internal to each AS) Default loc_pref value dlp

Best Route Selection If r1.loc_pref != r2.loc_pref then select ri with highest loc_pref If length(r1.as_path) != length(r2.as_path) then pick the shortest as_path Else, ri with lowest next_hop

Route Record Transformations Two types of transformation Path-vector Transformations PVT(w<-v)[R] Enforces as_path record loc_pref are not passed Vertex v does not accept an as_path which contains v Transformation policies import(v<-w)[R] and export(v->w)[R] List of policy rules Hi => Ai 17 Є as_path => reject as_path = [12, ?, 16] => loc_pref := dlp +1 true => loc_pref := dlp

Evaluation States Cio represents the initial state, r.as_path is empty and next_hop is undefined r1 Є ci0 and r2 Є cj0 r1.nlri != r2.nlri A tuple <c0, c1, ... , cn> where ci is a set of route records that represents the contents of AS i in this state An empty set represents a initial state where any AS i has not learned or accepted any route

Dynamic Behaior A node i Є V is activated when it can compute its best routes based on the routes from neighboors Transition relationships allow to move from one state to another one based on the selection route rules

Evaluation Graph Eval(S) is an directed graph where each vertex represents a state s, and there exist a edge from s to s' if there exists a transition relationship that takes from state s to s' When the system state does not change regardless of any number of Ass that are activated, then it reaches a final state A system S is solvable if there exists at least one final state

BGP Anomalies

BAD GADGET Each AS prefers counter-clockwise route of length 2

BAD GADGET (cont) BAD GADGET does not have a solution

SURPRISE Solvable system but vulnerable on link failures For AS 3:

DISAGREE Has multiple solutions

DISAGREE (cont)

Complexity Show the complexity of various BGP properties: Reachability Asymmetry Solvability Unsolvability Solvability (SD) Unsolvability (SD) Trapped K-Robust Unique Unique (SD) Multiple Multiple (SD)

Complexity (cont) Reduction to 3-SAT ASSIGN BGP system

ASSIGN Each assignment X corresponds to a path from z to w Each path from z to w corresponds to a unique assignment X If xi is in the as_path, xi is not in the path Once a route is chosen, it can be locked in and not change

Reachability Reduction Given a state s, it can be check in polynomial time if it is a final state. We can then check verify that node v has a path to d on state s Build an instance of 3-SAT using ASSIGN

Reachability Reduction (cont) Each Ci = li,1 V li,2 V li,3 for 2 ≤ i ≤ m : import(Ci <- Ci-1) import(C1 <- z)

What does this mean? Simplified model allows to proof the complexity of BGP properties compared to real-world BGP Provide lower bounds for the complexity There are two main problems with static analysis: Policies are not always available among peers Checking for solvability of real-world BGP systems is NP-complete

What does this mean? (cont) Dynamic analysis Flap dampening does not solve the problem Possible solution Modify BGP protocol to carry information to detect policy conflicts, that can identify when oscillations are produced because policies or because link failures Problems: Such an extension should be scalable, robust, and compatible with aggregation Lack of characterization of policy inconsistencies