260 likes | 397 Views
Quality of Service Routing. Anunay Tiwari Anirudha Sahoo. Motivation. Real time applications like audio and video conferencing, VoIP requires QoS from the Internet to have satisfactory performance.
E N D
Quality of Service Routing Anunay Tiwari Anirudha Sahoo
Motivation • Real time applications like audio and video conferencing, VoIP requires QoS from the Internet to have satisfactory performance. • Internet largely support best effort traffic and routing infrastructure depends on Open Shortest Path First (OSPF). • In OSPF, when a packet experiences congestion, the routing subsystem can not send it through alternate path. Thus it fails in providing Quality of Service. So there is a need to provide QoS routing in networks.
What is QoS Routing ? • The basic function of QoS routing is to find a network path which satisfies the given QoS constraints.
What is QoS Routing? (cont..) • Policy-based Routing commonly means the routing decision is not based on the knowledge of the network topology and metrics, but on some administrative policies. • Constraint-based Routing compute routes that are subject to multiple constraints, including both QoS constraints(QoS requirements and resource availability) and policy constraints QoS Routing Policy Based Routing Constraint - based Routing How SPF can be improved to behave like QoS routing??
Shortest Path First with Emergency Exits • SPF algorithm • SPF assumes that link cost are updated periodically (may be based on link utilization • Link distance remains constant during one route updating period. • Performs well when traffic load is light and changes slowly. • Problems • Route Oscillation • Maximum Flow • Range of traffic that the network is able to handle between any two nodes. • SPF can only go upto bottleneck link bw • Dynamic Response to traffic changes • Updating Routing tables, which involves exchange of information may not be correct. • Fault Tolerance • Traffic will still be routed along the failed path until failure is detected and routing table is re-calculated.
SPF-EE • Attempts to eliminate problems associated with SPF by providing alternate paths as emergency exits. • A routing algorithm can be decomposed into 4 procedures • Distance Measurement • Information Updating • Route Computation • Packet Forwarding The SPF-EE has different Route Computation and Packet forwarding.
SPF-EE (Cont..) • The alternate paths are only used as emergency exits i.e. when shortest paths are experiencing problems, without initiating route updating. • An emergency exit does not have to be shortest path.
SPF-EE( cont..) • The basic working • Node x normally forward packet destined to z to neighbor NSz. • Alternate Path • If Queue Length of NSz exceeds a certain limit, the packet is transmitted to neighbor NAz. • If NAz is not an upstream node from node x in sink tree for destination z, then packet will travel along a SP to z. (NAz will be an exit for destination z). • Otherwise it will loop back to x.
SPF-EE( cont..) • Reverse Alternate Path • Node x will send a control packet to all its neighbors other than NSz to enquire whether they have any exit. • If an exit is found, it sends a reply back to node x and establishes a reverse alternate path (RAP). • Otherwise it will propagate control packet until an exit is found.
SPF-EE( cont..) • Example • When AB is congested and A sends packet destined to C through D • When AF is congested and A does not have any exit node for packets destined to F • A sends RAP to D and D replies with E as an exit
SPF-EE( cont..) • Route Computation • APs : • When a node x recieves route update, it calculates SPs for all destinations. (TREEx) • It then finds routing tree for all its neighbors (say TREEy) • In TREEy if z is not on the subtree rooted at x and node y is not the next hop, then node y can be the AP nexthop (or exit) for destination z. • Only One AP is calculated.
SPF-EE( cont..) • RAPs • Node x send query message to each of its neighbors r. • Upon receiving request, node r checks Routing Tree of its neighbors m:TREEm. • If destination is not on the sub trees rooted at node x or node r in TREEm then m can be an exit for destination.
SPF-EE( cont..) Example:
Example • Observe routing tree of node B (neighbor of A) • Node D and E are not on the sub tree rooted at A • Hence Node A can choose B as the Alternate next hop for destination D and E • RAP • D receives RAP from A (for dest F) • D looks at neighbor E’s SPF tree • F is not on the subtree rooted at A or D • Hence D replies “yes” to RAP msg from A • E is the exit for packets from A to F
Example • SPF-EE can have loops • For destination C, A chooses D as AP • D also might choose A as AP for dest C • This is a direct loop • Indirect loops also can form • So loops have to be detected • Packets are marked as they pass by (called redirected packets)
SPF-EE( cont..) • Packet forwarding
SPF-EE( cont..) • Performance Comparison • Maximum flow • Packet can be sent at a speed greater than capacity of one route. • Oscillation • Reported link delay does not oscillate much. • Overhead • More Storage Space (need SPF of neighbors) • Control Messages • Responsiveness • Packet by Packet. • Congestion Control and Fault Tolerance • Takes care of uneven traffic distribution . • Fast update as compared to SPF. • Traffic can be immediately diverted via APs or RAPs if a link fails.
Efficient Computation of Delay-Sensitive Routes from One Source to All Destinations • An efficient algorithm for a constraint shortest path. • Given a directed graph with two weights on each link e, a cost le and a delay te, find the cheapest path from a source to all destinations such that the delay of each path is no more than a given threshold. Example: find shortest path from S to all nodes so that delay does Not exceeds 15. cost is shown as (delay, cost) pair.
Delay Scaling Algorithm (DSA) • QoS Criteria • Monotone Criteria • Routing to a specific destination taking place along a tree. • Sub paths of optimum paths are themselves optimal. • Example- End to End Bandwidth requirement
DSA (cont..) • Additive Metric • Example – Find a cheapest path with respect to cost metric, such that delay of path is less than a user specified end to end threshold. • Cannot use hop by hop routing • If S forwards packet destined to D3 to D1, then D1 will forward it directly to D3 • That will be wrong for S (10,2)
DSA (cont..) • Additive metric • Need not result in routing to specific destination taking place along a tree. • It is infeasible (incorrect) to store routing table as simply next hop tables per destination. • Alternative- Store entire path or next hop for each source –destination pair and delay threshold. • Not scalable • So we need an efficient algorithm for calculation of such routes.
DSA (cont..) • Relaxing the delay constraint • Observation : It may be acceptable to violate delay threshold up to a small constant factor ε. • So the paths having delay T ( 1+ ε) are also acceptable if the delay threshold is T. • The Result • Feasible destination: Given a source s and delay threshold T, a destination is said to be feasible if there is a path from s to d with delay at most T. • Algorithm computes paths from source s to all destinations d such that • The cost of path from s to d is at most the cost of cheapest path from s to d with delay at most T. • The delay of path from s to d is at most ( 1 + ε )T.
DSA (cont..) • Dynamic Programming Algorithm (DAD)
DSA (cont..) • G t • A τ-scaling of graph G is obtained by multiplying the delay on each link in G by τ/T. and then truncating the new delay to an integer. • The delay threshold for Gt will be τ. • Algorithm (DSA) • (1) Set t = τ0 ( a small number <<T) • (2) Call DAD(Gτ, t) to compute the L(v,t) and P(v,t) tables • (3) Compute the delays in the original graph G for each of paths P(v,t) and store the delays in D(v). • (4) If for some v in G such that D(v) > T(1+ ε) set t = 2* t and go to step 2.
DSA (cont..) • Since Gτscaled down by τ/T, when the DSA finishes, then the final delay will be at most (when scaled back by T/τ) (T+D.T/ τ) i.e. T(1+D/ τ). Hence ε >= D/τ (or τ >= D/ ε), if delay has to be at most T(1+ ε) • The Complexity: • Look at step (3) of DAD: Complexity of DAD = O(mT) • m = number of edges in the graph • If DAD is called multiple times (from step 4 of DSA) • Complexity = m τ0 + 2 m τ0 + 4m τ0 +….+ 2k m τ0 = 4. m 2k-1 τ0 < 4mD/ε = O(mD/ε) Where D = maximum hops in the network (diameter) (max τ is 2kτ0 which should be equal to D/ε i.e. 2kτ0 = D/ε)
DSA (cont..) • Properties of DSA • Time complexity has D but algorithm does not need to know this value. • DSA has progressive property. • Can be terminated in the middle and still produce reasonable result. • DSA is strongly polynomial. • Running time does not depend on actual delay and cost values of the links