An overview of how packets are routed in the Internet

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

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

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

Internet Routing Protocols Lecture 03 Inter-domain Routing

BGP. Autonomous system (AS) BGP version 4

CS BGP v4. Fall 2014

Internet Routing Protocols Lecture 01 & 02

PART III. Implementing Inter-Network Relationships with BGP

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

TELE 301 Network Management

Advanced Computer Networks. Lecture 4 Internetworking and Routing

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

BGP. Autonomous system (AS) BGP version 4

Professor Yashar Ganjali Department of Computer Science University of Toronto.

BGP. Autonomous system (AS) BGP version 4

Inter-Domain Routing: BGP II

CS 268: Computer Networking. Next Lecture: Interdomain Routing

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

COMP/ELEC 429 Introduction to Computer Networks

CS4700/CS5700 Fundamentals of Computer Networks

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

Inter-domain Routing. Outline. Border Gateway Protocol

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

Routing. Jens A Andersson Communication Systems

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

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

Computer Networking Introduction

Routing part 2. Electrical and Information Technology

Inter-Domain Routing: BGP II

ETSF10 Internet Protocols Routing on the Internet

Routing in the Internet

Routing Unicast routing protocols

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

Introduction to IP Routing. Geoff Huston

Chapter 4: outline. Network Layer 4-1

CSCE 463/612 Networks and Distributed Processing Spring 2018

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

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

Advanced Computer Networks

Hierarchical Routing. Our routing study thus far - idealization all routers identical network flat not true in practice

Internet Routing : Fundamentals of Computer Networks Bill Nace

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

Interdomain routing CSCI 466: Networks Keith Vertanen Fall 2011

Inter-Domain Routing: BGP

Configuring PIM. Information About PIM. Send document comments to CHAPTER

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

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

CSCI Topics: Internet Programming Fall 2008

Lecture 17: Border Gateway Protocol

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

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

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

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

CS 268: Computer Networking

CS321: Computer Networks Unicast Routing

ETSF10 Internet Protocols Routing on the Internet

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

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

Chapter 4: Network Layer

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala October 9, 2018 (a) October 18 October 9,

ETSF10 Internet Protocols Routing on the Internet

Network Protocols. Routing. TDC375 Winter 2002 John Kristoff - DePaul University 1

Topic: Multicast routing

Lecture 18: Border Gateway Protocol

Routing Protocols. Technology Description BGP CHAPTER

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

Master Course Computer Networks IN2097

Advanced Networking. Multicast

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

ITEC310 Computer Networks II

Multicast Communications. Slide Set were original prepared by Dr. Tatsuya Susa

internet technologies and standards

Configuring BGP. Cisco s BGP Implementation

Module 6 Implementing BGP

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

Border Gateway Protocol

Link State Routing & Inter-Domain Routing

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

Broadcast Routing. Multicast. Flooding. In-network duplication. deliver packets from source to all other nodes source duplication is inefficient:

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

CSc 450/550 Computer Networks Internet Routing

Multiprotocol BGP (MBGP)

Interdomain Routing. EE122 Fall 2011 Scott Shenker

Lecture 16: Border Gateway Protocol

Routing Between Autonomous Systems (Example: BGP4) RFC 1771

Routing Protocols. Autonomous System (AS)

Communication Networks

Graph abstraction: costs. Graph abstraction 10/26/2018. Interplay between routing and forwarding

DATA COMMUNICATOIN NETWORKING

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

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

Chapter 13 Configuring BGP4

2011, Sushile Tejwani

Routing Protocols of IGP. Koji OKAMURA Kyushu University, Japan

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

Lecture 19: Network Layer Routing in the Internet

IP Addressing & Interdomain Routing. Next Topic

Dynamics of Hot-Potato Routing in IP Networks

Computer Networks. Routing

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

Transcription:

An overview of how packets are routed in the Internet 1

Dijkstra s shortest path first algorithm (example of a Link State Algorithm ) 1. Exchange link state: A router floods to every other router the state of links connected to it. - Periodically - When link state changes 2. Run Dijkstra s algorithm: Each router independently runs Dijkstra s shortest path first algorithm. CS144, Stanford University Each router finds min-cost spanning tree to every other router. 2

An example: From R 8 R 1 1 4 4 R 2 R 4 R 6 4 R 3 5 4 1 1 2 R 5 6 R 7 1 R 8 2 CS144, Stanford University 3

An example: From R 8 R 1 1 4 4 R 2 R 4 R 6 4 R 3 5 4 1 1 2 R 5 6 R 7 1 R 8 2 Add path of cost 1 Add path of cost 2 Add path of cost 2 R 6 R 4 R 6 R 7 R 8 R 7 R 8 R 7 R 8.. 4

An example: From R 8 R 1 1 4 4 R 2 R 4 R 6 4 R 3 5 4 1 1 2 R 5 6 R 7 1 R 8 2 Add path of cost 4 Add path of cost 4 R 4 R 6 R 4 R 6 R 5 R 7 R 8 R 3 R 7 R 8 R 5 5

An example: From R 8 R 1 1 4 4 R 2 R 4 R 6 4 R 3 5 4 1 1 2 R 5 6 R 7 1 R 8 2 Add path of cost 5 Add path of cost 6 R 2 R 2 R 4 R 6 R 1 R 4 R 6 R 5 R 7 R 8 R 5 R 7 R 8 R 3 R 3 6

The algorithm R 1 1 4 4 R 2 R 4 R 6 4 R 3 5 4 1 1 2 R 5 6 R 7 1 R 8 2 0 1 2 3 4 5 6 7 Shortest Path Set Candidate Set R 8 R 3 R 5 R 6 R 7 Add R 7 CS144, Stanford University 7

The algorithm R 1 1 4 4 R 2 R 4 R 6 4 R 3 5 4 1 1 2 R 5 6 R 7 1 R 8 2 Shortest Path Set Candidate Set 0 1 2 3 4 5 6 7 R 8 R 8 R 7 R 8 R 7 R 6 R 8 R 7 R 6 R 4 R 8 R 7 R 6 R 4 R 3 R 8 R 7 R 6 R 4 R 3 R 2 R 8 R 7 R 6 R 4 R 3 R 2 R 1 R 8 R 7 R 6 R 4 R 3 R 2 R 1 R 5 R 3 R 5 R 3 R 5 R 3 R 5 R 3 R 5 R 5 R 2 R 5 R 1 R 5 Empty R 6 R 7 R 6 R 4 R 4 R 2 R 1 Add R 7 R 6 R 4 R 3 R 2 R 1 R 5 Done CS144, Stanford University 8

Dijkstra s Algorithm Questions: 1. How long does the algorithm take to run? 2. What happens when link costs change, or when routers/links fail? CS144, Stanford University 9

Dijkstra s algorithm in practice Dijkstra s algorithm is an example of a Link State algorithm. - Link state is known by every router. - Each router finds the shortest path spanning tree to every other router. It is the basis of OSPF (Open Shortest Path First), a very widely used routing protocol. CS144, Stanford University 10

Another view of Dijkstra CS144, Stanford University 11

3 A 4 R 1 4 R 4 2 4 R 2 R 3 R 5 3 4 B 2 CS144, Stanford University Thanks to Prof Jean Walrand, Berkeley 12

A R 1 R 4 R 2 R 3 R 5 B CS144, Stanford University 13

A R 1 3 4 4 4 R 2 R 3 2 R 4 R 5 3 4 2 CS144, Stanford University B 14

Routing between Autonomous Systems The Border Gateway Protocol (BGP) CS144, Stanford University 15

All organizations must use the same algorithm to talk to each other AT&T Superonline Stanford University Boğaziçi Üniversitesi 16

17

Border Gateway Protocol (BGP) Basics BGP is not a link-state or distance-vector routing protocol. - Instead, BGP uses what is called a Path vector BGP neighbors ( peers ) establish a TCP connection BGP routers advertise complete paths (a list of AS s). - Also called AS_PATH (this is the path vector) - Example of path advertisement: The network 171.64/16 can be reached via the path {AS1, AS5, AS13} When a link/router fails, the path is withdrawn. 18

Border Gateway Protocol (BGP) Basics The network 171.64/16 can be reached via the path {AS1, AS5, AS13} Paths with loops are detected locally and ignored. Local policies pick the preferred path among all advertised paths. 19

Current Version BGP Version 4 or BGP-4 Described in RFC 4271 (2006) Used by the Internet since 1994 Used to connect all Border Gateways in the Internet Used internally in some very large private networks 20

Customers and Providers provider provider customer IP traffic customer Customer pays provider to carry its packets. 21

Customer-Provider Hierarchy provider customer IP traffic 22

The Peering Relationship peer provider traffic allowed peer customer traffic NOT allowed Peers provide transit between their respective customers Peers do not provide transit between peers Peers (typically) do not exchange $$$ So how does traffic from the left side reach the right side? 23

Tier 1 Providers A tier 1 network is a transit-free network that peers with every other tier 1 network Tier 1 Tier 1 Tier 1 Tier 1 Examples: AT&T, CenturyLink, Level 3, Deutsche Telekom, Tata, Verizon, CS144, Stanford University 24

Tier 1 Tier 1 Tier 1 peer provider traffic allowed peer customer traffic NOT allowed Peers provide transit between their respective customers Peers do not provide transit between peers Peers (often) do not exchange $$$ 25

BGP Messages Open : Establish a BGP session. Keep Alive : Handshake at regular intervals. Notification : Shuts down a peering session. Update : Announcing new routes or withdrawing previously announced routes. BGP announcement = prefix + path attributes Path attributes Include: next hop, AS Path, local preference, Multi-exit discriminator, Used to select among multiple options for paths. 26

BGP Route Selection Summary Highest Local Preference Enforce relationships E.g. prefer customer routes over peer routes 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 27

ASPATH Attribute AS 1129 AS 1755 AS 1239 AS 12654 AS 7018 AS 6341 135.207.0.0/16 AS 3549 Prefix Originated 28

ASPATH Attribute 135.207.0.0/16 AS Path = 1755 1239 7018 6341 AS 1129 135.207.0.0/16 AS Path = 1239 7018 6341 AS 1755 135.207.0.0/16 AS Path = 1129 1755 1239 7018 6341 AS 1239 135.207.0.0/16 AS Path = 7018 6341 Pick shorter AS path AS 12654 135.207.0.0/16 AS Path = 6341 AS 6341 135.207.0.0/16 AS 7018 135.207.0.0/16 AS Path = 7018 6341 135.207.0.0/16 AS Path = 3549 7018 6341 AS 3549 Prefix Originated 29

So Many Choices peer provider peer customer AS 4 Frank s Internet Barn AS 3 AS 2 Which route should Frank pick to 13.13.0.0./16? AS 1 13.13.0.0/16 30

Summary of BGP All AS s in the Internet must connect using BGP-4. BGP-4 is a path vector algorithm, allowing loops to be detected easily. BGP-4 has a rich and complex interface to let AS s choose a local, private policy. Each AS decides a local policy for traffic engineering, security and any private preferences. CS144, Stanford University 32

Multicast routing in the Internet 33

Multicast A B C D R 1 R 2 R 4 R 6 R 5 R 7 R 3 R 8 E X 34

Multicast A B C D R 1 R 2 R 4 R 6 R 5 R 7 R 3 R 8 E X 35

Multicast Techniques and Principles - Reverse Path Broadcast (RPB) and Pruning - One versus multiple trees Practice - IGMP group management - DVMRP the first multicast routing protocol - PIM protocol independent multicast CS144, Stanford University 36

Reverse Path Broadcast (RPB) aka Reverse Path Forwarding (RPF) A B C D R 1 R 2 R 4 R 6 R 5 R 7 R 3 R 8 E X CS144, Stanford University 37

RPB + Pruning 1. Packets delivered loop-free to every end host. 2. Routers with no interested hosts send prune messages towards source. 3. Resulting tree is the minimum cost spanning tree from source to the set of interested hosts. CS144, Stanford University 38

One tree versus several trees? A B C D R 1 R 2 R 4 R 6 R 5 R 7 R 3 R 8 E X 39

Addresses and joining a group IPv4: Class D addresses are set aside for multicast. IGMP (Internet group management protocol) - Between host and directly attached router. - Hosts ask to receive packets belonging to a particular multicast group. - Routers periodically poll hosts to ask which groups they want. - If no reply, membership times out (soft-state). CS144, Stanford University 40

Multicast in practice Multicast used less than originally expected - Most communication is individualized (e.g. time shifting) - Early implementations were inefficient - Today, used for some IP TV and fast dissemination - Some application-layer multicast routing used Some interesting questions - How to make multicast reliable? - How to implement flow-control? - How to support different rates for different end users? - How to secure a multicast conversation? 41