Evolution of QoS routing in the...
Transcript of Evolution of QoS routing in the...
© O. Bonaventure, 2004Page 1
Evolution of QoS routing in the Internet
Olivier Bonaventure
Dept. Computing Science and EngineeringUniversité catholique de Louvain
http://www.info.ucl.ac.be/people/OBO
June 4th, 2004
© O. Bonaventure, 2004Page 2
Agenda
� Routing basics
� The ToS approach
� The Integrated Services approach
� The Traffic Engineering approach
� Issues with QoS routing in the Internet
© O. Bonaventure, 2004Page 3
Architecture of a normal IP router
Routing table
IP packets
Routing protocol
Control
Forwarding
Class.Shap.
Pol
Class.Shap.
Pol
ForwardingTable
IP packets
IP packets
Forwarding decision based on longest matchUpdate of TTL and checksum fields in IP packets
The "best" paths selected from the routing tablebuilt by the routing protocols are installed in theforwarding table
© O. Bonaventure, 2004Page 4
Internet routing
� Exterior Gateway Protocol (EGP)
� Routing of IP packets between domains� Each domain is considered as a blackbox
� Interior Gateway Protocol (IGP)
� Routing of IP packets inside each domain
� Only knows topology of its domain
Domain1
Domain2
Domain3
Domain4
© O. Bonaventure, 2004Page 5
Intradomain routing
� Goal
� Allow routers to transmit IP packets along the best path towards their destination
� best usually means the shortest path� Shortest measured in seconds or as number of hops
� sometimes best means the less loaded path
� Allow to find alternate routes in case of failures
� Behavior
� All routers exchange routing information
� Each domain router can obtain routing information for the whole domain
� The network operator or the routing protocol selects the cost of each link
© O. Bonaventure, 2004Page 6
Three types of Interior Gateway Protocols
� Static routing
Only useful in very small domains
� Distance vector routing
Routing Information Protocol (RIP)
Still widely used in small domains despite its limitations
� Link-state routing
Open Shortest Path First (OSPF)
Widely used in enterprise networks
Intermediate System- Intermediate-System (IS-IS)
Widely used by ISPs
© O. Bonaventure, 2004Page 7
Distance vector routing
� Principle
� Router configuration
Cost associated with each link
� Each router sends periodically a distance vector containing, for each known prefix, :
1. The IP prefix2. The distance between itself and the destination�
The distance vector is a summary of the router's rout ing table
� Each router receives its neighbor's distance vectors and builds its routing table based on those vectors
R2 R5
R3 R4
R1R6
C=5
C=3
C=3
C=1
C=1
C=3
C=6
C=10
© O. Bonaventure, 2004Page 8
Issues with distance vector routing
� How to deal with link failures ?
� Routers should send their distance vector when they detect the failure of one of their links
� How to avoid the count-to-infinity problem ?
� Utilize a non-redundant star shaped network
� Limit the maximum distance between routers
� For RIP, � � 16 !
� Split horizon
� Router A does not advertise to router B the routes for which it sends packets via router B
� Split horizon with Poison reverse
© O. Bonaventure, 2004Page 9
Link state routing
� Principle
� Each router builds link state packet containing its local topology
� Link state packets are created at regular intervals and when the local topology changes
� Link state packet is reliably flooded to all routers inside the domain
� Each router knows the complete domain topology
� Computes routing tables by using Dijkstra
� The best path is the path with the smallest cost
R2 R5
R3 R4
R1R6
C=5
C=3
C=3
C=1
C=1
C=3
C=6
C=10
© O. Bonaventure, 2004Page 10
Agenda
� Routing basics
� The ToS approach
� The Integrated Services approach
� The Traffic Engineering approach
� Issues with QoS routing in the Internet
© O. Bonaventure, 2004Page 11
The ToS byte
� ToS : Type of Service Octet
� defines the relative importance of the IP packet and the type of service required for this packet
� ToS evolution
� definition of ToS Octet changed several times
� Precedence is used in some networks
� ToS field is rarely used
� Today, ToS byte has been replaced by DSCP
0 1 2 3 4 5 6 7
Prec. Type of Service 0
Precedence (relative priority)
1000 minimize delay0100 maximize throughput0010 maximize reliability0001 minimize monetary cost0000 normal service
© O. Bonaventure, 2004Page 12
ToS-based routing
� Principle
� Attach a different IGP cost on each link for each ToS value
� Compute and maintain a forwarding table per ToS value
� Forward the packets based on their ToS
� Example
�
R2 R5
R3 R4
R1R6
d=5, t=10
d=3, t=10
d=3,t=20
d=1,t=10
d=1,t=2
d=3,t=5
d=6,t=9
d=10,t=10
d: delay metrict: throughput metric
© O. Bonaventure, 2004Page 13
What happened to ToS routing ?
� Support was added in
� IS-IS
� for both CLNP and IP
� OSPFv2
� But ISPs did not clearly request this and no major vendor implemented it...
� ToS byte was seldom used by applications
� Main usage was Precedence=6,7 for routing packets
� ToS routing will be removed from the OSPF and IS-IS specification
© O. Bonaventure, 2004Page 14
Agenda
Routing basics
The ToS approach
The Integrated Services approach
The Traffic Engineering approach
Issues with QoS routing in the Internet
© O. Bonaventure, 2004Page 15
Integrated servicesThe "hard" approach for QoS
! Basic hypothesis
" Some specific applications require QoS
# delay guarantees
# bandwidth guarantees
" Three types of services
# Guaranteed Service
# Controlled Load
# Null
" QoS will be provided to layer 4 flows
# Each layer 4 (TCP or UDP) flow will inform the network about its QoS requirements
# The network will accept or reject the flow based on its requirements and the current state of the network
" QoS should support unicast and multicast
" QoS flows should be allowed to coexist with best-effort flows in the same network
© O. Bonaventure, 2004Page 16
Integrated services network
$ Provision of integrated services in a network
R6
R1
R3
R5
R4 R2
QoS Response
Applications utilize signaling protocol to indicate their QoS requirements
Routers rely on per layer 4 flow scheduling to provide the required QoS
Routers perform connection admission control to reserve ressources for each flow
Normal IP routing is used to select path towards destination. IP routing is not changed to support Integrated Services
QoS Request
© O. Bonaventure, 2004Page 17
An Integrated services router
% Model of an Integrated Services router
RoutingRSVPAdmission
Control
Resourcereservation
Layer-4Classification
+traffic contractenforcement
IP packets withreservat ion
IP packets without reservation
Data IP packetsData IP Packets
Integrated Servicescapable router
RSVP messagesRouting protocol
Control
Forwarding
Scheduler
© O. Bonaventure, 2004Page 18
RSVP
& RSVP : Resource Reservation Protocol
& Objectives
' Support the establishment of unidirectional flows in IP networks
( different types of flows) init ially layer 4 f lows
' Suitable for IP unicast
( should take into account the possibility of route changes without requiring any modification to routing protocols
' Suitable for IP multicast
( should fully support the IP multicast service model including dynamic groups
© O. Bonaventure, 2004Page 19
RSVP (2)
* Principles of operation
* Two important RSVP messages
+ PATH
, used by sender to inform routers and receivers of the new flow and its required resources- no resources are reserved due to reception of PATH
+ RESV
, used by receiver to actually reserve resources for the flow specified in the PATH message- resources are reserved for the IP packets sent by the sender
towards the receiver along the path taken by the PATH message
* RSVP messages are sent inside IP packets
© O. Bonaventure, 2004Page 20
RSVP : example
. Unicast flow establishment with RSVP
S1 R1 R2 R3 D1
PATH specifies flowand announces amountof traffic to send
PATH
Routing findsnext hop=R2nothing is reserved
PATH
PATH
PATH
D1 knows requirementsfor this new flow
RESV
D1 asks R3 to reserveresources on R3-D1link for this flow
RESV
R3 can reserve enoughresources for D1's flow
RESVRESV
S1 is asked to reserveresources on S1-R1
RESVconfOptional confirmation for D1will be sent to D1
RSVP messages are sent unreliably as simple datagrams
RESV messages must follow same route as PATH messages
© O. Bonaventure, 2004Page 21
Constrained routing
/ What should be added to traditional routing algorithms ?
0 a way to distribute information about current network state
1 routers must know load of remote links to choose paths meeting constraints for flows with QoS guarantees
0 a way to compute a path subject to constraints
1 current routing algorithms find shortest path
1 how can we find a path with2 minimum hop count2 at least 10 Mbps2 at most 10 msec of delay
© O. Bonaventure, 2004Page 22
Distributing load information
3 Distance vector routing protocols [RIP,BGP]
4 routers conspire to distribute routing table
4 difficult to inform routers of load on remote links
4 difficult to support constrained routing
3 Link state routing protocols [OSPF, IS-IS]
4 routers conspire to distribute network map
5 simple to add information about network load
4 routers distribute link state packets with load info
5 delay is already distributed as the IGP metric
5 bandwidth/link load is main information to distribute
5 tradeoff between frequent distribution (accurate information) and rare distribution (avoid network overload)
4 each router knows topology and load of each link and can find constrained paths
© O. Bonaventure, 2004Page 23
Distributing load information (2)
6 Potential problem
7 Link load information is not distributed immediately
7 routers must establish flows based on partial information about the current load in the network
1. new flow [B=4] is created between R4 and R62. before information about load changes, R3 wants to
create a new flow [B=2] towards R68 R3 believes that R3-R4-R6 is the best path
R2 R5
R3 R4
R1R6
D=5B=8
D=3B=6
D=3B=2
D=1B=6
D=1B=6
D=3B=2
D=6B=5
D=10B=8
1
2
© O. Bonaventure, 2004Page 24
Constraints
9 Three types of constraints on path selection
: Additive constraint
; find path minimizing < example< hop count< l ink delay or cost
: Multiplicative constraint
; find path minimizing < example< loss rate
: Concave constraint
; find path containing links whose characteristic is always above a given constraint< example< bandwidth< resource class or color
= > d1 , d2 , ... , dn ?
@ > d1 , d 2 , ... , dn ?
© O. Bonaventure, 2004Page 25
Finding a constrained path
A Single additive or multiplicative constraintsB
apply Dijkstra's algorithmC
example
A 2 or more additive/ multiplicative constraintsB
unfortunately problem is NP hardC
need to evaluate all possible paths to find exact solutionC
several heuristics have been proposed in literature to find acceptable solutions
R2 R5
R3 R4
R1R6
C=5
C=3
C=3
C=1
C=1
C=3
C=6
C=10
© O. Bonaventure, 2004Page 26
Finding a constrained path (2)
D Concave constraintsE
fortunately easy to handleF
remove from the network map all links that do not satisfy the constraintF
utilize Dijkstra's algorithm on the reduced mapF
exampleG
f ind shortest 3 Mbps from R3 to R6
G
utilize only links with some kind of protection
R2 R5
R3 R4
R1R6
C=5B=8
C=3B=6
C=3B=2
C=1B=6
C=1B=1
C=3B=10
C=6B=1
C=10B=8
© O. Bonaventure, 2004Page 27
Constrained routing in IP networks
H Several solutions proposed by researchersI
Lessons learnedJ
Constrained routing should be applied to flows and not on a per packet basis
J
Bandwidth and delay are key constraintsK
delay jitter is less important and diff icult to efficiently supportJ
Path selection should be performed by the source K
the source of a flow selects an explicit route K
at least inside a single areaK
if the path crosses areas of domains, the explicit route will be loosK
intermediate nodes perform connection admission control but do not perform any constrained routing decisionK
path select ion algorithm does not need to be standardizedK
if the new flow is acceptable, establishment continues otherwise the source will have to compute another path
© O. Bonaventure, 2004Page 28
Constrained routing and Intserv
L Integrated services was developped at the same time as ATM-Traffic ManagementM
Guaranteed Service <-> CBR, rt-VBRM
Controlled Load <-> VBR, GFR
L Scalability problems pledged both end-to-end ATM and InterServ
L Constrained routing was used for ATMM
PNNI was defined and implemented
L For Integrated services, IETF was relunctant to change anything to IP routingM
IETF defined is a framework for QoS routing, but no protocolN
although OSPF extensions were proposed by many researchers and prototypes were implemented
© O. Bonaventure, 2004Page 29
A critique of Integrated services
O AdvantagesP
provides per layer 4 flow QoS guaranteesP
GS with delay/ bandwidth guaranteesP
CL with bandwidth guarantees
O DrawbacksP
Requires each intermediate router to perform some operations for each layer 4 flowQ
RSVP message processingQ
per layer 4 flow classificationR
classif ication can become complex for multicast !Q
per layer 4 flow policing/queuing/scheduling R
a backbone router may see thousands of simultaneous f lows !P
Not all applications are able to express precisely their traffic and QoS requirements
© O. Bonaventure, 2004Page 30
Scaling issues with integrated services
R6
R1
R3
R5
R4 R2
PATH
RESV
2. State information required inside each routerS
Ident if ication of layer 4 f low (IP dest, Protocol, Port)S
Ident if ication of previous hop (to forward RESV)S
Reservat ion stateS
Reserved resourcesS
Ident if ication of the senders that benefit from reservations
3. Per data packet processingS
f ind layer 4 flow stateS
check traffic contractS
check reservation
1. RSVP signaling overheadS
one RSVP PATH/RESVS
per layer 4 f lowS
per refresh period
© O. Bonaventure, 2004Page 31
Agenda
T Routing basics
T The ToS approach
T The Integrated Services approach
T The Traffic Engineering approach
T Issues with QoS routing in the Internet
© O. Bonaventure, 2004Page 32
MPLS Integrating label swapping and IP
Rd
Rb
Flow 1
Flow 2 LSR1
Flow 3
LSR3
LSR2
RdRa
Ingress Edge RouterU
inserts labels on packets sent through backbone
Core LSR : Label-Switching RouterU
packet forwarding based only on labels
Egress Edge routerU
removes labels before sendingpackets outside MPLS network
Pure IP packetsPure IP packets
Labeled packets
© O. Bonaventure, 2004Page 33
Label-swapping example
Crd
Cra Routing tabledefault via BR1
Label tableFlow1 : L1 via BR1Flow2 : L2 via BR1
Crb
Flow 1 Flow 2
Routing tabledefault via BR1
Label tableFlow3 : L1 via BR1
BR1
Flow 3 BR1 Routing tabledefault via BR3BR2, Cra, Crb : direct
Label forwarding tableInport Inlabel Outport OutlabelWest L1 North L2West L2 East L1S-W L1 East L2
BR2 Routing tabledefault via BR3BR1, BR3 : directCra, Crb via BR1Label forwarding tableInport Inlabel Outport OutlabelSouth L2 S- E L1
BR3 Routing tabledefault -> InternetBR1, BR2, CRd : directCra, Crb via BR1
BR3 Label forwarding tableInport Inlabel Outport OutlabelWest L1 East L1West L2 East L3N-W L1 North L1
BR3
BR2
Cra
© O. Bonaventure, 2004Page 34
Architecture of a core LSR
Labeled packets
Control
Forwarding
Class.Shap.
Pol
Class.Shap.
Pol
LabelForwarding
Table
Labeledpackets
Labeledpackets
IP Routing tableIP Routing protocol
Label table
Label Distribution
© O. Bonaventure, 2004Page 35
Architecture of an ingress edge LSR
IPpackets
Control
Forwarding
Class.Shap.
Pol
Class.Shap.
Pol
IdentifyFEC
Attach Label
Labeledpackets
Labeledpackets
IP Routing tableIP Routing protocol
Label table
Label Distribution
© O. Bonaventure, 2004Page 36
The Traffic Engineering problem
V ProblemW
Shortest path chosen by IP routing does not always lead to a good network utilizationX
fish problem
W
How to better optimize the network utilization ?W
How to react to changes in traffic conditions
R1
R9
R3
R4
R5 R6
R7
R8
R2Shortest path treerooted on R3
many packetstowards R8
many packetstowards R9
© O. Bonaventure, 2004Page 37
MPLS-based traffic engineering
Y PrincipleZ
In each POP, routers establish MPLS tunnels with bandwidth reservations towards remote routers[
MPLS's label swapping will ensure that packets will follow chosen path[
full mesh of MPLS tunnels
Y IssuesZ
How to select the router-router path ?[
Back to constrained routing with some adaptationsZ
How to establish the MPLS tunnel[
Slightly change RSVP to distribute MPLS labels\
path is computed by the source and specified as an explicit route in the RSVP Path message\
Labels are allocated by the RESV messagesZ
How to change bandwidth or route a LSP ?[
Make-before-break in RSVP-TE
© O. Bonaventure, 2004Page 38
Constrained routing andMPLS-based traffic engineering
] What should we add to OSPF for MPLS-TE ?
^ Bandwidth information for each link_
OSPF-TE will attach unreserved bandwidth information to each link`
one amount of unreserved bandwidth for each of the 8 preemption levels `
preemption levels are used to indicate “importance” of LSPs
^ Maximum bandwidth of each link_
This is the physically available bandwidth on the link
^ Maximum reservable bandwidth_
Maximum amount of bandwidth that can be reserved by MPLS tunnels`
Could be higher than, equal to or lower than maximum bandwidth
© O. Bonaventure, 2004Page 39
Constrained routing andMPLS-based traffic engineering (2)
a What should we add to OSPF for MPLS-TE ?
b Traffic engineering metricc
Could be different from the normal IGP metric which usually is set based on rerouting and bandwidth requirementsd
Common usage of TE metric is to indicate delay to establish tunnels supporting VoIP or tunnels carrying EF trafficd
We're back to ToS routing, but on a per-tunnel basis !
b Resource class or colorc
Allows to identify all the links with the same characteristic, essential to establish protection LSPsd
all satellite links are in blued
all l inks provided by FT are in redd
all l inks provided by Sprint are in yellow
© O. Bonaventure, 2004Page 40
Agenda
e Routing basics
e The ToS approach
e The Integrated Services approach
e The Traffic Engineering approach
e Issues with QoS routing in the Internet
© O. Bonaventure, 2004Page 41
Dynamics of QoS routing with MPLS-TE
f How stable is an MPLS-TE network wheng
link failures occurh
Sprint shows that failures are common eventsh
each failure may cause the rerouting of some MPLS tunnels which will change the bandwidth availableh
dampening mechanisms on LSP generationi
threshold-based LSP generationi
holding time on LSP generationg
Routers are upgradedh
Most ISPs have 2 hours maintenance windown during the nighti
many MPLS tunnels will need to be reroutedg
Change in MPLS tunnels bandwidth reservations h
some vendors propose to measure per tunnel bandwidth and adapt reservation on hourly basish
some vendors propose to reoptimize MPLS-tunnel paths on a regular basis to preserve network optimality
© O. Bonaventure, 2004Page 42
How to extend QoS routing across areas ?
j IGPs used by large ISPsk
ISIS : mainly single area deploymentsk
OSPF : often multi-area deployments
j How to establish interarea MPLS tunnels ?k
interarea IP routing is not as clean as PNNIk
Tunnel headend does not know all topology to select best path to reach destinationl
What kind of TE information should be leaked across areas ?k
Possible solutions includel
headend selects loose route and area border router updates the routel
headend contacts path computation server to select the route, based on full area knowledge
© O. Bonaventure, 2004Page 43
How to extend QoS routing across domains ?
m Several large ISPs want to use MPLS tunnels between ASesn
large company with several ASesn
research networks (GEANT, I2, ...)
m What is required to establish those tunnels ?n
RSVP-TE allows to specify interdomain routesn
Buto
BGP is a path-vector protocol that does not provide any TE informationp
no metricp
no bandwidth attributep
no topological informationn
Headend should define loose route that will be improved by AS border routerso
optimality of interdomain paths is unknown