EE 122: Intra-domain routing: Link State

Slides:



Advertisements
Similar presentations
13 –Routing Protocols Network Layer4-1. Network Layer4-2 Chapter 4 Network Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd.
Advertisements

Data Communication and Networks Lecture 11 Internet Routing Algorithms and Protocols December 5, 2002 Joseph Conron Computer Science Department New York.
Routing - I Important concepts: link state based routing, distance vector based routing.
Network Layer-11 CSE401N: Computer Networks Lecture-9 Network Layer & Routing.
1 Dijkstra’s Shortest Path Algorithm Gordon College.
Introduction to Networking Bin Lin TA March 3 rd, 2005 Recital 6.
Routing & IP Routing Protocols
Network Layer4-1 Chapter 4: Network Layer Chapter goals: r understand principles behind network layer services: m routing (path selection) m dealing with.
Network Layer Design Isues Store-and-Forward Packet Switching Services Provided to the Transport Layer The service should be independent of the router.
Data Communication and Networks Lecture 7 Networks: Part 2 Routing Algorithms October 27, 2005.
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Link State and Distance Vector Routing Computer Science Division Department of Electrical.
Announcement r Project 2 extended to 2/20 midnight r Project 3 available this weekend r Homework 3 available today, will put it online.
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar1 ECSE-4730: Computer Communication Networks (CCN) Network Layer (Routing) Shivkumar.
1 EE 122: Shortest Path Routing Ion Stoica TAs: Junda Liu, DK Moon, David Zats (Materials with thanks to Vern.
4: Network Layer4a-1 14: Intro to Routing Algorithms Last Modified: 7/12/ :17:44 AM.
Announcement r Project 2 Extension ? m Previous grade allocation: Projects 40% –Web client/server7% –TCP stack21% –IP routing12% Midterm 20% Final 20%
Announcement r Project 2 due next week! r Homework 3 available soon, will put it online r Recitation tomorrow on Minet and project 2.
EE 122: Intra-domain routing Ion Stoica September 30, 2002 (* this presentation is based on the on-line slides of J. Kurose & K. Rose)
Routing Algorithm March 3 rd, Routing Graph abstraction for routing algorithms: graph nodes are routers graph edges are physical links  link cost:
CS 4700 / CS 5700 Network Fundamentals Lecture 9: Intra Domain Routing Revised 7/30/13.
Network Layer Goals: understand principles behind network layer services: –routing (path selection) –dealing with scale –how a router works –advanced topics:
Intra-Domain Routing D.Anderson, CMU Intra-Domain Routing RIP (Routing Information Protocol) & OSPF (Open Shortest Path First)
Network Layer r Introduction r Datagram networks r IP: Internet Protocol m Datagram format m IPv4 addressing m ICMP r What’s inside a router r Routing.
Link-state routing  each node knows network topology and cost of each link  quasi-centralized: each router periodically broadcasts costs of attached.
IP routing. Simple Routing Table svr 4% netstat –r n Routing tables DestinationGatewayFlagsRefcntUseInterface UGH00emd UH10lo0.
Network Layer4-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
13 – Routing Algorithms Network Layer.
The Network Layer Part 1: Routing EE 122, Fall 2013 Sylvia Ratnasamy
The Network Layer & Routing
1 Week 5 Lecture 2 IP Layer. 2 Network layer functions transport packet from sending to receiving hosts transport packet from sending to receiving hosts.
Overview of Internet Routing (I) Fall 2004 CS644 Advanced Topics in Networking Sue B. Moon Division of Computer Science Dept. of EECS KAIST.
Introduction 1 Lecture 19 Network Layer (Routing Algorithms) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
Data Communications and Computer Networks Chapter 4 CS 3830 Lecture 20 Omar Meqdadi Department of Computer Science and Software Engineering University.
Internet Routing r Routing algorithms m Link state m Distance Vector m Hierarchical routing r Routing protocols m RIP m OSPF m BGP.
Network Layer4-1 Routing Algorithm Classification Global or decentralized information? Global: r all routers have complete topology, link cost info r “link.
Network Layer (2). Review Physical layer: move bits between physically connected stations Data link layer: move frames between physically connected stations.
4: Network Layer4-1 Chapter 4: Network Layer Last time: r Chapter Goals m Understand network layer principles and Internet implementation r Started routing.
CSE 421 Computer Networks. Network Layer 4-2 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429 Introduction to Computer Networks Lecture 10: Intra-domain routing Slides used with.
IP tutorial - #2 Routing KAIST Dept. of CS NC Lab.
Network Layer4-1 Chapter 4: Network Layer 4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol.
Routing algorithms. D(v): the cost from the source node to destination that has currently the least cost. p(v): previous node along current least.
Network Layer.
CS 5565 Network Architecture and Protocols
Chapter 4 Network Layer Computer Networking: A Top Down Approach 6th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 CPSC 335 Data Communication.
Chapter 7 Dynamic Routing
CSE390 – Advanced Computer Networks
CS 457 – Lecture 12 Routing Spring 2012.
Network Layer Introduction Datagram networks IP: Internet Protocol
Distance Vector Routing: overview
Network layer functions
Chapter 4 – The Network Layer & Routing
Road Map I. Introduction II. IP Protocols III. Transport Layer
Lecture 10 Computer Networking: A Top Down Approach 6th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 CS3516: These slides are generated from.
CS 4700 / CS 5700 Network Fundamentals
CS 3700 Networks and Distributed Systems
Lowest-Cost Routing EE 122: Intro to Communication Networks
ECE453 – Introduction to Computer Networks
CS4470 Computer Networking Protocols
CS 3700 Networks and Distributed Systems
COMP/ELEC 429 Introduction to Computer Networks
Chapter 4: Network Layer
ECSE-4730: Computer Communication Networks (CCN)
Network Layer (contd.) Routing
EE 122: Intra-domain routing: Distance Vector
Chapter 4: Network Layer
Chapter 4: Network Layer
Network Layer.
Chapter 4: Network Layer
Chapter 4: Network Layer
Presentation transcript:

EE 122: Intra-domain routing: Link State Computer Science Division Department of Electrical Engineering and Computer Science University of California, Berkeley, Berkeley, CA 94720-1776 September 21, 2004

Protocol Hourglass Application Transport Service: best-effort data delivery Functionality: packet forwarding and routing Network (IP) Link Physical

Forwarding: Example Host C Host D Host A N2 N1 N3 N5 Host B N4 Host E

Forwarding: Examples D dst next dst next A A dst next A N1 B N4 A N2 B C N2 Host C B N5 C C D N5 C N2 Host D Host A D N3 E N5 D D E N3 E N7 N2 N1 dst next A N1 N3 B N4 N5 C N1 dst next D N3 A N3 E N3 Host B B N6 dst next N4 Host E C N3 A N1 dst next N6 N7 D N3 B B D A N4 E E C N4 B N4 D N6 C N4 E N6 D N7 E N7

Forwarding: Example D dst next dst next A A dst next A N1 B N4 A N2 B C N2 Host C B N5 C C D N5 C N2 Host D Host A D N3 E N5 D D E N3 E N7 N2 N1 dst next A N1 N3 B N4 N5 C N1 dst next D N3 A N3 E N3 Host B B N6 dst next N4 Host E D C N3 A N1 dst next N6 N7 D N3 B B A N4 E E C N4 B N4 D N6 C N4 E N6 D N7 E N7

Forwarding: Example D dst next dst next A A dst next A N1 B N4 A N2 B C N2 Host C B N5 C C D N5 C N2 Host D Host A D N3 E N5 D D E N3 E N7 N2 N1 dst next A N1 N3 B N4 N5 C N1 dst next D N3 A N3 E N3 Host B B N6 dst next N4 Host E C N3 A N1 dst next N6 N7 D N3 B B D A N4 E E C N4 B N4 D N6 C N4 E N6 D N7 E N7

Forwarding: Example D dst next dst next A A dst next A N1 B N4 A N2 B C N2 Host C B N5 C C D N5 C N2 Host D Host A D N3 E N5 D D E N3 E N7 N2 N1 dst next A N1 N3 B N4 N5 C N1 dst next D N3 A N3 E N3 Host B B N6 dst next N4 Host E C N3 A N1 dst next N6 N7 D N3 B B D A N4 E E C N4 B N4 D N6 C N4 E N6 D N7 E N7

Forwarding: Example D dst next dst next A A dst next A N1 B N4 A N2 B C N2 Host C B N5 C C D N5 C N2 Host D Host A D N3 E N5 D D E N3 E N7 N2 N1 dst next D A N1 N3 B N4 N5 C N1 dst next D N3 A N3 E N3 Host B B N6 dst next N4 Host E C N3 A N1 dst next N6 N7 D N3 B B A N4 E E C N4 B N4 D N6 C N4 E N6 D N7 E N7

Routing Protocols Compute and maintain routing tables Routing vs. forwarding tables Routing table: table containing all information required to compute the paths to every other node Forwarding table: table used to forward packets Type of routing algorithms Distance vector (see last lecture) Path-vector: like distance vector, but the route updates contain the entire path to the destination Link state (this lecture)

Link State: Node State Host A Host B Host E Host D Host C N1 N2 N3 N4

Distance Vector: Control Traffic When the routing table of a node changes, the nodes send its table to the neighbors Host A Host B Host E Host D Host C N1 N2 N3 N4 N5 N7 N6

Distance Vector: Control Traffic When the routing table of a node changes, the nodes send its table to the neighbors Host A Host B Host E Host D Host C N1 N2 N3 N4 N5 N7 N6

Distance Vector: Control Traffic When the routing table of a node changes, the nodes send its table to the neighbors Host A Host B Host E Host D Host C N1 N2 N3 N4 N5 N7 N6

Distance Vector: Control Traffic When the routing table of a node changes, the nodes send its table to the neighbors Host A Host B Host E Host D Host C N1 N2 N3 N4 N5 N7 N6

Distance Vector: Control Traffic When the routing table of a node changes, the nodes send its table to the neighbors Host A Host B Host E Host D Host C N1 N2 N3 N4 N5 N7 N6

Link State: Control Traffic Each node floods its local information to every other node in the network  each node ends up knowing the entire network topology Host A Host B Host E Host D Host C N1 N2 N3 N4 N5 N7 N6

Link State: Control Traffic Each node floods its local information to every other node in the network  each node ends up knowing the entire network topology Host A Host B Host E Host D Host C N1 N2 N3 N4 N5 N7 N6

Link State Protocol Each node computes shortest path to every other node using its local view of the network topology When a node notices a link or another node failure, it floods this information in the network Other nodes update their network view and recompute the shortest paths

A Link State Routing Algorithm Dijkstra’s algorithm Net topology, link costs known to all nodes Accomplished via “link state flooding” All nodes have same info Each node computes least cost paths from itself to all other nodes Iterative: after k iterations, know least cost paths to k closest destinations Notations c(i,j): link cost from node i to j; cost infinite if not direct neighbors D(v): current value of cost of path from source to destination v p(v): predecessor node along path from source to v, that is next to v S: set of nodes whose least cost path definitively known

Dijsktra’s Algorithm 1 Initialization: 2 S = {A}; 3 for all nodes v 4 if v adjacent to A 5 then D(v) = c(A,v); 6 else D(v) = ; 7 8 Loop 9 find w not in S such that D(w) is a minimum; 10 add w to S; 11 update D(v) for all v adjacent to w and not in S: 12 D(v) = min( D(v), D(w) + c(w,v) ); // new cost to v is either old cost to v or known // shortest path cost to w plus cost from w to v 13 until all nodes in S;

Example: Dijkstra’s Algorithm Step 1 2 3 4 5 start S A D(B),p(B) 2,A D(C),p(C) 5,A D(D),p(D) 1,A D(E),p(E) D(F),p(F) 1 Initialization: 2 S = {A}; 3 for all nodes v 4 if v adjacent to A 5 then D(v) = c(A,v); 6 else D(v) = ; … 5 3 B C 2 5 A 2 1 F 3 1 2 D E 1

Example: Dijkstra’s Algorithm Step 1 2 3 4 5 start S A AD D(B),p(B) 2,A D(C),p(C) 5,A 4,D D(D),p(D) 1,A D(E),p(E) 2,D D(F),p(F) … 8 Loop 9 find w not in S s.t. D(w) is a minimum; 10 add w to S; update D(v) for all v adjacent to w and not in S: 12 D(v) = min( D(v), D(w) + c(w,v) ); 13 until all nodes in S; 5 3 B C 2 5 A 2 1 F 3 1 2 D E 1

Example: Dijkstra’s Algorithm Step 1 2 3 4 5 start S A AD ADE D(B),p(B) 2,A D(C),p(C) 5,A 4,D 3,E D(D),p(D) 1,A D(E),p(E) 2,D D(F),p(F) 4,E … 8 Loop 9 find w not in S s.t. D(w) is a minimum; 10 add w to S; update D(v) for all v adjacent to w and not in S: 12 D(v) = min( D(v), D(w) + c(w,v) ); 13 until all nodes in S; 5 3 B C 2 5 A 2 1 F 3 1 2 D E 1

Example: Dijkstra’s Algorithm Step 1 2 3 4 5 start S A AD ADE ADEB D(B),p(B) 2,A D(C),p(C) 5,A 4,D 3,E D(D),p(D) 1,A D(E),p(E) 2,D D(F),p(F) 4,E … 8 Loop 9 find w not in S s.t. D(w) is a minimum; 10 add w to S; update D(v) for all v adjacent to w and not in S: 12 D(v) = min( D(v), D(w) + c(w,v) ); 13 until all nodes in S; 5 3 B C 2 5 A 2 1 F 3 1 2 D E 1

Example: Dijkstra’s Algorithm Step 1 2 3 4 5 start S A AD ADE ADEB ADEBC D(B),p(B) 2,A D(C),p(C) 5,A 4,D 3,E D(D),p(D) 1,A D(E),p(E) 2,D D(F),p(F) 4,E … 8 Loop 9 find w not in S s.t. D(w) is a minimum; 10 add w to S; update D(v) for all v adjacent to w and not in S: 12 D(v) = min( D(v), D(w) + c(w,v) ); 13 until all nodes in S; 5 3 B C 2 5 A 2 1 F 3 1 2 D E 1

Example: Dijkstra’s Algorithm Step 1 2 3 4 5 start S A AD ADE ADEB ADEBC ADEBCF D(B),p(B) 2,A D(C),p(C) 5,A 4,D 3,E D(D),p(D) 1,A D(E),p(E) 2,D D(F),p(F) 4,E … 8 Loop 9 find w not in S s.t. D(w) is a minimum; 10 add w to S; update D(v) for all v adjacent to w and not in S: 12 D(v) = min( D(v), D(w) + c(w,v) ); 13 until all nodes in S; 5 3 B C 2 5 A 2 1 F 3 1 2 D E 1

Oscillations Assume link cost = amount of carried traffic A 1 1 D B C C 1 1 initially

Oscillations Assume link cost = amount of carried traffic B 2+e 1+e 1 … recompute routing e A D C B 2+e 1+e 1 … recompute e A D C B 2+e e 1+e 1 … recompute 1 1+e D B e C 1 1 e initially How can you avoid oscillations?

Distance Vector vs. Link State Convergence Message & Computation complexity Robustness

Convergence How much does it take the algorithm to converge? Link State: d*l + c, where d: diameter of the network l: latency of a message along the link c: computation time to run Dijkstra’s algorithm Distance Vector: Good news: d*(l+c’), where c’ is the time it takes a node to update rounding table Band news: varies (e.g., count to infinity problem)

Message Complexity Link State (LS): every node needs to flood its local state: n*n*e messages, where n: number of nodes in the network e: average degree n*e: number of messages per link to flood the network Distance vector (DV): assume the algorithm executes in rounds: d*n*e messages, where d: diameter of the network; it takes d rounds to converge n*e: number of messages during a round  each node sends its changes to all its neighbors Note: messages in DV are larger than in LS

Computation Complexity Link State: running time of Dijkstra’s algorithm Each iteration: need to check all nodes, w, not in S n*(n+1)/2 comparisons: O(n2) More efficient implementations possible: O(n*log(n)) Distance vector: update routing table n, assuming that it takes O(1) to find an entry in the table given the node

Robustness Link state Distance vector Node can advertise incorrect link cost Each node computes only its own table Distance vector Node can advertise incorrect path cost Each node’s table used by others; error propagate through network