COMPSCI 314: IP routing

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

Routing Protocols. Autonomous System (AS)

Unit 3: Dynamic Routing

CS321: Computer Networks Unicast Routing

Routing, Routing Algorithms & Protocols

Chapter 4: Advanced Internetworking. Networking CS 3470, Section 1

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

CSCE 463/612 Networks and Distributed Processing Spring 2018

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

Why dynamic route? (1)

CSc 450/550 Computer Networks Internet Routing

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

Computer Networks ICS 651. IP Routing RIP OSPF BGP MPLS Internet Control Message Protocol IP Path MTU Discovery

Network layer: Overview. Network layer functions Routing IP Forwarding

Basic Idea. Routing. Example. Routing by the Network

Routing by the Network

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

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

CSCD 330 Network Programming Spring 2018

Chapter 7: Routing Dynamically. Routing & Switching

CSCD 330 Network Programming Spring 2017

Routing & Protocols 1

ICS 351: Today's plan. OSPF BGP Routing in general

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

Planning for Information Network

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

CS BGP v4. Fall 2014

Network Layer: Routing

Routing in the Internet

Internet Routing Protocols Tuba Saltürk

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

Computer Networking Introduction

Routing(2) Inter-domain Routing

Architectures and Protocols for Integrated Networks. Intra-domain and Inter-domain Routing Protocols

Determining IP Routes. 2000, Cisco Systems, Inc. 9-1

Chapter 4: Network Layer, partb

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

Routing Protocols of IGP. Koji OKAMURA Kyushu University, Japan

Internet Routing : Fundamentals of Computer Networks Bill Nace

Chapter 7 Routing Protocols

Routing(2) Inter-domain Routing

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

Chapter 4: outline. Network Layer 4-1

Routing Protocols --- Exterior Gateway Protocol

TDC 363 Introduction to LANs

ICS 351: Today's plan. distance-vector routing game link-state routing OSPF

Chapter 22 Network Layer: Delivery, Forwarding, and Routing 22.1

Routing Protocols. The routers in an internet are responsible for receiving and. forwarding IP datagrams through the interconnected set of

Routing Basics ISP/IXP Workshops

Routing(2) Inter-domain Routing

Lecture 19: Network Layer Routing in the Internet

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

CS118 Discussion Week 7. Taqi

ICS 351: Today's plan. OSPF BGP Routing in general routing protocol comparison encapsulation network dynamics

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

Routing Basics ISP/IXP Workshops

IP Routing Tecnologie e Protocolli per Internet II rev 1

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

Routing Protocol. Seiya Tsubone. Apr The University of Tokyo. Seiya Tsubone (The University of Tokyo) Routing Protocol Apr. 25.

Routing Basics. Campus Network Design & Operations Workshop

CHAPTER 4: ROUTING DYNAMIC. Routing & Switching

Chapter 3. Introduction to Dynamic Routing Protocols. CCNA2-1 Chapter 3

Lecture 12. Introduction to IP Routing. Why introduction? Routing

Ravi Chandra cisco Systems Cisco Systems Confidential

Routing. Advanced Computer Networks: Routing 1

Network Layer, Part 2 Routing. Terminology

Master Course Computer Networks IN2097

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

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

Finish Network Layer Start Transport Layer. CS158a Chris Pollett Apr 25, 2007.

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

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

Chapter IV: Network Layer

Internet Protocol: Routing Algorithms. Srinidhi Varadarajan

BTEC Level 3 Extended Diploma

COMP/ELEC 429 Introduction to Computer Networks

Inter-Domain Routing: BGP

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

To contain/reduce broadcast traffic, we need to reduce the size of the network (i.e., LAN).

Redesde Computadores(RCOMP)

COMPARATIVE ANALYSIS OF ROUTING PROTOCOLS

Routing. Outline. Algorithms Scalability

Top-Down Network Design, Ch. 7: Selecting Switching and Routing Protocols. Top-Down Network Design. Selecting Switching and Routing Protocols

EECS 122, Lecture 16. Link Costs and Metrics. Traffic-Sensitive Metrics. Traffic-Sensitive Metrics. Static Cost Metrics.

CS4700/CS5700 Fundamentals of Computer Networks

Routing Protocols. Technology Description BGP CHAPTER

Routing Basics. ISP Workshops

CCNA 3 (v v6.0) Chapter 5 Exam Answers % Full

Chapter 4: Network Layer

CSC 4900 Computer Networks: Routing Protocols

CS 457 Networking and the Internet. Shortest-Path Problem. Dijkstra s Shortest-Path Algorithm 9/29/16. Fall 2016

Link State Routing & Inter-Domain Routing

Routing Architecture. Objectives. Module 2 Routing Fundamentals. Author: Rolf Augstein January 2006

Introduction to Routing

ITTC Introduction to Communication Networks The University of Kansas EECS 563 Network Routing

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

Building the Routing Table. Introducing the Routing Table Directly Connected Networks Static Routing Dynamic Routing Routing Table Principles

Inter-domain Routing. Outline. Border Gateway Protocol

Top-Down Network Design

Dynamic Routing. The Protocols

Transcription:

COMPSCI 314: IP routing Nevil Brownlee with thanks to Brian Carpenter n.brownlee@auckland.ac.nz Lecture

Topics Routing the problem Approaches (K&R 4.1.1) Shay 10.4 Algorithms (K&R 4.) Dijkstra (K&R 4..1) Shay 10. Bellman-Ford (K&R 4..) Shay 10.6 Protocols (K&R 4.6) Shay 10.7 RIP OSPF BGP Final points (Shay 10.8)

Routing related to distance How do we connect devices re s sin g In the same room? In the next room? (tens) Cable/radio boundary In the next building? (100s) + Admin boundary In the next department? + Funding boundary In the next campus? (1000s) + Political boundary In the next country? (millions) In the next continent? (billions) Lo gic al ad ro dre ute ssi ng rs : Ph ys ic al a dd Distance, cost and numbers increase; must share costs and cables, but separate administration 3

Routing: the problem (1) B A R33 C R3 R1 R3 R34 R R6 R3 R R0 R1 R4 R98 R96 R R3 R97 R99 R40 X Y 4

Terminology note (if you haven't done CS 0) This sort of picture shows what mathematicians call a graph, and there is a lot of graph theory A graph consists of numbered vertices connected by edges: V1 V would be the edge from vertex 1 to For a program, a graph can be thought of as an array of vertices and a matrix of edges of course, not all edges exist; R R3 does not exist so its matrix entry will be zero

Graphs in programs Representing a graph: ordered list of vertex names: V1='A', V='R1',...V='R99',V3='X',V4='Y' list of edges (i.e. a sparse matrix) Ai = (Vs, Vd, W) (source, destination, and a parameter for each edge) A path through the graph is represented by an ordered list of edges walking the graph means an algorithm that starts at a given vertex and builds paths by searching the list of edges that meet up (the destination of one edge is the source of the next) 6

Routing: the problem () Choose the best path from A to X, knowing (at A) only the logical address of X Best could mean Smallest number of hops Shortest time delay Least congested Cheapest Administratively allowed Easiest to discover Any combination of the above Solution must be reasonably quick and guaranteed to avoid loops and deadlocks 7

Approaches to dynamic routing Confine routing intelligence to specialised router boxes end-systems mainly send everything to their default router Routers build connectivity maps and exchange routing information with their neighbours Two major approaches distance vector routing: router informs neighbours of its best paths. Each router calculates best paths for itself based on neighbour's paths link state routing: router exchanges link status info with its neighbours. Each router relies on accuracy of its neighbours' status info in calculating best paths through the whole map 8

DV Routing: Bellman-Ford algorithm Router computes a table of its distance to each other router in the same network distance 1 = 1 hop, = hops etc. Sends this table to its neighbours Recomputes its own table using tables from its neighbours Works, but sending complete tables doesn't scale well and is slow to converge after a change link down condition can lead to loops, as the distance increases towards infinity 9

Bellman-Ford: the computation (1) Compute the shortest path from R1 to all Rn knowing the topology of the router graph initialize each distance D(R1,Rn)=, except D(R1,R1)=0 for each edge Rx Ry in the graph (starting with R1) if D(R1,Ry)> D(R1,Rx)+1 then D(R1,Ry):= D(R1,Rx)+1 at this point, each D(R1,Rn)is the length of the shortest path from R1 to Rn the algorithm also keeps track of the next hop router from R1 for the path 10

Bellman-Ford: the computation () that dealt with paths from R1. For complete routing tables, run again starting from R, R3... note that algorithm processes every edge times every node! the +1 above is a simplification where all paths have equal weight. It should be a weight W(x,y) to allow for administrative preferences for certain links: if D(R1,Ry)>D(R1,Rx)+W(x,y) then D(R1,Ry):=D(R1,Rx)+W(x,y) is allowed by the algorithm, but can lead to loops, which can be detected if any D(R1,Ry)>D(R1,Rx)+W(x,y)condition exists after the algorithm ends W(x,y)<0 11

Bellman-Ford paths B A R33 C R3 R1 R3 R34 R R6 R3 R R0 R1 R4 R98 R96 R R3 R97 R99 R40 X Y 1

Link State Routing: Dijkstra algorithm Also called shortest path first or SPF (This was covered in COMPSCI 0) First we'll describe the algorithm in the abstract Then a few comments 13

Dijkstra: the computation initialize each distance D(R1,Rn)=, except D(R1,R1)=0 mark all D's as tentative, except D(R1,R1)as final for each edge Rx Ry starting from R1, if D(R1,Ry)>D(R1,Rx)+W(x,y) then D(R1,Ry):=D(R1,Rx)+W(x,y) when all paths to Ry have been checked, Ry is removed from scanning of graph and its current D(R1,Ry) is marked as final i.e. we only minimise the path to Ry once; in Bellman-Ford we did it for every path through Ry W(x,y)<0 is not allowed 14

Dijkstra paths (snapshot) B A R33 C R3 R1 R3 R34 R X R6 Already final R3 R R0 R1 R4 R98 R96 R X R99 R40 R3 Next to go R97 Still tentative X Y 1

CS314 traditional Dijkstra example: progressive evaluation 1 6 6 6 6 8 4 1 6 6 8 (d) 9 1 4 6 6 6 8 3 3 4 9 6 6 8 4 1 3 3 6 (f) 6 8 3 3 6 11 1 3 (e) 8 3 11 1 3 (c) (b) (g) 1 3 (a) 11 8 3 3 16

Link State: comments Algorithm processes many fewer edges than BellmanFord once a distance is final that node is no longer considered Also, each node receives neighbours' link state tables so doesn't have to start from D(R1,Rn)= whether this saving matters depends on size of graph and frequency of changes trust neighbours' path lengths OK if you can trust your neighbours Link State versus Distance Vector was quite a battle in the technical community some years ago, so we have a variety of routing protocols in service today. We'll talk about two: OSPF (LS) and BGP (modified DV) 17

IGP and EGP IGP = Interior Gateway Protocol a name for any site-wide routing protocol used within a campus or company network, or within a single ISP s network (routers were originally called gateways) examples: RIP, OSPF EGP = Exterior Gateway Protocol a name for any wide-area routing protocol used to interconnect sites and ISPs sometimes known as IDR (inter-domain routing) the only example in use is BGP4 18

OSPF: Open Shortest Path First A common Internet LS protocol for IGP use Dijkstra is executed as a distributed algorithm each router computes its own shortest paths conceptually, OSPF runs within a finite domain known as an Autonomous System (AS) It distinguishes routers from networks within the AS Networks can be stub or transit networks each router keeps a Link State database the router's Link State Advertisements (LSAs) to its neighbours can be read out of this database 19

OSPF conceptual model A B R1 C N1: Stub net 10.1..0/4 Autonomous System R3 R N: Transit net 19.0..0/4 R1 N3: Transit net 19.0.3.0/4 0

Contents of Link State database The vertices in the network graph will be: N1, N, N3, R1, R, R3, R1 Edges will be Rx Ry, Nx Ry or Rx Ny (never Nx Ny) For each destination, LS database lists IP address (and mask) of destination IP address of first hop towards destination interface number for first hop distance metric for destination External networks (outside the AS) will typically have large metrics 1

Splitting very large ASs OSPF already allows an AS to contain logically separate networks For a large campus, it is possible to split the AS into logically separate areas which each run their own SPF computations reduces overhead within each area area 0 then acts as a campus backbone inter-area routes cross the backbone More efficient operation in a large network glitches in one department don't affect another

OSPF areas help to organise layout 10.1..0/4 B A C R1 R Music department (area 1) R3 19.0..0/4 R6 R3 R R1 19.0.3.0/4 R98 R97 Backbone (area 0) R99 Dance department (area ) X Y 3

Flavours of OSPF router Internal Designated connected to the backbone Area and at least one normal Area. Computes routes for each Backbone when >1 routers on a LAN, one is designated to send LSAs Area Border connected to LANs and links within an Area connected to the backbone Area AS Boundary advertises routes to the outside world 4

What causes an LSA to be updated? Its lifetime expires Interface up/down Designated router for a LAN changes Change of state of neighbour router Intra-area route changes in border router Inter-area route changes Border router attaches to new area Backbone topology change (virtual route change) External route change AS Boundary router down

OSPF message types 1 Hello Discover/maintain neighbours Database Description Summarise database contents 3 Link State Request Request database download 4 Link State Update Send database update Link State Ack Acknowledge an update (not abbreviated as LSA) Link State Updates carry the LSAs (Link State Advertisements) of the sending router and LSAs from its upstream routers Within an Area, LSAs describe link state in detail, similar to RIP Beyond an Area, LSAs summarise routes per network 6

How OSPF operates Each router sends its LSAs in one or more Link State Update messages when timer expires whenever an LSA changes when a LS Request message is received Recalculates its LSAs whenever it receives an LSU Response which includes running Dijkstra algorithm That is enough for all routers to have up-to-date routing tables We've skipped many details convergence times and scaleability significantly better than RIP (which we didn't discuss) 7

BGP4: Border Gateway Protocol v4 The only Exterior Gateway Protocol (EGP) in use today BGP4 is a modified Distance Vector protocol, sometimes called a Path Vector protocol It provides routing between Autonomous Systems, which are networks running their own Interior Gateway Protocol (IGP) internally BGP4's path vector is a sequence of AS numbers, i.e. an 'AS path' through the Internet 8

The problem BGP solves Assume every site is running an IGP. The world now needs to find routes to the site, for a set of networks, e.g. 19.0..0/4, 19.0.3.0/4, 130.16.0.0/16 a site may have several unrelated address blocks a consumer ISP looks like a site in the world, there are hundreds of 1000s of sites How can any site find routes to any other site? starting point: the default route 0.0.0.0 in the IGP points to a site exit router the ISP accepts packets via an ingress router it needs IGP routes to its customer sites and BGP routes to everything else 9

Overview of the BGP4 system Stub S+T T Stub T T T T T T Stub Stub T T Stub T S+T Autonomous System (AS) Stub Stub User site Subscribers T = Transit AS S+T = Stub + Transit AS 30

Site and ISP topology 19.0..0/4 19.0.3.0/4 130.16.0.0/16 Site (e.g. campus) OSPF R3 default Other sites R6 R3 R R1 BGP4 R101 BGP4 IGP Transit ISP R98 BGP4 R97 Other ISPs 31

BGP4 AS Paths BGP formalises the concept of Autonomous System Over-simplifying, each ISP and each major customer has an AS number (3 bits) Several ASs can in fact be federated so they appear externally as a single AS An AS path is basically a list of AS numbers that leads to a given destination A destination is a network address/mask, usually called a prefix in BGP 130.16.0.0/16 is UoA s IPv4 prefix 3

AS topology 19.0..0/4 19.0.3.0/4 130.16.0.0/16 OSPF AS 9431 (stub) R3 default Other stub ASs R6 R3 R R1 BGP4 R101 BGP4 IGP AS 380 (transit) R98 BGP4 R97 Other ISPs 33

BGP Messages Open Update routing information (see below) Notification sent when a link to a neighbour BGP speaker comes up sent when a link to a neighbour BGP speaker is intentionally closed Keepalive Note no Request message in BGP 34

BGP update messages BGP speakers send updates to their BGP neighbours They contain various attributes per destination Origin of information (IGP or EGP) AS Path IP address of next hop (if not the sender of the update) Unreachable (if announcing a path failure) Metric (only within an AS; BGP does not weight links) Community (see below) 3

BGP communities BGP supports routing policies instead of weights The community attribute, if used, acts as a label for a group of destinations, so that policy rules can be applied to the group Example rule: do not use paths to this community that include AS168 (AS numbers 10-376 are assigned to the US Department of Defense) 36

BGP operation When a BGP router receives an update it filters the update according to local policy rules, discarding AS paths that its policy rejects then runs Bellman-Ford over the resulting DV table (but uses AS path length as the metric, hence the phrase path vector ) then generates update messages for its other neighbours When a BGP router observes a link failure it updates its DV table, runs Bellman-Ford, and generates update messages for its neighbours 37

Aggregation Today's global BGP4 table has about 0,000 entries (> per AS number) see history at http://bgp.potaroo.net/ It's only that small because BGP aggregates adjacent prefixes in a binary tree. 19.0..0/4 and 19.0.3.0/4 can be aggregated as 19.0..0/3, etc. Two prefixes that share an AS path are aggregated if possible, before advertising the path 38

BGP in practice BGP4 is the routing protocol that makes the Internet work without BGP aggregation, the Internet would have melted down many years ago, with several times more entries in the global table today, hardware improvements are roughly keeping up with growth but the number of dynamic updates is some cause for concern. What if updates start to arrive faster than they can be processed and passed on to the neighbours? 39

Missing routing topics No time in this course to discuss MPLS (MultiProtocol Label Switching) layer. technique for building semi-permanent switched paths across a backbone network used by many ISPs underneath the traditional IGP Alternative IGPs IS-IS (Intermediate System - Intermediate System) ibgp (interior BGP, used as an IGP by many ISPs) EIGRP (Cisco proprietary IGP) Multicast routing (one source, many destinations) 40

Routing related to distance How do we connect devices Routers Switches In the same room? In the next room? (tens) In the next building? (100s) In the next department? In the next campus? (1000s) In the next country? (millions) In the next continent? (billions) AC ning boundary MCable/radio n a Sp e re +tadmin boundary PF +SFunding boundary O LS P +MPolitical boundary P4 G B Distance, cost and numbers increase; must share costs and cables, but separate administration 41