CS 268: Integrated Services Ion Stoica February 23, 2004.
-
date post
22-Dec-2015 -
Category
Documents
-
view
216 -
download
1
Transcript of CS 268: Integrated Services Ion Stoica February 23, 2004.
![Page 1: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/1.jpg)
CS 268: Integrated Services
Ion Stoica
February 23, 2004
![Page 2: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/2.jpg)
Limitations of IP Architecture in Supporting Resource Management
IP provides only best effort service IP does not participate in resource management
- Cannot provide service guarantees on a per flow basis- Cannot provide service differentiation among traffic
aggregates Early efforts
- Tenet group at Berkeley (Ferrari and Verma)- ATM
IETF efforts - Integrated services initiative- Differentiated services initiative
![Page 3: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/3.jpg)
Integrated Services Internet
Enhance IP’s service model- Old model: single best-effort service class
- New model: multiple service classes, including best-effort and QoS classes
Protocols/algorithms to support new service model- Old model: no resource management at IP level
- New model: explicit resource management at IP level
Key architecture difference- Old model: stateless
- New model: per flow state maintained at routers
• used for admission control and scheduling
• set up by signaling protocol
![Page 4: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/4.jpg)
Integrated Services Network
Flow or session as QoS abstractions
Each flow has a fixed or stable path
Routers along the path maintain the state of the flow
![Page 5: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/5.jpg)
Integrated Services Example
SenderReceiver
Achieve per-flow bandwidth and delay guarantees- Example: guarantee 1MBps and < 100 ms delay to a flow
![Page 6: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/6.jpg)
Integrated Services Example
SenderReceiver
Allocate resources - perform per-flow admission control
![Page 10: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/10.jpg)
Integrated Services Example: Data Path
SenderReceiver
Per-flow buffer management
![Page 12: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/12.jpg)
How Things Fit Together
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
![Page 13: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/13.jpg)
Service Classes
Multiple service classes Service: contract between network and
communication client- End-to-end service
- Other service scopes possible
Three common services- Best-effort (“elastic” applications)
- Hard real-time (“real-time” applications)
- Soft real-time (“tolerant” applications)
![Page 14: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/14.jpg)
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
![Page 15: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/15.jpg)
Soft Real Time: Controlled Load 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
![Page 16: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/16.jpg)
16
Role of RSVP in the Architecture
Signaling protocol for establishing per flow state Carry resource requests from hosts to routers Collect needed information from routers to hosts At each hop
- Consult admission control and policy module
- Set up admission state or informs the requester of failure
![Page 17: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/17.jpg)
RSVP Design Features
IP Multicast centric design Receiver initiated reservation Different reservation styles Soft state inside network Decouple routing from reservation
![Page 18: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/18.jpg)
IP Multicast
Best-effort MxN delivery of IP datagrams Basic abstraction: IP multicast group
- Identified by Class D address: 224.0.0.0 - 239.255.255.255
- Sender needs only to know the group address, but not the membership
- Receiver joins/leaves group dynamically
Routing and group membership managed distributedly- No single node knows the membership
- Tough problem
- Various solutions: DVMRP, CBT, PIM
![Page 19: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/19.jpg)
RSVP Reservation Model
Performs signaling to set up reservation state for a session
A session is a simplex data flow sent to a unicast or a multicast address, characterized by
- <IP dest, protocol number, port number>
Multiple senders and receivers can be in session
![Page 20: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/20.jpg)
20
The Big Picture
NetworkSender
Receiver
PATH Msg
![Page 21: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/21.jpg)
21
The Big Picture (2)
NetworkSender
Receiver
PATH Msg
RESV Msg
![Page 22: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/22.jpg)
RSVP Basic Operations
Sender: sends PATH message via the data delivery path- Set up the path state each router including the address of
previous hop
Receiver sends RESV message on the reverse path- Specifies the reservation style, QoS desired
- Set up the reservation state at each router
Things to notice- Receiver initiated reservation
- Decouple routing from reservation
- Two types of state: path and reservation
![Page 23: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/23.jpg)
Route Pinning
Problem: asymmetric routes- You may reserve resources on RS3S5S4S1S, but
data travels on SS1S2S3R !
Solution: use PATH to remember direct path from S to R, i.e., perform route pinning
S1S1
S2S2
S3S3
SSRR
S5S5S4S4PATH
RESV
IP routing
![Page 24: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/24.jpg)
PATH and RESV messages
PATH also specifies - Source traffic characteristics
• Use token bucket
- Reservation style – specify whether a RESV message will be forwarded to this server
RESV specifies - Queueing delay and bandwidth requirements
- Source traffic characteristics (from PATH)
- Filter specification, i.e., what senders can use reservation
- Based on these routers perform reservation
![Page 25: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/25.jpg)
Token Bucket and Arrival Curve
Parameters- r – average rate, i.e., rate at which tokens fill the bucket- b – bucket depth- R – maximum link capacity or peak rate (optional parameter)
A bit is transmitted only when there is an available token Arrival curve – maximum number of bits transmitted within an
interval of time of size t
r bps
b bits
<= R bps
regulatortime
bits
b*R/(R-r)
slope R
slope r
Arrival curve
![Page 26: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/26.jpg)
How Is the Token Bucket Used?
Can be enforced by - End-hosts (e.g., cable modems)
- Routers (e.g., ingress routers in a Diffserv domain)
Can be used to characterize the traffic sent by an end-host
![Page 27: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/27.jpg)
Source Traffic Characterization
Arrival curve – maximum amount of bits transmitted during an interval of time Δt
Use token bucket to bound the arrival curve
Δt
bits
Arrival curve
time
bps
![Page 28: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/28.jpg)
Source Traffic Characterization: Example
Arrival curve – maximum amount of bits transmitted during an interval of time Δt
Use token bucket to bound the arrival curve
bitsArrival curve
time
bps
0 1 2 3 4 5
1
2
1 2 3 4 5
1
2
3
4
(R=2,b=1,r=1)
Δt
![Page 29: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/29.jpg)
QoS Guarantees: Per-hop Reservation
End-host: specify- the arrival rate characterized by token-bucket with parameters (b,r,R)- the maximum maximum admissible delay D
Router: allocate bandwidth ra and buffer space Ba such that - no packet is dropped- no packet experiences a delay larger than D
bits
b*R/(R-r)
slope rArrival curve
DBa
slope ra
![Page 30: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/30.jpg)
End-to-End Reservation
When R gets PATH message it knows- Traffic characteristics (tspec): (r,b,R)
- Number of hops R sends back this information + worst-case delay in RESV Each router along path provide a per-hop delay guarantee
and forward RESV with updated info - In simplest case routers split the delay
S1S1
S2S2
S3S3
SSRR(b,r,R) (b,r,R,3)
num hops
(b,r,R,2,D-d1)(b,r,R,1,D-d1-d2)(b,r,R,0,0)
(b,r,R,3,D)
worst-case delayPATH
RESV
![Page 31: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/31.jpg)
Reservation Style
Motivation: achieve more efficient resource utilization in multicast (M x N)
Observation: in a video conferencing when there are M senders, only a few can be active simultaneously
- Multiple senders can share the same reservation
Various reservation styles specify different rules for sharing among senders
![Page 32: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/32.jpg)
Reservation Styles and Filter Spec
Reservation style- use filter to specify which sender can use the
reservation
Three styles- Wildcard filter: does not specify any sender; all packets
associated to a destination shares same resources
• Group in which there are a small number of simultaneously active senders
- Fixed filter: no sharing among senders, sender explicitly identified for the reservation
• Sources cannot be modified over time
- Dynamic filter: resource shared by senders that are (explicitly) specified
• Sources can be modified over time
![Page 33: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/33.jpg)
Wildcard Filter Example
Receivers: H1, H2; senders: H3, H4, H5 Each sender sends B H1 reserves B; listen from one server at a time
S1S1 S2S2 S3S3
H2H2
H1H1
H5H5
H4H4
H3H3
(B,*)(B,*) (B,*)
(B,*)
(B,*)
(B,*)
senderreceiver
![Page 34: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/34.jpg)
Wildcard Filter Example
H2 reserves B
S1S1 S2S2 S3S3
H2H2
H1H1
H5H5
H4H4
H3H3
(B,*)(B,*) (B,*)
senderreceiver
(B,*)
(B,*) (B,*)
(B,*)
![Page 35: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/35.jpg)
Wildcard Filter
Advantages- Minimal state at routers
• Routers need to maintain only routing state augmented by reserved bandwidth on outgoing links
Disadvantages - May result in inefficient resource utilization
![Page 36: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/36.jpg)
Wildcard Filter: Inefficient Resource Utilization Example
H1 reserves 3B; wants to listen from all senders simultaneously
Problem: reserve 3B on (S3:S2) although 2B sufficient!
S1S1 S2S2 S3S3
H2H2
H1H1
H5H5
H4H4
H3H3
(3B,*)(3B,*) (3B,*)
senderreceiver
![Page 37: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/37.jpg)
Fixed Filter Example
Receivers: H2, H3, H4, H5; Senders: H1, H4, H5 Routers maintain state for each receiver in the
routing table
S1S1 S2S2 S3S3
H2H2
H1H1
H3H3
senderreceiver
H5
H4
sender+receiver
NextHop Sources H1 S2(H5, H4) H2 H1(H1), S2(H5, H4)
![Page 38: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/38.jpg)
Fixed Filter Example
H2 wants to receive B only from H4
S1S1 S2S2 S3S3
H2H2
H1H1
H3H3
senderreceiver
H5
H4
sender+receiver
(B,H4)
(B,H4) (B,H4)
(B,H4)
![Page 39: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/39.jpg)
Dynamic Filter Example
H5 wants to receive 2B from any source
S1S1 S2S2 S3S3
H2H2
H1H1
H3H3
senderreceiver
H5
H4
sender+receiver
(B,H4) (B,H4)
(B,H4)(2B,*)
(B,H4)(B,*)
(B,*)
![Page 40: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/40.jpg)
Soft State
Per session state has a timer associated with it- path state, reservation state
State lost when timer expires Sender/Receiver periodically refreshes the state Claimed advantages
- no need to clean up dangling state after failure- can tolerate lost signaling packets
• signaling message need not be reliably transmitted- easy to adapt to route changes
State can be explicitly deleted by a Teardown message
![Page 41: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/41.jpg)
Tear-down Example
H4 leaves the group- H4 no longer sends PATH message
- State corresponding to H4 removed
S1S1 S2S2 S3S3
H2H2
H1H1
H3H3
senderreceiver
H5
H4
sender+receiver
(B,H4) (B,H4)
(B,H4)(2B,*)
(B,H4)(B,*)
(B,*)
![Page 42: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/42.jpg)
Tear-down Example
H4 leaves the group- H4 no longer sends PATH message
- State corresponding to H4 removed
S1S1 S2S2 S3S3
H2H2
H1H1
H3H3
senderreceiver
H5
sender+receiver
(2B,*)
(B,*)
(B,*)
![Page 43: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/43.jpg)
Soft State
Per session state has a timer associated with it- Path state, reservation state
State lost when timer expires Sender/Receiver periodically refreshes the state,
resends PATH/RESV messages, resets timer Claimed advantages
- No need to clean up dangling state after failure- Can tolerate lost signaling packets
• Signaling message need not be reliably transmitted- Easy to adapt to route changes
State can be explicitly deleted by a Teardown message
![Page 44: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/44.jpg)
RSVP and Routing
RSVP designed to work with variety of routing protocols
Minimal routing service- RSVP asks routing how to route a PATH message
Route pinning- addresses QoS changes due to “avoidable” route
changes while session in progress QoS routing
- RSVP route selection based on QoS parameters- granularity of reservation and routing may differ
Explicit routing- Use RSVP to set up routes for reserved traffic
![Page 45: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/45.jpg)
Recap of RSVP
PATH message- sender template and traffic spec
- advertisement
- mark route for RESV message
- follow data path
RESV message- reservation request, including flow and filter spec
- reservation style and merging rules
- follow reverse data path
Other messages- PathTear, ResvTear, PathErr, ResvErr
![Page 46: CS 268: Integrated Services Ion Stoica February 23, 2004.](https://reader033.fdocuments.in/reader033/viewer/2022051619/56649d7e5503460f94a60e31/html5/thumbnails/46.jpg)
Why did IntServ fail?
Economic factors- Deployment cost vs Benefit
Is reservation, the right approach?- Multicast centric view
Is per-flow state maintenance an issue? What about QoS in general?