Title: Quality of Service over the Internet
1Quality of Service over the Internet
- TUTORIAL
- International Conference on Information
Technology - CIT-2001
- Priyadarsi Nanda Dr Andrew Simmonds
- Department of Computer Systems
- Faculty of Information Technology
- University of Technology, Sydney, Australia
- pnanda, simmonds_at_it.uts.edu.au
2Presentation Outline
- Introduction to QoS
- QoS via resource management
- QoS via generic switch architecture
- Internet structure Past, Present and Future
- Integrated Services Network (IntServ)
- Differentiated Services Network (DiffServ)
- Conclusion
3Quality of Service (QoS)
- What is it?
- When you can measure what you are talking about
and express it in numbers, you know something
about it - Lord Kelvin
4Quality of Service (QoS)
- Performance observed by the end user
- Combination of Delay, Jitter, Loss, Throughput
- Two most important for QoS Delay Loss
- QoS for different applications
- Real-time applications need assurance from the
network for timely delivery - Non-real-time applications need correctness of
information delivery
5Quality of Service (QoS)
- What causes poor QoS?
- Lack of resources in network or hosts
- Techniques to provide proper QoS
- Overprovisioning huge link bandwidth and high
performance routers/switches - Resource management (IntServ and DiffServ)
- Traffic control
- Generic switch architecture gt ATM
6QoS via overprovisioning
- Fiber links can now support 1.6 Tbps
- Bottleneck is electronic switches/routers
- Optical switching currently switches paths, not
packets (say av length 8000 bits)
Optical (1.6 Tbps)
Electrical (160 M packets/s)
Optical (1.6 Tbps)
7QoS via resource management
- Traffic differentiation and prioritization
- Resource negotiation and Service Level Agreement
(SLA) - Network availability
- Guaranteed service level predictable QoS
- But guaranteed in a statistical sense
8QoS via resource management
- Congestion control (reactive)
- Admission control (proactive)
- Traffic policing
- Leaky bucket
- Traffic shaping
- Improves predictability of flow, but introduces
delay and reduces statistical multiplexing gains
9Leaky bucket
- Virtual leaky bucket for traffic policing
Data flow unchanged
Capacity B bits
Current level
CLP bit set
av rate r bps
10Virtual leaky bucket same as token bucket
Data flow unchanged
s tokens/s
Capacity C tokens
CLP bit set
(Capacity B Cx bits)
av rate r sx bps
11Leaky bucket
- Real leaky bucket for traffic shaping
Capacity B bits
Current level
Packet discarded
Data flow smoothed but delayed
Data out r bps
12Leaky bucket
- Virtual Max burst B rt bits in t s
- Token bucket Max burst (C st)x bits in t s
- Real Max delay td B/r s
Capacity B bits
r bps
13Generic switch architecture
- e.g. Asynchronous Transfer Mode
- Cell switched technology gt low jitter
- Simple header H/W implementation
- gt Cut through switching gt low latency
- Connection oriented service at the network level,
every flow has a defined QoS - ATM switches have QoS and congestion management
functions built in
14Generic switch architecture
- ATM provides some of the backbone of the Internet
- ATM supports QoS
- Why not take advantage of these QoS islands in
the core? - ATM was a competitor to TCP/IP
- ATM to the desktop at 25 Mbps
- In the backbone at 4n x 155.52 Mbps
15Generic switch architecture
- ATM Traffic classes
- CBR constant/committed bit rate
- Regular timing (e.g. 64 kbps speech)
- VBR variable bit rate
- Timing (e.g. compressed A/V)
- ABR available bit rate
- Best effort (data)
- UBR ubiquitous bit rate
- CLP bit set (low priority traffic)
16Congestion control
- Reactive congestion control
- Differentiate traffic
- ATM gt CLP bit, FR gtDE bit, IP gt ToS field
- Act immediately to relieve congestion by
discarding low value packets - gt Utility of low priority traffic cushion
- Take steps to limit congestion by getting sources
to reduce transmission rate
17Congestion notification
- Frame Relay has 2 bits in its header
- FECN Forward Explicit Congestion Notification
- BECN Backward Explicit Congestion Notification
- FR is an access protocol so supports all 3
congestion notification methods, including
TCP/IPs Forward Implicit
18Congestion notification
Forward Implicit
BECN
FECN
19Internet structure
- Past classic IP with no QoS
- Present IntServ, DiffServ
- IntServ end-to-end QoS but does not scale
- DiffServ scales well, but coarse grained
- Future IPv6, all optical core, IntServ over
DiffServ, Internet2, and things coming out of
this conference!
20Internet structure
- Some definitions
- Packet layer 3 protocol data unit (PDU) of
variable length - Cell fixed length PDU
- Datagram/connectionless independently routed
packet, as in IP, or layer 4 type of service e.g.
UDP - Connection oriented follows fixed route, as in
ATM at network layer, or layer 4 type of service
e.g. TCP
21Classic IP
- Interconnection of networks
- Core network is Best Effort
- No guarantee of service, no QoS
- No differentiation amongst traffic in the core of
the network - Internet Protocol IPv4
22Classic IP
- TCP is a connection oriented service built upon
IP - TCP sits in the hosts Source Address (SA) and
Destination Address (DA)
23Classic IP
- Routing and routed protocols
- Dynamic routing e.g. Routing Internet Protocol
(RIP) - Routed protocol provided by IP which is a
connectionless protocol - RIP responds dynamically to a fault in the
networks
24RIP
- Before fault
- Routing tables updated every 30 s
25RIP
- Fault occurs
- At some time t (0 lt t lt 30s)
26RIP
- Inconsistent state of the network
- t 30, 60, 90, 120, 150 s
Routing tables
27RIP
- State of the network after fault recognized
- t gt 180s
28RIP
- Network has responded dynamically to fault
- We want the network to respond in a similar way
to congestion - but faster!
29TCP congestion control
- Congestion occurs when too few network resources
are available - QoS is redundant if there is never any congestion
- Relies on all users behaving socially
- Aims to share resources equally amongst hosts
30TCP congestion control
- TCP can only use forward implicit congestion
notification - TCP predicts and guesses network state at certain
time - Reduces transmission rate if guesses congestion
31TCP congestion control
- Imagine 10 TCP flows (each 10Mbps) through 10
Mbps bottleneck link - Each flow averages 1 Mbps
32TCP congestion control
- Now add a 10Mbps UDP stream
- UDP (User Datagram Protocol) is a connection less
service built upon IP - There is no flow to manage!
33Social stand points
- Classic IP
- no differentiation between traffic or users
- relies on the social conscience of users, backed
by peer pressure and ultimate threat of
disconnection - aims to share out resources equally regardless of
cost/use
34Social stand points
- QoS
- differentiates between traffic
- differentiates between users
- users need to be policed
- aims to make a profit by allocating scarce
resources to premium customers
35Present QoS Integrated Services Network
(IntServ)
- Refers to a body of work produced by Internet
Engineering Task Force (IETF 1994b draft) - Designed to provide a set of extensions to the
best-effort traffic delivery model - Provide QoS guarantees on a per-flow basis
- - A flow is defined as a set of packets
associated with a single application sharing
common requirements
36IntServ
- Application requirements - Real time
- Tolerant real time
- can tolerate some extra induced jitter, loss or
lateness of data still producing a reasonable
signal quality when played back, e.g. packetized
audio and video streaming applications - Intolerant real time
- unacceptable signal quality if more than allowed
minimum jitter, loss or lateness, e.g. two-way
telephony applications and circuit-emulation
37IntServ
- Application requirements
- Elastic applications
- Waits for packets to arrive before processing
- Interactive burst, e.g. telnet, chat
- Interactive bulk, e.g. ftp
- Asynchronous, e.g. email
38IntServ
- Service classes
- guaranteed service
- packets never arrive late
- early packets are buffered
- controlled load service
- applications as if on lightly loaded networks
- better than best effort service
39IntServ Mechanism
- Use of controlled load service
- User asks the network to provide a connection
- User informs the network about what is going to
be injected into the network with a flowspec - Admission control
- Network decides when to say NO to a service class
40IntServ Mechanism
- Signaling
- exchanging information related to requests for
connection, flow specs and admission control
decisions between users and network components - Packet scheduling
- management and scheduling of packets in queues
in the switches and routers
41IntServ Mechanism
- Flowspecs
- Tspec describes the flows traffic
characteristics, more complicated - Rspec describes the service requested from the
network, simpler to describe -
42IntServ Mechanism
- Admission control
- exerted by the network components on new flows
by monitoring their Tspecs and Rspecs - ensure no degradation in service quality of old
flows - says Yes or No to new flows
43IntServ Mechanism
- Admission control depends on various factors
- Type of request, e.g. urgent
- Type of service, CBR or bursty
- Queuing discipline, e.g. FIFO, FQ, WFQ,
pre-emptive? - Admission control policy
- simply discard the request
- allow the flow but with a note non confirming
which means may drop the flow in case of
interference with other flows in progress
44IntServ Mechanism- Signaling
- Resource Reservation Protocol (RSVP)
- developed by IETF IETF 1997f draft
- RSVP is a signaling mechanism and QoS control
information is the signal content - does not specify routing but is designed to
interoperate with existing IP routing protocols - receiver oriented approach built on
connectionless service - robustness achieved by periodic refreshing of
soft state in the routers
45IntServ Mechanism and RSVP
- Simple reservation scheme (unicast)
46IntServ Mechanism and RSVP
- Multicast Reservation
- PATH
- PATH
-
RESV -
(merged) -
-
RESV -
-
RESV
Sender 1
Sender 2
Receiver A
Receiver A
47IntServ Mechanism - Packet scheduling
- Packet classification
- associate each packet with the appropriate
reservation - Examining SA/DA, protocol number, SP/Dport and
flow level field (in IPv6) - Managing the packets in the queue in order to
provide proper QoS as agreed upon, called
scheduling
48IntServ Queue management
- Queuing is the technique of storing packets using
some discipline (FIFO, FQ, WFQ, CBQ) for
subsequent transmission on a link - Components of a queuing system
- Buffer Length
-
- Arrival Process
Departure
Process
-
Queuing Discipline
49IntServ Queue management
- FIFO queuing
- also called First Come First Serve (FCFS)
- highly efficient when no resource constraint and
adequate levels of switching capability - inefficient when load increases resulting
congestion in the network - pushes all responsibility for congestion control
and resource allocation out to the edges of the
network thereby dropping packets - does not discriminate between different traffics
-
50IntServ Queue management
- Fair queuing (FQ)
- maintain a separate queue for each flow handled
by the router - queues are served in a round-robin manner
- each of the flows contained in the queue are
served fairly - designed to be used in conjunction with an
end-to-end congestion control mechanism - any bandwidth that is not used by one flow is
automatically allocated to other flows - FQ provides guaranteed minimum share of bandwidth
to each flow with a possibility to get more
bandwidth -
51IntServ Queue management
- Fair queuing
- Flow 1
- Flow 2
Outgoing link - Flow 3
Router selects
the flows -
in
round-robin fashion
52IntServ Queue management
- Weighted Fair queuing
- simple variation to FQ called Weighted Fair
Queuing (WFQ) - each flow is associated with some weight
specifying how many bits to transmit from the
queue - for simple FQ, weight is 1, indicating 1 bit
to transmit from each queue each time around - router must learn how much weight to assign
to each queue either manually or through
signaling - can be implemented using RSVP
53IntServ Queue management
- Class Based Queuing (CBQ)
- Output queuing in which traffic allocation to
several possible queues - groups traffic into classes and assigns a
ratio or metric to each class - offers the benefits of traffic equity and
prioritization without bandwidth starvation - increased level of resource allocation to the
higher- precedence queues and a relative
decrease to the lower-precedence queues - primitive method of differentiating traffic
into various classes of service
54IntServ reference model (IETF 1994b)
-
- Background
Process - Traffic Input
Output Queues - Forward Driver
Packet Sceduler - Forwarding Table
-
Output Driver
Routing Agent
Reservation Setup Agent
Management Agent
Admission Control
Routing Table
Traffic Control Database
Classifier
55IntServ Summary
- IntServ is an end-to-end model
- Better than best effort service model
- Scalability is a major issue
- Every flow passing through a router needs
reservation in terms of a soft state which is a
problem as number flow increases - the states must be refreshed periodically as long
as the flow is to be maintained
56DiffServ - Differentiated Services network
- Effort by IETF to provide end-to end QoS
- Result of reaction against the scalability
problem faced by IntServ/RSVP - Aims to provide differentiation among variety of
traffics by aggregating flows into a small number
of groups - Eliminates storing soft state information about
individual flows in the router
57DiffServ
- IPv4 Packet header format
58DiffServ
- DiffServ Code point (DSCP)
- Use of ToS field of IPv4,Traffic class field of
IPv6 - Defined in early 1980s, but was largely unused
until introduction of prioritization into IP
header - 0
5
7 - CU Currently Unused
- Pool Codepoint space Allocation
- 1 XXXXX0 Standard
activity - 2 XXXX11
Experiment/local action - 3 XXXX01
Experiment/local action
DSCP
CU
59DiffServ
- A DiffServ domain (DS) is defined as a set of
contiguous DS compliant networks having DS
compliant nodes - DS is implemented in individual routers by
queuing and forwarding packets based on the DSCP - DS is not based on priority, application or flow
but on possible forwarding behavior of packets
called Per Hop Behavior (PHB)
60DiffServ
- PHB defines the set of rules for a particular
class of traffic - Does not require a particular queuing discipline
- 6-bit DSCP identifies a particular PHB to be
applied to a packet
61DiffServ
- PHB defines behavior of individual routers rather
than end-to-end services - PHB provides a particular service level
(bandwidth, queuing and dropping decisions) in
accordance with network policy - 2 PHBs are under active discussion with the
DiffServ working group EF and AF - - Expedited and Assured Forwarding
62DiffServ
- Expedited Forwarding (EF), Premium service
- meant for traffic sensitive to delay and loss
- router guarantees performance if arrival rate of
packets less than the forwarding rate - Implementation strategy
- strict priority over all other packets
- use WFQ with highest weight given to EF
- drop out-of-profile packets
- need for admission control and traffic shaping
-
63DiffServ
- Assured Forward (AF)
- more complex than EF
- AF divides traffic into four different classes in
three different classes of service (Gold, Silver
and Bronze) - Drop Pref. Class 1 Class 2
Class 3 Class 4 - Low 010000
011000 100000 101000 - Medium 010010 011010
100010 101010 - High 010100
011100 100100 101100 - During congestion, router may discard packets
based on their drop preferences
64DiffServ
- Implementation strategy
- Some minimum amount of bandwidth and buffering
reserved for each class - resource management for different classes needs
to done beforehand looking at the demands of
various classes of traffic - Always marked as non-conformant in policing rule
65DiffServ
- DiffServ Architecture
- DS Domain 1
-
-
DS Domain 2 - Edge Routers mark packets
- (Ingress Router)
-
Core Routers only forward
Egress Router
66DiffServ
- A service Level Agreement (SLA) between different
domains established - Both inbound and outbound packets in a DS domain
are marked according to SLA and traffic
conditioning agreements - DS may trigger accounting mechanism at network
boundaries to track each service usage for
quality level monitoring and billing purposes - DS is rule based, hence good for policy based
network management
67DiffServ
- Traffic entering into a DS domain are conditioned
prior to assignment of DSCP - Traffic classification and conditioning at the
Edge Router (Ingress) - Packets
Forward -
Drop
-
-
Meter
Classifier
Marker
Shaper/Dropper
68DiffServ
- Resource management challenges
- How to decide what users get which type of
service? - Where to implement bandwidth sharing policy?
- Who will ensure proper resource management?
- Solution
- many (ongoing research) but we will emphasize
only one gt Bandwidth Broker (BB) -
69DiffServ
- Bandwidth Broker (BB), initially proposed by Van
Jacobson - BB is a logical entity residing in each
administrative domain - Internally keeps track of QoS requests from
individual users and applications and allocates
resources according to some policy (intra-domain) - working as an agent between BBs of neighbor
domains for setting up maintaining bilateral
agreement (inter-domain) -
70DiffServ
- BB also manages resources for each class
- by keeping track of current allocation of marked
traffic - interpreting new requests in the light of
policies and current allocation - Configures edge routers to deliver a particular
service to flows
71DiffServ
Domain 1
Domain 2
BB
APP
APP
BB
72DiffServ Summary
- DiffServ provides a scalable solution for QoS
over the Internet - Provides coarse-grain end-to-end QoS
- Can not provide per-flow (fine-grain) QoS
- Edge routers are configured to classify and mark
- Bandwidth Brokers play central role at the
control level of DiffServ architecture
73Conclusion
- Is classic IP good enough today?
- No lt Resource hungry applications
- Solutions
- IPv6
- All optical core gt no intelligence in core
routers - IETF QoS effort, Internet2 QBONE
- and what else . . . ?
74Conclusion - QoS Song
- We dont need no reservation
- We dont need no admission control
- All applications must be adaptive
- The Net works just fine, so leave it alone
- Hey! Professor! Leave the Net alone!
- We dont need no traffic management
- Over-provision bandwidth for all
- The only true god is TCP/IP
- The Net isnt broken, so leave it alone
- Hey! Professor! Leave the Net alone!
- All we want is flat rate pricing for all
- Keshav An Engineering Approach to Computer
Networking
75References
- Paul Ferguson, Geoff Huston, Quality of Service
Delivering QoS on the Internet and in Corporate
Networks, John Wiley Sons, Inc. - Larry L. Peterson Bruce S. Davie, Computer
Networks A systems approach, Morgan Kaufmann,
Second edition - S. Blake, D. Black, M. Carlson, E. Davies, Z.
Wang and W. Weiss, An architecture for
differentiated services, RFC 2475, December 1998 - http//www.seas.upenn.edu/ross/book/emerge/diffse
rv, Differentiated services - W. Stallings, Differentiated Services, CSD
February 2000 - http//www.allot.com/html/products_white.shtm,
Policy based network architecture - A.Terzis, L.Wang, L.Zhang, A scalable Resource
management framework for Differentiated Services
Internet, Internet draft
76Thank You All !!!!