Upload
komalpilla
View
25
Download
1
Tags:
Embed Size (px)
Citation preview
Shivkumar KalyanaramanRensselaer Polytechnic Institute
1
Better-than-best-effort: QoS,IntServ, DiffServ, RSVP, RTP
Shivkumar KalyanaramanRensselaer Polytechnic Institute
[email protected] http://www.ecse.rpi.edu/Homepages/shivkuma
Based in part on slides of Ion Stoica, Jim Kurose, Srini Seshan, Srini Keshav
Shivkumar KalyanaramanRensselaer Polytechnic Institute
2
Overview
Why better-than-best-effort (QoS-enabled) Internet ?Quality of Service (QoS) building blocksEnd-to-end protocols: RTP, H.323 Network protocols:
Integrated Services(IntServ), RSVP.Scalable differentiated services: DiffServ
Control plane: QoS routing, traffic engineering, policy management, pricing models
Shivkumar KalyanaramanRensselaer Polytechnic Institute
3
Why Better-than-Best-Effort (QoS)?To support a wider range of applications
Real-time, Multimedia, etc
To develop sustainable economic models and new private networking services
Current flat priced models, and best-effort services do not cut it for businesses
Shivkumar KalyanaramanRensselaer Polytechnic Institute
4
Quality of Service: What is it?
Multimedia applications: network audio and video
network provides application with level of performance needed for application to function.
QoS
Shivkumar KalyanaramanRensselaer Polytechnic Institute
5
What is QoS?“Better performance” as described by a set of parameters or measured by a set of metrics.
Generic parameters: BandwidthDelay, Delay-jitterPacket loss rate (or loss probability)
Transport/Application-specific parameters:TimeoutsPercentage of “important” packets lost
Shivkumar KalyanaramanRensselaer Polytechnic Institute
6
What is QoS (contd) ?These parameters can be measured at several granularities:
“micro” flow, aggregate flow, population.
QoS considered “better” if a) more parameters can be specifiedb) QoS can be specified at a fine-granularity.
QoS spectrum:
Best Effort Leased Line
Shivkumar KalyanaramanRensselaer Polytechnic Institute
7
Fundamental Problems
B
Scheduling DisciplineFIFO
B
In a FIFO service discipline, the performance assigned to one flow is convoluted with the arrivals of packets from all other flows!
Cant get QoS with a “free-for-all”Need to use new scheduling disciplines which provide “isolation” of performance from arrival rates of background traffic
Shivkumar KalyanaramanRensselaer Polytechnic Institute
8
Fundamental ProblemsConservation Law (Kleinrock): Σρ(i)Wq(i) = K
Irrespective of scheduling discipline chosen:
Average backlog (delay) is constantAverage bandwidth is constant
Zero-sum game => need to “set-aside” resources for premium services
Shivkumar KalyanaramanRensselaer Polytechnic Institute
9
QoS Big Picture: Control/Data Planes
Internetwork or WANWorkstationRouter
Router
RouterWorkstation
Control Plane: Signaling + Admission Control orSLA (Contracting) + Provisioning/Traffic Engineering
Data Plane: Traffic conditioning (shaping, policing, markingetc) + Traffic Classification + Scheduling, Buffer management
Shivkumar KalyanaramanRensselaer Polytechnic Institute
10
QoS ComponentsQoS => set aside resources for premium servicesQoS components:
a) Specification of premium services: (service/service level agreement design)b) How much resources to set aside? (admission control/provisioning)c) How to ensure network resource utilization, do load balancing, flexibly manage traffic aggregates and paths ? (QoS routing, traffic engineering)
Shivkumar KalyanaramanRensselaer Polytechnic Institute
11
QoS Components (Continued)d) How to actually set aside these resources in a distributed manner ? (signaling, provisioning, policy)e) How to deliver the service when the traffic actually comes in (claim/police resources)? (traffic shaping, classification, scheduling)f) How to monitor quality, account and pricethese services? (network mgmt, accounting, billing, pricing)
Shivkumar KalyanaramanRensselaer Polytechnic Institute
12
How to upgrade the Internet for QoS? Approach: de-couple end-system evolution from network evolution
End-to-end protocols: RTP, H.323 etc to spur the growth of adaptive multimedia applications
Assume best-effort or better-than-best-effort clouds
Network protocols: IntServ, DiffServ, RSVP, MPLS, COPS …
To support better-than-best-effort capabilities at the network (IP) level
Shivkumar KalyanaramanRensselaer Polytechnic Institute
13
QOS SPECIFICATION, TRAFFIC, SERVICE
CHARACTERIZATION, BASIC MECHANISMS
Shivkumar KalyanaramanRensselaer Polytechnic Institute
14
Service SpecificationLoss: probability that a flow’s packet is lostDelay: time it takes a packet’s flow to get from source to destinationDelay jitter: maximum difference between the delays experienced by two packets of the flowBandwidth: maximum rate at which the soource can send trafficQoS spectrum:
Best Effort Leased Line
Shivkumar KalyanaramanRensselaer Polytechnic Institute
15
Hard Real Time: Guaranteed Services
Service contractNetwork 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 supportAdmission control based on worst-case analysisPer flow classification/scheduling at routers
Shivkumar KalyanaramanRensselaer Polytechnic Institute
16
Soft Real Time: Controlled Load Service
Service contract:Network to client: similar performance as an unloaded best-effort networkClient to network: the session does not send more than it specifies
Algorithm SupportAdmission control based on measurement of aggregatesScheduling for aggregate possible
Shivkumar KalyanaramanRensselaer Polytechnic Institute
17
Traffic and Service CharacterizationTo quantify a service one has two know
Flow’s traffic arrivalService provided by the router, i.e., resources reserved at each router
Examples:Traffic characterization: token bucketService provided by router: fix rate and fix buffer space
Characterized by a service model (service curve framework)
Shivkumar KalyanaramanRensselaer Polytechnic Institute
18
Token BucketCharacterized by three parameters (b, r, R)
b – token depthr – average arrival rateR – maximum arrival rate (e.g., R link capacity)
A bit is transmitted only when there is an available tokenWhen a bit is transmitted exactly one token is consumed
r tokens per second
b tokens
<= R bpsregulator
time
bits
b*R/(R-r)
slope R
slope r
Shivkumar KalyanaramanRensselaer Polytechnic Institute
19
Characterizing a Source by Token Bucket
Arrival curve – maximum amount of bits transmitted by time tUse token bucket to bound the arrival curve
time
bits
Arrival curve
time
bps
Shivkumar KalyanaramanRensselaer Polytechnic Institute
20
ExampleArrival curve – maximum amount of bits transmitted by time tUse token bucket to bound the arrival curve
size of timeinterval
bits Arrival curve
time
bps
0 1 2 3 4 5
1
2
1 2 3 4 5
1
2
3
4
(b=1,r=1,R=2)
Shivkumar KalyanaramanRensselaer Polytechnic Institute
21
Per-hop ReservationGiven b,r,R and per-hop delay dAllocate bandwidth ra and buffer space Ba such that to guarantee d
bits
b
slope rArrival curve
d
Ba
slope ra
Shivkumar KalyanaramanRensselaer Polytechnic Institute
22
What is a Service Model?
“external process”Network element
offered trafficdelivered traffic
(connection oriented)
The QoS measures (delay,throughput, loss, cost) depend on offered traffic, and possibly other external processes.A service model attempts to characterize the relationship between offered traffic, delivered traffic, and possibly other external processes.
Shivkumar KalyanaramanRensselaer Polytechnic Institute
23
Arrival and Departure Process
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
Shivkumar KalyanaramanRensselaer Polytechnic Institute
24
Traffic Envelope (Arrival Curve)
slope = max average rateb(t) = Envelope
slope = peak rate
t
“Burstiness Constraint”
Maximum amount of service that a flow can send during an interval of time t
Shivkumar KalyanaramanRensselaer Polytechnic Institute
25
Service CurveAssume 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)
Shivkumar KalyanaramanRensselaer Polytechnic Institute
26
Big Picture
t t
slope = C
t
Rin(t)
Service curvebits bits
bits
Rout(t)
Shivkumar KalyanaramanRensselaer Polytechnic Institute
27
t
S (t) = service curve
E(t) = Envelope
Maximum delay
Maximum buffer
bits
Delay and Buffer Bounds
Shivkumar KalyanaramanRensselaer Polytechnic Institute
28
Mechanisms: Traffic Shaping/PolicingToken bucket: limits input to specified Burst Size (b) and Average Rate (r).
Traffic sent over any time T <= r*T + ba.k.a Linear bounded arrival process (LBAP)
Excess traffic may be queued, marked BLUE, or simply dropped
Shivkumar KalyanaramanRensselaer Polytechnic Institute
29
Mechanisms: Queuing/Scheduling
Use a few bits in header to indicate which queue (class) a packet goes into (also branded as CoS)High $$ users classified into high priority queues, which also may be less populated=> lower delay and low likelihood of packet drop
Ideas: priority, round-robin, classification, aggregation, ...
Class C
Class BClass A
Traffic Classes
Traffic Sources
$$$$$$
$$$
$
Shivkumar KalyanaramanRensselaer Polytechnic Institute
30
Mechanisms: Buffer Mgmt/Priority Drop
Ideas: packet marking, queue thresholds, differential dropping, buffer assignments
Drop RED and BLUE packets
Drop only BLUE packets
Shivkumar KalyanaramanRensselaer Polytechnic Institute
32
Packet SchedulingDecide when and what packet to send on output link
Usually implemented at output interface
1
2
Scheduler
flow 1
flow 2
flow n
Classifier
Buffer management
Shivkumar KalyanaramanRensselaer Polytechnic Institute
33
Focus: Scheduling PoliciesPriority 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 queuePreemptive and non-preemptive versions
Shivkumar KalyanaramanRensselaer Polytechnic Institute
34
Scheduling Policies (more)Round Robin: scan class queues serving one from each class that has a non-empty queue
Shivkumar KalyanaramanRensselaer Polytechnic Institute
35
Round-Robin DiscussionAdvantages: protection among flows
Misbehaving flows will not affect the performance of well-behaving flows
Misbehaving flow – a flow that does not implement any congestion control
FIFO does not have such a property
Disadvantages:More complex than FIFO: per flow queue/stateBiased toward large packets – a flow receives service proportional to the number of packets
Shivkumar KalyanaramanRensselaer Polytechnic Institute
36
Generalized Processor Sharing(GPS)Assume a fluid model of traffic
Visit each non-empty queue in turn (RR)Serve infinitesimal from eachLeads to “max-min” fairness
GPS is un-implementable!We cannot serve infinitesimals, only packets
Shivkumar KalyanaramanRensselaer Polytechnic Institute
37
Generalized Processor Sharing
)(),(),(
)(
tBiwdtttW
wdtttW
tBj ji
i ∈∀+=+
∑ ∈
A work conserving GPS is defined as
wherewi – weight of flow iWi(t1, t2) – total service received by flow i during [t1, t2)W(t1, t2) – total service allocated to all flows during [t1, t2)B(t) – number of flows backlogged
Shivkumar KalyanaramanRensselaer Polytechnic Institute
38
Fair Rate Computation in GPSAssociate a weight wi with each flow iIf link congested, compute f such that
Cwfr ii
i =×∑ ),max(
862
44
2
f = 2: min(8, 2*3) = 6min(6, 2*1) = 2min(2, 2*1) = 2
10(w1 = 3)(w2 = 1)(w3 = 1)
Shivkumar KalyanaramanRensselaer Polytechnic Institute
39
Bit-by-bit Round RobinSingle flow: clock ticks when a bit is transmitted.For packet i:
Pi = length, Ai = arrival time, Si = begin transmit time, Fi = finish transmit timeFi = Si+Pi = max (Fi-1, Ai) + Pi
Multiple flows: clock ticks when a bit from all active flows is transmitted round number
Can calculate Fi for each packet if number of flows is known at all times
This can be complicated
Shivkumar KalyanaramanRensselaer Polytechnic Institute
40
Packet Approximation of Fluid System
Standard techniques of approximating fluid GPSSelect packet that finishes first in GPS assuming that there are no future arrivals
Important properties of GPSFinishing order of packets currently in system independent of future arrivals
Implementation based on virtual timeAssign virtual finish time to each packet upon arrivalPackets served in increasing order of virtual times
Shivkumar KalyanaramanRensselaer Polytechnic Institute
41
Fair Queuing (FQ)Idea: serve packets in the order in which they would have finished transmission in the fluid flow systemMapping bit-by-bit schedule onto packet transmissionscheduleTransmit packet with the lowest Fi at any given timeVariation: Weighted Fair Queuing (WFQ)
Shivkumar KalyanaramanRensselaer Polytechnic Institute
42
Approximating GPS with WFQ
Fluid GPS system service order
0 2 4 6 108
Weighted Fair Queueingselect the first packet that finishes in GPS
Shivkumar KalyanaramanRensselaer Polytechnic Institute
43
FQ Example
F=10
Flow 1(arriving)
Flow 2transmitting Output
F=2
F=5
F=8
Flow 1 Flow 2 Output
F=10
Cannot preempt packetcurrently being transmitted
Shivkumar KalyanaramanRensselaer Polytechnic Institute
44
FQ AdvantagesFQ protect well-behaved flows from ill-behaved flowsExample: 1 UDP (10 Mbps) and 31 TCP’s sharing a 10 Mbps link
FQ
00.20.40.60.8
11.21.41.61.8
2
1 4 7 10 13 16 19 22 25 28 31Flow Number
Thro
ughp
ut(M
bps)RED
0123456789
10
1 4 7 10 13 16 19 22 25 28 31Flow Number
Th
rou
gh
pu
t(M
bp
s)
Shivkumar KalyanaramanRensselaer Polytechnic Institute
45
System Virtual Time: V(t)Measure service, instead of timeV(t) slope – rate at which every active flow receives service
C – link capacityN(t) – number of active flows in fluid system at time t
1 23
1 24
3 45
5 6Servicein fluid flow
system time
time
V(t)
)()(
tNC
ttV =
∂∂
Shivkumar KalyanaramanRensselaer Polytechnic Institute
46
System Virtual TimeVirtual time (VGPS) – service that backlogged flow with weight = 1 would receive in GPS
)(),(),()(
tBiwdtttWwdtttW
tBj jii ∈∀+×=+∑ ∈
tW
wtV
tBj j
GPS
∂∂×=
∂∂
∑ ∈ )(
1)()(
tBit
Ww
wt
W
tBj j
ii ∈∀∂
∂×=∂
∂
∑ ∈
)(1),( 2
1)(
21 tBidtt
Ww
wttWt
tttBj j
ii ∈∀
∂∂××= ∫ ∑=
∈
Shivkumar KalyanaramanRensselaer Polytechnic Institute
47
Service Allocation in GPSThe service received by flow i during an interval [t1,t2), while it is backlogged is
)(),( 2
121 tBidt
tVwttW
t
ttGPS
ii ∈∀∂
∂×= ∫=
)())()((),( 1221 tBitVtVwttW GPSGPSii ∈∀−×=
Shivkumar KalyanaramanRensselaer Polytechnic Institute
48
Virtual Time Implementation of Weighted Fair Queueing
wj
kj
jj
LSF +=
0)0( =V GPS
))(,max( kjjj aVFS =
if session j backlogged
if session j un-backlogged
kj
kj FS =
ajk – arrival time of packet k of flow j
Sjk – virtual starting time of packet k of flow j
Fjk – virtual finishing time of packet k of flow j
Ljk – length of packet k of flow j
Shivkumar KalyanaramanRensselaer Polytechnic Institute
49
Virtual Time Implementation of Weighted Fair Queueing
Need to keep per flow instead of per packetvirtual start, finish time onlySystem virtual time is used to reset a flow’s virtual start time when a flow becomes backlogged again after being idle
Shivkumar KalyanaramanRensselaer Polytechnic Institute
50
System Virtual Time in GPS
0 4 128 16
1/21/81/81/81/8
)(tVGPS
2*CC
2*C
Shivkumar KalyanaramanRensselaer Polytechnic Institute
51
Virtual Start and Finish Times
0 4 128 16
kiFkiS
i
kik
ik
i wLSF +=
)(tVGPS
Utilize the time the packets would start Sik and
finish Fik in a fluid system
Shivkumar KalyanaramanRensselaer Polytechnic Institute
52
Big PictureFQ does not eliminate congestion it just manages the congestionYou need both end-host congestion control and router support for congestion control
end-host congestion control to adaptrouter congestion control to protect/isolate
Don’t forget buffer management: you still need to drop in case of congestion. Which packet’s would you drop in FQ?
one possibility: packet from the longest queue
Shivkumar KalyanaramanRensselaer Polytechnic Institute
54
Parekh-Gallager theorem
Let a connection be allocated weights at each WFQ scheduler along its path, so that the least bandwidth it is allocated is gLet it be leaky-bucket regulated such that # bits sent in time [t1, t2] <= g(t2 - t1) + σLet the connection pass through K schedulers, where the kth scheduler has a rate r(k)Let the largest packet size in the network be P
∑ ∑−
= =
++≤1
1 1)(///___
K
k
K
k
krPgPgdelayendtoend σ
Shivkumar KalyanaramanRensselaer Polytechnic Institute
55
SignificanceP-G Theorem shows that WFQ scheduling can provide end-to-end delay bounds in a network of multiplexed bottlenecks
WFQ provides both bandwidth and delayguaranteesBound holds regardless of cross traffic behavior (isolation)Needs shapers at the entrance of the network
Can be generalized for networks where schedulers are variants of WFQ, and the link service rate changes over time
Shivkumar KalyanaramanRensselaer Polytechnic Institute
56
Stateless vs. Stateful QoS SolutionsStateless solutions – routers maintain no fine grained state about traffic
scalable, robustweak services
Stateful solutions – routers maintain per-flow statepowerful services
guaranteed services + high resource utilizationfine grained differentiationprotection
much less scalable and robust
Shivkumar KalyanaramanRensselaer Polytechnic Institute
57
Existing Solutions
DecBit [Ramkrishnan &Jain ’88]
Random Early Detection(RED) [Floyd & Jacobson ’93]
BLUE [Feng et al ’99]REM [Low at al ’00]
Round Robin [Nagle ’85]
Fair Queueing[Demers et al ’89]
Flow Random Early Drop (FRED) [Lin & Morris ’97]
Network support for congestion control
DiffServ - [Clark & Wroclawski ‘97] - [Nichols et al ’97]
Tenet [Ferrari &Verma ’89]
IntServ [Clark et al ’91]
ATM [late ’80s]
QoS
StatelessStateful
Shivkumar KalyanaramanRensselaer Polytechnic Institute
58
Integrated Services (IntServ)An architecture for providing QOS guarantees in IP networks for individual application sessionsRelies on resource reservation, and routers need to maintain state information of allocated resources (eg: g) and respond to new Call setup requests
Shivkumar KalyanaramanRensselaer Polytechnic Institute
59
Signaling semanticsClassic scheme: sender initiatedSETUP, SETUP_ACK, SETUP_RESPONSEAdmission controlTentative resource reservation and confirmationSimplex and duplex setup; no multicast support
Shivkumar KalyanaramanRensselaer Polytechnic Institute
60
RSVP: Internet SignalingCreates and maintains distributed reservation stateDe-coupled from routing:
Multicast trees setup by routing protocols, not RSVP (unlike ATM or telephony signaling)
Receiver-initiated: scales for multicastSoft-state: reservation times out unless refreshedLatest paths discovered through “PATH” messages (forward direction) and used by RESVmesgs (reverse direction).
Shivkumar KalyanaramanRensselaer Polytechnic Institute
61
Call AdmissionSession must first declare its QOS requirement and characterize the traffic it will send through the networkR-spec: defines the QOS being requestedT-spec: defines the traffic characteristicsA signaling protocol is needed to carry the R-spec and T-spec to the routers where reservation is required; RSVP is a leading candidate for such signaling protocol
Shivkumar KalyanaramanRensselaer Polytechnic Institute
62
Call AdmissionCall Admission: routers will admit calls based on their R-spec and T-spec and base on the current resource allocated at the routers to other calls.
Shivkumar KalyanaramanRensselaer Polytechnic Institute
63
Stateful Solution: Guaranteed Services
Achieve per-flow bandwidth and delay guaranteesExample: guarantee 1MBps and < 100 ms delay to a flow
SenderReceiver
Shivkumar KalyanaramanRensselaer Polytechnic Institute
64
Stateful Solution: Guaranteed Services
Allocate resources - perform per-flow admission control
SenderReceiver
Shivkumar KalyanaramanRensselaer Polytechnic Institute
65
Stateful Solution: Guaranteed Services
Install per-flow state
SenderReceiver
Shivkumar KalyanaramanRensselaer Polytechnic Institute
66
Challenge: maintain per-flow state consistent
Stateful Solution: Guaranteed Services
SenderReceiver
Shivkumar KalyanaramanRensselaer Polytechnic Institute
67
Stateful Solution: Guaranteed Services
Per-flow classification
SenderReceiver
Shivkumar KalyanaramanRensselaer Polytechnic Institute
68
Stateful Solution: Guaranteed Services
Per-flow buffer management
SenderReceiver
Shivkumar KalyanaramanRensselaer Polytechnic Institute
69
Stateful Solution: Guaranteed Services
• Per-flow scheduling
SenderReceiver
Shivkumar KalyanaramanRensselaer Polytechnic Institute
70
Stateful Solution Complexity
Classifier
Buffermanagement
Scheduler
flow 1
flow 2
flow n
…Per-flow State
Data pathPer-flow classificationPer-flow buffer
managementPer-flow scheduling
Control pathinstall and maintain
per-flow state for data and control paths
output interface
Shivkumar KalyanaramanRensselaer Polytechnic Institute
71
Stateless vs. Stateful
Stateless solutions are morescalablerobust
Stateful solutions provide more powerful and flexible services
guaranteed services + high resource utilizationfine grained differentiationprotection
Shivkumar KalyanaramanRensselaer Polytechnic Institute
72
Question
Can we achieve the best of two worlds, i.e., provide services implemented by stateful networks while maintaining advantages of stateless architectures?
Yes, in some interesting cases. DPS, CSFQ.
Can we provide reduced state services, I.e., maintain state only for larger granular flows rather than end-to-end flows?
Yes: Diff-serv
Shivkumar KalyanaramanRensselaer Polytechnic Institute
73
Differentiated Services (DiffServ)Intended to address the following difficulties with Intserv and RSVP;Scalability: maintaining states by routers in high speed networks is difficult sue to the very large number of flows Flexible Service Models: Intserv has only two classes, want to provide more qualitative service classes; want to provide ‘relative’ service distinction (Platinum, Gold, Silver, …)Simpler signaling: (than RSVP) many applications and users may only w ant to specify a more qualitative notion of service
Shivkumar KalyanaramanRensselaer Polytechnic Institute
74
Differentiated Services Model
IngressEdge Router
EgressEdge Router
Interior Router
Edge routers: traffic conditioning (policing, marking, dropping), SLA negotiation
Set values in DS-byte in IP header based upon negotiated service and observed traffic.
Interior routers: traffic classification and forwarding (near stateless core!)
Use DS-byte as index into forwarding table
Shivkumar KalyanaramanRensselaer Polytechnic Institute
75
Diffserv Architecture
Core router:
- per class TM- buffering and scheduling based on marking at edge- preference given to in-profile packets- Assured Forwarding
scheduling
...
r
b
markingEdge router:- per-flow traffic management- marks packets as in-profile and out-profile
Shivkumar KalyanaramanRensselaer Polytechnic Institute
76
Packet format supportPacket is marked in the Type of Service (TOS) in IPv4, and Traffic Class in IPv6: renamed as “DS”6 bits used for Differentiated Service Code Point (DSCP) and determine PHB that the packet will receive2 bits are currently unused
Shivkumar KalyanaramanRensselaer Polytechnic Institute
77
Traffic ConditioningIt may be desirable to limit traffic injection rate of some class; user declares traffic profile (eg, rate and burst size); traffic is metered and shaped if non-conforming
Shivkumar KalyanaramanRensselaer Polytechnic Institute
78
Per-hop Behavior (PHB)PHB: name for interior router data-plane functions
Includes scheduling, buff. mgmt, shaping etc
Logical spec: PHB does not specify mechanisms to use to ensure performance behavior
Examples: Class A gets x% of outgoing link bandwidth over time intervals of a specified lengthClass A packets leave first before packets from class B
Shivkumar KalyanaramanRensselaer Polytechnic Institute
79
PHB (contd)PHBs under consideration:
Expedited Forwarding: departure rate of packets from a class equals or exceeds a specified rate (logical link with a minimum guaranteed rate)
Emulates leased-line behaviorAssured Forwarding: 4 classes, each guaranteed a minimum amount of bandwidth and buffering; each with three drop preference partitions
Emulates frame-relay behavior
Shivkumar KalyanaramanRensselaer Polytechnic Institute
80
Question
Can we achieve the best of two worlds, i.e., provide services implemented by stateful networks while maintaining advantages of stateless architectures?
Yes, in some interesting cases. DPS, CSFQ.
Can we provide reduced state services, I.e., maintain state only for larger granular flows rather than end-to-end flows?
Yes: Diff-serv
Shivkumar KalyanaramanRensselaer Polytechnic Institute
81
Scalable Core (SCORE)A trusted and contiguous region of network in which
edge nodes – perform per flow managementcore nodes – do not perform per flow management
core nodes edge nodesedge nodes
Shivkumar KalyanaramanRensselaer Polytechnic Institute
82
The DPS Approach1. Define a reference stateful network that
implements the desired service
Reference Stateful Network SCORE Network
2. Emulate the functionality of the referencenetwork in a SCORE network
Shivkumar KalyanaramanRensselaer Polytechnic Institute
83
The DPS IdeaInstead of having core routers maintaining per-flow state have packets carry per-flow state
Reference Stateful Network SCORE Network
Shivkumar KalyanaramanRensselaer Polytechnic Institute
84
Dynamic Packet State (DPS)
Ingress node: compute and insert flow state in packet’s header
Shivkumar KalyanaramanRensselaer Polytechnic Institute
85
Dynamic Packet State (DPS)Ingress node: compute and insert flow state in packet’s header
Shivkumar KalyanaramanRensselaer Polytechnic Institute
86
Dynamic Packet State (DPS)Core node:
process packet based on state it carries and node’s stateupdate both packet and node’s state
Shivkumar KalyanaramanRensselaer Polytechnic Institute
87
Dynamic Packet State (DPS)
Egress node: remove state from packet’s header
Shivkumar KalyanaramanRensselaer Polytechnic Institute
88
Example: DPS-Guaranteed Services
r r rflow(reservation = r )
Goal: provide per-flow delay and bandwidth guaranteesHow: emulate ideal model in which each flow traverses dedicated links of capacity r
Per-hop packet service time = (packet length) / r
Shivkumar KalyanaramanRensselaer Polytechnic Institute
89
Guaranteed ServicesDefine reference network to implement service
control path: per-flow admission control, reserve capacity r on each linkdata path: enforce ideal model, by using Jitter Virtual Clock (Jitter-VC) scheduler
Reference Stateful Network
Jitter-VC Jitter-VC Jitter-VC Jitter-VC
Jitter-VCJitter-VCJitter-VC
Shivkumar KalyanaramanRensselaer Polytechnic Institute
90
Guaranteed ServicesUse DPS to eliminate per-flow state in core
control path: emulate per-flow admission controldata path: emulate Jitter-VC by Core-Jitter Virtual Clock (CJVC)
Reference Stateful Network SCORE Network
Jitter-VC Jitter-VC Jitter-VC Jitter-VC
Jitter-VCJitter-VCJitter-VC
CJVC CJVC
CJVC
CJVC
CJVC
CJVC
Shivkumar KalyanaramanRensselaer Polytechnic Institute
91
End-to-end Adaptive Applications
Internet
End-to-endClosed-loop control
Congestion control
Packetization, Marking, playoutBuffer ManagementCongestion control
Video Coding, Error Concealment, Unequal Error Protection (UEP)
Video Coding, Error Concealment, Unequal Error Protection (UEP)Packetization, Marking, SourceBuffer Management
Shivkumar KalyanaramanRensselaer Polytechnic Institute
92
End-to-end: Real-Time Protocol (RTP)Provides standard packet format for real-time applicationTypically runs over UDPSpecifies header fields belowPayload Type: 7 bits, providing 128 possible different types of encoding; eg PCM, MPEG2 video, etc.Sequence Number: 16 bits; used to detect packet loss
Shivkumar KalyanaramanRensselaer Polytechnic Institute
93
Real-Time Protocol (RTP)Timestamp: 32 bytes; gives the sampling instant of the first audio/video byte in the packet; used to remove jitter introduced by the networkSynchronization Source identifier (SSRC): 32 bits; an id for the source of a stream; assigned randomly by the source
Shivkumar KalyanaramanRensselaer Polytechnic Institute
94
RTP Control Protocol (RTCP)Protocol specifies report packets exchanged between sources and destinations of multimedia informationThree reports are defined: Receiver reception, Sender, and Source descriptionReports contain statistics such as the number of packets sent, number of packets lost, inter-arrival jitterUsed to modify sender transmission rates and for diagnostics purposes
Shivkumar KalyanaramanRensselaer Polytechnic Institute
95
Eg: Streaming & RTSPUser interactive control is provided, e.g. the public protocol Real Time Streaming Protocol (RTSP)Helper Application: displays content, which is typically requested via a Web browser; e.g. RealPlayer; typical functions:
DecompressionJitter removalError correction: use redundant packets to be used for reconstruction of original streamGUI for user control
Shivkumar KalyanaramanRensselaer Polytechnic Institute
96
Using a Streaming ServerWeb browser requests and receives a Meta File (a file describing the object) Browser launches the appropriate Player and passes it the Meta File; Player contacts a streaming server, may use a choice of UDP vs. TCP to get the stream
Shivkumar KalyanaramanRensselaer Polytechnic Institute
97
Receiver Adaptation OptionsIf UDP: Server sends at a rate appropriate for client; to reduce jitter, Player buffers initially for 2-5 seconds, then starts displayIf TCP: sender sends at maximum possible rate; retransmit when error is encountered; Player uses a much large buffer to smooth delivery rate of TCP
Shivkumar KalyanaramanRensselaer Polytechnic Institute
98
H.323H.323 is an ITU standard for multimedia communications over best-effort LANs.Part of larger set of standards (H.32X) for videoconferencing over data networks.H.323 includes both stand-alone devices and embedded personal computer technology as well as point-to-point and multipoint conferences. H.323 addresses call control, multimedia management, and bandwidth management as well as interfaces between LANs and other networks.
Shivkumar KalyanaramanRensselaer Polytechnic Institute
100
Inter-domain QoS: Challenge Provide high quality service across ISPsProblem: intermediate ISPs don’t have incentive to provide “good” service
e.g., “hot-potato” policy
ISP 1
ISP 2
ISP 3?
Shivkumar KalyanaramanRensselaer Polytechnic Institute
101
Approach: Virtual ISP (V-ISP) Avoid crossing ISP boundaries
Each ISP will provide good service; V-ISP can easily verify it
Allocate/buy service across each ISP and compose them
ISP 1
ISP 2
ISP 3Proxy(edge)
GPoP(core)
GPoP(core)
Proxy(edge)
Shivkumar KalyanaramanRensselaer Polytechnic Institute
102
Composition Tools for QoSDynamic Packet State (DPS):
Proxy (edge): maintain per flow state; label packetsGiga PoPs (core): maintain no per flow state; process packets based on their labels
I E
I
EI
E
Logical FIFO
B
Closed-loop building blocks:No core upgrades, smaller QoS service spectrum
Shivkumar KalyanaramanRensselaer Polytechnic Institute
103
Closed-Loop Building Blocks for QoS
International Linkor
International Linkor
Shivkumar KalyanaramanRensselaer Polytechnic Institute
104
Edge-based QoS building blocks
New: Closed-loop control !
I
EI
E
Logical FIFO
B
Policy/Bandwidth Broker
I E
Shivkumar KalyanaramanRensselaer Polytechnic Institute
105
Closed-loop QoS Building BlocksPriority/WFQ
B
FIFO
⇒
Loops: differentiate service on an RTT-by-RTT basis using purely edge-based policy configuration.
B
Scheduler: differentiates service on a packet-by-packet basis
Shivkumar KalyanaramanRensselaer Polytechnic Institute
106
Recall: Accumulation-based CC Schemes!
1 j j+1 J
µij Λi,j+1
djfi
Λiµi
… …
106time
)(1f
ii dtq − )(1
∑−
=
−J
jkkij dtq
)(tq iJ
1 j j+1 J
jd 1−Jd
),( tdtI fii ∆−
)(ta i
)( tta i ∆+
),( ttO i ∆
fid
t∆
Shivkumar KalyanaramanRensselaer Polytechnic Institute
107
Recall: Accumulation-based CC Schemes!
1 j j+1 J
µij Λi,j+1
djfi
Λiµi
… …
107time
)(1f
ii dtq − )(1
∑−
=
−J
jkkij dtq
)(tq iJ
1 j j+1 J
jd 1−Jd
),( tdt fi ∆−
)(ta i
( tta i ∆+
),( ttO i ∆
fid
t∆
I i
)
Shivkumar KalyanaramanRensselaer Polytechnic Institute
108
1 j j+1 J
µij Λi,j+1
djfi
Λiµi
0)( >= ii ta ε
108
control objective : keepif , no way to probe increase of available bandwidth;
0)( =ta i
ttttdtttarec
thentaif
thentaif
if
iii
iii
iii
∆×∆−∆−=∆∆
↓>
↑<
)],(),([),(:
)(
)(
µλλελε
control algorithm :
Recall: Accln-based Control Policy
Shivkumar KalyanaramanRensselaer Polytechnic Institute
109
Recall: “Monaco” CC Scheme
congestion estimation:out-of-band and in-band control packets
congestion response:if qm < α, cwnd(k+1) = cwnd(k) + 1;if qm > β, cwnd(k+1) = cwnd(k) – 1;[ 1 = α < β = 3 ]
109
Shivkumar KalyanaramanRensselaer Polytechnic Institute
110
Closed-Loop Service Differentiation: Loss-based or Accumulation-based ?
110
Shivkumar KalyanaramanRensselaer Polytechnic Institute
111
Closed-Loop QoS: Bandwidth Assurances
Flow 1 with 4 Mbps assured + 3 Mbps best effort
Flow 2 with 3 Mbps best effort
Shivkumar KalyanaramanRensselaer Polytechnic Institute
112
QoS: an application-level approach
sophisticated services in application• architecturally “above” network core• open services: let 1000 flowers bloom
simple, fast, diffserv network
Shivkumar KalyanaramanRensselaer Polytechnic Institute
113
QoS: an application-level approach
Application-level infrastructure• accommodate network-level service• additional tailoring of user services
Shivkumar KalyanaramanRensselaer Polytechnic Institute
114
Content Delivery Motivation: congestion
BrowsersBrowsers
Web ServersWeb Servers
RoutersRouters
NetworksNetworks
Shivkumar KalyanaramanRensselaer Polytechnic Institute
115
Content Delivery: idea• Reduces load on server• Avoids network congestion
BrowsersBrowsers
Web ServerWeb Server
ReplicatedReplicatedcontentcontent
RouterRouter Content SourceContent SourceContent SinkContent Sink
Shivkumar KalyanaramanRensselaer Polytechnic Institute
116
CDN: Architectural LayoutRequest
Routing(RR)
Distribution System
1
2
3
4
5
6
Client
Origin
Surrogate
Publisher informs RR of Content Availability.Content Pushed to Distribution System.Client Requests Content, Requested redirected to RR.RR finds the most suitable SurrogateSurrogate services client request.
Shivkumar KalyanaramanRensselaer Polytechnic Institute
117
Summary
QoS big picture, building blocksIntegrated services: RSVP, 2 services, scheduling, admission control etcDiff-serv: edge-routers, core routers; DS byte marking and PHBs Real-time transport/middleware: RTP, H.323New problems: inter-domain QoS, Application-level QoS, Content delivery/web caching