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.

