CS4700/CS5700 Fundamentals of Computer Networks

Similar documents
COMP/ELEC 429 Introduction to Computer Networks

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

Internet Routing Protocols Lecture 03 Inter-domain Routing

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

Internet Routing Protocols Lecture 01 & 02

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

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

CS 457 Networking and the Internet. The Global Internet (Then) The Global Internet (And Now) 10/4/16. Fall 2016

Important Lessons From Last Lecture Computer Networking. Outline. Routing Review. Routing hierarchy. Internet structure. External BGP (E-BGP)

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

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

Lecture 17: Border Gateway Protocol

IP Addressing & Interdomain Routing. Next Topic

Lecture 18: Border Gateway Protocol

CS BGP v4. Fall 2014

PART III. Implementing Inter-Network Relationships with BGP

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

CSCD 433/533 Network Programming Fall Lecture 14 Global Address Space Autonomous Systems, BGP Protocol Routing

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

Inter-domain Routing. Outline. Border Gateway Protocol

Department of Computer and IT Engineering University of Kurdistan. Computer Networks II Border Gateway protocol (BGP) By: Dr. Alireza Abdollahpouri

Internet Routing : Fundamentals of Computer Networks Bill Nace

Interdomain routing CSCI 466: Networks Keith Vertanen Fall 2011

Internet inter-as routing: BGP

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

Why dynamic route? (1)

CS 268: Computer Networking. Next Lecture: Interdomain Routing

Introduction to IP Routing. Geoff Huston

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

Lecture 16: Border Gateway Protocol

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

TELE 301 Network Management

Configuring BGP. Cisco s BGP Implementation

BGP. Autonomous system (AS) BGP version 4

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

BGP. Autonomous system (AS) BGP version 4

CS4700/CS5700 Fundaments of Computer Networks

BGP. Autonomous system (AS) BGP version 4

Introduction to Computer Networks

CSE/EE 461 Lecture 11. Inter-domain Routing. This Lecture. Structure of the Internet. Focus How do we make routing scale?

Interdomain Routing. EE122 Fall 2011 Scott Shenker

Introduction to Communication Networks Spring Unit 16 Global Internetworking

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

CS 268: Computer Networking

Ravi Chandra cisco Systems Cisco Systems Confidential

internet technologies and standards

Inter-Domain Routing: BGP

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

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

CS321: Computer Networks Unicast Routing

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

Routing. Jens A Andersson Communication Systems

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

Routing Unicast routing protocols

Internetworking: Global Internet and MPLS. Hui Chen, Ph.D. Dept. of Engineering & Computer Science Virginia State University Petersburg, VA 23806

Interdomain Routing. EE122 Fall 2012 Scott Shenker

! Distance vector routing! Link state routing.! Path vector routing! BGP: Border Gateway Protocol! Route aggregation

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

Master Course Computer Networks IN2097

An overview of how packets are routed in the Internet

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

EE 122: Inter-domain routing Border Gateway Protocol (BGP)

Chapter IV: Network Layer

Computer Networking Introduction

Routing Concepts. IPv4 Routing Forwarding Some definitions Policy options Routing Protocols

Inter-AS routing and BGP. Network Layer 4-1

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

Routing(2) Inter-domain Routing

Routing Basics ISP/IXP Workshops

Chapter 4: Network Layer. Lecture 12 Internet Routing Protocols. Chapter goals: understand principles behind network layer services:

Inter-Domain Routing: BGP

Professor Yashar Ganjali Department of Computer Science University of Toronto.

Inter-Domain Routing: BGP II

Routing on the Internet! Hierarchical Routing! The NSFNet 1989! Aggregate routers into regions of autonomous systems (AS)!

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

Routing Basics. Routing Concepts. IPv4. IPv4 address format. A day in a life of a router. What does a router do? IPv4 Routing

Lecture 19: Network Layer Routing in the Internet

Link State Routing & Inter-Domain Routing

Routing(2) Inter-domain Routing

Network Protocols. Routing. TDC375 Autumn 03/04 John Kristoff - DePaul University 1

CSc 450/550 Computer Networks Internet Routing

Network Layer: Routing

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

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

Connecting to a Service Provider Using External BGP

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

Network Layer (Routing)

Introduction to BGP. ISP/IXP Workshops

CS4700/CS5700 Fundamentals of Computer Networks

Chapter 4: outline. Network Layer 4-1

Inter-Domain Routing: BGP II

Routing part 2. Electrical and Information Technology

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

Last time. Transitioning to IPv6. Routing. Tunneling. Gateways. Graph abstraction. Link-state routing. Distance-vector routing. Dijkstra's Algorithm

15-744: Computer Networking BGP

Border Gateway Protocol

Chapter 13 Configuring BGP4

Chapter 4: Network Layer

Routing Basics. ISP Workshops. Last updated 10 th December 2015

Routing Basics ISP/IXP Workshops

Transcription:

CS4700/CS5700 Fundamentals of Computer Networks Lecture 12: Inter-domain routing Slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang Alan Mislove amislove at ccs.neu.edu Northeastern 1 University

Internet Structure Large ISP Large ISP Stub Dial-Up ISP Small ISP Stub Stub Stub Alan Mislove amislove at ccs.neu.edu Northeastern 2 University

Autonomous Systems (AS) Internet is not a single network! The Internet is a collection of networks, each controlled by different administrations An autonomous system (AS) is a network under a single administrative control Alan Mislove amislove at ccs.neu.edu Northeastern 3 University

AS Numbers (ASNs) ASNs are 16 bit values. 64512 through 65535 are private Currently over 11,000 in use. Genuity: 1 AT&T: 7018, 6341, 5074, UUNET: 701, 702, 284, 12199, Sprint: 1239, 1240, 6211, 6242, Alan Mislove amislove at ccs.neu.edu Northeastern 4 University

Implications ASs want to choose own local routing algorithm AS takes care of getting packets to/from their own hosts Intradomain routing: RIP, OSPF, etc ASs want to choose own non-local routing policy Interdomain routing must accommodate this BGP is the current interdomain routing protocol BGP: Border Gateway Protocol Alan Mislove amislove at ccs.neu.edu Northeastern 5 University

Example Interior router BGP router AS-1 AS-3 AS-2 Alan Mislove amislove at ccs.neu.edu Northeastern 6 University

Intra-Domain Interior router BGP router AS-1 AS-3 AS-2 Intra-domain routing protocol aka Interior Gateway Protocol (IGP), e.g. OSPF, RIP Alan Mislove amislove at ccs.neu.edu Northeastern 7 University

Inter-Domain Interior router BGP router AS-1 AS-3 AS-2 Inter-domain routing protocol aka Exterior Gateway Protocol (EGP), e.g. BGP Alan Mislove amislove at ccs.neu.edu Northeastern 8 University

Inter-Domain Routing Alan Mislove amislove at ccs.neu.edu Northeastern 9 University

Inter-Domain Routing Global connectivity is at stake Alan Mislove amislove at ccs.neu.edu Northeastern 9 University

Inter-Domain Routing Global connectivity is at stake Inevitably leads to one single protocol that everyone must speak Unlike many choices in intra-domain routing Alan Mislove amislove at ccs.neu.edu Northeastern 9 University

Inter-Domain Routing Global connectivity is at stake Inevitably leads to one single protocol that everyone must speak Unlike many choices in intra-domain routing What are the requirements? Alan Mislove amislove at ccs.neu.edu Northeastern 9 University

Inter-Domain Routing Global connectivity is at stake Inevitably leads to one single protocol that everyone must speak Unlike many choices in intra-domain routing What are the requirements? Scalability Alan Mislove amislove at ccs.neu.edu Northeastern 9 University

Inter-Domain Routing Global connectivity is at stake Inevitably leads to one single protocol that everyone must speak Unlike many choices in intra-domain routing What are the requirements? Scalability Flexibility in choosing routes Alan Mislove amislove at ccs.neu.edu Northeastern 9 University

Inter-Domain Routing Global connectivity is at stake Inevitably leads to one single protocol that everyone must speak Unlike many choices in intra-domain routing What are the requirements? Scalability Flexibility in choosing routes If you were to choose, link state based or distance vector based? Alan Mislove amislove at ccs.neu.edu Northeastern 9 University

Inter-Domain Routing Global connectivity is at stake Inevitably leads to one single protocol that everyone must speak Unlike many choices in intra-domain routing What are the requirements? Scalability Flexibility in choosing routes If you were to choose, link state based or distance vector based? Alan Mislove amislove at ccs.neu.edu Northeastern 9 University

Inter-Domain Routing Global connectivity is at stake Inevitably leads to one single protocol that everyone must speak Unlike many choices in intra-domain routing What are the requirements? Scalability Flexibility in choosing routes If you were to choose, link state based or distance vector based? BGP is sort of a hybrid: Path vector protocol Alan Mislove amislove at ccs.neu.edu Northeastern 9 University

Border Gateway Protocol Part I: E-BGP AS2 AS1 E-BGP R2 R3 R1 R border router internal router Two types of routers Border router (Edge), Internal router (Core) Alan Mislove amislove at ccs.neu.edu Northeastern 10 University

Purpose of E-BGP AS2 AS1 E-BGP R2 R3 R1 A R border router internal router Share connectivity information across ASes Alan Mislove amislove at ccs.neu.edu Northeastern 11 University

Purpose of E-BGP you can reach net A via me AS2 AS1 E-BGP R2 R3 R1 A R border router internal router Share connectivity information across ASes Alan Mislove amislove at ccs.neu.edu Northeastern 11 University

Purpose of E-BGP you can reach net A via me AS2 AS1 E-BGP R2 R3 R1 A table at R1: dest next hop A! R2 R border router internal router Share connectivity information across ASes Alan Mislove amislove at ccs.neu.edu Northeastern 11 University

Part II: I-BGP, Carrying Info within an AS R2 R3 AS1 R1 E-BGP AS2 A E-BGP R border router R4 AS3 R5 internal router B Alan Mislove amislove at ccs.neu.edu Northeastern 12 University

Part II: I-BGP, Carrying Info within an AS R2 R3 AS1 R1 E-BGP AS2 A E-BGP announce B R border router R4 AS3 R5 internal router B Alan Mislove amislove at ccs.neu.edu Northeastern 12 University

Part II: I-BGP, Carrying Info within an AS R2 R3 AS1 R1 E-BGP AS2 A E-BGP announce B R border router R4 AS3 R5 internal router B Alan Mislove amislove at ccs.neu.edu Northeastern 12 University

Part II: I-BGP, Carrying Info within an AS R2 R3 AS1 R1 E-BGP AS2 A E-BGP announce B R border router R4 AS3 R5 internal router B Alan Mislove amislove at ccs.neu.edu Northeastern 12 University

Part II: I-BGP, Carrying Info within an AS I-BGP R2 R3 AS1 R1 E-BGP AS2 A E-BGP announce B R border router R4 AS3 R5 internal router B Alan Mislove amislove at ccs.neu.edu Northeastern 12 University

I-BGP I-BGP updates E-BGP update I-BGP neighbors do not announce routes received via I-BGP to other I-BGP neighbors. Problem: Injecting external routes into IGP (e.g. OSPF) does not scale and causes BGP policy information to be lost I-BGP can be used to disseminate BGP routes to all routers in AS BGP route + IGP route suffice to create forwarding table Alan Mislove amislove at ccs.neu.edu Northeastern 13 University

Join I-BGP with IGP to Create Forwarding Table E-BGP 135.207.0.0/16 10.10.10.10 AS 1 AS 2 192.0.2.1 192.0.2.0/30 Alan Mislove amislove at ccs.neu.edu Northeastern 14 University

Join I-BGP with IGP to Create Forwarding Table E-BGP 135.207.0.0/16 10.10.10.10 IGP destination next hop 192.0.2.0/30 10.10.10.10 AS 1 AS 2 192.0.2.1 192.0.2.0/30 Alan Mislove amislove at ccs.neu.edu Northeastern 14 University

Join I-BGP with IGP to Create Forwarding Table I-BGP: 135.207.0.0/16 Next Hop = 192.0.2.1 E-BGP 135.207.0.0/16 10.10.10.10 IGP destination next hop 192.0.2.0/30 10.10.10.10 AS 1 AS 2 192.0.2.1 192.0.2.0/30 Alan Mislove amislove at ccs.neu.edu Northeastern 14 University

Join I-BGP with IGP to Create Forwarding Table I-BGP: 135.207.0.0/16 Next Hop = 192.0.2.1 E-BGP 135.207.0.0/16 10.10.10.10 IGP destination next hop 192.0.2.0/30 10.10.10.10 + I-BGP destination next hop 135.207.0.0/16 192.0.2.1 AS 1 AS 2 192.0.2.1 192.0.2.0/30 Alan Mislove amislove at ccs.neu.edu Northeastern 14 University

Join I-BGP with IGP to Create Forwarding Table I-BGP: 135.207.0.0/16 Next Hop = 192.0.2.1 E-BGP 135.207.0.0/16 10.10.10.10 IGP destination next hop 192.0.2.0/30 10.10.10.10 + I-BGP destination next hop 135.207.0.0/16 192.0.2.1 AS 1 AS 2 192.0.2.1 192.0.2.0/30 Forwarding Table destination next hop 135.207.0.0/16 10.10.10.10 192.0.2.0/30 10.10.10.10 Alan Mislove amislove at ccs.neu.edu Northeastern 14 University

Multiple Routing Processes on a Single Router BGP OSPF Process OSPF Routing tables BGP Process BGP Routing tables OSPF Domain Forwarding Table Manager OS kernel Forwarding Table Alan Mislove amislove at ccs.neu.edu Northeastern 15 University

Routing between ISPs Routing protocol (BGP) contains reachability information (no metrics) Not about optimizing anything All about policy (business and politics) Why? Metrics optimize for a particular criteria AT&T s idea of a good route is not the same as UUnet s Scale What a BGP speaker announces or not announces to a peer determines what routes may get used by whom Alan Mislove amislove at ccs.neu.edu Northeastern 16 University

Nontransit vs. Transit ASes ISP 1 ISP 2 Internet Service providers (often) have transit networks Traffic NEVER flows from ISP 1 through NET A to ISP 2 (At least not intentionally!) NET A Nontransit AS might be a corporate or campus network. IP traffic Alan Mislove amislove at ccs.neu.edu Northeastern 17 University

Selective Transit NET B NET C NET A provides transit between NET B and NET C and between NET D and NET C NET A NET A DOES NOT provide transit Between NET D and NET B NET D IP traffic Most transit networks transit in a selective manner Alan Mislove amislove at ccs.neu.edu Northeastern 18 University

Customers and Providers provider provider customer customer IP traffic Customer pays provider for access to the Internet Alan Mislove amislove at ccs.neu.edu Northeastern 19 University

Customers Don t Always Need BGP provider Configured route 192.0.2.0/24 pointing to customer Default route 0.0.0.0/0 pointing to provider. customer 192.0.2.0/24 Static routing is the most common way of connecting an autonomous routing domain to the Internet. This helps explain why BGP is a mystery to many Alan Mislove amislove at ccs.neu.edu Northeastern 20 University

Customer-Provider Hierarchy provider customer IP traffic Alan Mislove amislove at ccs.neu.edu Northeastern 21 University

The Peering Relationship peer provider peer customer Peers provide transit between their respective customers Peers do not provide transit traffic traffic NOT between peers allowed allowed Peers (often) do not exchange $$$ Alan Mislove amislove at ccs.neu.edu Northeastern 22 University

Peering Provides Shortcuts Peering also allows connectivity between the customers of Tier 1 providers. peer provider peer customer Alan Mislove amislove at ccs.neu.edu Northeastern 23 University

BGP: Path Vector Protocol Distance vector algorithm with extra information For each route, store the complete path (ASs) No extra computation, just extra storage Advantages: can make policy choices based on set of ASs in path can easily avoid loops Alan Mislove amislove at ccs.neu.edu Northeastern 24 University

BGP Operations (Simplified) Establish session on TCP port 179 AS1 Exchange all active routes Exchange incremental updates While connection is ALIVE exchange route UPDATE messages BGP session AS2 Alan Mislove amislove at ccs.neu.edu Northeastern 25 University

Four Types of BGP Messages Open : Establish a peering session. Keep Alive : Handshake at regular intervals. Notification : Shuts down a peering session. Update : Announcing new routes or withdrawing previously announced routes. Announcement = prefix + attributes values Alan Mislove amislove at ccs.neu.edu Northeastern 26 University

Attributes are Used to Select Best Routes 192.0.2.0/24 pick me! 192.0.2.0/24 pick me! 192.0.2.0/24 pick me! 192.0.2.0/24 pick me! Given multiple routes to the same prefix, a BGP speaker must pick at most one best route (Note: it could reject them all!) Alan Mislove amislove at ccs.neu.edu Northeastern 27 University

Example: Multiple AS Paths AS9 128.2/16 AS701 AS7018 128.2/16 9 701 AS73 128.2/16 9 7018 1239 AS1239 Alan Mislove amislove at ccs.neu.edu Northeastern 28 University

Shorter Doesn t Always Mean Shorter Path 4 1 is better than path 3 2 1 AS 3 AS 4 AS 2 AS 1 Alan Mislove amislove at ccs.neu.edu Northeastern 29 University

Implementing Customer/Provider and Peer/ Peer relationships What you announce determines what route can be used by whom Enforce transit relationships Outbound route filtering Enforce order of route preference provider < peer < customer Alan Mislove amislove at ccs.neu.edu Northeastern 30 University

Import Routes provider route peer route customer route ISP route From provider From provider From peer From peer From customer From customer Alan Mislove amislove at ccs.neu.edu Northeastern 31 University

Export Routes provider route peer route customer route ISP route To provider From provider To To peer peer To customer To customer filters block Alan Mislove amislove at ccs.neu.edu Northeastern 32 University

Export Routes provider route peer route customer route ISP route To provider From provider To To peer peer To customer To customer filters block Alan Mislove amislove at ccs.neu.edu Northeastern 32 University

Export Routes provider route peer route customer route ISP route To provider From provider To To peer peer To customer To customer filters block Alan Mislove amislove at ccs.neu.edu Northeastern 32 University

Export Routes provider route peer route customer route ISP route To provider From provider To To peer peer To customer To customer filters block Alan Mislove amislove at ccs.neu.edu Northeastern 32 University

Export Routes provider route peer route customer route ISP route To provider From provider To To peer peer To customer To customer filters block Alan Mislove amislove at ccs.neu.edu Northeastern 32 University

How Can Routes be Colored? BGP Communities! A community value is 32 bits Used for signaling within and between ASes By convention, first 16 bits is ASN indicating who is giving it an interpretation community number Very powerful BECAUSE it has no predefined meaning Community Attribute = a list of community values. (So one route can belong to multiple communities) Alan Mislove amislove at ccs.neu.edu Northeastern 33 University

Example AS Graph The subgraph showing all ASes that have more than 100 neighbors in full graph of 11,158 nodes. July 6, 2001. Point of view: AT&T route-server Does not reflect true topology Alan Mislove amislove at ccs.neu.edu Northeastern 34 University

BGP Issues BGP designed for policy not performance Susceptible to router misconfiguration Blackholes: announce a route you cannot reach Incompatible policies Solutions to limit the set of allowable policies Alan Mislove amislove at ccs.neu.edu Northeastern 35 University

More Issues Scaling the I-BGP mesh Confederations Route Reflectors BGP Table Growth 140K prefixes and growing Address aggregation (CIDR) Address allocation AS number allocation and use Dynamics of BGP Inherent vs. accidental oscillation Rate limiting and route flap dampening Lots and lots of redundant info Slow convergence time Alan Mislove amislove at ccs.neu.edu Northeastern 36 University