CSE 461: Link State Routing

Slides:



Advertisements
Similar presentations
CSCI-1680 Network Layer: Intra-domain Routing Based partly on lecture notes by David Mazières, Phil Levis, John Jannotti Rodrigo Fonseca.
Advertisements

CSE 561 – Bridging and Routing David Wetherall Spring 2000.
Courtesy: Nick McKeown, Stanford
1 LINK STATE PROTOCOLS (contents) Disadvantages of the distance vector protocols Link state protocols Why is a link state protocol better?
Routing - I Important concepts: link state based routing, distance vector based routing.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 22 Introduction to Computer Networks.
Chapter 4 Distance Vector Problems, and Link-State Routing Professor Rick Han University of Colorado at Boulder
Spring Routing & Switching Umar Kalim Dept. of Communication Systems Engineering 17/04/2007.
1 ELEN 602 Lecture 19 Routing. 2 Overview Forwarding vs Routing –forwarding: to select an output port based on destination address and routing table –routing:
Intradomain Routing EECS 122: Lecture 10 Department of Electrical Engineering and Computer Sciences University of California Berkeley.
CSE 461: Distance Vector Routing. Next Topic  Focus  How do we calculate routes for packets?  Routing is a network layer function  Routing Algorithms.
1 Computer Networks Routing Algorithms. 2 IP Packet Delivery Two Processes are required to accomplish IP packet delivery: –Routing discovering and selecting.
CSE 461: Link State Routing. Link State Routing  Same assumptions/goals, but different idea than DV:  Tell all routers the topology and have each compute.
CS 4700 / CS 5700 Network Fundamentals Lecture 9: Intra Domain Routing Revised 7/30/13.
1 Relates to Lab 4. This module covers link state routing and the Open Shortest Path First (OSPF) routing protocol. Dynamic Routing Protocols II OSPF.
Routing Algorithms (Ch5 of Computer Network by A. Tanenbaum)
Routing Concepts Warren Toomey GCIT. Introduction Switches need to know the link address and location of every station. Doesn't scale well, e.g. to several.
1 CS 4396 Computer Networks Lab Dynamic Routing Protocols - II OSPF.
13-Sep-154/598N: Computer Networks Address Translation Map IP addresses into physical addresses –destination host –next hop router Techniques –encode physical.
Spring 2008CS 3321 Intradomain Routing Outline Algorithms Scalability.
Packet-Switching Networks Routing in Packet Networks.
Routing Protocols RIP, OSPF, BGP. A Routing Protocol’s Job Is to Find a “Best” Path between Any Pair of Nodes Routers in a network exchange their routing.
Link-state routing  each node knows network topology and cost of each link  quasi-centralized: each router periodically broadcasts costs of attached.
Lecture 17 November 8Intra-domain routing November 13Internet routing 1 November 15Internet routing 2 November 20End-to-end protocols 1 November 22End-to-end.
Spring 2006CS 3321 Intradomain Routing Outline Algorithms Scalability.
1 Computer Communication & Networks Lecture 21 Network Layer: Delivery, Forwarding, Routing Waleed.
1 Version 3.1 Module 6 Routed & Routing Protocols.
4: Network Layer4b-1 OSPF (Open Shortest Path First) r “open”: publicly available r Uses Link State algorithm m LS packet dissemination m Topology map.
Spring 2000CS 4611 Routing Outline Algorithms Scalability.
1 Chapter 4: Internetworking (IP Routing) Dr. Rocky K. C. Chang 16 March 2004.
Spring Routing: Part I Section 4.2 Outline Algorithms Scalability.
CS 6401 Intra-domain Routing Outline Introduction to Routing Distance Vector Algorithm.
CEN 5501C - Computer Networks - Spring UF/CISE - Newman1 Computer Networks Chapter 12 – Routing Algorithm Concepts.
Chapter 7 Packet-Switching Networks Shortest Path Routing.
IP tutorial - #2 Routing KAIST Dept. of CS NC Lab.
1 Relates to Lab 4. This module covers link state routing and the Open Shortest Path First (OSPF) routing protocol. Dynamic Routing Protocols II OSPF.
+ Dynamic Routing Protocols 2 nd semester
Network Layer Routing Networks: Routing.
William Stallings Data and Computer Communications
Introduction to Dynamic Routing Protocol
Dynamic Routing Protocols II OSPF
Instructor Materials Chapter 5: Dynamic Routing
Routing and Switching Fabrics
CSE390 – Advanced Computer Networks
What Are Routers? Routers are an intermediate system at the network layer that is used to connect networks together based on a common network layer protocol.
Link-State Routing Protocols
Introduction to Internet Routing
Intra-Domain Routing Jacob Strauss September 14, 2006.
Routing: Distance Vector Algorithm
Chapter 5: Dynamic Routing
Dan LI CS Department, Tsinghua University
Dynamic Routing Protocols II OSPF
Routing in Packet Networks Shortest Path Routing
Road Map I. Introduction II. IP Protocols III. Transport Layer
CS 4700 / CS 5700 Network Fundamentals
Kuliah 5 ROUTING.
CS 3700 Networks and Distributed Systems
Link-State Routing Protocols
Intradomain Routing Outline Introduction to Routing
CS 640: Introduction to Computer Networks
Chapter 7 Packet-Switching Networks
ECE453 – Introduction to Computer Networks
CS 3700 Networks and Distributed Systems
Network Layer Routing Networks: Routing.
Computer Networking Lecture 10: Intra-Domain Routing
Link-State Routing Protocols
Routing Outline Algorithms Scalability Spring 2003 CS 332.
Routing and Switching Fabrics
Network Layer Routing.
OSPF Protocol.
Presentation transcript:

CSE 461: Link State Routing

Link State Routing Same assumptions/goals, but different idea than DV: Make sure all routers have a view of the global topology Have them all independently compute the best routes Note our good old “same input + same algorithm  consistent output” trick Two phases: Topology dissemination (flooding) New News travels fast. Old News should eventually be forgotten Shortest-path calculation (Dijkstra’s algorithm) - N log(n)

Flooding Each router monitors state of its directly connected links Periodically, send this information to your neighbors Generate a link state packet Contains router ID, link list, sequence number, time-to-live Store and forward LSPs received – if (ID, seqno) is more recent Remember this packet for routing calculations Forward LSP to all ports other than incoming ports This produces a flood; each LSP will travel over the same link at most once in each direction Flooding is fast, and can be made reliable with acknowledgments

Will B transmit this LSP to C or A? Why or why not? Example LSP generated by X at T=0 X A X A T=0 T=1 C B D C B D X A X A T=2 T=3 ? C B D C B D ? Will B transmit this LSP to C or A? Why or why not?

Flooding Sequence Numbers How do we keep the sequence number space From being exhausted? Use nonces instead of sequence numbers? (i.e., accept any LSP with a nonce not equal to the one stored) Why is this a bad idea? Just make the space really big (e.g., 128-bit)? What happens if we accidentally emit an n-1 seqno? Allow the sequence number space to wrap around?

Sequence Number Wraparound n-1 1 2 a >a <a Does this solve sequence number exhaustion?

ARPANet failed in 1981, because… a<b b A dying router emitted 3 LSPs with 3 very unlucky sequence numbers. Soon, the entire network was doing nothing but propagating these same three LSPs everywhere. a b<c c<a c

Other Complications When link/router fails need to remove old data. How? LSPs carry sequence numbers to determine new data Send a new LSP with cost infinity to signal a link down What happens if the network is partitioned and heals? Different LS databases must be synchronized Inconsistent data across routers  loops

Shortest Paths: Dijkstra’s Algorithm N: Set of all nodes M: Set of nodes for which we think we have a shortest path s: The node executing the algorithm L(i,j): cost of edge (i,j) (inf if no edge connects) C(i): Cost of the path from s to i. Two phases: Initialize C(n) according to received link states Compute shortest path to all nodes from s Link costs are symmetric

The Algorithm // Initialization M = {s} // M is the set of all nodes considered so far. For each n in N - {s} C(n) = L(s,n) // Find Shortest paths Forever { Unconsidered = N-M If Unconsidered == {} break M = M + {w} such that C(w) is the smallest in Unconsidered For each n in Unconsidered C(n) = MIN(C(n), C(w) + L(w,n)) }

Open Shortest Path First (OSPF) Most widely-used Link State implementation today Basic link state algorithms plus many features: Authentication of routing messages Extra hierarchy: partition into routing areas Only bordering routers send link state information to another area Reduces chatter. Border router “summarizes” network costs within an area by making it appear as though it is directly connected to all interior routers Load balancing

Distance Vector Message Complexity N: number of nodes in the system M: number of links D: diameter of network (longest shortest path) Da: Average degree of a node (# of outgoing links) Size of each update: Number of updates sent in one iteration: Number of iterations for convergence: Total message cost: Number of messages: Incremental cost per iteration:

Link State Message Complexity N: number of nodes in the system M: number of links D: diameter of network (longest shortest path) Da: Average degree of a node (# of outgoing links) Size of each update: Number of updates sent in one iteration: Number of iterations for convergence: Total message cost: Number of messages: Incremental cost per iteration:

Distance Vector vs. Link State When would you choose one over the other? Be warned when reading about this on the Internet: people rate implementations, not fundamentals Bandwidth consumed Memory used Computation required Robustness Functionality Global view of network vs. local? Troubleshooting? Speed of convergence

Why have two protocols? DV: “Tell your neighbors about the world.” Easy to get confused Simple but limited, costly and slow Number of hops might be limited Periodic broadcasts of large tables Slow convergence due to ripples and hold down LS: “Tell the world about your neighbors.” Harder to get confused More expensive sometimes As many hops as you want Faster convergence (instantaneous update of link state changes) Able to impose global policies in a globally consistent way load balancing

Cost Metrics How should we choose cost? To get high bandwidth, low delay or low loss? Do they depend on the load? Static Metrics Hopcount is easy but treats OC3 (155 Mbps) and T1 (1.5 Mbps) Can tweak result with manually assigned costs Dynamic Metrics Depend on load; try to avoid hotspots (congestion) But can lead to oscillations (damping needed)

Revised ARPANET Cost Metric Based on load and link Variation limited (3:1) and change damped Capacity dominates at low load; we only try to move traffic if high load 225 140 New metric (routing units) 90 75 60 30 9.6-Kbps satellite link 9.6-Kbps terrestrial link 56-Kbps satellite link 25% 50% 75% 100% 56-Kbps terrestrial link Utilization

Key Concepts Routing uses global knowledge; forwarding is local Many different algorithms address the routing problem We have looked at two classes: DV (RIP) and LS (OSPF) Challenges: Handling failures/changes Defining “best” paths Scaling to millions of users

Dijkstra Example – After the flood * * 1 10 2 3 9 4 6 7 5 2 The Unconsidered. The Considered

Dijkstra Example – Post Initialization * * 10 2 3 5 1 4 6 7 9 inf The Unconsidered. The Considered

The Under Consideration (w). Considering a Node 1 10 inf 10 2 3 9 4 6 7 5 inf 5 2 Cost updates of 8,14, and 7 The Unconsidered. The Considered The Under Consideration (w).

Pushing out the horizon 1 8 14 2 3 9 4 6 7 5 7 5 2 Cost updates of 13 The Unconsidered. The Considered The Under Consideration (w).

The Under Consideration (w). Next Phase 1 8 13 2 3 9 4 6 7 5 7 5 2 Cost updates of 9 The Unconsidered. The Considered The Under Consideration (w).

Considering the last node 1 8 9 2 3 9 4 6 7 5 7 5 2 The Unconsidered. The Considered The Under Consideration (w).

Dijkstra Example – Done 1 8 9 2 3 9 4 6 7 5 7 5 2