150 likes | 260 Views
Quality of Service Routing. Find paths that are “good” for “flows” with specific QoS requirements - A flow can be defined in many ways (destination, source- destination, etc.) - To maximize chances for successful resource reservation
E N D
Quality of Service Routing • Find paths that are “good” for “flows” with specific QoS requirements - A flow can be defined in many ways (destination, source- destination, etc.) - To maximize chances for successful resource reservation * Need to “understand” the QoS model (e.g. scheduling at links) * Need to be aware of network state - Must use the network efficiently * increased probability of acceptance of future requests
Why Do We Need QoS Routing? • Hard to dimension the network properly • There is always some (may be transient) traffic/network capacity mismatch (hot spots) • Changes in topology can destroy a good network design • Need to increased routing capacity • Need to satisfy QoS and policy constraints • Why is QoS routing hard?
Why is QoS Routing Hard? • Accurate network state information is very expensive to maintain - Flooding costs • Computing QoS paths can be expensive - and may need to be done for each incoming request • How to find “social” paths? - Local versus global optimization • Paths need to be maintained after they are discovered -- route pinning, per-flow state needs to be maintained in the network
Research Question Can the cost of QoS routing be reduced - less frequent updates - cheaper path computation without sacrificing routing performance?
Finding Feasible and Efficient Paths • Assume a link-state, bandwidth-based QoS model - Simple and widely used • Calculate widest-shortest paths [QOSPF] - Stores multiple unicast paths to a destination - A longer path is stored only if it is wider (and possibly if it has the same available bandwidth) than shorter ones • Path computation on demand - Large processing requirements • Pre-computed paths (must still adapt to topological changes) - Large storage requirements - Pre-compute paths periodically or on each received update
Evaluating QoS Routing Schemes • How to measure routing performance - Blocking ratio, routed bandwidth ratio, average path length • What topology • What type of traffic - uniform, skewed (hot-spots)
Routing Update Policies • Threshold based - update triggered if relative change in bandwidth exceeds a threshold value - more accurate for smaller values of available bandwidth • Class based - update triggered when a class boundary is crossed - with exponential class sizes, more accurate for smaller values of available bandwidth - can advertise quantized values (value at the middle of the new available bandwidth class) • Using clamp-down timers enforces a minimum spacing between two successive updates
Coping with Systematic Inaccuracy • From using thresholds or classes (as opposed to random inaccuracies from using clamp down timers) • It is possible, given the currently known value and knowledge of the generation mechanism to compute a probability for the actual value • E.g., for a threshold based policy, th < 1 - u = ab/th, l = ab*th, where ab: available bandwidth • P(b) = (u - b) / (u - l), where b: requested bandwidth • Random inaccuracies can not be modeled • Infrequent updates can result in long lasting routing mistakes
Degradation of Routing Performance • Two types of routing failures - At the router, miss an existing path - In the network, attempt to use a bad path • Most routing errors occur in the network • Solution: choose a longer path if it appears safer - After pruning links, compute few more alternate paths - Use the one with the largest end-to-end probability of success
Routing Performance Under Large Clamp Down Timers • Large clamp down timers reduce update traffic for all triggering policies • Two different types of update triggering policies: - Pruning: advertise values smaller than the maximum request size - Non-pruning: never advertise values smaller than maximum request size, thus all links are feasible and only minimum hop paths are selected • Non-pruning policies can perform better under larger clamp downs, especially for large request sizes; they avoid costly routing mistakes • Pruning policies tend to make use of long alternate paths based on outdated information • Advertising quantized values improves routing performance since it allows discovery of multiple equal cost paths
Randomized Routing • Use available link state information only as hint • Compute a list of alternate paths and choose among them randomly taking into account: - size of requests - hop length - apparent available bandwidth
Determining Path Selection Probabilities • Penalty factor for using a longer hop count • Penalty depends on the size of the request P = 1 - b / bmax • Wi = P^(hi - hmin) * Bi Bi: bottleneck bandwidth on the path
Effects of Network and Traffic • Availability of multiple minimum hop paths - if there are not many, QoSR does not have many options • Uniformly distributed traffic loads - if all links are uniformly loaded, again not many options • Randomized routing is most effective under skewed load, when there are alternate paths are relatively disjoint and less loaded • Fewer classes lead to better performance since there are likely more ties and more paths maintained during path pre-computation • Alternate routing can adversely affect performance in topologies well matched with traffic
Trunk Reservation • Alternate routing can reduce performance during overload - Reserve some capacity for primary path traffic - Studied extensively in fully-connected telephone networks - Not directly applicable to general purpose networks • Generalized Trunk Reservation - as the call is established (after a path is found), it may be rejected if it will cause a link to be more loaded than a threshold - this threshold depends on the length of the path; higher for longer paths
Cost of Path Pre-Computation • Periodic path pre-computation considerably reduce computation cost over on-demand path computation, at the expense of some routing performance loss • Non-pruning policies still perform better for large clamp down timers