EECS 122: Introduction to Computer Networks Resource...
Transcript of EECS 122: Introduction to Computer Networks Resource...
1
EECS F05
EECS 122:Introduction to Computer Networks
Resource Management and QoS
Computer Science DivisionDepartment of Electrical Engineering and Computer Sciences
University of California, BerkeleyBerkeley, CA 94720-1776
2EECS F05
Quality of Service (QoS)
� The Internet’s most contentious subject- Inside vs. Outside the Network (see P&D, pp. 519-520)
� The Internet’s most embarrassing failure- Many papers and proposals, but almost nothing
accomplished
2
3EECS F05
Today’s Lecture
� What “could be”, not what is- Today’s Internet does not have, nor soon will have, a
reasonable QoS solution
� Focus on what one could accomplish with simple (and not-so-simple) mechanisms
- Understand the basic concepts
� Current deployed mechanisms not discussed- Ugly hodge-podge of hacks
4EECS F05
What’s the Problem?
� Internet gives all flows the same “best effort” service- No promises about when or whether packets will be
delivered
� Not all traffic is created equal- Different “owners”, different application requirements- Some applications require service “assurances”
� How can we give traffic different “quality of service”?- Thus begins the problem of QoS
3
5EECS F05
Three Basic Problems
� Control how a link is shared:- Link sharing (discussed by Ion last lecture)
� Give some flows “assured” service- Integrated service (and perhaps differentiated service)
� Give some traffic preferential service- Differentiated service
6EECS F05
A Different Taxonomy
� Giving better service can differ along three dimensions:
- Relative versus absolute- Dropping versus delay
- Flows versus aggregates
� Each choice requires different mechanisms- Intra-Router: Scheduling and dropping decisions- Inter-Router: Signaling protocols
4
7EECS F05
Three Basic Questions
� How does a router service this packet?- Scheduling (various forms of priority and FQ)
- Dropping (fancy versions of RED)
� How does the router know what to do with this packet?
- Bits in packet header or explicit signaling
� How do we control the level of traffic?- Service level agreements (SLAs) or admission control
8EECS F05
Back to Three Basic Problems
� Link sharing (last lecture): not covered today
� Integrated Services
� Differentiated Services
� Nice web site describing DiffServ and IntServ in succinct language: http://www.rhyshaden.com/qos.htm
5
9EECS F05
Integrated Services
� Attempt to integrate service for “real-time”applications into the Internet
� Known as IntServ
� Total, massive, and humiliating failure- 1000s of papers- IETF standards- and STILL no deployment ...
10EECS F05
Key Properties
� All assurances on a per-flow basis
� Traffic can be turned away
� Note:- Co-exists with best-effort service- Similar mechanisms proposed for ATM (Asynchronous
Transfer Mode) but• QoS central in ATM, best-effort an afterthought• Best-effort central in Internet, QoS an afterthought
6
11EECS F05
Example: Video
� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �
12EECS F05
Circuit-Switched Networks
� Each packet experiences exactly the same delay
� Packet data is displayed as soon as it arrives
� Signal at receiving end is faithful representation
7
13EECS F05
Internet
� Individual packets experience different delays
� Can’t treat network as a “wire”
� Application must adapt to network service
14EECS F05
Router Effect on Delay
� � � �
� � � � � � � � � � � � �� � � � � � � �
� � �
Delay variationor
Jitter
8
15EECS F05
Router Effects on Traffic
� � � � � � � � �� � �
� � � �
� � �
� � � � � � � � � � � � �
� � � � � �
� � � � � � �
16EECS F05
Network Effects on Traffic
� � � � � � � � �� � �
� � � �
� � �� � � � � �
� � � � � � �
� � � � � � � � � � � � �
� ! " # $ % � � � � & � � ! % � '� � % � ' � � % � � � !# � � � " ( ) � � � � � �* + , - . / , 0 1 2 / 3 0 4 2 . 0 5 4 61 7 3 4 4 1 + 3 8 - . / , 0 1 2 / 3 0
4 2 . 0 5 4 9
� � � � � � �
9
17EECS F05
Network Effects on Traffic
� � � � � � � � �� � �
� � � �
� � �� � � � � �
� � � � � � � � � � � � � � � � � � � �
* + , - . / , 0 1 2 / 3 0 4 2 . 0 5 4 61 7 3 4 4 1 + 3 8 - . / , 0 1 2 / 3 0
4 2 . 0 5 4 9
� � � � � � �
18EECS F05
Network Effects on Traffic
� � � � � � � � �� � �
� � � �
� � �� � � � � �
� � � � � � � � � � � � � � � � � � � �
10
19EECS F05
Network Effect on Delay
� � � �
� � � � � � � � � � � � �� � � � � � � � �
� � �
Delay variationor
Jitter
� � � � � � � � � � �
20EECS F05
Choices
� Play back data upon arrival- Distorted signal
� Buffer data for a while (playback buffer)- Extra delay, less distortion
� Tradeoff depends on application (and use)- Noninteractive: absorb delay, eliminate all distortion- Interactive: absorb only a little delay, eliminate some
distortion
11
21EECS F05
Playback Buffer
� � � � � � � � �� � �
� � � �� � � � � � � �
� � �� � � �
� � � � � � � � � � � � � � �
� � � � �� �
� � � ��
Playback Delay
Play back data a fixed time interval after it was sent
22EECS F05
Playback Point
! " # & " ( �' � � � �
� � � � � � � � � � �
12
23EECS F05
Adaptation
� Can move playback point as delays vary
� Moving playback point:- Increases distortion- But allows lower delays
24EECS F05
Application Taxonomy (Oversimplified and Fanciful)
� Elastic versus “real-time”- Traditional data apps are elastic
- Streaming media are real-time
� RT intolerant versus RT tolerant- Intolerant applications need all data
� Tolerant nonadaptive versus tolerant adaptive- Not clear why any tolerant app couldn’t adapt
� Rate-adaptive versus delay-adaptive (or both)
13
25EECS F05
Key Points
� Some apps don’t need to know maximal delay, just need it to be controlled
- Tolerant, delay-adaptive applications will move playback point to reduce delay
- Can absorb occasional outliers
� Some apps need to know maximal delay- Can’t tolerate loss or distortion- Need to fix playback point and so need a priori
knowledge of delay bound- Bound is typically much worse than actual delays
26EECS F05
Two Service Classes
� Controlled Load- Keep delays under control, but no bound
� Guaranteed Service- Explicit delay bound
14
27EECS F05
Process
� Flow requests service from network- Service request specification (RSpec)
• Controlled load: nothing• Guaranteed: service rate (can calculate delay)
- Traffic specification (TSpec) (next slide)
� Routers decide if they can support request- Admission control
� If so, traffic is classified and scheduled at routers based on per-flow information
28EECS F05
Problem
� How do you describe bursty traffic?
� Network needs some description of traffic
� But video source is bursty (due to coding)- Can’t predict in advance the exact behavior
� Describe “envelope” of traffic: rate and burstiness
� Bits sent between times s and t: A(s,t) � σ + ρ(t-s)
ρ : average rateσ : burstiness
15
29EECS F05
TSpec: The Token Bucket
� � � � � �� � � � � �
ρ � � � � � � � �� � �
� σ
� � � � � � � � � � � �
� � � � � � � � � � � � � �
� � � � ! � " # $% & ' ( � ! ) % � $ ! # ( � �
ρ : average rateσ : burstiness
* + , - . , / 0 1 2 3Bits sent between times s and t: A(s,t) � σ + ρ(t-s)
30EECS F05
Required Elements
4 Reservation Protocol- How service request gets from host to network
4 Admission control algorithm- How network decides if it can accept flow
4 Packet scheduling algorithms (covered last lecture)
- So routers can deliver service
16
31EECS F05
Control Plane vs. Data Plane
4 Control plane: - How information gets to routers
4 Data plane:- What routers do with that information to data packets
Control
Data
32EECS F05
Control Plane: Resource Reservation
SenderReceiver
17
33EECS F05
Control Plane: Resource Reservation
SenderReceiverSender sends Tspec
34EECS F05
Control Plane: Resource Reservation
SenderReceiverPath established
18
35EECS F05
Control Plane: Resource Reservation
SenderReceiver
The receiver signalsreservation request
36EECS F05
Control Plane: Admission Control
SenderReceiverPer-flow state
19
37EECS F05
SenderReceiver
Control Plane: Admission Control
Per-flow state on all routers in path
38EECS F05
Data Plane
SenderReceiver
Per-flow classification on each router
20
39EECS F05
Data Plane
SenderReceiver
Per-flow classification on each router
40EECS F05
Data Plane
SenderReceiverPer-flow scheduling on each router
21
41EECS F05
Resource Reservation Protocol: RSVP
4 Establishes end-to-end reservations over a datagram network
4 Designed for multicast (which will be covered later)
4 Sources: send TSpec4 Receivers: respond with RSpec Network4 Network: responds to reservation requests
42EECS F05
PATH and RESV Messages
4 Sender sends PATH messages - TSPEC: use token bucket- Set up the path state on each router including the
address of previous hop (route pinning)- Collect path information (for guaranteed service)
4 Receiver sends RESV message on the reverse path
- Specify RSpec and TSpec- Sets up the reservation state at each router
22
43EECS F05
The Big Picture
NetworkSender
Receiver
PATH Msg
44EECS F05
The Big Picture
NetworkSender
Receiver
PATH Msg
RESV Msg
23
45EECS F05
Soft State
4 Per session state has a timer associated with it- Path state, reservation state
4 State deleted when timer expires
4 Sender/Receiver periodically refreshes the state, resends PATH/RESV messages, resets timer
4 Advantages:- No need to clean up dangling state after failure- Can tolerate lost signaling packets- Easy to adapt to route changes
46EECS F05
Route Pinning
� Problem: asymmetric routes- You may reserve resources on R
�S3
�S5
�S4
�S1
�S, but data
travels on S�
S1�
S2�
S3�
R !� Solution: use PATH to remember direct path from S to R, i.e.,
perform route pinning
S1S1
S2S2
S3S3
SSRR
S5S5S4S4PATH
RESV
IP routing
24
47EECS F05
Admission Control
4 Parameter-based: worst cast analysis- Guaranteed service
- Low utilization
4 Measurement-based: measure current traffic- Controlled load service- Higher utilization
4 Remember that best-effort service co-exists- No need for IntServ traffic to achieve high utilization
48EECS F05
IntServ Node Architecture
Admission Control
Data InData Out
Con
trol
Pla
neD
ata
Pla
ne
Scheduler
Routing Routing
MessagesRSVP
messages
Classifier
RSVP
Route Lookup
Forwarding Table Per Flow QoS Table