































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
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
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