Attached is an NGI whitepaper on Quality of Service for the Next Generation Internet. The cover page information requested is: Van Jacobson Group leader, Network Research Group Information and Computing Sciences Lawrence Berkeley National Laboratory Mail stop 50B-5239 Lawrence Berkeley National Laboratory 1 Cyclotron Rd. Berkeley, CA 94720 van@ee.lbl.gov (510) 486-7519 ----------------------------------------------------- Quality of Service for the Next Generation Internet Van Jacobson Network Research Group Information and Computing Sciences Lawrence Berkeley National Laboratory van@ee.lbl.gov There is wide-spread agreement that the Internet needs some sort of "Quality of Service" (QOS) capability. Congestion associated with the phenomenal growth of the Internet and World Wide Web has made the Internet essentially useless for "production" or mission-critical work. QOS offers the potential of ensuring bandwidth availability for critical needs while still offering the current, best-effort service for non-critical traffic. In the longer term, economic theory suggests that some sort of service differentiation (and associated price differences) is necessary to make the Internet a viable, self-sustaining, commercial enterprise. For long term sustainability, a competitive entity needs money both to support its operating costs and to fund its expansion. A collection of such entities need the spectrum of services to create "market niches" that help prevent the largest entity from using its size to create a monopoly. QOS could provide the different services and prices needed to meet these needs. It is our belief that providing QOS, a QOS that "fits" the Internet, is the single most important, and most difficult, challenge to its long-term survival. However, while there is agreement on the need for QOS, there is none on how QOS should be added to the Internet/IP communication model. Most QOS proponents have proposed some variation of the "phone call" -- a "setup" transaction conveys the QOS parameters to "the network", then a conversation ensues using those parameters, then a "hangup" transaction deletes the state (and presumably results in an appropriate bill). Attempts to overlay this model on the Internet have generally been dismal failures: Calls come in only one size (64kb/s) while data traffic can be anything from a few bits/sec to many gigabits/sec. The problem of scheduling fixed size units to fit into some given trunk capacities is trivial but scheduling wildly variable units is mathematically one of the hardest problems known (the NP-hard "bin packing" problem). Also, the setup transaction requires a round trip from the source to the destination and back but call lifetimes tend to be much longer than this (several seconds vs. ~100ms round-trips) so the cost of the setup is negligible. But typical data "conversations" are only a few kilobytes (<1ms on today's T3 networks) so the cost of setup is many times the size of the transaction. The call model also requires that every element in the path between the source and destination have some "state" describing the call and its associated resources. The amount of state in the backbone of the net tends to increase as the square of the total number of nodes attached to the net. But one factor that has allowed the Internet to grow to its current size is that it requires relatively little state in the net to forward traffic -- at worst a linear function of the number of nodes and, because of the aggregation associated with the net/host structure of addresses, generally much less. Finally, and most seriously, the call model implicitly assumes that "the network" is a single administrative entity, in charge of almost all bandwidth resources. But the single biggest factor driving the growth of the Internet is that it accommodates, even encourages, administrative diversity (for example in 1995 the *average* off-site Internet conversation crossed 14 different administrative boundaries). The decision to give better service to some particular piece of traffic is an *administrative* decision and must follow the administrative hierarchy (the call model generally follows the network topology which almost never resembles the administrative hierarchy). The decision must also be local (i.e., a router on the other side of the world will not and does not want to know about the structure of your department and its internal priorities) but have a global effect (if your department decides your traffic should be treated specially and is willing to pay to make that happen, the router on the other side of the world should be able to honor that decision provided there is some, possibly indirect, way to pay it for doing so). "Calls" do not lead to a viable QOS for the Internet; they simply evolve it backwards into a telephone system, sacrificing all the architectural elements that have made it the world's largest and most successful data network. But we believe that it is possible to create a viable QOS architecture for the Internet, based not on "calls" but on a small extrapolation of IP that retains all its tolerance of traffic & administrative diversity and preserves the statelessness and aggregation that have allowed the Internet to grow and scale. The low-level elements of this architecture are already tested and in the process of becoming widely deployed (e.g., the Class-based Queuing (CBQ) link bandwidth management is available in standard cisco routers). Some of the higher-level administrative control elements are currently being prototyped on a national backbone (ESNet) as part of the DOE-2000 initiative. We hope that the outcome of these prototype tests will be a fairly complete model, and associated pieces of the implementation, that could be rapidly and widely deployed.