Post on 17-Dec-2014
description
Chapter 4 Network Layer
Computer Networking: A Top Down Approach 4th edition. Jim Kurose, Keith RossAddison-Wesley, July 2007.
Routing Protocols• Define how routers exchange network
information– What type of information– The format of information exchange– When to exchange– Which router to exchange information with
• Examples– Routing Information Protocol (RIP)– Enhanced Interior Gateway Routing Protocol
(EIGRP)– CISCO Proprietary
– Open Shortest Path First (OSPF)– Border Gateway Protocol (BGP)
Routing AlgorithmsGiven a set of routers a routing algorithm finds a “Good” path from source router to destination router
Least cost path
A graph is used to formulate routing problems
A Graph G=(N,E) is a Set of N nodes and a collection E of edgesNodes in the graph represent RoutersEdges represent physical links
1
23
0111
packet’s header
routing algorithm
local forwarding tableheader value output link
0100010101111001
3221
u
yx
wv
z2
2
13
1
1
2
53
5
Graph: G = (N,E)
N = set of routers = { u, v, w, x, y, z }
E = set of links ={ (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) }
Graph Abstraction
Graph Abstraction: costs
u
yx
wv
z2
2
13
1
1
2
53
5 • c(x,x’) = cost of link (x,x’)
- e.g., c(w,z) = 5
• Cost can be• Physical length of the link• Delay etc.
Cost of path (x1, x2, x3,…, xp) = c(x1,x2) + c(x2,x3) + … + c(xp-1,xp)
Question: What’s the least-cost path between u and z ?
Routing algorithm: Algorithm that finds least-cost path
Routing Algorithm ClassificationGlobal Routing
Algorithm
Computes least cost path using complete global knowledge about the network.
Takes connectivity between all nodes and all link costs as input.
All routers have complete topology, link cost information
Also called “Link State” Algorithms
Used by Open Shortest Path First Protocol (OSPF)
Decentralized Routing Algorithm
No node has complete information about the cost of all links.
In the beginning knowledge of its own directly attached links.
Computes least cost path by an iterative process of calculation and exchange of information.
Also called Distance Vector (DV) Algorithm
Used by Routing Information Protocol (RIP)
Link-State Routing Algorithm Network topology and
link costs are known to all nodes Each node broadcast
link state packets to all other nodes in the network
Each link state packet contains the identities and cost of its attached links
Dijkstra’s Algorithm Computes least cost
paths from one node (‘source”) to all other nodes
Iterative: After k iterations, least cost paths to k destinations are known
Notation: D(v): Current value of least
cost path from source to destination (v).
p(v): Predecessor node along path from source to v
N': Subset of nodes whose least cost path is definitively known
Dijkstra’s Algorithm: Example
Step012345
N'u
uxuxy
uxyvuxyvw
uxyvwz
D(v),p(v)2,u2,u2,u
D(w),p(w)5,u4,x3,y3,y
D(x),p(x)1,u
D(y),p(y)∞
2,x
D(z),p(z)∞ ∞
4,y4,y4,y
u
yx
wv
z2
2
13
1
1
2
53
5
x
v
y
wz
(u,x)
(u,v)
(u,x)
(u,x)(u,x)
destination link
Resulting forwarding table in u:
Dijkstra’s Algorithm
1 Initialization: 2 N' = {u} 3 for all nodes v 4 if v is a neighbor of u 5 then D(v) = c(u,v) 6 else D(v) = ∞ 7 8 Loop 9 find w not in N' such that D(w) is a minimum 10 add w to N' 11 update D(v) for each neighbor v of w and not in N' : 12 D(v) = min( D(v), D(w) + c(w,v) ) 13 /* new cost to v is either old cost to v or known 14 shortest path cost to w plus cost from w to v */ 15 until all nodes in N'
u
yx
wv
z2
2
13
1
1
2
53
5
Dijkstra’s Algorithm-Example
Find the shortest path from S to all nodes using Dijkstra’s Algorithm?
Solution
Step N’D(x), p(x) D(t),p(t) D(u),p(u) D(v),p(v) D(w),p(w) D(y),p(y) D(z),p(z)
0 s ∞ 1,s 4,s ∞ ∞ ∞ ∞
1 st ∞ 3,t 5,t ∞ 8,t 6,t
2 stu ∞ 5,t 6,u 8,t 6,t
3 stuv 8,v 6,u 6,v 6,t
4 stuvy 8,v 6,u 6,t
5 stuvyz 8,v 6,u
6 stuvyzw 8,v
7 stuvyzwx