Lecture 19: Network Layer Routing in the Internet

Similar documents
CSC 4900 Computer Networks: Routing Protocols

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

Announcements. CS 5565 Network Architecture and Protocols. Project 2B. Project 2B. Project 2B: Under the hood. Routing Algorithms

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

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

Chapter 4: outline. Network Layer 4-1

DATA COMMUNICATOIN NETWORKING

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

Chapter IV: Network Layer

CSCI Topics: Internet Programming Fall 2008

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

Computer Networking Introduction

COMP211 Chapter 5 Network Layer: The Control Plane

Chapter 4: Network Layer

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

Chapter 5 Network Layer: The Control Plane

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

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

5.1 introduction 5.5 The SDN control 5.2 routing protocols plane. Control Message 5.3 intra-as routing in Protocol the Internet

Initial motivation: 32-bit address space soon to be completely allocated. Additional motivation:

CSc 450/550 Computer Networks Internet Routing

CSCE 463/612 Networks and Distributed Processing Spring 2018

Chapter 4: Network Layer, partb

Chapter 4: Network Layer

EC441 Fall 2018 Introduction to Computer Networking Chapter 5: Network Layer Control Plane

Topics for This Week

PART III. Implementing Inter-Network Relationships with BGP

Chapter 4: Network Layer. TDTS06 Computer networks. Subnets. Subnets. Subnets. IP Addressing: introduction

Chapter 4: outline. 4.5 routing algorithms link state distance vector hierarchical routing. 4.6 routing in the Internet RIP OSPF BGP

Internet rou)ng. V. Arun CS491G: Computer Networking Lab University of MassachuseFs Amherst

BGP. Daniel Zappala. CS 460 Computer Networking Brigham Young University

Network layer: Overview. Network layer functions Routing IP Forwarding

Master Course Computer Networks IN2097

CS 204: BGP. Jiasi Chen Lectures: MWF 12:10-1pm Humanities and Social Sciences

Chapter 4 Network Layer

Lecture 17: Network Layer Addressing, Control Plane, and Routing

CS118 Discussion 1A, Week 7. Zengwen Yuan Dodd Hall 78, Friday 10:00 11:50 a.m.

Internet Routing : Fundamentals of Computer Networks Bill Nace

CS555, Spring /5/2005. April 12, 2005 No classes attend Senior Design Projects conference. Chapter 4 roadmap. Internet AS Hierarchy

HY 335 Φροντιστήριο 8 ο

Interplay Between Routing, Forwarding

Inter-Domain Routing: BGP

Last time. Network layer. Introduction. Virtual circuit vs. datagram details. IP: the Internet Protocol. forwarding vs. routing

Network Layer: ICMP and Network Management

Course on Computer Communication and Networks. Lecture 7 Network Layer, Chapter 4 (6/e) - Part B (7/e Ch5)

11/13/2017 Network Layer (SSL) Network-layer functions. Recall the two network-layer functions:

Lecture 5 The Network Layer part II. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

CSCE 463/612 Networks and Distributed Processing Spring 2018

CSC 8560 Computer Networks: Control Plane

Chapter 4 Network Layer. Network Layer 4-1

Lecture 20: Link Layer

Chapter 5 Network Layer: The Control Plane

Inter-Autonomous-System Routing: Border Gateway Protocol

Routing in the Internet

Network Layer: Control Plane 5-2

Internet Protocol: Routing Algorithms. Srinidhi Varadarajan

Chapter 4 Network Layer

Lecture 4 The Network Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Computer Networking Introduction

Module 3 Network Layer CS755! 3-1!

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 13

Introduction to Computer Networks

Chapter 5 Network Layer: The Control Plane

Chapter 5 Network Layer: The Control Plane

Unit 3: Dynamic Routing

Network Layer: Routing

Inter-Autonomous-System Routing: Border Gateway Protocol

Lecture 16: Network Layer Overview, Internet Protocol

CSCE 463/612 Networks and Distributed Processing Spring 2017

Chapter 5 Network Layer: The Control Plane

internet technologies and standards

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

Routing. Outline. Algorithms Scalability

Lecture 9. Network Layer (cont d) Network Layer 1-1

Internet inter-as routing: BGP

Master Course Computer Networks IN2097

Chapter 5 Network Layer: The Control Plane

Why dynamic route? (1)

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

Communication Networks ( ) / Fall 2013 The Blavatnik School of Computer Science, Tel-Aviv University. Allon Wagner

Subnets. IP datagram format. The Internet Network layer. IP Fragmentation and Reassembly. IP Fragmentation & Reassembly. IP Addressing: introduction

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

Top-Down Network Design

CPSC 826 Internetworking. The Network Layer: Routing & Addressing Outline. The Network Layer

ETSF10 Internet Protocols Routing on the Internet

Networking: Network layer

EECS 3214: Computer Networks Protocols and Applications

Outline. Addressing on the network layer ICMP IPv6 Addressing on the link layer Virtual circuits

Network Routing. Packet Routing, Routing Algorithms, Routers, Router Architecture

Network layer. Key Network-Layer Functions. Network service model. Interplay between routing and forwarding. CSE 4213: Computer Networks II

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

Chapter 4: Network Layer. Chapter 4 Network Layer. Chapter 4: Network Layer. Network layer. Chapter goals:

COM-208: Computer Networks - Homework 6

CS118 Discussion Week 7. Taqi

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

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

ETSF10 Internet Protocols Routing on the Internet

CS 3516: Computer Networks

CSCD 330 Network Programming Spring 2018

Network layer: Overview. Network layer functions Routing IP Forwarding

Transcription:

Lecture 19: Network Layer Routing in the Internet COMP 332, Spring 2018 Victoria Manfredi Acknowledgements: materials adapted from Computer Networking: A Top Down Approach 7 th edition: 1996-2016, J.F Kurose and K.W. Ross, All Rights Reserved as well as from slides by Abraham Matta at Boston University, and some material from Computer Networks by Tannenbaum and Wetherall.

1. Announcements homework 7 due today Wed. 11:59p run the traceroute command and look at traffic in wireshark compare with pkts you re generating 2. Internet routing overview intra-as routing inter-as routing 3. Internet Control Message Protocol (ICMP) vumanfredi@wesleyan.edu 2

Internet Routing vumanfredi@wesleyan.edu 3

Need to address Internet reality 1. Internet is network of networks hierarchical structure routers not all identical some routers connect different networks together each network admin may want to control routing in its own network 2. Scalability with billions of destinations don t all fit in one routing table can t exchange routing tables this big would use all link capacity vumanfredi@wesleyan.edu 4

Aggregate routers into regions called Autonomous Systems Autonomous Systems (AS) aka domain network under single administrative control company, university, ISP, 30,000+ ASes: AT&T, IBM, Wesleyan each AS has a unique 16-bit AS # Wesleyan: AS167 BBN: used to be AS1: was first org to get AS # then L3 later acquired 5

Idea impose 2 nd hierarchy on Internet: limits which routers talk to each other 1 st hierarchy: address hierarchy governs how packets are forwarded 2-level route propagation hierarchy intra AS routing protocol between routers in same AS aka intra domain routing protocol aka interior gateway protocol each AS selects its own inter AS routing protocol between gateway routers in different ASes aka inter domain routing protocol aka exterior gateway protocol Internet-wide standard Focus is performance Policy may dominate performance Q: Can routers in different ASes run different intra AS routing protocol? Q: Why are there different intra and inter-as protocols? 6

Forwarding table 3c 3a 3b AS3 intra-as sets entries for internal dsts inter-as & intra-as sets entries for external dsts 1a 1c 1d 1b Intra-AS Routing algorithm AS1 2a Inter-AS Routing algorithm 2c 2b AS2 Gateway router at edge of its own AS direct link to router in another AS perform inter-as as well as intra-as routing Forwarding table distributes results of inter-as routing to other routers in AS vumanfredi@wesleyan.edu 7

Suppose AS1 learns (via inter-as protocol) subnet x is reachable via AS3 (gateway 1c) but not via AS2 inter-as protocol propagates reachability info to all internal routers Router 1d determines from intra-as routing info that its interface y is on least cost path to 1c. installs forwarding table entry (x,y) x 3c 3a 3b AS3 1a 1c 1d 1b AS1 2a 2c 2b AS2 Q: What if multiple ASes can be used to reach x? 8

Suppose AS1 learns from inter-as protocol subnet x is reachable from AS3 and from AS2 To configure forwarding table, router 1d must determine towards which gateway it should forward packets for dst x may take policy into account this is also job of inter-as routing protocol! 3c 3a 3b AS3 1a 1c 1d x 1b AS1 2a 2c 2b AS2 vumanfredi@wesleyan.edu 9

Internet ROUTING vumanfredi@wesleyan.edu 10

Suppose router in AS1 receives pkt destined outside of AS1 router should forward packet to gateway router, but which one? AS1 must learn which dsts are reachable through AS2, which through AS3 propagate this reachability info to all routers in AS1 job of inter-as routing! 3c other networks 3b 3a AS3 1a AS1 1c 1d 1b 2a 2c AS2 2b other networks vumanfredi@wesleyan.edu 11

RIP Routing Information Protocol distance vector protocol (E)IGRP (Enhanced) Interior Gateway Routing Protocol IS-IS OSPF Cisco proprietary for decades, until 2016 distance vector protocol Intermediate System to Intermediate System link state protocol Open Shortest Path First link state protocol vumanfredi@wesleyan.edu 12

Open i.e., publicly available Link-state algorithm 1. each router floods its link state to all other routers in AS messages carried directly over IP message authentication possible supports both unicast (1src 1dst) and multicast (1src - multiple dst) 2. each router builds topology map 3. route computation using Dijkstra s can have multiple paths with same cost traffic can go over different paths can have different costs per link depending on type of service e.g., satellite link cost: low for best effort, high for real time vumanfredi@wesleyan.edu 13

2-level hierarchy local area backbone Boundary router connect to other ASes backbone Backbone router run OSPF routing limited to backbone area 1 Area border routers summarize distances to networks in own area, advertise to other Area Border routers area 2 Internal routers area 3 Link-state advertisements only in area: internal routers have detailed area topology but only know direction (shortest path) to networks in other areas (like distance vector between areas) 14

Internet ROUTING vumanfredi@wesleyan.edu 15

The de facto inter-domain routing protocol glue that holds the Internet together path vector protocol BGP provides each AS a means to ebgp: external obtain subnet reachability info (routes) from neighboring ASes ibgp: internal propagate externally learned reachability info (routes) to all routers in AS similar to intra-as routing protocols but more scalable determine good routes to other networks based on reachability info and policy Allows subnet to advertise its existence to rest of Internet I am here Q: why do all ASes need to use same inter-as protocol 16

2b 1b 2a 2c 3b 1a 1c 2d 3a 3c 1d AS 2 3d AS 1 ebgp connectivity ibgp connectivity AS 3 1c gateway routers run both ebgp and ibgp protocols vumanfredi@wesleyan.edu 17

Similarities with distance vector per dst route info advertised no global sharing of network topology iterative distributed convergence AS advertises to other ASes its best route to 1 or more IP prefixes AS selects best route it hears advertised for a prefix Differences from distance vector selects best route based on policy not min cost path vector routing advertises entire path for each dst rather than cost allows policies based on full path avoids loop: if your AS is in path then discard selective route advertisements choose not to advertise route to dst for policy reasons aggregate routes for scalability: e.g., a.b.*.* and a.c.*.* become a.*.*.* vumanfredi@wesleyan.edu 18

Advertised prefix includes BGP attributes prefix + attributes = BGP route 2 important attributes AS-PATH list of ASes through which prefix advertisement has passed NEXT-HOP indicates specific internal-as router to next-hop AS Policy-based routing gateway receiving route advertisements uses import policy to accept/decline path e.g., never route through AS Y determines whether to advertise path to other neighboring ASes vumanfredi@wesleyan.edu 19

Two BGP routers ( peers ) exchange BGP messages over semi-permanent TCP connection advertise paths to different destination network prefixes AS3 gateway router 3a advertises path AS3,X to AS2 gateway router 2c i.e., AS3 promises to AS2 it will forward packets towards X AS 1 1b AS 3 3b 1a 1d 1c AS 2 2a 2b 2c 3a 3d 3c BGP advertisement: AS3, X X 2d 20

AS1 1b AS3 3b 1a 1d 1c AS2,AS3,X AS2 2a 2b 2c 3a AS3,X 3d 3c X 2d AS2 gateway router 2c receives path advertisement AS3,X (via ebgp) from AS3 router 3a Based on AS2 policy AS2 router 2c accepts path AS3,X propagates (via ibgp) to all AS2 routers AS2 router 2a advertises (via ebgp) path AS2,AS3,X to AS1 router 1c vumanfredi@wesleyan.edu 21

Gateway router may learn about multiple routes to dst AS Route to use is up to AS but various strategies routes through peer ASes are better (don t pay) shorter AS paths are better lower cost within AS is better hot potato routing: choose local gateway with lowest intra AS cost In practice BGP uses a more complicated version of hot potato routing vumanfredi@wesleyan.edu 22

AS1 1b AS3 3b 1a 1d 1c AS2,AS3,X AS2 2a 2b 2c 3a AS3,X 3d 3c X 2d AS1 gateway router 1c learns path AS2,AS3,X from 2a learns path AS3,X from 3a based on policy chooses path AS3,X, and advertises path within AS1 via ibgp vumanfredi@wesleyan.edu 23

Q: how does router set forwarding table entry to distant prefix? AS1 1a local link interfaces at 1a, 1d 1 2 2 1b 1c 1d 1 AS2,AS3,X AS2 2a 2b 2d 2c AS3 3a AS3,X 3b 3d 3c physical link X dest interface X 1 1a, 1b, 1d learn about dst X via ibgp from 1c path to X goes through 1c 1d: OSPF intra-domain routing to get to 1c, forward over outgoing local interface 1 24

Q: how does router set forwarding table entry to distant prefix? AS1 1a 1 2 1b 1d 1c AS2 2a 2b 2c AS3 3a 3b 3d 3c X 2d dest interface X 2 1a, 1b, 1d learn about dst X via ibgp from 1c path to X goes through 1c 1d: OSPF intra-domain routing to get to 1c, forward over outgoing local interface 1 1a: OSPF intra-domain routing to get to 1c, forward over outgoing local interface 2 25

Political, economic, security considerations Shaped by business relationships between ASes AS1 is customer of AS2 (AS 1 pays AS2) AS1 is provider of AS 2 AS1 is peer of AS 2 (peers don t pay each other to exchange traffic) E.g., don t want to carry commercial traffic on university network traffic to apple shouldn t transit through google pentagon traffic shouldn t transit through Iraq Why BGP is so complicated! vumanfredi@wesleyan.edu 26

B legend: provider network W A C X customer network: Y A,B,C are provider networks X,W,Y are customer (of provider networks) X is dual-homed: attached to two networks Policy to enforce X does not want to route from B to C via X... so X will not advertise to B a route to C vumanfredi@wesleyan.edu 27

Policy inter-as admin wants control over how its traffic routed, who routes through its net intra-as single admin, so no policy decisions needed Scale hierarchical routing saves table size, reduced update traffic Performance inter-as policy may dominate over performance intra-as can focus on performance vumanfredi@wesleyan.edu 28

INTERNET CONTROL MESSAGE PROTOCOL vumanfredi@wesleyan.edu 29

Used by hosts & routers to communicate network-level information error reporting unreachable host, network, port, protocol echo request/reply used by ping) network-layer above IP ICMP msgs carried in IP pkts ICMP message type, code plus first 8 bytes of IP pkt causing error Type Code Description 0 0 echo reply (ping) 3 0 dest. network unreachable 3 1 dest host unreachable 3 2 dest protocol unreachable 3 3 dest port unreachable 3 6 dest network unknown 3 7 dest host unknown 4 0 source quench (congestion control - not used) 8 0 echo request (ping) 9 0 route advertisement 10 0 router discovery 11 0 TTL expired 12 0 bad IP header vumanfredi@wesleyan.edu 30

Source sends series of segments or packets to destination first set has TTL =1 second set has TTL=2, etc. unlikely port number When nth set arrives to nth router router discards and sends source ICMP message (type 11, code 0) ICMP message includes name of router & IP address When ICMP msg arrives source records RTTs Stopping criteria TCP segment or UDP datagram eventually arrives at dst host dst returns ICMP port unreachable message source stops 3 probes 3 probes 3 probes Q: why can traceroute work with segments, datagrams, or packets? 31

We re generating an ICMP echo request Intermediate routers respond with ICMP ttlexpired Final destination responds with ICMP echo reply vumanfredi@wesleyan.edu 32