Quality of Service Routing Anunay Tiwari Anirudha Sahoo.

26
Quality of Service Routing Anunay Tiwari Anirudha Sahoo

Transcript of Quality of Service Routing Anunay Tiwari Anirudha Sahoo.

Page 1: Quality of Service Routing Anunay Tiwari Anirudha Sahoo.

Quality of Service Routing

Anunay Tiwari

Anirudha Sahoo

Page 2: 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.

Page 3: Quality of Service Routing Anunay Tiwari Anirudha Sahoo.

What is QoS Routing ?

The basic function of QoS routing is to find a network path which satisfies the given QoS constraints.

Page 4: Quality of Service Routing Anunay Tiwari Anirudha Sahoo.

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

PolicyBasedRouting

Constraint - basedRouting

How SPF can be improved to behave like QoS routing??

Page 5: Quality of Service Routing Anunay Tiwari Anirudha Sahoo.

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.

Page 6: Quality of Service Routing Anunay Tiwari Anirudha Sahoo.

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 ForwardingThe SPF-EE has different Route Computation and Packet

forwarding.

Page 7: Quality of Service Routing Anunay Tiwari Anirudha Sahoo.

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.

Page 8: Quality of Service Routing Anunay Tiwari Anirudha Sahoo.

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.

Page 9: Quality of Service Routing Anunay Tiwari Anirudha Sahoo.

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.

Page 10: Quality of Service Routing Anunay Tiwari Anirudha Sahoo.

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

Page 11: Quality of Service Routing Anunay Tiwari Anirudha Sahoo.

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.

Page 12: Quality of Service Routing Anunay Tiwari Anirudha Sahoo.

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.

Page 13: Quality of Service Routing Anunay Tiwari Anirudha Sahoo.

SPF-EE( cont..)

Example:

Page 14: Quality of Service Routing Anunay Tiwari Anirudha Sahoo.

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

Page 15: Quality of Service Routing Anunay Tiwari Anirudha Sahoo.

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)

Page 16: Quality of Service Routing Anunay Tiwari Anirudha Sahoo.

SPF-EE( cont..)

Packet forwarding

Page 17: Quality of Service Routing Anunay Tiwari Anirudha Sahoo.

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.

Page 18: Quality of Service Routing Anunay Tiwari Anirudha Sahoo.

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 fromS to all nodes so that delay does Not exceeds 15. cost is shown as(delay, cost) pair.

Page 19: Quality of Service Routing Anunay Tiwari Anirudha Sahoo.

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

Page 20: Quality of Service Routing Anunay Tiwari Anirudha Sahoo.

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)

Page 21: Quality of Service Routing Anunay Tiwari Anirudha Sahoo.

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.

Page 22: Quality of Service Routing Anunay Tiwari Anirudha Sahoo.

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.

Page 23: Quality of Service Routing Anunay Tiwari Anirudha Sahoo.

DSA (cont..)

Dynamic Programming Algorithm (DAD)

Page 24: Quality of Service Routing Anunay Tiwari Anirudha Sahoo.

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.

Page 25: Quality of Service Routing Anunay Tiwari Anirudha Sahoo.

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/ε)

Page 26: Quality of Service Routing Anunay Tiwari Anirudha Sahoo.

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