Internet Telephony Lecture Notes
1 July 2008 • Implementing Quality of Service
Outline
Adaptive QoS.
Integrated Services and RSVP.
Differentiated Services.
QoS Proxies
Network delay.
Delay variance (jitter).
These represent a host of human-oriented measures.
Bandwidth (bits/sec).
QoS Objectives
Maximize bandwidth use.
From a number of points of view.
Minimize delay and jitter.
QoS Techniques
Two main techniques for providing QoS are adaptive and allocative.
Hybrid techniques may exist.
Adaptive QoS Techniques
The (IP) network provides is usual service, doing nothing special.
Unconstrained best-effort delivery.
End-points dynmically adjust their QoS requirements to fit network service characteristics.
Adaptive Mechanisms
An adaptive end-point must be able to
Measure network conditions and quantify QoS.
Adjust ongoing QoS requirements based on current conditions.
Coordinate among service-instance end-points.
Codecs can't usually be changed unilaterally.
Adaptation Example
A two-party phone call starts off with 16 kbt/sec connection.
Packet loss and jitter are small.
There's resources availble; jack up the connection to 32 kbt/sec.
Packet loss increases, jitter remains the same.
Link problems, possibly; crank back to 16 kbt/sec.
Packet loss and jitter increase.
Congestion possibly; crank back again to 8 kbt/sec.
Adaptation Analysis
No changes required to the IP network.
But the network is hard to read.
Services can (potentially) handle a wide-range of QoS conditions.
But it may not be easy to do so (dealing with uncertainty is hard).
A service can use bespoke QoS mechanisms.
May be costly to design and use.
May introduce incompatability between similar services.
Beyond Adaptation
IP network service is useless for QoS-sensitive applications.
Adaptation is hard and delivers inconsistent quality.
Unconstrained resource sharing is the culpret in both cases.
Does constrained resource sharing help?
Resource Reservation
Reserving network resources provides a minimum QoS level for a service instance.
Integrated Service
QoS requirements are established before communication, during call set-up.
Endpoints negotiate with the network over QoS resources (bandwidth, buffer space).
Once established, the end-points manage resource use to maintain resource reservations (self-policing).
RSVP
The
Resource Reservation Protocol
(
RSVP
,
rfc 2205
) is an example of an Intergrated Service protocol.
It's a control or signaling (or control-plane) protocol.
Reservation occurrs in two passes: from sender to receiver, then from receiver to sender.
RSVP establishes reservations in one direction only.
Duplex connections require reservations in both directions (four passes).
Flows
One packet looks like another, but not all packets should be treated alike.
Packets from a service-instance should be grouped and distinguished from other packets.
A
flow
is a group (or sequence) of distingished packets that should receive similar treatment.
RSVP Operation
RSVP enables four main bearer-plane operations:
admission control - handle reservation requests.
policy control - define acceptable requests.
classifier - put packets into flows.
packet scheduler - send packets on their way.
Together these operations are known as
traffic control
.
RSVP Sessions
An
RSVP session
is a flow to a particular end-point.
Determined by an (IP address, IP port, IP protocol) triple.
Multiple flows can be grouped into a session.
Separate sessions are independent of one-another.
“Independent” means no specific coordination over traffic control.
RSVP Operation
RSVP assumes IP-level services.
RSVP operation occurs in two phases: set-up and use.
Set-up establishes the resource reservations (or not, depending).
Use uses the reserved resources (or not, depending).
Set-up involves (conceptually) the control plane; use involves the bearer plane.
RSVP Set-Up
A RSVP request for a simplex flow has two passes: from the sender to the receiver, then from the receiver to the sender.
The sender-to-receiver request sets up a
flow path
.
The receiver-to-sender response reply follows the flow path.
Duplex flows require set-up in each direction.
Policy and Admission Control
Each request is judged twice at each router along the flow path:
Policy: is this request allowed at all?
Admission: are there enough resources at this node to handle the request?
Successful requests are passed along the flow path.
Rejected requests are passed back down the flow path.
The receiver may respecify the request and try again.
Adding Flows
A successful request alters router behavior along the flow path.
Admission control recognizes and classifies the packets from flows.
Packet scheduling handles packets in a way appropriate to the corresponding flows.
Flow Descriptions
A flow is described by a
flow descriptor
.
The
filterspec
modifies admission-control behavior.
The
flowspec
describes packet-scheduling behavior.
A flow descriptor is a filterspec and a flowspec.
Flowspecs
A flowspec describes the desired packet-scheduling behavior.
The service class.
The
resource spec
(
Rspec
) gives the desired QoS.
Rate, delay slack (jitter).
The
traffic spec
(
Tspec
) describes the data flow.
Peak rate, maximum packet size, and so on.
Reservation Styles
Service characteristics may influence how reservations are made.
How many senders? Statically or dynamically determined?
Multiple senders can be allocated into sessions.
Each session is a separate resource allocation.
This is a service-determined feature.
Sender Allocations
There are three styles of sender allocation supported:
Wildcard: all senders in one session (one fat pipe).
Fixed: each sender has a session.
Shared-explicit: specified senders share a session.
A concurrency measure;
Mostly one active sender can use wildcard or shared-explicit.
Mostly several active senders can use fixed.
RSVP Routers
Routers under RSVP control have to reserve total bandwidth to be used to satisfy RSVP requests.
Each router also maintains a per-flow maximum.
Each router also has to maintain lots of RSVP state.
RSVP Analysis
RSVP provides per-service resource reservation.
With an enormous amount of machinery.
Shared resources are managed with fair efficiency.
At a cost of a lot of state in the network.
How can integrated-services costs be reduced?
Services Classes
Provide only a fixed set of QoS levels.
Low (best effort), medium, and high quality.
Services slot themselves into a QoS level, rather than carving out their own custom level.
Services can still be adaptive.
Differentiated Services
Differentiated Services
(
DiffServ
) embodies the idea of a fixed array of QoS levels.
Routers have an easier time dealing with fixed QoS levels.
Border Control
DiffServ routers can be further simplified by moving state to the edge of the network.
The reservation part is moved out of the network.
Border nodes are responsible for:
Admission: allowing new flows into the network.
Classification: marking packets as to QoS required.
Shaping: making sure a service instance behaves.
Aggregation: combining separate flows at the same QoS level into a single flow.
Classification and Aggregation
QoS levels are specified by
DiffServ
(
DS
)
code points
.
They fit in the IPv4 TOS or IPv6 traffic-class field.
Flows with the same DS code point are merged to form a
DS aggregation
.
A router handles DS aggregates according to the associated QoS spec.
Agreements
All border nodes in a network act under the control of a
traffic conditioning agreement
(
TCA
)
The TCA determines the services offered and the amount of traffic for each service accepted.
Border nodes form
service level agreements
(
SLA
) with end-points.
An SLA determines
The QoS end-user expects from the network.
The end-user behavior expected by the border node.
DS Domains
A
DS domain
is a set of border nodes and routers under a common administration.
The policy sets the behavior of routers in the DS domain.
DS-domain node is a boundary or internal node.
A boundary node is either a ingress or egress node.
DS Regions
Several DS domains can group to form a
DS region
.
The domains share common TCAs and SLAs.
Example: One DS domain for each school, and all schools in the Monmouth region.
The Monmouth and Drew regions.
Ingress Nodes
Ingress nodes are responsible for controlling access to the network.
“Controlling” means
Classifying: determining DS code points for flows.
Metering: determining how DS code points behave.
Marking: assigning code points to packets.
Shaping: injecting packets into the network to meet QoS requirements.
This page last modified on 12 June 2008.