Title: QoS in the Internet Proposals and Prospects
1QoS in the Internet Proposals and Prospects
2Introduction
- For Many Years the Internet was primarily used
for networking research. File transfer and email
were the most popular applications They do not
need any performance guarantee from the
underlying network. - The current Internet cannot provide any resource
guarantees the service is best effort - New applications such as VoIP, video
conferencing, e-commerce apps are sensitive to
network performance (e.g., delay and bandwidth
guarantees).
3Current State of Internet
- The internet service did not change by much
- Uses best-effort service model
- No guarantee of timeliness or delivery
- No service discrimination
- Bandwidth and network congestion problems
- Unpredictable network response time
4What is QoS
- The capability to provide resource assurance and
service differentiation so that delay, jitter or
loss sensitive applications can perform
satisfactorily is referred to as quality of
service (QoS). - Can be provided through relative prioritization
of resource allocation to different flows/packets
in the network.
5Resource Allocation
- Many problems in the Internet come down to the
issue of resource allocation. - Packets get delayed or dropped because network
resource cannot meet the traffic demands. - A network consists of shared resources
bandwidth, buffers, serving traffic from
competing users. - To support QoS, the network must allocate
resources and decide who should get how much
resources.
6Integrated Services
- Based on per flow resource reservation.
- Applications must make a reservation before
transmitting traffic. - Application characterizes its traffic and
resource requirement. - Network uses routing protocol to find a path.
- A reservation protocol is used to install the
reservation state along that path.
7Integrated Services (contd)
- At each hop admission control checks whether
sufficient resources are available to accept the
new reservation. - Resource reservation enforced by packet
classification and scheduling mechanisms. - Two service models are introduced guaranteed
service and controlled load. - Guaranteed service provides deterministic worst
case delay - Controlled load provides less firm guarantee
its close to a lightly loaded best-effort
network.
8Integrated Services (contd)
- Overhead of setting up reservation is high.
- Scalability problem Backbone will have a large
number of flows and keeping flow information is
not feasible.
9Differentiated Service
- Users traffic is divided into a small number of
forwarding classes. - For each forwarding class, the amount of traffic
that users can inject is limited at the edge of
the network. - Edge of a differentiated Services network
responsible for mapping packets to their
appropriate forwarding classes. - Packet classification is usually based on service
level agreement.
10Differentiated Service (Contd)
- Nodes at the edge of the network perform traffic
policing to ensure conformance. - Non-conforming traffic may be dropped, delayed or
marked with a different forwarding class. - Forwarding class is directly encoded into the
packet header. - Interior nodes use this info. to differentiate
the treatment of packets. - Does not require resource reservation.
11Differentiated Service (Contd)
- Forwarding classes apply to traffic aggregates
rather than individual flows. - No scalability problem.
12Diffserv Architecture
- Ingress routers
- Police/shape traffic
- Set Differentiated Service Code Point (DSCP) in
Diffserv (DS) field - Core routers
- Implement Per Hop Behavior (PHB) for each DSCP
- Process packets based on DSCP
DS-2
DS-1
Ingress
Egress
Ingress
Egress
Edge router
Core router
13Multiprotocol Label Switching (MPLS)
- A short fixed length label is encoded into the
packet header and is used for packet forwarding. - When a label switch router (LSR) receives an MPLS
packet, it uses incoming label to find the next
hop and the corresponding outgoing label. - In MPLS, the path a packet traverses is called
label switched path (LSP). - Network protocol independent
14Multiprotocol Label Switching (MPLS)
- Works alongside existing routing technologies and
provide a mechanism for explicit control over
routing paths. - Used for traffic engineering, guaranteeing QoS
and VPN.
15Traffic Engineering
- The basic problem Given a network and traffic
demands, how can traffic flows in the network be
organized so that an optimization objective can
be optimized. - Typically optimal operating point is reached when
traffic is evenly distributed leads to min
queuing delay and packet loss. - This cannot be achieved through destination based
IP routing - Advanced routing techniques constraint-based
routing are used.
16Traffic Engineering (contd)
- Routes are computed with multiple constraints and
aims for efficient resource utilization. - Appropriate path selection with uniform traffic
distribution and the congestion avoidance
techniques improve the network performance - MPLS can be used to achieve this goal.
17Internet QoS Overview
- Integrated services
- Differentiated Services
- MPLS
- Traffic Engineering
18State information
- No State Vs. Soft State Vs. Hard State
19Integrated Services
- Early 1990 IETF started Inegrated Services
working group to standardize a new resource
allocation architecture. - Based on a per flow resource reservation.
- Goal is to preserve the datagram model of
IP-based networks and at the same time support
resource reservation for real-time applications.
20QoS Router
Queue management
Policer
Per-flow Queue
Scheduler
Classifier
shaper
Policer
Per-flow Queue
Per-flow Queue
Scheduler
shaper
Per-flow Queue
21Basic Approach
- A set of mechanisms and protocols is used for
making explicit resource reservation. - To receive performance guarantee from the
network, resource reservation must be set up
before the application can start transmitting
packets. - Sender starts the setup of a reservation by
sending characteristics and resource requirement
of the flow. - The network can accept the new application flow
only if sufficient resource is there. - Once reservation is setup successfully, the
application can start sending data packets.
22Key Components
QoS routing agent
Admission control
Reservation setup agent
Resource reservation table
Control plane
Flow identification
Packet scheduler
Data plane
23Key Component (contd)
- Control Plane sets up resource reservation.
- Data plane forwards data packets based on
reservation state. - To setup reservation, app first characterizes its
traffic flow and specifies QoS requirements
referred to as flow specification - The reservation setup request is then sent to the
network.
24Key Component (contd)
- Router upon getting the request, interacts with
QoS routing agent to find the next hop. - It then coordinates with the admission control
module to determine if there are sufficient
resources to meet the requested resources. - Once reservation set up is successful, the
information for the reserved flow is installed
into the resource reservation table. - Info. in the resource reservation table is used
to configure the flow identification module and
the packet scheduling module in the data plane.
25Route Selection
- IntServ does not specify any route selection of
its own. - It relies on existing routing protocols to
forward its control packets further. - Obviously a more efficient routing protocol which
can find a path that is likely to have sufficient
resources is desired.
26Reservation Setup
- To setup reservation, a reservation set up
protocol is needed that goes hop by hop along the
path to install the reservation state in the
routers. - The reservation protocol must also deal with
changes in the network topology. - In IntServ, RSVP has been developed as the
resource reservation protocol.
27Admission Control
- In order to provide guaranteed resources for
reserved flows, a network must monitor its
resource usage and admit a new flow only if it
has sufficient resource. - It has two functions to determine if a new flow
reservation can be set up based on the admission
control policies and to monitor and measure the
available resources.
28Flow Identification
- Router must examine every incoming packet and
decide whether the packet belongs to one of the
reserved flows. - IP flow is identified by src addr, dest addr,
proto ID, src port, dst port five-tuple. - These five fields of the incoming packet is
compared against the five-tuple of all the flows
in the reservation table for flow identification.
29Packet Scheduling
- Packet scheduler responsible for resource
allocation - Directly affects delay, jitter and packet loss
- Primary task is to select a packet to transmit
when outgoing link is ready such that the QoS
promised to flows is provided
30Service Models
- Describe interface between the network and its
users. - IntServ has standardized two basic service
models - Guaranteed service
- Controlled load service
31Guaranteed Service
- Provides guaranteed bandwidth and strict bounds
for delay. - Intended for apps that require highest assurance
on bw and delay mission critical apps,
intolerant playback apps. - Can be viewed as a virtual circuit with
guaranteed bw. - Provides bounds on maximal queuing delay.
32Controlled load service
- Strict bw assurance and delay bound comes at a
price resources have to be reserved for the
worst case. - For some apps a service model with less strict
guarantees and lower cost would better serve
their needs. - End-to-end behavior somewhat vague.
- A very high percentage of packets will be
successfully delivered by the network to the
receivers. - The transit delay experienced by a very high
percentage of packets will not greatly exceed min
delay.
33RSVP
- A resource reservation protocol defined under
IntServ. - Used by hosts to communicate service requirements
to the network and by routers in the network to
establish reservation state along a path
34Protocol Overview (Contd)
- RESV must follow the exact same reverse path
upstream. - They create reservation state in each node along
the paths - After receiving RESV msg sender can start sending
data packets.
35DiffServ
- Differentiated Services (DiffServ) is proposed by
IETF as a scalable QoS solution for the next
generation Internet. - Developed for relatively simple, coarse methods
of providing different levels of service for
Internet traffic. - Divides traffic into a small number of classes
and allocates resources on a per class basis. - Core of a diffserv network distinguishes between
small number of forwarding classes rather than
individual flows.
36DiffServ (cont.)
- Complex per-flow classification and scheduling
used in intServ (causes scalability) not needed. - Operates on a per-hop behavior (PHB) basis
- Classifies packets by marking the headers
Routers discriminate packets based on their
markings - Packet marking is done on the basis of a service
level agreement (SLA) between the host and the
ISP - Provides service assurances but no QoS guarantee
37Basic Approach
- Traffic is divided into a small number of groups
called forwarding classes - Forwarding class that a packet belongs to is
encoded into a field in the IP packet header. - Each forwarding class represents a predefined
forwarding treatment in terms of drop priority
and bandwidth allocation.
38Basic Approach (cont.)
- Achieves scalability by implementing traffic
classification and conditioning functions at
network boundary nodes - Classification involves mapping packets to
different forwarding classes. - Conditioning checking whether traffic flows
meet the service agreement and dropping/remarking
non-conformant packets. - Interior nodes forward packets based solely on
the forwarding class.
39Per Hop Behavior (PHB)
- Forwarding treatments at a node
- Each PHB is represented by a 6-bit value called
DSCP - All packets with the same code points are
referred to as a behavior aggregate (BA) and they
receive the same forwarding treatment. - May describe forwarding behavior in either
relative or absolute terms - Minimal bw for BA absolute term
- Allocate bw proportionally relative
- Typically implemented by means of buffer
management and packet scheduling.
40Differentiated Services Field
- Uses 6 bits in the IP header to encode forwarding
treatment - These 6 bits are those out of the IP TOS field (8
bits long) - DiffServ redefines existing IP TOS field to
indicate forwarding behavior - Replacement field, called DS field supersedes
existing definition of TOS - First 6 bits used as DSCP to encode the PHB,
remaining 2 bits are currently unused (CU).
41Differentiated Service (DS) Field
0
5
6
7
DS Field
0
4
8
16
19
31
Version
HLen
TOS
Length
Identification
Flags
Fragment offset
IP header
TTL
Protocol
Header checksum
Source address
Destination address
Data
- DS filed reuse the first 6 bits from the former
Type of Service (TOS) byte to determine the PHB
42Assured Forwarding (AF)
- The basic idea came from RIO scheme
- In RIO scheme packets are marked as in or out
- During congestion, out packets are dropped first
in/out bit indicates drop priorities - AF standard extended the basic in or out marking
in RIO into four forwarding classes and within
each forwarding class, three drop precedences
43Assured Forwarding (AF) (cont.)
- Customers can subscribe to the service built with
AF forwarding class and their packets will be
marked with appropriate AF DSCPs. - Drop priorities within each forwarding class are
used to select which packets to drop during
congestion - When backlogged packets from an AF forwarding
class exceed a specified threshold, packets with
highest drop priority is dropped first, then
packets with lower drop priority
44Mechanism for assured service - summary
45Expedited Forwarding (EF)
- Proposed to characterize a forwarding treatment
similar to that of a simple priority queuing. - Forwarding treatment of traffic aggregate must
equal or exceed a configurable rate - Should receive this rate independent of load of
other traffic passing through the node - Provides low delay and low loss service
46EF implementation
- Several queuing mechanisms can be used to
implement EF PHB - Priority queuing with token bucket
- Priority of EF traffic should be highest in the
system - Token bucket is used to limit the total amount of
EF traffic so that other traffic will not starve - WFQ can be used such that weight assigned to EF
traffic has relative priority than other traffic
47DiffServ Summary
48Functionality at DiffServ Routers
49Proportional QoS
- Using a proportional QoS model, we not only
guarantee that a higher priority class receives
better service, but we also quantify the
differentiation between different classes -
50Proportional Differentiation
- Definition
- If qi is the QoS metric of interest, and si is
the differentiation factor for class i, we have -
For example Given two classes 1 and 2, and
the QoS metric is packet loss rate, s11
s22, the packet loss rate of class 2 should
be twice that of the loss rate of class 1.
51Proportional Differentiation
- Pros
- Controllable
- Differentiation level between service classes can
- be controlled by network operator
- Predictable
- Performance of higher classes is consistently
- better than the performance of lower Class even
- in short time scale
52Proportionally differentiated packet delay
- Waiting Time Priority (WTP) Scheduling
One packet need to be scheduled
Class 0
Class 1
On-line priority measurement is done
Class N
53Proportionally differentiated packet delay
Waiting Time Priority (WTP) Scheduling
54Proportionally differentiated packet delay
- Wait Time Priority (WTP) Scheduling
- Suppose class i is backlogged at time t, and that
wi(t) is the head waiting time of class i at t - We have normalized head waiting time of class i
at t as -
- When a packet need to be scheduled, a backlogged
class j is selected for -
55Performance
Proportional average packet delay
56Proportionally differentiated loss rate
On-line priority measurement is done
Class 0
Class 1
One packet arrives
Class 2
Total buffer size 20
57Proportionally differentiated loss rate
Class 0
Class 1
Class 0 has the lowest priority
Class 2
Total buffer size 20
58Proportionally differentiated loss rate
- Proportional Loss Rate (PLR) dropper
- Suppose there are two counters for each class i,
counter ai records packet arrival history of
class i, counter di records packet drop history
of class i - We have normalized packet loss rate of class i
as - When a packet needs to be dropped, a backlogged
class j is selected for
59Performance
Proportional packet loss rate
60Architecture I
Parameters
Timer
Waiting time recorder
Dropper
Scheduler
Packet arrival
Drop one packet
Schedule a packet
61MPLS
62Why MPLS?
- MPLS stands for Multi-Protocol Label Switching
- Goals
- Bring the speed of layer 2 switching to layer 3
- May no longer be perceived as the main benefit
Layer 3 switches - Resolve the problems of IP over ATM, in
particular - Complexity of control and management
- Scalability issues
- Support multiple layer 2 technologies
63Basic Idea
- MPLS is a hybrid model adopted by IETF to
incorporate best properties in both packet
routing circuit switching
MPLS
ATM Switch
IP Router
64Basic Idea (Cont.)
- Packets are switched, not routed, based on labels
- Labels are filled in the packet header
- Basic operation
- Ingress LER (Label Edge Router) pushes a label in
front of the IP header - LSR (Label Switch Router) does label swapping
- Egress LER removes the label
- The key establish the forwarding table
- Link state routing protocols
- Exchange network topology information for path
selection - OSPF-TE, IS-IS-TE
- Signaling/Label distribution protocols
- Set up LSPs (Label Switched Path)
- LDP, RSVP-TE, CR-LDP
65MPLS Operation
66Label switching technologies
- Main objectives a forwarding technique
- Improve Internet forwarding technology
performance - As a result, scale the (WAN) Internet
infrastructure - Several pre-standard industry flavors
- "Tag switching", "IP switching", "Fast IP", ...
- IETF Standardization
- First drafts produced mid 97
67Label Switching
- Uses concept of edge and core where
- conventional routing done at the edge
- switching
- (i.e.make forwarding decision not based on
destination address) - done in the core
Conventional Routing at edge
Switching in core
68Labels
7423
- In core, forwarding decision based on logical
forwarding references - Logical forwarding reference called Label (1)
H
7423
R
3
7423
R
7
R
7423
label
69Label Switching Routers
7423
- In the core nodes capable of switching on labels
called - Label Switching Routers (LSR)
-
- LSR is a specific device
- neither regular router
- nor regular ATM switch
Specific device
H
7423
LSR
3
7423
LSR
7
7423
Label Switching Domain
70Label Switching rationale
- Select output port at "hardware speed"
- Simple look-up
- Using an Index
- short
- of fixed length
- in fixed position
- at beginning of packet
- with no internal structure
Label
3
71Relationships with QoS
- Entry may also contain information about what
resources all the pkts carrying this label may
use - e.g.
- outgoing queue
- drop reference level
Label
3
Outgoing port
0
1
2
3
4
5
6
7
72Label local significance
- No reason index (labels) to forwarding tables be
the same in all nodes - Label to be agreed by two communicating LSRs
- Have strictly local significance, as
- X.25 virtual channels numbers
- ATM VCIs and VPIs
LSR
LSR
3
7
2
73Label Switched Path (LSP)
- Label Switched Path (LPS)
- concatenation of labels
- constitutes, from node to node, the path followed
by all pkts carrying those labels
LSR
LSR
3
7
2
74FEC and Label Switched Paths
- Forwarding Equivalence Classes
- Pkts following an LSP form an FEC
- a set of pkts forwarded in the same manner
- An FEC maps to a label
Example of Label and FEC binding
2
5
LSR
LSR
LSR
- FEC
- All packets forwarded in the same manner by that
router - Form a Class (FEC)
- carry same label 3 on this section
75Further FEC partition
- Further FEC partition possible (but not
mandatory) -
- If packets have different QoS requirements
Example of further partition of an FEC
label x
LSR
LSR
label y
76Label swapping
- Label swapping in a core Label Switching Network
(LSN) is similar to forwarding over ATM or X.25
virtual circuits - replace incoming label with outgoing label for
next hop - Implement QoS/priority as appropriate
- forward to output port
- In addition, LSRs must check if pkt has reached
final destination (egress point)
77Core MPLS Switching Routers
- MPLS switches may be
- Routers enhanced with MPLS functionality
- If IP, can be
- IPv4 router
- IPv6 router
- ATM switches (1)
- supporting MPLS protocols
- implementing regular layer 3 routing
- called ATM-LSR or LS-ATM
Core switching
R
R
R
MPLS-capable Routers
Core switching
ATM
ATM
ATM
R
R
R
MPLS-capable and routing-capable ATM switch
78Where to code the label?
- Labeling a pkt either
- overwriting an existing field in a layer 2
header, or - inserting an extra header between layer 2 and
layer 3 headers - the MPLS header
Layer 2 header
Layer 3 header
Label
label set in existing field
Layer 2 header
Layer 3 header
MPLS header
Label
label inserted
79Example of layer 2 label
Core switching
ATM
ATM
- When Label Switching Routers are ATM-LSR ...
- then, ...
- Label carried in the VPI/VCI field (28 bits)
ATM
R
R
R
Layer 2 header
Layer 3 header
Label
80Traffic Engineering MPLS
81Traffic Engineering
- Concerned with the performance optimization of
operational networks - Main objective is to reduce congestion hot spots
and improve resource utilization across the
network through carefully managing the traffic
distribution inside the network - Cost savings that results in more efficient use
of resources (e.g. bw) helps to reduce overall
cost of operation for service providers. - IP routing is based on destination and used
simple metrics such as hop count - IP routing can lead to poor resource utilization
82The Fish Problem
D
A
G
F
C
Tail
Head
B
E
83The Fish Problem (cont.)
- There are two paths from A and B to G.
- But only one of the two paths (shortest path)
will be used for traffic - Leads to unbalanced traffic distribution
- Problem caused by two properties of IP routing
- IP routing is destination based. Thus for each
destination network there is typically only one
path in the routing table traffic distribution
tends to be unbalanced
84The Fish Problem (cont.)
- Decision making in current routing is based on
local optimization any node simply selects a
path that is best from its own perspective. It
does not take into account the overall system
objective and have a global view of the network
in terms of traffic distribution
85Optimization Objectives
- The main aim of TE is to improve network
performance through optimization of resource
utilization in the network. - Common optimization objectives are
- Minimizing congestion and packet losses in the
network - Improving link utilization
- Minimizing total delay experienced by packets
- Increasing number of customers with the current
assets
86Optimization Objectives (cont.)
- ISPs would like to avoid hot spots in the network
- Mathematically means minimize the maximum link
utilization - Means lower total delay and loss
- Leaves more space for future traffic growth since
available bandwidth is maximized
87Constraint-Based Routing
- Conventional IP routing is based on an algorithm
that optimizes a particular scalar metric - With constraint based routing path is optimal
w.r.t. some scalar metric, at the same time it
does violate a set of constraints - Performance constraint
- Path with certain minimum available bw
- Administrative constraints
- Path that excludes certain links in the network
88Constraint-Based Routing (cont.)
- Plain IP routing cannot support constraint based
routing - Constraint-based routing requires path
calculation at the source - Because different source may have different
constraints for a path to the same destination - Constraints associated with a particular source
router are only known to that router - In plain IP routing paths are computed in a
distributed fashion by every router does not
take into account constraints of different
sources
89Constraint-Based Routing (cont.)
- When a path is determined by the source,
forwarding along such a path cannot be provided
using the destination-based IP forwarding - Path computation at the source needs to have
information about attributes associated with
individual links (e.g. link utilization). - There is no mechanism to distribute this
information in the network through plain IP
routing - IP routing protocol can be augmented to support
these functionality