Notes on the relationship between CBQ and RSVP. Sally Floyd, October 1, 1997. >Are CBQ and RSVP complimentary? Or are they mutually exclusive? CBQ and RSVP are orthogonal. CBQ is concerned with how a router handles arriving packets. CBQ does not require RSVP (or any other reservation protocol, for that matter). One way that CBQ could be used without any reservation protocol would be for a router to make separate allocations of link bandwidth to different classes of traffic as defined at the router. For example, different classes could be constructed for TCP and UDP traffic, or for traffic from different institutions or different ISPs, or for unicast and multicast traffic. Or all of these distinctions could be made in a hierarchical link-sharing structure, at the discretion of the network administrator. With CBQ, each class gets at least its allocated bandwidth, given sufficient demand, and gets to use more than its allocated bandwidth if extra bandwidth is available and the class is allowed by the network administrator to "borrow". One of the strengths of CBQ is in being able to allocate link bandwidth to classes while independently assigning priorities to those classes. Thus, a router could have a high-priority real-time and a lower-priority non-real-time class, each with a different bandwidth allocation, and the packets from the real-time class would receive priority scheduling as long as sufficient bandwidth was available, or in times of congestion, as long as the arrival rate for that class did not exceed its allocated bandwidth. In the absence of reservation protocols such as RSVP, network administrators could use information in the IP and TCP packet headers (e.g., IP source and destination addresses, protocol fields, TOS bits) or information about arriving interfaces at the router to decide which packets to classify to the higher-priority classes. In cooperation with reservation protocols, "flows" could dynamically request reservations for higher-priority service. In particular, CBQ works perfectly well with RSVP. For example, the CBQ web page (http://ftp.ee.lbl.gov/floyd/cbq.html) has a pointer to code from SUN that is specifically designed to use RSVP with CBQ. One possibility would be to have a single high-priority class for Controlled Load traffic, for flows to use RSVP as the reservation protocol, and for the router to use admissions control algorithms, statistical multiplexing of Controlled Load traffic in a single class, and FIFO queueing within the Controlled Load class. Such a scenario is discussed in a paper on "Comments on Measurement-based Admissions Control for Controlled-Load Services" available at URL ftp://ftp.ee.lbl.gov/papers/admit.ps.Z. At the other end of the spectrum (and with more scaling problems at very large scales) CBQ could be used with RSVP for Quaranteed Service, with a new CBQ class created at the router for each flow that is granted guaranteed service. Such a scenario is discussed in a old note on "Notes on CBQ and Guaranteed Service" available from the CBQ web page at http://ftp.ee.lbl.gov/floyd/cbq.html. >What are RSVP's greatest shortcomings? In terms of potential deployment in the global Internet, RSVP's greatest shortcomings have to do with questions of scale and of pricing structures. The questions of scale have to do with the state that would be required in the network for RSVP on links with very high levels of statistical multiplexing. The question of pricing structures, which is perhaps more fundamental, comes from the fact that a flow is not likely to receive "special" treatment from all of the routers along a path in the global Internet unless those routers have some incentive, such as differential pricing, to grant that special treatment. Similarly, "special" treatment for some traffic is not likely to work unless users have some incentive, again such as differential pricing, not to ask for special treatment for all of their traffic. It is hard to envision the viable, practical, low-overhead pricing structure that would enable the deployment of RSVP in the global Internet. ---------------------------------------------------------------- More information on CBQ is available from the CBQ web page at http://ftp.ee.lbl.gov/floyd/cbq.html.