770 likes | 1.52k Views
RSVP: The ReSerVation Protocol. Outline. Introduction RSVP: The Protocol Other Reservation Technologies Comparison of RSVP and ATM. Quality of Service Requirements (1). Arrival Offset Graph. Real-time applications Interactive applications are sensitive to packet delays (telephone)
E N D
Outline • Introduction • RSVP: The Protocol • Other Reservation Technologies • Comparison of RSVP and ATM
Quality of Service Requirements (1) Arrival Offset Graph • Real-time applications • Interactive applications are sensitive to packet delays (telephone) • Non-interactive applications can adapt to a wider range of packet delays (audio, video broadcasts) • Guarantee of maximum delay is useful Sampled Audio Playout Point Playout Buffer must be small for interactive applications
Quality of Service Requirements (2) • Elastic applications • Interactive data transfer (e.g. HTTP, FTP) • Sensitive to the average delay, not to the distribution tail • Bulk data transfer (e.g. mail and news delivery) • Delay insensitive • Best effort works well Document is only useful when it is completely received. This means average packet delay is important, not maximum packet delay. Document Document
Discussion • What is the problem? • Different applications have different delay, bandwidth, and jitter needs • Some applications are very sensitive to changing network conditions: the packet arrival time distribution is important • Solutions • Make applications adaptive • Build more flexibility into network
RSVP and TCP • RSVP provides a bandwidth reservation • TCP is not a constant bitrate service • Slow start gives exponential growth until loss • Periodic probes for higher bandwidth • TCP behavior leads to best effort delivery Packet Drop Best Effort Delivery Bandwidth Reserved with RSVP Bandwidth Multiplicative Decrease Linear Increase Slow Start Time
RSVP Overview • What is RSVP? • Method for application to specify desired QoS to net • Switch state establishment protocol (signaling) • Multicast friendly, receiver-oriented • Simplex reservations (single direction) • Why run RSVP? • Allows precise allocation of network resources • Guarantees on quality of service • Heterogeneous bandwidth support for multicast
RSVP Design Criteria • Heterogeneous receivers (multicast) • Varying bandwidth needs • Merging of resource reservations • Dynamic membership • Minimize control protocol overhead • Soft state in routers • Reservations timeout if not refreshed periodically • Adapt to routing changes gracefully: reestablish reservations
RSVP and Integrated services • The best-effort service provided by the original Internet design allows congestion-caused end-to end delays to grow indefinitely. • To better support real-time applications, e.g., packet voice, packet video, and distributed simulation, an extension to the Internet architecture has been developed. • This extension is known as integrated services, and a network that supports it is called an integrated services packet network (ISPN). • With integrated services, an end system can request a particular quality of service (QoS), e.g., bounded end-to-end queueing delay, for a particular data flow. Providing the QoS generally requires reservation of network resources in routers hosts along the path(s) of the flow as well as in the end hosts. • In order to provide a requested QoS, the nodes of an ISPN must perform reservation setup, admission control, policy control, packet scheduling, and packet classification functions. • Figure 1 illustrates these functions in an ISPN router.
Functioning of RSVP • Each node capable of resource reservation has several local procedures for reservation setup and enforcement (see Figure 1). • Policy control determines whether the user has administrative permission to make the reservation. • In the future, authentication, access control and accounting for reservation will also be implemented by policy control. • Admission control keeps track of the system resources and determines whether the node has sufficient resources to supply the requested QoS. • The RSVP daemon checks with both procedures. If either check fails, the RSVP program returns an error notification to the application that originated the request. • If both checks succeed, the RSVP daemon sets parameters in the packet classifier and packet scheduler to obtain the requested QoS. • The packet classifier determines the QoS class for each packet and the packet scheduler orders packet transmission to achieve the promised QoS for each stream.
RSVPD Routing Process Application Policy Control Policy Control Admissions Control Admissions Control Packet Classifier Packet Scheduler Packet Classifier Packet Scheduler RSVP Functional Diagram Host Router RSVPD D A T A DATA DATA
What is a flow? • Equivalent packets by some classification • RSVP: Set of packets traversing a network element that are all covered by the same QoS request • Packet classifier determines which packets belong to which flows • IPv6 includes a flow label to ease classification
Describing and Identifying a Flow • Flowspec defines traffic parameters • Traffic parameters: bandwidth, buffering requirements • Filterspec identifies packets in flow • Simplest filter: Source, Dest address/port pair • Data filter: classifies packets according to contents
Restrictions on Reservations • Admissions • Is bandwidth available? • Policy • Permissions • Pricing issues
Resource Reservation Model • Senders advertise using flowspecs • RSVP daemons forward advertisements to receivers, update available bandwidth, minimum delay • Receivers reservations use flowspec, filterspec combination (flow descriptor) • Sender/receiver notified of changes • Reservations are merged in multicast case
. • . Reservation Setup • A reservation setup protocol is used to pass the QoS request originating in an end-system • to each router along the data path, or in the case of multicasting, to each router along the branches of the delivery tree. • An RSVP reservation request is basically composed of a flowspec and a filter spec. • The flowspec defines the desired QoS, and the filter spec defines the subset of the data stream, i.e, the flow, that is to receive this QoS.
. Types of RSVP messages • RSVP messages are: • Sent as data grams directly over IP • Periodically resent: • to refresh reservation state • to substitute lost messages • Message types: • PATH • Sender characterizes outgoing traffic in terms of upper and lower bounds of bandwidth, delay and jitter. The PATH message contains this traffic specification (TSpec) information to the unicast or multicast address • Each RSVP enabled router along the downstream route establishes a “path-state” that includes the previous source address of the PATH message (i.e., the next hop “upstream” towards the sender • RESV • To make a resource reservation, receiver sends a RESV (reservation request) message “upstream”. In addition to the TSpec, the RESV message includes a request specification (RSpe RSpec + filter spec = flow-descriptor which the routers use to identify each reservation • Error messages (PathErr, ResvErr) • Teardown messages (PathTear, ResvTear)
2 PATH PATH 1 3 PATH PATH 1. An application on Host A creates a session, 128.32.32.69/4078, by communicating with the RSVP daemon on Host A. 3. The PATH message follows the next hop path through R5 and R4 until it gets to Host B. Each router on the path creates soft session state with the reservation parameters. 2. The Host A RSVP daemon generates a PATH message that is sent to the next hop RSVP router, R1, in the direction of the session address, 128.32.32.69. RSVP UDP Reservation (1) R2 R3 R4 R1 Host B 128.32.32.69 Host A 24.1.70.210 R5
4 RESV 5 RESV RESV 6 RESV 4. An application on Host B communicates with the local RSVP daemon and asks for a reservation in session 128.32.32.69/4078. The daemon checks for and finds existing session state. 6. The RESV message continues to follow the next hop path through R5 and R1 until it gets to Host A. Each router on the path makes a resource reservation. 5. The Host B RSVP daemon generates a RESV message that is sent to the next hop RSVP router, R4, in the direction of the source address, 24.1.70.210. RSVP UDP Reservation (2) R2 R3 R4 PATH R1 PATH Host B 128.32.32.69 PATH PATH Host A 24.1.70.210 R5
4 RESV 5 RESV RESV 6 RESV 4. An application on Host B communicates with the local RSVP daemon and asks for a reservation in session 128.32.32.69/4078. The daemon checks for and finds existing session state. 6. The RESV message continues to follow the next hop path through R5 and R1 until it gets to Host A. Each router on the path makes a resource reservation. 5. The Host B RSVP daemon generates a RESV message that is sent to the next hop RSVP router, R4, in the direction of the source address, 24.1.70.210. RSVP UDP Reservation (2) R2 R3 R4 PATH R1 PATH Host B 128.32.32.69 PATH PATH Host A 24.1.70.210 R5
(7) 100 Kbs Reservation Merging (3) 50Kbs R1 Reservations merge as they travel up tree. (6) 100 Kbs R3 (2) 50Kbs (5) 100 Kbs (9) 60Kbs R4 R6 R7 (1) 50Kbs (8) 60Kbs (4) 100 Kbs Receiver #1 Receiver #2 Receiver #3
Resource Reservation • Senders advertise using PATH message • Receivers reserve using RESV message • Flowspec + filterspec + policy data • Travels upstream in reverse direction of Path message • Merging of reservations • Sender/receiver notified of changes
2 PATH PATH 1 3 PATH PATH 1. An application on Host A creates a session, 128.32.32.69/4078, by communicating with the RSVP daemon on Host A. 3. The PATH message follows the next hop path through R5 and R4 until it gets to Host B. Each router on the path creates soft session state with the reservation parameters. 2. The Host A RSVP daemon generates a PATH message that is sent to the next hop RSVP router, R1, in the direction of the session address, 128.32.32.69. RSVP UDP Reservation (1) R2 R3 R4 R1 Host B 128.32.32.69 Host A 24.1.70.210 R5
4 RESV 5 RESV RESV 6 RESV 4. An application on Host B communicates with the local RSVP daemon and asks for a reservation in session 128.32.32.69/4078. The daemon checks for and finds existing session state. 6. The RESV message continues to follow the next hop path through R5 and R1 until it gets to Host A. Each router on the path makes a resource reservation. 5. The Host B RSVP daemon generates a RESV message that is sent to the next hop RSVP router, R4, in the direction of the source address, 24.1.70.210. RSVP UDP Reservation (2) R2 R3 R4 PATH R1 PATH Host B 128.32.32.69 PATH PATH Host A 24.1.70.210 R5
PATH PATH PATH PATH PATH PATH PATH PATH PATH RSVP Multicast Reservation (1) Sender R1 R2 R3 R4 R5 R6 R7 Receiver
RSVP Multicast Reservation (2) Sender R1 R2 R3 R4 R5 R6 R7 Receiver
RSVP and TCP • RSVP provides a bandwidth reservation • TCP is not a constant bitrate service • Slow start gives exponential growth until loss • Periodic probes for higher bandwidth • TCP behavior leads to best effort delivery Packet Drop Best Effort Delivery Bandwidth Reserved with RSVP Bandwidth Multiplicative Decrease Linear Increase Slow Start Time
Current RSVP Implementations • Cisco router has RSVP support • RSVP daemon available from USC ISI • Runs on Solaris, BSD Net 2 derivatives • Limitations • Filtering is currently based on host id/port numbers
Our Test Setup • Testbed • FreeBSD 2.2.1 with ISI’s RSVP daemon • mgen for generating, reserving traffic • Test: many small bandwidth reservations
Laptop RSVP Router Workstation RSVP Router Workstation Workstation Workstation Laptop RSVP Router Workstation 100 Mbs Ethernet Hub 100 Mbs Ethernet Hub Workstation Workstation Traffic Generator Workstation Our Testbed Network WBMRC BMRC Network 2 Mbs Capacity 10 Mbs Link 100 Mbs Link UCB MBONE 10 Mbs Link 100 Mbs Link
Our Test Results • RSVP daemon failed near 5 reservations • Incorrectly implemented daemon on non-leaf routers • Kernel crashes and control data corruption • Debugging tools also failed • Solaris implementation worked better • Unable to complete our tests • Conclusion: tools, daemon still immature
Stony Brook Performance Test • Tzi-cker Chiueh and Anindya Neogi (New York State Univ at Stony Brook) • Testbed • Cisco router using WFQ for real-time connections • Precept software for flow generation and reservations • Measured performance using a varying numbers of real-time sessions
Stony Brook Performance Results • Control traffic overhead was minimal • Control messages should be sent at high priority • Real-time packet classification and scheduling has significant overhead • Packet losses show up at 400 sessions • Too much work for WFQ classifier, scheduler • FIFO scheduler on non-real-time traffic worked • Effective link bandwidth lowered
Other Reservation Technologies • The telephone network • Single, basic service (64Kbs) • Guaranteed, low delay resources • Circuit based system • ATM
Will RSVP Succeed? • Telcos and long-haul ISPs want constant bit-rate allocations • RSVP will not control backbone allocations • Need simpler mechanism such as differentiated service • Microsoft, networking vendors see demand for QoS over IP • RSVP is only alternative today • RSVP might find a home in corporate networks • Current implementations immature • Internet 2 testbed will experiment with deployment