Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Introduction to Routing Chapter 20
Unicast Routing is a one-to-one delivery (single destination) major functions of the Network layer protocol— connection/less (VC or datagram) services.
To carry (forward) packets from source to destination routers through the subnet “cloud” of intermediate routers.
At each subnet’s router a decision has to be made, based on some routing algorithms’ tables, to deliver traffic to the next router in the way to its destination.
Traffic -- VC: the entire set of packets to their destination.
-- Datagram: packet by packet.
20.2
Routing Algorithms Find the best cost path of weighted Links from a source to a target destination Routers. They generate a cost metric (single/several factors) for each possible src-dest path. Viewing the Network as a graph: Net-Graph = (Router-Nodes, Cost-Weighted Links)
20.3
Route Computation Algorithms
Link-State (LS) (Dijkstra) A router will have a global & complete knowledge of the network topology (Graph), through node routing information flooding. Hence, algorithmically, it calculates the shortest path to all nodes in the network graph (target destinations).
Distance-Vector (DV) (Bellman-Ford) In addition to direct link cost to neighbors, a router will receive from its direct neighbors knowledge about their accessible destinations and associated links’ costs to access them. Hence, it calculates the shortest path to each destination via an iterative routing algorithm utilizing the neighbors distances to each target destination.
20.4
Routing Protocols Define the format (syntax & semantics) of routing information exchanges. Define the computation upon receiving routing updates. Continuously monitors the network topology changes over time, updating routing routers with latest changes.
20.5
Major issues that influence Routing:
Static Vs. Dynamic routing! (Routing Protocols and Concepts, by Rick Graziani, Allan Johnson)
Static: calculate routing table once by Network administrator, then apply for long time! (rigid, not scalable, and not much used except special cases!) Dynamic: continuous updating to routing tables as the Network dynamics changes! (most used and works very well with the Internet dynamics) Dynamic is most used, whereas Static is used in a Network:
i) with small number of routers,
ii) connected to only one ISP, or
iii) large but configured as hub-and-spoke topology (central hop with multi branches –spokes- each has one path to single destination!
Changes to the Subnet topology affects the routing conversion delay and stability.
Subnet Scalability – larger number of routers/links.
Measures of best rout to destination-- # hops, hops’ BW, ….
20.6
Least-Cost Routing
In the Internet, the source router (SR)chooses a route, to the destination router (DR), that has least cost (LC)among all possible routes.
For N nodes, we have (N-1) LC path from any SR to all of its possible DRs. For all N SRs, we need N x (N-1) ! ( very large number when N is big!) Hence, to be able to route to any target DR, the SR has to get the best routes to all DRs in the Internet! (How?) For every SR, as a root, build a least-cost-tree that spans all Internet routers (nodes) with the least cost route to each DR.
20.7
20.8
ROUTING ALGORITHMS
Different routing algorithms different least cost interpretation and creation of the least- cost tree.
20.9
D ista n ce-Vec to r Ro u tin g Each router creates is its own least-cost tree with the (partial) routing information (vectors) obtained from its immediate neighbors. As neighboring routers learn more about the network routes, their (incomplete) vectors are exchanged between immediate neighbors to make the routing trees (DV) more and more complete and to represent the whole internet.
In distance-vector routing, a router continuously tells all of its neighbors what it knows about the whole internet (although the knowledge can be incomplete).
Bellman-Ford Algorithm
20.10
Figure 20.3: Graphical idea behind Bellman-Ford equation
20.11
Figure 20.4: The distance vector corresponding to a tree
20.12
Figure 20.5: The first distance vector for an internet
20.13
Figure 20.6: Updating distance vectors
Table 20.1: Distance-Vector Routing Algorithm for A Node
20.14
20.15
Figure 20.7: Two-node instability
20.16
20.2.2 Link-State Routing
A routing algorithm that creates least-cost trees and forwarding tables is link-state (LS) routing.
The cost associated with a Link defines its State.
Links with lower costs are preferred.
If the link cost is infinity, then the link does not exist or has been broken.
Dijkstra Algorithm
20.17
20.2.2 Link-State Routing Each router generates Link State Advertisements (LSAs) to be flooded to all other network routers LASs’ databases.
Each router uses its (global duplicated to all nodes) LSA database to visualize the entire Internet as a weighted links graph, WG. Then runs a shortest path algorithm (Dijikstra’s algorithm) on the WG to produce the shortest path from the single router to all other destinations’ routers.
Dijkstra Algorithm
20.18
Figure 20.8: Example of a link-state database
20.19
Figure 20.9: LSPs created and sent out by each node to build LSDB
Table 20.2: Dijkstra’s Algorithm
20.20
20.21
Figure 20.10: Least-cost tree
Add B of cost 2 to the tree
A is in the tree only as a root
Add D of cost 3 to the tree
Add C of cost 7 to the tree
Add F of cost 8 to the tree
Add E of cost 6 to the tree
Add G of cost 9 to the tree
The tree is complete!
20.22
Distance Vector: (Local exchange of routing tables between neighbors )
Distribute one’s own routing table to neighbors.
Routing update can be large in size, but travels only one link.
Each node only knows distances to other destinations.
Link State: (shared LS-database) Broadcast raw node’s topology information (neighbors and their costs) LS Packets (LSP) (flooded) to the all nodes in the entire network. LSPs will be collected at each node to obtain shared LS-database.
Routing update is small in size, but travels over all links in the network. Each node knows “entire” topology, hence the process is “guaranteed” to converge.
Performance measure: Communication overhead, Robustness & Time to convergence.
Comparison of LS and DV algorithms
20.23
Dijkstra routing algorithm Given a topology map, compute the
shortest paths to all the other nodes
Bellman-Ford routing algorithm Given the lists of distance to all
destinations from all the neighbors, compute the shortest path to destination
Known problem: count-to-infinity
20.24
20.2.3 Path-Vector Routing For instances where the least-cost goal is not the priority (as in DV & LS). For example, if there are some routers that a sender wants to prevent its packets from going through, regardless of the least-cost goal. To respond to these demands, a third routing algorithm, called path-vector (PV) routing has been devised.
20.25
Figure 20.11: Spanning trees in path-vector routing
20.26
Figure 20.12: Path vectors made at booting time via greeting messages between neighbors
20.27
Figure 20.13: Updating path vectors
Table 20.3: Path-vector algorithm for a node
20.28