1 Multimedia Networking: Beyond Best-Effort Internet.
-
Upload
griselda-hardy -
Category
Documents
-
view
221 -
download
6
Transcript of 1 Multimedia Networking: Beyond Best-Effort Internet.
1
Multimedia Networking: Beyond Best-Effort Internet
2
Outline
Providing QoS in the Internet Scheduling and policing mechanisms
Integrated services Differentiated services
3
QoS in IP Networks
Thus far: “making the best of best effort”Future: next-generation Internet with QoS
guarantees Differentiated Services: differential guarantees Integrated Services: firm guarantees
Example: guarantees an audio application 1Mbps; the remaining to 0.5Mbps to Web transfer
4
Principles for QoS Guarantees
packet classification: router can distinguish between different classes
5
Principles for QoS Guarantees
prevents applications from misbehaving (e.g., multimedia app. sends higher than declared rate)
scheduling and policing: provide protection (isolation)
6
Principles for QoS Guarantees
Allocating fixed (non-sharable) bandwidth to flow: inefficient use of bandwidth if flows doesn’t use its allocation
high utilization: while providing isolation, it is desirable to use resources as efficiently as possible
7
Principles for QoS Guarantees
Basic fact of life: cannot support traffic demands beyond link capacity
call admission: flow declares its needs, network may block call (e.g., busy signal) if it cannot meet needs
8
Summary of QoS Principles
9
Outline
Providing QOS in the Internet Scheduling and policing mechanisms
Integrated services Differentiated services
10
Traffic Specification
Three common-used criteria: (Long term) Average Rate: how many pkts can be
sent per unit time (in the long run) crucial question: what is the interval length: 100 packets
per sec or 6000 packets per min have same average!
Peak Rate: e.g., 6000 pkts per min. (ppm) avg.; 1500 ppm peak rate
(Max.) Burst Size: max. number of pkts sent consecutively (with no intervening idle)
11
Traffic SpecificationToken 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).
12
A More General Version of Token Bucket
A flow is characterized by three parameters (r, b, p) b – token depth r – average rate p bps (peak rate, e.g., link capacity)
r bps
b bits
≤ p bps
regulator time
b
slope p
slope r
arrival curve
The traffic of a flow at the source is regulated by a token bucket: A bit is transmitted only when there is an available token
Arrival curve – maximum amount of bits transmitted during time period of length t
13
How is Traffic Specification Used
Part of service agreement, for admission control
For policing, scheduling then can be easier
14
Scheduling Mechanisms scheduling: choose next packet to send on link FIFO (first in first out) scheduling: send in order of
arrival to queue discard policy: if packet arrives to full queue: who to
discard?• tail drop: drop arriving packet• priority: drop/remove on priority basis• random: drop/remove randomly
15
Scheduling Policies: morePriority scheduling: transmit highest
priority queued packet multiple classes, with different priorities
class may depend on marking or other header info, e.g. IP source/dest, port numbers, etc..
16
Scheduling Policies: still moreround robin scheduling: multiple classes cyclically scan class queues, serving one from each class (if available)
17
Scheduling Policies: still moreWeighted Fair Queuing: generalized Round Robin each class gets weighted amount of
service in each cycle
For implementations, see backup slides on Virtual Clock.
18
Delay Guarantees
token bucket, WFQ combine to guarantee upper bound on delay, i.e., QoS guarantee!
WFQ
token rate, r
bucket size, b
assigned flow rate, R
D = b/Rmax
arrivingtraffic
19
Service Curve: Arrival and Departure Processes
Network ElementRin Rout
Rin(t) = arrival process = amount of data arriving up to time t
Rout(t) = departure process = amount of data departing up to time t
bits
t
delay
buffer
20
Traffic Envelope (Arrival Curve) Maximum amount of traffic that a flow can
send during an interval of time t
slope = max average rate
b(t) = envelope
slope = peak rate
t
“burstness constraint”
21
Service Curve
Assume a flow that is idle at time s and it is backlogged during the interval (s, t)
Service curve: the minimum service received by the flow during the interval (s, t)
22
Big Picture
t t
slope = C
t
Rin(t)
service curvebits bits
bits
Rout(t)
arrival curve
23
Delay and Buffer Bounds
t
S (t) = service curve
Arrival curve
Maximum delay
Maximum buffer
bits
24
Service Curve-based Earliest Deadline (SCED)
Packet deadline – time at which the packet would be served assuming that the flow receives no more than its service curve
Serve packets in the increasing order of their deadlines
Properties If sum of all service curves ≤ C*t All packets will meet their deadlines modulo the transmission
time of the packet of maximum length, i.e., Lmax/C
bits
deadline of 4-th packet
12
34
t
25
Linear Service Curves: Example
t
bits
t
bits
t
arrival curves
t
bits
t t
bitsbits
bits
service curves
arrival process
deadlinecomputation
VideoFTP
t
Audio packets have to wait after ftp packets
26
Non-Linear Service Curves: Example
t
bits
t
bits
t
Arrival curves
t
bits
t t
bitsbits
bits
Service curves
Arrival process
Deadlinecomputation
t
Video FTP
Audio packets transmittedas soon as they arrive
27
Outline
Providing QOS in the Internet Scheduling and policing mechanisms
Integrated services Differentiated services
28
IETF IntServ Services Architecture for providing QoS guarantees in IP
networks for individual application sessions
Assumptions use a common infrastructure for both real-time
and non-real-time communications
resource must be explicitly managed in order to meet the requirements of real-time applications
• resource reservation: routers maintain state info (a la VC) of allocated resources, QoS req’s
29
Intserv QoS: Service Models [rfc2211, rfc 2212]
Guaranteed service: worst case traffic arrival:
leaky-bucket-policed source simple (mathematically
provable) bound on delay [Parekh 1992, Cruz 1988]
Controlled load service: "a quality of service
closely approximating the QoS that same flow would receive from an unloaded network element."
WFQ
token rate, r
bucket size, b
per-flowrate, R
D = b/Rmax
arrivingtraffic Controlled link sharing:
Sharing link among different classes
30
Reference Architecture
Admission Control
Data InData Out
Con
trol P
lan
eD
ata
Pla
ne
Scheduler
Routing Routing
MessagesRSVP
messages
Classifier
RSVP
Route Lookup
Forwarding Table Per Flow QoS Table
31
Classifier
Buffermanagement
Scheduler
flow 1
flow 2
flow n
…
Per-flow State
A Closer Look at the Data Path
32
Intserv: QoS Guarantee Scenario Resource reservation
call setup, signaling (RSVP) traffic, QoS declaration per-element admission control
QoS-sensitive scheduling (e.g., WFQ)
request/reply
33
RSVP Protocol
A flow needs performance guarantee must :
declare its QoS requirementR-spec: defines the QoS being requested
characterize traffic it will send into network T-spec: defines traffic characteristics
signaling protocol: needed to carry R-spec and T-spec to routers (where reservation is required)RSVP
34
RSVP: Soft-state Receiver-initiatedEnd-to-End Reservation
Sender periodically sends PATH messages to receiver R, each router updates the PATH message by increasing hop count and adding its propagation delay
When receiver R gets the PATH message, it knows Traffic characteristics (tspec): (r,b,R) Number of hops, propagation delay introduced by the routers
Receiver R sends back this information + required worst-case delay in RESV
Each router along path provides a per-hop delay guarantee and forwards RESV with updated info
In the simplest case, the routers can just split the delay State timed out if not refreshed
R1R1
R2R2
R3R3
SS
RR(b,r,R,0,0)
(b,r,R,2,D-D3 )
(b,r,R,1,D-D 3
-D 2)
(b,r,R,0,0) (b,r,R,3,D
)
delay budget
PATH
RESV
(b,r,R,1,d 1
) (b,r,R,2,d1 +d
2 ) (b,r,
R,3,d 1+d 2
+d 3)
35
Implementing IntServ: Big Picture
Use WFQ to implement controlled link sharing among different organizations
WFQ provides guaranteed service
Controlled-load and best-effort flows are separated by priority
WFQ
guaranteedflow n
priority
10%30%
controlledflows
best effortflows
WFQ
guaranteedflow 1
CS department gets 50%
36
Outline
Providing QOS in the Internet Scheduling and policing mechanisms
Integrated services Differentiated services
37
IETF Differentiated ServicesConcerns with Intserv: Scalability: signaling, maintaining per-flow router state difficult with large
number of flows Flexible Service Models: Intserv has only two classes. Also want “qualitative”
service classes “behaves like a wire” relative service distinction: Platinum, Gold, Silver
Diffserv approach: simple functions in network core, relatively complex functions at edge routers
(or hosts) Don’t define service classes, provide functional components to build service
classes
38
DiffServ Architecture
Edge router:- per-flow traffic management
- marks packets as in-profile and out-profile
Core router:
- per class traffic management
- buffering and scheduling
based on marking at edge
- preference given to in-profile packets- Assured Forwarding
scheduling
...
r
b
marking
39
Edge-router Packet Marking
class-based marking: packets of different classes marked differently
intra-class marking: conforming portion of flow marked differently than non-conforming one
profile: pre-negotiated rate A, bucket size B packet marking at edge based on per-flow profile
Possible usage of marking:
User packets
Rate A
B
40
Classification and Conditioning
Packet is marked in the Type of Service (TOS) in IPv4, and Traffic Class in IPv6
6 bits used for Differentiated Service Code Point (DSCP) and determine PHB that the packet will receive
2 bits are currently unused
41
Classification and Conditioning
may be desirable to limit traffic injection rate of some class:
user declares traffic profile (eg, rate, burst size)
traffic metered, shaped if non-conforming
42
Forwarding (PHB)
PHB result in a different observable (measurable) forwarding performance behavior
PHB does not specify what mechanisms to use to ensure required PHB performance behavior
Examples: Class A gets x% of outgoing link bandwidth
over time intervals of a specified length Class A packets leave first before packets from
class B
43
Forwarding (PHB)
PHBs being developed: Expedited Forwarding: pkt departure rate
of a class equals or exceeds specified rate logical link with a minimum guaranteed rate
Assured Forwarding: 4 classes of traffic each guaranteed minimum amount of
bandwidth each with three drop preference partitions
44
Backup Slides
45
Hard Real Time: Guaranteed Services
Service contract Network to client: guarantee a deterministic
upper bound on delay for each packet in a session
Client to network: the session does not send more than it specifies
Algorithm support Admission control based on worst-case
analysis Per flow classification/scheduling at routers
46
Soft Real Time: Controlled Load (Predicative) Service
Service contract: Network to client: similar performance as an
unloaded best-effort network Client to network: the session does not send
more than it specifies Algorithm Support
Admission control based on measurement of aggregates
Scheduling for aggregate possible
47
Generalized Processor Share: Assume we can arbitrarily divide a bit
0 152 104 6 8
5 1 1 11 1
Red session has packets backlogged between time 0 and 10
Other sessions have packets continuously backlogged
flows
link
Two interpretations: (1) simultaneous transmissions; 2) still round-robin, but we are allowed to transmit wi bits per round for flow I, here wi is extremely small.
48
From GPS to Packet Scheduling
General Processor Share (GPS) is defined in an idealized fluid flow model multiple queues can be serviced
simultaneously no non-preemption unit
Real systems are packet systems only one queue is served at a given time packet transmission will not be preempted
Goal define packet algorithms that approximate
the fluid system maintain most of the important properties
49
Implementation: Virtual Clock
V(t): virtual clock (or virtual round) If we serve wi bits per round for a
backlogged flow with weight wi, how fast will V(t) progress?
)(tNj jac
w
CV
t
whereNac(t) – number of flows backlogged
50
System Virtual Time in GPS
0 4 128 16
1/2
1/81/81/81/8
)(tV
2*C
C2*C
51
Virtual Start and Finish Times
Sik : the virtual time (round) the packet k of flow i
would start in a fluid system Fi
k: the virtual finish time
0 4 128 16
kiFkiS
kk-1 k+1
)(tV
52
Virtual Time Implementation of Weighted Fair Queueing
wi
kik
ik
i
LSF
111
0)0( V
))(,max(1 ki
ki
ki aVFS
If flow i backlogged
if session j un-backlogged
aik – arrival time of packet k of flow i
Sik – virtual starting time of packet k of flow i
Fik – virtual finishing time of packet k of flow i
Lik – length of packet k of flow i
ki
ki FS 1
53
RSVP: Per-hop Reservation
Question: Given (b,r,R) and target per-hop delay d Determine:
• Rate allocation ra, and buffer size Ba
bits
b
slope rarrival curve
d
Ba
slope ra
54
Diffserv Architecture Ingress routers
Keep per flow state, police/shape traffic Set Differentiated Service Code Point (DSCP) in Diffserv (DS)
field(think of it as a general priority scheme)
Core routers Implement Per Hop Behavior (PHB) for each DSCP Process packets based on DSCP
Ingress
EgressEgressIngress
EgressEgress
DS-1 DS-2
Edge router Core router
55
Control Path Each domain is assigned a Bandwidth
Broker (BB) usually, used to perform ingress-egress
bandwidth allocation BB is responsible to perform admission
control in the entire domain BB not easy to implement
require complete knowledge about domain single point of failure, may be performance
bottleneck designing BB still a research problem
56
Example
Achieve end-to-end bandwidth guarantee
BBBB BBBB BBBB1
2 3
579
sender
receiver8 profile 6
profile4 profile
Can be setup ahead of time manually
57
Data Path: Edge Router
classifier
traffic conditioner
traffic conditioner
scheduler
class 1
class 2
Best-effort
marked traffic
Ingress
per aggregateclassification (e.g., user)
data traffic
58
Edge Router: Example Traffic Conditioning: Metering/Marking
In-profile traffic is marked: A-bit is set in every packet
Out-of-profile (excess) traffic is unmarked A-bit is cleared (if it was previously set) in every
packet; this traffic treated as best-effort
r bps
b bits
metering in-profile traffic
out-of-profile traffic
assured traffic
user profile (token bucket)
set A-bit
clear A-bit
59
Edge Router: Example Traffic Conditioning: Metering/Marking/Shaping In-profile traffic marked:
Set P-bit in each packet Out-of-profile traffic is delayed, and when buffer
overflows it is dropped
r bps
b bits
Metering/Shaper/Set P-bit
in-profile traffic
out-of-profile traffic(delayed and dropped)
premium traffic
user profile(token bucket)
60
Differentiated Service (DS) Field
Version HLen TOS Length
Identification Fragment offsetFlags
Source address
Destination address
TTL Protocol Header checksum
0 4 8 16 19 31
Data
IPheader
DS field reuses the first 6 bits from the former Type of Service (TOS) byte
The other two bits are proposed to be used by Explicit Congestion Notification (ECN)
DS Filed0 5 6 7
61
Data Path: Core Router: Example Scheduler
Packets marked with the P-bit (Premium traffic) sent at high priority
Packets marked with the A-bit (Assured traffic) and best-effort traffic sent at low priority
P-bit set?
A-bit set? RIO
yes
noyes
no
high priority or WFQ
low priority