Link-State Routing OSPF

Similar documents
Link State Rou.ng Reading: Sec.ons 4.2 and 4.3.4

Link State Rou.ng Reading: Sec.ons 4.2 and 4.3.4

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

More Routing. EE122 Fall 2012 Scott Shenker

Redes de Computadores. Shortest Paths in Networks

Lecture 12: Link-state Routing. Lecture 12 Overview. Router Tasks. CSE 123: Computer Networks Chris Kanich. Routing overview

CS 5114 Network Programming Languages Control Plane. Nate Foster Cornell University Spring 2013

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

Computer Networking. Intra-Domain Routing. RIP (Routing Information Protocol) & OSPF (Open Shortest Path First)

What is Routing? EE 122: Shortest Path Routing. Example. Internet Routing. Ion Stoica TAs: Junda Liu, DK Moon, David Zats

CS4450. Computer Networks: Architecture and Protocols. Lecture 11 Rou+ng: Deep Dive. Spring 2018 Rachit Agarwal

CSCD 330 Network Programming Spring 2018

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

CSCD 330 Network Programming Spring 2017

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

Internet Routing. Shortest-Path Routing. Intra-Domain Routing and Traffic Engineering. Two-Tiered Internet Routing System

COMP/ELEC 429/556 Introduction to Computer Networks

Overview. Problem: Find lowest cost path between two nodes Factors static: topology dynamic: load

Routing, Routing Algorithms & Protocols

CS 457 Networking and the Internet. What is Routing. Forwarding versus Routing 9/27/16. Fall 2016 Indrajit Ray. A famous quotation from RFC 791

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

DATA COMMUNICATOIN NETWORKING

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

Overlay Networks. Behnam Momeni Computer Engineering Department Sharif University of Technology

CHAPTER 9: PACKET SWITCHING N/W & CONGESTION CONTROL

Let s focus on clarifying questions. More Routing. Logic Refresher. Warning. Short Summary of Course. 10 Years from Now.

Chapter 4 Network Layer

Advanced Topics in Routing

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

Fairness Example: high priority for nearby stations Optimality Efficiency overhead

Chapter 4: Network Layer, partb

Routing, Routers, Switching Fabrics

Professor Yashar Ganjali Department of Computer Science University of Toronto.

CompSci 356: Computer Network Architectures. Lecture 12: Dynamic routing protocols: Link State Chapter Xiaowei Yang

Lecture on Computer Networks

CSC 401 Data and Computer Communications Networks

LS Example 5 3 C 5 A 1 D

Communication Networks

Routing Basics. Campus Network Design & Operations Workshop

Communication Networks

Interplay between routing, forwarding

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

Network layer: Overview. Network layer functions Routing IP Forwarding

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

Internet Protocol: Routing Algorithms. Srinidhi Varadarajan

Network Layer: Routing

Routing Algorithms : Fundamentals of Computer Networks Bill Nace

CompSci 356: Computer Network Architectures. Lecture 13: Dynamic routing protocols: Link State Chapter 3.3.3, Xiaowei Yang

Topics for Today. Network Layer. Readings. Introduction Addressing Address Resolution. Sections 5.1,

The Network Layer and Routers

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala Set 6. September 16 CMSC417 Set 3 1

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

ETSF05/ETSF10 Internet Protocols Routing on the Internet

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

C13b: Routing Problem and Algorithms

ECE 158A: Lecture 5. Fall 2015

ETSF05/ETSF10 Internet Protocols. Routing on the Internet

IP Forwarding Computer Networking. Graph Model. Routes from Node A. Lecture 11: Intra-Domain Routing

Routing. Advanced Computer Networks: Routing 1

CSC 4900 Computer Networks: Routing Algorithms

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

Routing in a network

Top-Down Network Design

Network layer: Overview. Network layer functions Routing IP Forwarding

Which of the following describe the process identifier that is used to run OSPF on a router? (Choose two)

Routing. 4. Mar INF-3190: Switching and Routing

OSPF Sham-Link Support for MPLS VPN

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala Set 6. April 12 CMSC417 Set 6 1

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

Introduction to OSPF

BTEC Level 3 Extended Diploma

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala Set 6. February 15 CMSC417 Set 6 1

IP Forwarding Computer Networking. Routes from Node A. Graph Model. Lecture 10: Intra-Domain Routing

EE 122: Intra-domain routing

Dynamic Routing. The Protocols

5.2 Routing Algorithms

OSPF Protocol Overview on page 187. OSPF Standards on page 188. OSPF Area Terminology on page 188. OSPF Routing Algorithm on page 190

Link State Routing & Inter-Domain Routing

CMPE 150: Introduction to Computer Networks

Network Layer, Part 2 Routing. Terminology

CSE 461 Routing. Routing. Focus: Distance-vector and link-state Shortest path routing Key properties of schemes

Review: Routing in Packet Networks Shortest Path Algorithms: Dijkstra s & Bellman-Ford. Routing: Issues

Overview. Information About Layer 3 Unicast Routing. Send document comments to CHAPTER

Announcement. Project 2 extended to 2/20 midnight Project 3 available this weekend Homework 3 available today, will put it online

Module 8. Routing. Version 2 ECE, IIT Kharagpur

Chapter 4: Network Layer

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

Network Layer: Routing

Computer Network Architectures and Multimedia. Guy Leduc. Chapter 2 MPLS networks. Chapter 2: MPLS

How Routing Algorithms Work

Routing Protocols and the IP Layer

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

Chapter 4: Network Layer

Distance Vector Routing Protocols

CS 43: Computer Networks. 23: Routing Algorithms November 14, 2018

Overview 4.2: Routing

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

COMP 3331/9331: Computer Networks and Applications

Dynamics of Hot-Potato Routing in IP Networks

Table of Contents 1 Static Routing Configuration RIP Configuration 2-1

Transcription:

CE Computer Networks Link-State Routing OSPF Behnam Momeni Computer Engineering Department Sharif University of Technology Acknowledgments: Lecture slides are from Computer networks course thought by Jennifer Rexford at Princeton University. When slides are obtained from other sources, a reference will be noted on the bottom of that slide. A full list of references is provided on the last slide.

What is Routing? A famous quotation from RFC 79 A name indicates what we seek. An address indicates where it is. A route indicates how we get there. -- Jon Postel

Routing vs. Forwarding Routing: control plane Computing paths the packets will follow Routers talking amongst themselves Individual router creating a forwarding table Forwarding: data plane Directing a data packet to an outgoing link Individual router using a forwarding table

Data and Control Planes data plane Processor control plane Line card Line card Line card Switching Fabric Line card Line card Line card 5

Router Physical Layout Juniper T series Switch Linecards Cisco 000 6

Line Cards (Interface Cards, Adaptors) Interfacing Physical link Switching fabric to/from link Packet handling Packet forwarding Decrement time-to-live Buffer management Link scheduling Packet filtering Rate limiting Packet marking Measurement Receive lookup to/from switch Transmit 7

Switching Fabric Deliver packet inside the router From incoming interface to outgoing interface A small network in and of itself Must operate very quickly Multiple packets going to same outgoing interface Switch scheduling to match inputs to outputs Implementation techniques Bus, crossbar, interconnection network, Running at a faster speed (e.g., X) than links Dividing variable-length packets into fixed-size cells 8

Packet Switching Link, ingress Choose Link, egress Egress Link Link R Link Link Link, ingress Link, ingress Choose Egress Choose Egress Link, egress Link, egress Link, ingress Choose Egress Link, egress 9

Router Processor So-called Loopback interface IP address of the CPU on the router Interface to network administrators Command-line interface for configuration Transmission of measurement statistics Handling of special data packets Packets with IP options enabled Packets with expired Time-To-Live field Control-plane software Implementation of the routing protocols Creation of forwarding table for the line cards 0

Where do Forwarding Tables Come From? Routers have forwarding tables Map IP prefix to outgoing link(s) Entries can be statically configured E.g., map..58.0/ to Serial0/0. But, this doesn t adapt To failures To new equipment To the need to balance load That is where routing protocols come in

Computing Paths Between Routers Routers need to know two things Which router to use to reach a destination prefix Which outgoing interface to use to reach that router u z..58.0/ Interface along the path to z Router z that can reach destination Today s class: just how routers reach each other How u knows how to forward packets toward z

Computing the Shortest Paths (assuming you already know the topology)

Shortest-Path Routing Path-selection model Destination-based Load-insensitive (e.g., static link weights) Minimum hop count or sum of link weights 5

Shortest-Path Problem Given: network topology with link costs c(x,y): link cost from node x to node y Infinity if x and y are not direct neighbors Compute: least-cost paths to all nodes From a given source u to all other nodes p(v): predecessor node along path from source to v u 5 p(v) v 5

Dijkstraʼs Shortest-Path Algorithm Iterative algorithm After k iterations, know least-cost path to k nodes S: nodes whose least-cost path definitively known Initially, S = {u} where u is the source node Add one node to S in each iteration D(v): current cost of path from source to node v Initially, D(v) = c(u,v) for all nodes v adjacent to u and D(v) = for all other nodes v Continually update D(v) as shorter paths are learned 6

Dijsktraʼs Algorithm Initialization: S = {u} for all nodes v if (v is adjacent to u) 5 D(v) = c(u,v) 6 else D(v) = 7 8 Loop 9 find w not in S with the smallest D(w) 0 add w to S update D(v) for all v adjacent to w and not in S: D(v) = min{d(v), D(w) + c(w,v)} until all nodes in S 7

Dijkstraʼs Algorithm Example 5 5 5 5 8

Dijkstraʼs Algorithm Example 5 5 5 5 9

Shortest-Path Tree Shortest-path tree from u Forwarding table at u u v w x 5 s y t z v w x y z s t link (u,v) (u,w) (u,w) (u,v) (u,v) (u,w) (u,w) 0

Learning the Topology (by the routers talk amongst themselves)

Link-State Routing Each router keeps track of its incident links Whether the link is up or down The cost on the link Each router broadcasts the link state To give every router a complete view of the graph Each router runs Dijkstra s algorithm To compute the shortest paths and construct the forwarding table Example protocols Open Shortest Path First (OSPF) Intermediate System Intermediate System (IS-IS)

Detecting Topology Changes Beaconing Periodic hello messages in both directions Detect a failure after a few missed hellos hello Performance trade-offs Detection speed Overhead on link bandwidth and CPU Likelihood of false detection

Broadcasting the Link State Flooding Node sends link-state information out its links And then the next node sends out all of its links except the one where the information arrived X A X A C B D (a) C B D (b) X A X A C B D (c) C B D (d)

Broadcasting the Link State Reliable flooding Ensure all nodes receive link-state information and that they use the latest version Challenges Packet loss Out-of-order arrival Solutions Acknowledgments and retransmissions Sequence numbers Time-to-live for each packet 5

When to Initiate Flooding Topology change Link or node failure Link or node recovery Configuration change Link cost change Periodically Refresh the link-state information Typically (say) 0 minutes Corrects for possible corruption of the data 6

When the Routers Disagree (during transient periods) 7

Convergence Getting consistent routing information to all nodes E.g., all nodes having the same link-state database Consistent forwarding after convergence All nodes have the same link-state database All nodes forward packets on shortest paths The next router on the path forwards to the next hop 5 8

Transient Disruptions Detection delay A node does not detect a failed link immediately and forwards data packets into a blackhole Depends on timeout for detecting lost hellos 5 9

Transient Disruptions Inconsistent link-state database Some routers know about failure before others The shortest paths are no longer consistent Can cause transient forwarding loops 5 0

Convergence Delay Sources of convergence delay Detection latency Flooding of link-state information Shortest-path computation Creating the forwarding table Performance during convergence period Lost packets due to blackholes and TTL expiry Looping packets consuming resources Out-of-order packets reaching the destination Very bad for VoIP, online gaming, and video

Reducing Convergence Delay Faster detection Smaller hello timers Link-layer technologies that can detect failures Faster flooding Flooding immediately Sending link-state packets with high-priority Faster computation Faster processors on the routers Incremental Dijkstra s algorithm Faster forwarding-table update Data structures supporting incremental updates

Scaling Link-State Routing Overhead of link-state routing Flooding link-state packets throughout the network Running Dijkstra s shortest-path algorithm Introducing hierarchy through areas Area Area area border router Area 0 Area Area

Conclusions Routing is a distributed algorithm React to changes in the topology Compute the paths through the network Shortest-path link state routing Flood link weights throughout the network Compute shortest paths as a sum of link weights Forward packets on next hop in the shortest path Convergence process Changing from one topology to another Transient periods of inconsistency across routers