Network Algorithms
Network Algorithms
Adaptive Algorithms
Change routes dynamically
Gather information at runtime
locally from adjacent routers from all other routers
Change routes
Every delta T seconds When load changes When topology changes
Sink Trees
The set of optimal routes to a particular node forms a sink tree. Sink trees are not necessarily unique Goal of all routing algorithms
Discover sink trees for all destinations
Given a network topology and a set of weights describing the cost to send data across each link in the network Find the shortest path from a specified source to all other destinations in the network. Shortest path algorithm first developed by E. W. Dijkstra
Examine ALL tentatively labeled nodes in the graph. Select the node with the smallest value and make it the new working node. Designate the node permanent.
Neighboring routers periodically exchange information from their routing tables. Routers replace routes in their own routing tables anytime that neighbors have found better routes. Information provided from neighbors
Outgoing line used for destination Estimate of time or distance
can be number of hops, time delay, packet queue length, etc.
Hierarchical Routing
Addresses the growth of routing tables Routers are divided into regions Routers know the routes for their own regions only Works like telephone routing Possible hierarchy
city, state, country, continent
Broadcast Routing
Send a separate packet to each destination Use flooding Use multidestination routing
Each packet contains a list of destinations Routers duplicate packet for all matching outgoing lines
Multicast Routing
A method to broadcast packets to welldefined groups Hosts can join multicast groups.
They inform their routers Routers send group information throughout the subnet
Each router computes a spanning tree for each group. The spanning tree includes all the routers needed to broadcast data to the group
Causes of Congestion
Congestion occurs when a router receives data faster than it can send it
Insufficient bandwidth Slow hosts Data simultaneously arriving from multiple lines destined for the same outgoing line.
Senders that are trying to transmit to a congested destination also become congested
They must continually resend packets that have been dropped or that have timed-out They must continue to hold outgoing/unacknowledged messages in memory.
Congestion Control
controls the traffic throughout the network
General Principles of Closed Loop Congestion Control Monitor the system to detect when and where congestion occurs. Pass this information to places where action can be taken. Adjust the system operation to correct the problem.
Metrics Used in Closed Loop Congestion Control Percentage of packets discarded due to buffer overflow Average queue length Percentage of packets that time-out Average packet delay Standard deviation of packet delay
Reducing Congestion
Two Methods
Increase resources
Get additional bandwidth
Use faster lines Obtain additional lines Utilize alternate pathways Utilize spare routers
Decrease Traffic
Send messages to senders telling them to slow down Deny service to some users Degrade service to some or all users Schedule usage to achieve better load balance