Title: University of British Columbia Cpsc 527 Advanced Computer Communications Lecture 7b DiffServ Overview
1University of British Columbia Cpsc
527Advanced Computer CommunicationsLecture 7b
DiffServ Overview
- Instructor Dr. Son T. Vuong
- Email vuong_at_cs.ubc.ca
- The World Connected
2Outline
- Overview of QoS and DiffServ
- Our research on DiffServ
- A Class of Protocols
- Dynamic (Fair) Distribution DiffServ
- Conclusions
3What is the Service on Internet
- A "Service" defines some significant
characteristics of packet transmission in one
direction across a set of one or more paths
within a network. - These characteristics may be specified in
quantitative or statistical terms of - throughput, delay, jitter, loss.
4Current Problems with the Internet
- Best-effort service has strained its current
infrastructure capabilities. - A challenge is to design routers that can provide
service differentiation for various types of
traffic. - Two solutions proposed in IETF
- Integrated service (IntServ) individual flows
with specific QoS requirements, e.g. RSVP flows - Differentiated services (DiffServ) aggregate of
flows and per-hop behavior.
5What is QoS and why we need it?
- QoS has many different measures
- Delay, delay variance (jitter), rate
- Fairness, flow isolation
- Reliability, e.g. drop rate
- QoS is needed in packet networks to support
multimedia applications IP Telephony, mobile
web-access, Video teleconferencing, net-PC
applications, Grid services, etc.
6Application QoS requirements
- Different applicationsdifferent QoS
requirements. - Delay-sensitive real-time applications Voice,
Interactive Video. - Delay-tolerant real-time applications Streaming
Video. - Elastic applications that tolerate a wide range
of delay variations FTP, Telnet and e-mail.
7How to Provide QoS in a Best-Effort Internet?
- More bandwidth does not solve the problem it only
moves it to the core of the network - IP router technology has a limit to its
computational capabilities. - Also, fairness is not solved when bandwidth is
increased. - Solution packet scheduling and resource
reservation.
8Improving QOS in IP Networks
- IETF groups are working on proposals to provide
better QOS control in IP networks, i.e., going
beyond best effort to provide some assurance for
QOS - Work in Progress includes RSVP, Differentiated
Services, and Integrated Services - Simple model for sharing and congestion
studies
9Principles for QOS Guarantees
- Consider a phone application at 1Mbps and an FTP
application sharing a 1.5 Mbps link. - bursts of FTP can congest the router and cause
audio packets to be dropped. - want to give priority to audio over FTP
- PRINCIPLE 1 Marking of packets is needed for
router to distinguish between different classes
and new router policy to treat packets accordingly
10Principles for QOS Guarantees (more)
- Applications misbehave (audio sends packets at a
rate higher than 1Mbps assumed above) - PRINCIPLE 2 provide protection (isolation) for
one class from other classes - Require Policing Mechanisms to ensure sources
adhere to bandwidth requirements Marking and
Policing need to be done at the edges
11Principles for QOS Guarantees (more)
- Alternative to Marking and Policing allocate a
set portion of bandwidth to each application
flow can lead to inefficient use of bandwidth if
one of the flows does not use its allocation - PRINCIPLE 3 While providing isolation, it is
desirable to use resources as efficiently as
possible
12Principles for QOS Guarantees (more)
- Cannot support traffic beyond link capacity
- PRINCIPLE 4 Need a Call Admission Process
application flow declares its needs, network may
block call if it cannot satisfy the needs
13Summary
14Scheduling And Policing Mechanisms
- Scheduling choosing the next packet for
transmission on a link can be done following a
number of policies - FIFO in order of arrival to the queue packets
that arrive to a full buffer are either
discarded, or a discard policy is used to
determine which packet to discard among the
arrival and those already queued
15Scheduling Policies
- Priority Queuing classes have different
priorities class may depend on explicit marking
or other header info, eg IP source or
destination, TCP Port numbers, etc. - Transmit a packet from the highest priority class
with a non-empty queue - Preemptive and non-preemptive versions
16Scheduling Policies (more)
- Round Robin scan class queues serving one from
each class that has a non-empty queue
17Scheduling Policies (more)
- Weighted Fair Queuing is a generalized Round
Robin in which an attempt is made to provide a
class with a differentiated amount of service
over a given period of time
18Policing Mechanisms
- Three criteria
- (Long term) Average Rate (100 packets per sec or
6000 packets per min??), crucial aspect is the
interval length - Peak Rate e.g., 6000 p p minute Avg and 1500 p p
sec Peak - (Max.) Burst Size Max. number of packets sent
consecutively, ie over a short period of time
19Policing Mechanisms
- Token Bucket limit input to specified Burst Size
and Average Rate. - bucket can hold b tokens
- tokens generated at rate r token/sec unless
bucket full - over interval of length t number of packets
admitted less than or equal to (r t b).
20Policing Mechanisms (more)
- token bucket, WFQ combine to provide guaranteed
upper bound on delay, i.e., QoS guarantee!
21What Is Scheduling and Why Do We Need It?
- In real networks, a large number of flows may
require different guarantees from the network. - Scheduling determines the next eligible packet,
among all the arriving packets, to be sent out in
order to satisfy the required guarantees. - Attributes of a good scheduler
- Rate and delay guarantees.
- Fairness.
- Utilization.
- Simplicity.
22Scheduling (revisited)
- Scheduling per-flow or aggregated flows.
- Per-flow (IntServ)
- Provides exact delay and fairness guarantees.
- Requires maintaining state information for all
active sessions on a link. - Aggregation (DiffServ)
- Delay and fairness are not as easy to guarantee.
- No (or minimal amount of) states need to be
maintained.
23Types of Schedulers
- Rate-controlled Delay / jitter Earliest Due Date
(D-EDD and J-EDD). - Non-rate-controlled Generalized Processor
Sharing (GPS) and Weighted Fair Queueing (WFQ).
24How GPS Works
- Every session has its own queue and share.
- Weighted Round Robin (WRR) service order with an
infinitesimal amount serviced from each session. - Empty queues are skipped when their turn arrives.
25End-to-End Network Delay
- DelayHost DelayAccess DelayNetwork Delay
- Even if the network provided the required QoS
without the host applications or access networks
providing their guarantees then the end-to-end
guarantees will not be met.
26WFQ vs. GPS
27Scheduling Policies (more)
- Weighted Fair Queuing is a generalized Round
Robin in which an attempt is made to provide a
class with a differentiated amount of service
over a given period of time
28Proactive Packet Discard
- Congestion management by proactive packet discard
- Before buffer full
- Used on single FIFO queue or multiple queues for
elastic traffic - E.g. Random Early Detection (RED)
29Random Early Detection (RED)Motivation
- Surges fill buffers and cause discards
- On TCP this is a signal to enter slow start
phase, reducing load - Lost packets need to be resent
- Adds to load and delay
- Global synchronization
- Traffic burst fills queues so packets lost
- Many TCP connections enter slow start
- Traffic drops so network under utilized
- Connections leave slow start at same time causing
burst - Bigger buffers do not help
- Try to anticipate onset of congestion and tell
one connection to slow down
30RED Design Goals
- Congestion avoidance
- Global synchronization avoidance
- Current systems inform connections to back off
implicitly by dropping packets - Avoidance of bias to bursty traffic
- Discard arriving packets will do this
- Bound on average queue length
- Hence control on average delay
31RED Algorithm Overview
- Calculate average queue size avg
- if avg lt THmin
- queue packet
- else if THmin ? avg ? Thmax
- calculate probability Pa
- with probability Pa
- discard packet
- else with probability 1-Pa
- queue packet
- else if avg ? THmax
- discard packet
32RED Buffer
33RED Algorithm Detail
34Architecture of DiffServ
- DiffServ Domain
- A Set of per-hop (forwarding) behaviors (PHB).
- Packet classification functions.
- Traffic conditioning functions including
- metering
- marking
- shaping
- policing
35DS Nodes
- DS boundary Nodes
- Classify the ingress packets.
- Perform traffic conditioning according to a
traffic conditioning agreement (TCA) - DS Interior Nodes
- Perform limited traffic conditioning functions
such as DS codepoint re-marking.
36DS Definition
- 000000 Best - effort behavior
- Pool Codepoint space Policy
- 1 xxxxx0 Standards
Action - 2 xxxx11 EXP/LU
- 3 xxxx01 EXP/LU ()
- () May be used for future Standards Action
allocations as necessary
37Example of DiffServ Domains
38Per-Hop Behaviors (PHB)
- PHB is a description of forwarding behavior of a
DS node for a particular DS behavior aggregate. - Via PHBs, a node allocates its resources (buffer
, bandwidth , delay, loss) to behavior
aggregates. - PHBs are implemented via buffer management and
packet scheduling mechanisms. - A PHB is selected at a node by a mapping of the
DS codepoint in a received packet.
39Traffic Conditioning Specification
- The TCS specifies detailed service parameters for
each service level - Service performance parameters such as expected
throughput, drop probability, latency. - Traffic profiles which must be adhered to for the
requested service to be provided, such as token
bucket parameters. - Disposition of traffic submitted in excess of the
specified profile. - Marking services provided.
- Shaping services provided.
40Packet Classifier and Traffic Conditioner
- Classifier select packets in a traffic stream
based on packet header. - Meter measures the temporal properties of the
stream of packets selected by a traffic profile. - Marker sets the DS field of a packet to a
particular codepoint, add marked packet to a DS
behavior aggregate. - Shaper shapes the traffic stream to bring it
into compliance with a traffic profile. - Dropper discards some or all packets in a
traffic stream to bring it into compliance with
a traffic profile.
41Service Level Specification (SLS)
- In addition to TCS, the SLS specifies more
general service - Availability/Reliability
- Encryption services.
- Routing constraints.
- Authentication mechanisms.
- Mechanisms for service monitoring and auditing.
- Responsibilities such as location of the
equipment and functionality, action if the
contract is broken, support capabilities. - Pricing and billing mechanisms.
42Profile in Router
- Profile ----gt behavior of the router
- There may be many profiles in the router at any
time. - Profile contains
- Name
- Attribute (in/out)
- Policy Scope
- Other information (Address , port, permission,
month mask, time of day, direction )
43Example of Profile
- Name Entry2
- PolicyScope DataTraffic
- TimeOfDayRange 090000 to 170000
- IncomingTOS 111
- SourceAddressRange 139.24.2.12
-
to 139.24.2.255 - Direction Outgoing
- MaxeRate 5000
- OutgoingTOS 101
44Examples of Services
- Better than Best-Effort (BBE) Service
- This is a qualitative service which promises to
carry specific web server traffic at a higher
priority than best-effort traffic. - Premium Service
- Customer purchases a peak rate
- Packets below that rate carried with no delay
- Packets above that rate dropped
45Our research on DiffServ
- We focus on differentiated service since this
aggregate service scales better than the per-flow
integrated service. - We focus on developing a class of protocols
including the Meter, Marker, Shaper at the
Boundary nodes and the per-hop behavior of all
interior nodes in a DS Domain. - For performance evaluation, the network simulator
NS2 was used.
46DiffServ and BestEffort Queues
47The simulation of DiffServ and BestEffort for
TCP/IP traffic
48The Dynamic Distribution DiffServ
- The scheme unites DiffServ flows with Dynamic
Distribution to the aggregate before sending
them to the network. - Dynamic Distribution prevents any aggregate from
taking all the bandwidth in a period of time,
thus allows every aggregate a chance of passing
through the router at all times. - Dynamic Distribution also guarantees Multimedia
applications an upper bound on packet delay
inside the DiffServ domain without the per-flow
requirement.
49Multiple Queues in DiffServ Router
Backlogged packets
DiffServ queues
Figure 1.
Multiple-Queues in a Router of the DiffServ
Domain
50The Scheme of Dynamic Distribution Differentiated
Service
- This scheme simplifies processing at routers in
DiffServ domain (cf. the IntServ scheme) while
maintaining QoS guarantee for every flow. - At Boundary Nodes, packets are classified by
their flows, which may number in thousands at one
node or tens of thousand in the whole domain - At Inside Nodes, packets classified by their
aggregates, numbered in hundreds at a node.
51The Scheme at Boundary Node
- Classifier selects packets in a traffic stream
based on DiffServ byte in header. - Meter The leaky-bucket meter scheme for every
flow with its subscribed bandwidth. - Dropper drops all out-profile packets.
- Shaper Fair-Queue scheme for every DiffServ flow
depending on the subscribing bandwidth. - Marker an aggregate marking scheme
- PHB exact Fair-Queue forwarding scheme.
52The Scheme for Interior Nodes
- Classifier selects packets in a traffic stream
based on DiffServ byte and places them in
appropriate queues. - Shaper time divided into equal slots, each
further divided mini-slots. Each aggregate
receives a number of mini slots based on
calculation at the beginning of the slot. - PHB Frame-based forwarding scheme with Dynamic
Distribution of resources.
53Summary
- The proposed Dynamic Distribution DiffServ scheme
is flexible, simple and efficient - Guarantees delay bound without the per-flow
complexity, suitable for multimedia traffic. - Future work
- Various types of multimedia application traffic
such as video teleconferencing - Various performance measures, including delay,
throughput and jitter - Multicasting and security DS services