dynamic routing – qos routing

26
Dynamic routing – QoS routing • Load sensitive routing • QoS routing

Upload: libby

Post on 18-Mar-2016

98 views

Category:

Documents


2 download

DESCRIPTION

Dynamic routing – QoS routing. Load sensitive routing QoS routing. Load sensitive routing. In what we have seen in this class so far costs are static Administrator configures them Why not try to adapt to the conditions of the network? Use less loaded links Use links with less delay - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Dynamic routing – QoS routing

Dynamic routing – QoS routing

• Load sensitive routing • QoS routing

Page 2: Dynamic routing – QoS routing

Load sensitive routing

• In what we have seen in this class so far costs are static– Administrator configures them

• Why not try to adapt to the conditions of the network?– Use less loaded links – Use links with less delay – Use links that have less loss

• Two problems:– Need to know the condition of the links – Can have positive feedback

• Oscillations

Page 3: Dynamic routing – QoS routing

In the very early days

• In ARPANET, from 1969 – Delay SPF: compute shortest paths based on the delay on a link

• Use the queue length to estimate it – Delay values where exchanged each time they changed

significantly

• But (usually under heavy load):– A link that has low delay may become too attractive– Traffic will start using it– Delay will increase, will become less attractive – Traffic will stop using it and so on… – Oscillation

• Oscillations cause too many advertisements, too much CPU load on routers, and low utilization of some of the links

Page 4: Dynamic routing – QoS routing

Improvements

• The “revised” Internet Metric – Metric advertised should be relative to other links and

not just the queue length • If average link cost is 10 advertise 20 when link is overloaded • 20 is almost like two links • Some traffic will start using paths that are 1 hop longer

– Have a lot of damping in the advertisements of metrics – Result in more gradual changes in traffic and link

utilization• There will still be oscillations

– Smaller magnitude – Better overall network utilization under heavy load

Page 5: Dynamic routing – QoS routing

But only a single metric

• SPF can have only a single cost value per link – SPF can not compute paths that minimize two metrics – Unless I do a linear combination of all into a single

value • Example

– EIGRP from Cisco allows to advertise dynamic information and select paths using it

– Combines multiple performance metrics into a single per-link value

• Load sensitive routing is mostly abandoned today– Oscillations are very undesirable

Page 6: Dynamic routing – QoS routing

ToS routing

• What we have today is Type of Service (ToS) routing– Even than is not really used

• IP packets have 4 bits of ToS in their header– Some combinations have pre-assigned meaning

• 0100 = max throughput • 1000 = min delay • Etc…

• In principle routers compute different routes for each of these bits – Links may have different costs for each ToS value– OSPF can advertise different link costs for each ToS

Page 7: Dynamic routing – QoS routing

Oscillations revisited

• Oscillations happen because traffic can shift around

• What happens if I could “pin” traffic on a certain path? – Using source route, MSPL LSP, or some other

explicit routing technology?– No more oscillations

• Now I need to find good paths for traffic – From source S to destination D– Satisfying one or more QoS constraints – This is “QoS Routing”

Page 8: Dynamic routing – QoS routing

Quality of Service (QoS)

• Quantitative metrics that express how well my traffic is treated

• Most common– Delay (end-end or per link)

• Queuing delay• Propagation delay (hop length related)

– Loss– Jitter (delay variation)– Available bandwidth

• A QoS guarantee tells me that one of the above metrics will have a bounded value

Page 9: Dynamic routing – QoS routing

How to achieve QoS

• Need to schedule resources in each router/link– Link transmission slots

• To ensure available bandwidth– Queue lengths and entries

• To ensure that a packet will not be delayed by queuing too much

– Buffers • To ensure low loss rates

• Huge body of work on resource scheduling for QoS

Page 10: Dynamic routing – QoS routing

Reservations

• Assume I found a path that satisfies the requirements

• To ensure I get the requested service I will need to reserve resources on the path – Reserve the 100 Mbit/sec bandwidth– Reserve queue entries and link scheduling resources to

limit my latency, loss and jitter • After reservation, less resources are available to

other traffic – Admission control – New traffic may be rejected if there are not enough

resources available

Page 11: Dynamic routing – QoS routing

Signaling

• Combine path pinning and resource reservation in a single signaling step

• Not unlike setting up an LSP with RSVP-TE

• Two pass – Forward pass:

• send the request • perform admission control• Initial reservation

– Reverse pass:• Fine tune reservations

Page 12: Dynamic routing – QoS routing

QoS routing

• Find a path to destination D with end-end delay=20 msec, loss rate < 1% and available bandwidth 200 Mbit/sec

• How to find the path?– Need to have an algorithm to compute a path

that satisfies all these constrains – Need to have up to date information about what

happens in all links and nodes in the network

Page 13: Dynamic routing – QoS routing

Metric types

• Additive metrics: – The metric for the path is the sum of the metric for the

links of the path – Delay, jitter

• Multiplicative metrics: – The metric for the path is the product of the metrics for

the links of the path– Loss rate

• Bottleneck metrics: – The metric for the path is the largest (or smaller) of the

metrics for the links of the path – available bandwidth

Page 14: Dynamic routing – QoS routing

Constrained path computation

• How to find a path that optimizes multiple metrics?– E.g a min delay and min loss path?

• How to find bounded paths? – E.g. a path that has delay < 50 msec and available

bandwidth > 100 Mbit/sec • Well I can not [Wang, Crowcroft 1996]

– More than 1 additive and/or multiplicative metrics is NP-complete

• 1 additive + 1 multiplicative, 2 additive, 2 multiplicative: all NP-complete

• 1 additive, 1 multiplicative: OK

Page 15: Dynamic routing – QoS routing

All is not lost

• Available bandwidth allows some flexibility – Find paths that have at least B bottleneck

bandwidth and satisfy 1 more condition is possible

• Prune all links that have less than B available bandwidth

• And then compute the best path for the second metric

– E.g delay and bandwidth, bandwidth and loss, bandwidth and jitter are all possible

Page 16: Dynamic routing – QoS routing

Example

• Delay and bandwidth: path with bandwidth 100 Mbit/sec and delay < 10 msec – Prune all the links with less than 100 Mbit/sec

available bandwidth – Run SPF to find the least delay path to

destination– If least delay > 10 msec no path exists – If delay <= 10 msec found my path

Page 17: Dynamic routing – QoS routing

Pre-computing QoS routes

• I may have a lot of incoming requests for QoS routes– Computation of routes may become an issue – Pre-compute routes

• But for pre-computed routes I do not know the QoS requirements of the requests – Compute a range of paths for all possible requests

• More storage • E.g. compute paths with 10, 100, 1000 Mbit/sec available

capacity and 10, 20, 40 msec delay• When a request comes, fit it in the appropriate path

– Compute the “widest” paths for different hop lengths and use the shortest one where the request can fit in

• “shortest-widest” path

Page 18: Dynamic routing – QoS routing

A “good” routing algorithm?

• What is the optimization goal?– To fit as much traffic as possible in the network

• Increases utilization of resources • Increases revenue

– A request is blocked when it can not find a path with the QoS it needs

– Reduce the blocking • Number of requests blocked

– Requests have different bandwidth requirements • Sum of bandwidth of the blocked requests

• Routing algorithm A is better than B if:– for a given set of requests A can achieve less blocking

that B

Page 19: Dynamic routing – QoS routing

Hard to evaluate

• Needs simulation• Traffic models are not known

– What kind of QoS traffic will want – How big/small are the bandwidth requests

• Relative to the link sizes

• Topology has a very large effect • Traffic patterns too

– Hot-spot vs. uniform load – Overall load in the network

• No standards exist for QoS routing performance evaluation

Page 20: Dynamic routing – QoS routing

Why QoS routing works

• Conventional routing uses only the shortest path(s) (maybe more than one)– Resources on other links are underutilized

• QoS routing can switch traffic to longer (alternate) paths when the shortest paths fill up – Better network resource utilization– Less blocking

• Only if there are unloaded alternate paths – If network is heavily loaded and all paths are

full QoS routing can not do much

Page 21: Dynamic routing – QoS routing

Problem

• QoS routing works on-line– Given a set of requests I find a route and

establish it one by one – The path I find for a route will affect the

availability of paths for future requests – Picking a bad route now may result in blocking

many future requests – EXAMPLE

• How can I ever optimize for requests that do not know yet – Have to rely on heuristics

Page 22: Dynamic routing – QoS routing

Optimization heuristics

• Longer or shorter paths?– Shorter paths use less resources in the network – Avoid completely very long paths

• Best or worse fit? – If I fit request too tightly on a link I cause bandwidth

fragmentation• May cause blocking later on

• Trunk reservation– Traffic on alternate paths may starve traffic that could

use the shortest paths – Reserve some amount of resources on the shortest paths

Page 23: Dynamic routing – QoS routing

Amount of update traffic • When conditions change on a link send an update• In an IGP updates are flooded

– If conditions on a link change very frequently there will be a lot of updates

– A lot of bandwidth and CPU will be lost • Must limit the rate of updates

– But then link state information will not be accurate anymore

• “stale” state

• Fundamental trade-off – Accuracy of routing vs. cost of updates – How can I get good routings even if state information is

stale?

Page 24: Dynamic routing – QoS routing

Limiting the update rate

• Update threshold– Generate an update when link information

changes more than t% since last advertisement• E.g available bandwidth changes more than 10%

– More accurate when available bandwidth is small

• This is good we need more accuracy then

• Clamp down timer – Do not send more than x updates per second

Page 25: Dynamic routing – QoS routing

More limiting

• Divide the link bandwidth in regions – Equal sizes – Exponential sizes

• When available bandwidth moves to a different region since last advertisement send a new one – Can advertise the region and not the exact value

of available bandwidth • Many links will have same available bandwidth • More availability of equal bandwidth paths to

choose from

Page 26: Dynamic routing – QoS routing

Routing with stale values

• Randomized routing – Do not believe the information we have – Add some randomness in the path selection

decisions