































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
An overview of routing algorithms in computer networks, focusing on dijkstra and bellman-ford algorithms. The text also discusses the ideal and real-world implementation of routing, including the use of link state and distance vector protocols, and the role of autonomous systems and border gateway protocol (bgp).
Typology: Study notes
1 / 39
This page cannot be seen from the preview
Don't miss anything!
































Goals today ^ Ideal: Routing with Link State and Distance Vectorprotocols
^ Real world
^ BGP (Path Vector algorithm) is used interdomainSome slides adapted and pictures gratefully acknowledgedfrom Liebeherr, Rexford, Schul
Forwarding vs. Routing ^ Forwarding: data plane ^ Directing a data packet to an outgoing link ^ Individual router
using
a forwarding table
^ Routing: control plane ^ Computing paths the packets will follow ^ Routers talking amongst themselves ^ Individual router
creating
a forwarding table
Why Does Routing Matter? ^ End-to-end performance ^ Quality of the path affects user performance ^ Propagation delay, throughput, and packet loss ^ Use of network resources ^ Balance of the traffic over the routers and links ^ Avoiding congestion by directing traffic to lightly-loaded links ^ Transient disruptions during changes ^ Failures, maintenance, and load balancing ^ Limiting packet loss and delay during changes
Graph abstraction: costs
x
z
Cost of path (x
, x, x 12
,โฆ, x 3
) = c(xp
,x) + c(x 12
,x) + โฆ + c(x 23
,xp-1p
Question: Whatโs the least-cost path between u and z? Routing algorithm: algorithm that finds least-cost path
Internet routers ^ โTraffic copsโ of networks ^ Must decide where to send packets ^ Decisions are reflected in routing tables which must be computed
5555 2222
1111
2222
3333 3333 1111
5555 2222
1111
BBBB
AAAA
CCCC^
DDDD EEEE
FFFF
source hostsource hostsource hostsource host
destination hostdestination hostdestination hostdestination host
firstfirstfirstfirst----hop routerhop routerhop routerhop routerdefault routerdefault routerdefault routerdefault router
source routersource routersource routersource router
destination routerdestination routerdestination routerdestination router leastleastleastleast----cost path
cost pathcost pathcost path
Routing algorithm: Dijkstra ^ โTells world about the neighbours โ
^ Step 1: Flooding
^ Step 2: Dijkstraโs shortest path tree
^ Requires
global
information
^ Wide-spread Internet routing protocol that uses thisalgorithm is OSPF
Algorithm (at Node X) ^ Initialization ^ N = {X} ^ For all nodes V ^ If V adjacent to X, D(V) = C(X,V) else D(V) = โ ^ Loop ^ Find U not in N such that D(U) is smallest ^ Add U into set N ^ Update D(V) for all V not in N ^ D(V) = min{D(V), D(U) + C(U,V)} ^ Until all nodes in N
C(x,y)
Choosing A.Updating D(x).D(B) smallest, nextnode is B Routing table for A
C(x,y)
Choosing B.Updating D(x)D(E) is smallest,so next node is E
Routing table for A
C(x,y)
Choosing G.Updating D(x).D(F) is smallest,next node is F.
Routing table for A
C(x,y)
Choosing F.Updating D(x).D(H) is smallest,next node is H.Notice howD(H) changedfrom 9 to 8.
Routing table for A
C(x,y)
Choosing C.Updating D(x) ...No D(x) getschanged, Cmust not be on ashortest pathfrom A to anyother node!Last node is D.
Routing table for A
C(x,y)
Choosing D.Updating D(x) ..Nothing toupdate since allnodes marked
We are done!Routing table for A