diff options
Diffstat (limited to 'doc/rfc/rfc2638.txt')
| -rw-r--r-- | doc/rfc/rfc2638.txt | 1459 | 
1 files changed, 1459 insertions, 0 deletions
diff --git a/doc/rfc/rfc2638.txt b/doc/rfc/rfc2638.txt new file mode 100644 index 0000000..764aa49 --- /dev/null +++ b/doc/rfc/rfc2638.txt @@ -0,0 +1,1459 @@ + + + + + + +Network Working Group                                          K. Nichols +Request for Comments: 2638                                    V. Jacobson +Category: Informational                                             Cisco +                                                                 L. Zhang +                                                                     UCLA +                                                                July 1999 + + +    A Two-bit Differentiated Services Architecture for the Internet + +Status of this Memo + +   This memo provides information for the Internet community.  It does +   not specify an Internet standard of any kind.  Distribution of this +   memo is unlimited. + +Copyright Notice + +   Copyright (C) The Internet Society (1999).  All Rights Reserved. + +Abstract + +   This document was originally submitted as an internet draft in +   November of 1997. As one of the documents predating the formation of +   the IETF's Differentiated Services Working Group, many of the ideas +   presented here, in concert with Dave Clark's subsequent presentation +   to the December 1997 meeting of the IETF Integrated Services Working +   Group, were key to the work which led to RFCs 2474 and 2475 and the +   section on allocation remains a timely proposal. For this reason, and +   to provide a reference, it is being submitted in its original form. +   The forwarding path portion of this document is intended as a record +   of where we were at in late 1997 and not as an indication of future +   direction. + +   The postscript version of this document includes Clark's slides as an +   appendix. The postscript version of this document also includes many +   figures that aid greatly in its readability. + +1. Introduction + +   This document presents a differentiated services architecture for the +   internet. Dave Clark and Van Jacobson each presented work on +   differentiated services at the Munich IETF meeting [2,3]. Each +   explained how to use one bit of the IP header to deliver a new kind +   of service to packets in the internet. These were two very different +   kinds of service with quite different policy assumptions. Ensuing +   discussion has convinced us that both service types have merit and +   that both service types can be implemented with a set of very similar + + + +Nichols, et al.              Informational                      [Page 1] + +RFC 2638      Two-bit Differentiated Services Architecture     July 1999 + + +   mechanisms. We propose an architectural framework that permits the +   use of both of these service types and exploits their similarities in +   forwarding path mechanisms. The major goals of this architecture are +   each shared with one or both of those two proposals: keep the +   forwarding path simple, push complexity to the edges of the network +   to the extent possible, provide a service that avoids assumptions +   about the type of traffic using it, employ an allocation policy that +   will be compatible with both long-term and short-term provisioning, +   make it possible for the dominant Internet traffic model to remain +   best-effort. + +   The major contributions of this document are to present two distinct +   service types, a set of general mechanisms for the forwarding path +   that can be used to implement a range of differentiated services and +   to propose a flexible framework for provisioning a differentiated +   services network. It is precisely this kind of architecture that is +   needed for expedient deployment of differentiated services: we need a +   framework and set of primitives that can be implemented in the +   short-term and provide interoperable services, yet can provide a +   "sandbox" for experimentation and elaboration that can lead in time +   to more levels of differentiation within each service as needed. + +   At the risk of belaboring an analogy, we are motivated to provide +   services tiers in somewhat the same fashion as the airlines do with +   first class, business class and coach class. The latter also has +   tiering built in due to the various restrictions put on the purchase. +   A part of the analogy we want to stress is that best effort traffic, +   like coach class seats on an airplane, is still expected to make up +   the bulk of internet traffic. Business and first class carry a small +   number of passengers, but are quite important to the economics of the +   airline industry. The various economic forces and realities combine +   to dictate the relative allocation of the seats and to try to fill +   the airplane. We don't expect that differentiated services will +   comprise all the traffic on the internet, but we do expect that new +   services will lead to a healthy economic and service environment. + +   This document is organized into sections describing service +   architecture, mechanisms, the bandwidth allocation architecture, how +   this architecture might interoperate with RSVP/int-serv work, and +   gives recommendations for deployment. + + + + + + + + + + + +Nichols, et al.              Informational                      [Page 2] + +RFC 2638      Two-bit Differentiated Services Architecture     July 1999 + + +2. Architecture + +2.1 Background + +   The current internet delivers one type of service, best-effort, to +   all traffic. A number of proposals have been made concerning the +   addition of enhanced services to the Internet. We focus on two +   particular methods of adding a differentiated level of service to IP, +   each designated by one bit [1,2,3]. These services represent a +   radical departure from the Internet's traditional service, but they +   are also a radical departure from traditional "quality of service" +   architectures which rely on circuit-based models. Both these +   proposals seek to define a single common mechanism that is used by +   interior network routers, pushing most of the complexity and state of +   differentiated services to the network edges. Both use bandwidth as +   the resource that is being requested and allocated. Clark and +   Wroclawski defined an "Assured" service that follows "expected +   capacity" usage profiles that are statistically provisioned [3]. The +   assurance that the user of such a service receives is that such +   traffic is unlikely to be dropped as long as it stays within the +   expected capacity profile. The exact meaning of "unlikely" depends on +   how well provisioned the service is. An Assured service traffic flow +   may exceed its Profile, but the excess traffic is not given the same +   assurance level. Jacobson defined a "Premium" service that is +   provisioned according to peak capacity Profiles that are strictly not +   oversubscribed and that is given its own high-priority queue in +   routers [2]. A Premium service traffic flow is shaped and hard- +   limited to its provisioned peak rate and shaped so that bursts are +   not injected into the network. Premium service presents a "virtual +   wire" where a flow's bursts may queue at the shaper at the edge of +   the network, but thereafter only in proportion to the indegree of +   each router. Despite their many similarities, these two approaches +   result in fundamentally different services. The former uses buffer +   management to provide a "better effort" service while the latter +   creates a service with little jitter and queueing delay and no need +   for queue management on the Premium packets's queue. + +   An Assured service was introduced in [3] by Clark and Wroclawski, +   though we have made some alterations in its specification for our +   architecture. Further refinements and an "Expected Capacity" +   framework are given in Clark and Fang [10].  This framework is +   focused on "providing different levels of best-effort service at +   times of network congestion" but also mentions that it is possible to +   have a separate router queue to implement a "guaranteed" level of +   assurance.  We believe this framework and our Two-bit architecture +   are compatible but this needs further exploration.  As Premium +   service has not been documented elsewhere, we describe it next and +   follow this with a description of the two-bit architecture. + + + +Nichols, et al.              Informational                      [Page 3] + +RFC 2638      Two-bit Differentiated Services Architecture     July 1999 + + +2.2 Premium service + +   In [2], a Premium service was presented that is fundamentally +   different from the Internet's current best effort service. This +   service is not meant to replace best effort but primarily to meet an +   emerging demand for a commercial service that can share the network +   with best effort traffic. This is desirable economically, since the +   same network can be used for both kinds of traffic. It is expected +   that Premium traffic would be allocated a small percentage of the +   total network capacity, but that it would be priced much higher. One +   use of such a service might be to create "virtual leased lines", +   saving the cost of building and maintaining a separate network. +   Premium service, not unlike a standard telephone line, is a capacity +   which the customer expects to be there when the receiver is lifted, +   although it may, depending on the household, be idle a good deal of +   the time.  Provisioning Premium traffic in this way reduces the +   capacity of the best effort internet by the amount of Premium +   allocated, in the worst case, thus it would have to be priced +   accordingly. On the other hand, whenever that capacity is not being +   used it is available to best effort traffic. In contrast to normal +   best effort traffic which is bursty and requires queue management to +   deal fairly with congestive episodes, this Premium service by design +   creates very regular traffic patterns and small or nonexistent +   queues. + +   Premium service levels are specified as a desired peak bit-rate for a +   specific flow (or aggregation of flows). The user contract with the +   network is not to exceed the peak rate. The network contract is that +   the contracted bandwidth will be available when traffic is sent. +   First-hop routers (or other edge devices) filter the packets entering +   the network, set the Premium bit of those that match a Premium +   service specification, and perform traffic shaping on the flow that +   smooths all traffic bursts before they enter the network. This +   approach requires no changes in hosts. A compliant router along the +   path needs two levels of priority queueing, sending all packets with +   the Premium bit set first. Best-effort traffic is unmarked and queued +   and sent at the lower priority. This results in two "virtual +   networks": one which is identical to today's Internet with buffers +   designed to absorb traffic bursts; and one where traffic is limited +   and shaped to a contracted peak-rate, but packets move through a +   network of queues where they experience almost no queueing delay. + +   In this architecture, forwarding path decisions are made separately +   and more simply than the setting up of the service agreements and +   traffic profiles. With the exception of policing and shaping at +   administrative or "trust" boundaries, the only actions that need to +   be handled in the forwarding path are to classify a packet into one +   of two queues on a single bit and to service the two queues using + + + +Nichols, et al.              Informational                      [Page 4] + +RFC 2638      Two-bit Differentiated Services Architecture     July 1999 + + +   simple priority. Shaping must include both rate and burst parameters; +   the latter is expected to be small, in the one or two packet range. +   Policing at boundaries enforces rate compliance, and may be +   implemented by a simple token bucket. The admission and set-up +   procedures are expected to evolve, in time, to be dynamically +   configurable and fairly complex while the mechanisms in the +   forwarding path remain simple. + +   A Premium service built on this architecture can be deployed in a +   useful way once the forwarding path mechanisms are in place by making +   static allocations. Traffic flows can be designated for special +   treatment through network management configuration. Traffic flows +   should be designated by the source, the destination, or any +   combination of fields in the packet header. First-hop (of leaf) +   routers will filter flows on all or part of the header tuple +   consisting of the source IP address, destination IP address, protocol +   identifier, source port number, and destination port number. Based on +   this classification, a first-hop router performs traffic shaping and +   sets the designated Premium bit of the precedence field. End-hosts +   are thus not required to be "differentiated services aware", though +   if and when end-systems become universally "aware", they might do +   their own shaping and first-hop routers merely police. + +   Adherence to the subscribed rate and burst size must be enforced at +   the entry to the network, either by the end-system or by the first- +   hop router. Within an intranet, administrative domain, or "trust +   region" the packets can then be classified and serviced solely on the +   Premium bit. Where packets cross a boundary, the policing function is +   critical. The entered region will check the prioritized packet flow +   for conformance to a rate the two regions have agreed upon, +   discarding packets that exceed the rate. It is thus in the best +   interests of a region to ensure conformance to the agreed-upon rate +   at the egress. This requirement means that Premium traffic is burst- +   free and, together with the no oversubscription rule, leads directly +   to the observation that Premium queues can easily be sized to prevent +   the need to drop packets and thus the need for a queue management +   policy. At each router, the largest queue size is related to the in- +   degree of other routers and is thus quite small, on the order of ten +   packets. + +   Premium bandwidth allocations must not be oversubscribed as they +   represent a commitment by the network and should be priced +   accordingly. Note that, in this architecture, Premium traffic will +   also experience considerably less delay variation than either best +   effort traffic or the Assured data traffic of [3]. Premium rates +   might be configured on a subscription basis in the near-term, or on- +   demand when dynamic set-up or signaling is available. + + + + +Nichols, et al.              Informational                      [Page 5] + +RFC 2638      Two-bit Differentiated Services Architecture     July 1999 + + +   Figure 1 shows how a Premium packet flow is established within a +   particular administrative domain, Company A, and sent across the +   access link to Company A's ISP. Assume that the host's first-hop +   router has been configured to match a flow from the host's IP address +   to a destination IP address that is reached through ISP. A Premium +   flow is configured from a host with a rate which is both smaller than +   the total Premium allocation Company A has from the ISP, r bytes per +   second, and smaller than the amount of that allocation has been +   assigned to other hosts in Company A. Packets are not marked in any +   special way when they leave the host. The first-hop router clears the +   Premium bit on all arriving packets, sets the Premium bit on all +   packets in the designated flow, shapes packets in the Premium flow to +   a configured rate and burst size, queues best-effort unmarked packets +   in the low priority queue and shaped Premium packets in the high +   priority queue, and sends packets from those two queues at simple +   priority. Intermediate routers internal to Company A enqueue packets +   in one of two output queues based on the Premium bit and service the +   queues with simple priority. Border routers perform quite different +   tasks, depending on whether they are processing an egress flow or an +   ingress flow. An egress border router may perform some reshaping on +   the aggregate Premium traffic to conform to rate r, depending on the +   number of Premium flows aggregated. Ingress border routers only need +   to perform a simple policing function that can be implemented with a +   token bucket. In the example, the ISP accepts all Premium packets +   from A as long as the flow does not exceed r bytes per second. + +   Figure 1. Premium traffic flow from end-host to organization's ISP + +2.3 Two-bit differentiated services architecture + +   Clark's and Jacobson's proposals are markedly similar in the location +   and type of functional blocks that are needed to implement them. +   Furthermore, they implement quite different services which are not +   incompatible in a network. The Premium service implements a +   guaranteed peak bandwidth service with negligible queueing delay that +   cannot starve best effort traffic and can be allocated in a fairly +   straightforward fashion. This service would seem to have a strong +   appeal for commercial applications, video broadcasts, voice-over-IP, +   and VPNs. On the other hand, this service may prove both too +   restrictive (in its hard limits) and overdesigned (no overallocation) +   for some applications. The Assured service implements a service that +   has the same delay characteristics as (undropped) best effort packets +   and the firmness of its guarantee depends on how well individual +   links are provisioned for bursts of Assured packets. On the other +   hand, it permits traffic flows to use any additional available +   capacity without penalty and occasional dropped packets for short +   congestive periods may be acceptable to many users. This service +   might be what an ISP would provide to individual customers who are + + + +Nichols, et al.              Informational                      [Page 6] + +RFC 2638      Two-bit Differentiated Services Architecture     July 1999 + + +   willing to pay a bit more for internet service that seems unaffected +   by congestive periods. Both services are only as good as their +   admission control schemes, though this can be more difficult for +   traffic which is not peak-rate allocated. + +   There may be some additional benefits of deploying both services. To +   the extent that Premium service is a conservative allocation of +   resources, unused bandwidth that had been allocated to Premium might +   provide some "headroom" for underallocated or burst periods of +   Assured traffic or for best effort. Network elements that deploy both +   services will be performing RED queue management on all non-Premium +   traffic, as suggested in [4], and the effects of mixing the Premium +   streams with best effort might serve to reduce burstiness in the +   latter. A strength of the Assured service is that it allows bursts to +   happen in their natural fashion, but this also makes the +   provisioning, admission control and allocation problem more difficult +   so it may take more time and experimentation before this admission +   policy for this service is completely defined. A Premium service +   could be deployed that employs static allocations on peak rates with +   no statistical sharing. + +   As there appear to be a number of advantages to an architecture that +   permits these two types of service and because, as we shall see, they +   can be made to share many of the same mechanisms, we propose +   designating two bit-patterns from the IP header precedence field. We +   leave the explicit designation of these bit-patterns to the standards +   process thus we use the shorthand notation of denoting each pattern +   by a bit, one we will call the Premium or P-bit, the other we call +   the assurance or A-bit. It is possible for a network to implement +   only one of these services and to have network elements that only +   look at the one applicable bit, but we focus on the two service +   architecture. Further, we assume the case where no changes are made +   in the hosts, appropriate packet marking all being done in the +   network, at the first-hop, or leaf, router. We describe the +   forwarding path architecture in this section, assuming that the +   service has been allocated through mechanisms we will discuss in +   section 4. + +   In a more general sense, Premium service denotes packets that are +   enqueued at a higher priority than the ordinary best-effort queue. +   Similarly, Assured service denotes packets that are treated +   preferentially with respect to the dropping probability within the +   "normal" queue. There are a number of ways to add more service levels +   within each of these service types [7], but this document takes the +   position of specifying the base-level services of Premium and +   Assured. + + + + + +Nichols, et al.              Informational                      [Page 7] + +RFC 2638      Two-bit Differentiated Services Architecture     July 1999 + + +   The forwarding path mechanisms can be broken down into those that +   happen at the input interface, before packet forwarding, and those +   that happen at the output interface, after packet forwarding. +   Intermediate routers only need to implement the post packet +   forwarding functions, while leaf and border routers must perform +   functions on arriving packets before forwarding. We describe the +   mechanisms this way for illustration; other ways of composing their +   functions are possible. + +   Leaf routers are configured with a traffic profile for a particular +   flow based on its packet header. This functionality has been defined +   by the RSVP Working Group in RFC 2205. Figure 2 shows what happens to +   a packet that arrives at the leaf router, before it is passed to the +   forwarding engine. All arriving packets must have both the A-bit and +   the P-bit cleared after which packets are classified on their header. +   If the header does not match any configured values, it is immediately +   forwarded. Matched flows pass through individual Markers that have +   been configured from the usage profile for that flow: service class +   (Premium or Assured), rate (peak for Premium, "expected" for +   Assured), and permissible burst size (may be optional for Premium). +   Assured flow packets emerge from the Marker with their A-bits set +   when the flow is in conformance to its Profile, but the flow is +   otherwise unchanged. For a Premium flow, the Marker will hold packets +   when necessary to enforce their configured rate. Thus Premium flow +   packets emerge from the Marker in a shaped flow with their P-bits +   set. (It is possible for Premium flow packets to be dropped inside of +   the Marker as we describe below.) Packets are passed to the +   forwarding engine when they emerge from Markers. Packets that have +   either their P or A bits set we will refer to as Marked packets. + +   Figure 2. Block diagram of leaf router input functionality + +   Figure 3 shows the inner workings of the Marker. For both Assured and +   Premium packets, a token bucket "fills" at the flow rate that was +   specified in the usage profile. For Assured service, the token bucket +   depth is set by the Profile's burst size. For Premium service, the +   token bucket depth must be limited to the equivalent of only one or +   two packets. (We suggest a depth of one packet in early deployments.) +   When a token is present, Assured flow packets have their A-bit set to +   one, otherwise the packet is passed to the forwarding engine. For +   Premium-configured Marker, arriving packets that see a token present +   have their P-bits set and are forwarded, but when no token is +   present, Premium flow packets are held until a token arrives. If a +   Premium flow bursts enough to overflow the holding queue, its packets +   will be dropped. Though the flow set up data can be used to configure +   a size limit for the holding queue (this would be the meaning of a +   "burst" in Premium service), it is not necessary. Unconfigured +   holding queues should be capable of holding at least two bandwidth- + + + +Nichols, et al.              Informational                      [Page 8] + +RFC 2638      Two-bit Differentiated Services Architecture     July 1999 + + +   delay products, adequate for TCP connections. A smaller value might +   be used to suit delay requirements of a specific application. + +   Figure 3. Markers to implement the two different services + +   In practice, the token bucket should be implemented in bytes and a +   token is considered to be present if the number of bytes in the +   bucket is equal or larger to the size of the packet. For Premium, the +   bucket can only be allowed to fill to the maximum packet size; while +   Assured may fill to the configured burst parameter. Premium traffic +   is held until a sufficient byte credit has accumulated and this +   holding buffer provides the only real queue the flow sees in the +   network. For Assured, traffic, we just test if the bytes in the +   bucket are sufficient for the packet size and set A if so. If not, +   the only difference is that A is not set. Assured traffic goes into a +   queue following this step and potentially sees a queue at every hop +   along its path. + +   Each output interface of a router must have two queues and must +   implement a test on the P-bit to select a packet's output queue. The +   two queues must be serviced by simple priority, Premium packets +   first. Each output interface must implement the RED-based RIO +   mechanism described in [3] on the lower priority queue. RIO uses two +   thresholds for when to begin dropping packets, a lower one based on +   total queue occupancy for ordinary best effort traffic and one based +   on the number of packets enqueued that have their A-bit set. This +   means that any action preferential to Assured service traffic will +   only be taken when the queue's capacity exceeds the threshold value +   for ordinary best effort service. In this case, only unmarked packets +   will be dropped (using the RED algorithm) unless the threshold value +   for Assured service is also reached. Keeping an accurate count of the +   number of A-bit packets currently in a queue requires either testing +   the A-bit at both entry and exit of the queue or some additional +   state in the router. Figure 4 is a block diagram of the output +   interface for all routers. + +   Figure 4. Router output interface for two-bit architecture + +   The packet output of a leaf router is thus a shaped stream of packets +   with P-bits set mingled with an unshaped best effort stream of +   packets, some of which may have A-bits set. Premium service clearly +   cannot starve best effort traffic because it is both burst and +   bandwidth controlled. Assured service might rely only on a +   conservative allocation to prevent starvation of unmarked traffic, +   but bursts of Assured traffic might then close out best-effort +   traffic at bottleneck queues during congestive periods. + + + + + +Nichols, et al.              Informational                      [Page 9] + +RFC 2638      Two-bit Differentiated Services Architecture     July 1999 + + +   After [3], we designate the forwarding path objects that test flows +   against their usage profiles "Profile Meters". Border routers will +   require Profile Meters at their input interfaces. The bilateral +   agreement between adjacent administrative domains must specify a peak +   rate on all P traffic and a rate and burst for A traffic (and +   possibly a start time and duration). A Profile Meter is required at +   the ingress of a trust region to ensure that differentiated service +   packet flows are in compliance with their agreed-upon rates. Non- +   compliant packets of Premium flows are discarded while non-compliant +   packets of Assured flows have their A-bits reset. For example, in +   figure 1, if the ISP has agreed to supply Company A with r bytes/sec +   of Premium service, P-bit marked packets that enter the ISP through +   the link from Company A will be dropped if they exceed r. If instead, +   the service in figure 1 was Assured service, the packets would simply +   be unmarked, forwarded as best effort. + +   The simplest border router input interface is a Profile Meter +   constructed from a token bucket configured with the contracted rate +   across that ingress link (see figure 5). Each type, Premium or +   Assured, and each interface must have its own profile meter +   corresponding to a particular class across a particular boundary. +   (This is in contrast to models where every flow that crosses the +   boundary must be separately policed and/or shaped.) The exact +   mechanisms required at a border router input interface depend on the +   allocation policy deployed; a more complex approach is presented in +   section 4. + +   Figure 5. Border router input interface Profile Meters + +3. Mechanisms + +3.1 Forwarding Path Primitives + +   Section 2.3 introduced the forwarding path objects of Markers and +   Profile Meters. In this section we specify the primitive building +   blocks required to compose them. The primitives are: general +   classifier, bit-pattern classifier, bit setter, priority queues, +   policing token bucket and shaping token bucket. These primitives can +   compose a Marker (either a policing or a shaping token bucket plus a +   bit setter) and a Profile Meter (a policing token bucket plus a +   dropper or bit setter). + +   General Classifier: Leaf or first-hop routers must perform a +   transport-level signature matching based on a tuple in the packet +   header, a functionality which is part of any RSVP-capable router.  As +   described above, packets whose tuples match one of the configured +   flows are conformance tested and have the appropriate service bit +   set.  This function is memory- and processing-intensive, but is kept + + + +Nichols, et al.              Informational                     [Page 10] + +RFC 2638      Two-bit Differentiated Services Architecture     July 1999 + + +   at the edges of the network where there are fewer flows. + +   Bit-pattern classifier: This primitive comprises a simple two-way +   decision based on whether a particular bit-pattern in the IP header +   is set or not. As in figure 4, the P-bit is tested when a packet +   arrives at a non-leaf router to determine whether to enqueue it in +   the high priority output queue or the low priority packet queue. The +   A-bit of packets bound for the low priority queue is tested to 1) +   increment the count of Assured packets in the queue if set and 2) +   determine which drop probability will be used for that packet. +   Packets exiting the low priority queue must also have the A-bit +   tested so that the count of enqueued Assured packets can be +   decremented if necessary. + +   Bit setter: The A-bits and P-bits must be set or cleared in several +   places. A functional block that sets the appropriate bits of the IP +   header to a configured bit-pattern would be the most general. + +   Priority queues: Every network element must include (at least) two +   levels of simple priority queueing. The high priority queue is for +   the Premium traffic and the service rule is to send packets in that +   queue first and to exhaustion. Recall that Premium traffic must never +   be oversubscribed, thus Premium traffic should see little or no +   queue. + +   Shaping token bucket:This is the token bucket required at the leaf +   router for Premium traffic and shown in figure 3. As we shall see, +   shaping is also useful at egress points of a trust region. An +   arriving packet is immediately forwarded if there is a token present +   in the bucket, otherwise the packet is enqueued until the bucket +   contains tokens sufficient to send it. Shaping requires clocking +   mechanisms, packet memory, and some state block for each flow and is +   thus a memory and computation-intensive process. + +   Policing token bucket: This is the token bucket required for Profile +   Meters and shown in figure 5. Policing token buckets never hold +   arriving packets, but check on arrival to see if a token is available +   for the packet's service class. If so, the packet is forwarded +   immediately. If not, the policing action is taken, dropping for +   Premium and reclassifying or unmarking for Assured. + +3.2 Passing configuration information + +    Clearly, mechanisms are required to communicate the information +   about the request to the leaf router. This configuration information +   is the rate, burst, and whether it is a Premium or Assured type. +   There may also need to be a specific field to set or clear this +   configuration. This information can be passed in a number of ways, + + + +Nichols, et al.              Informational                     [Page 11] + +RFC 2638      Two-bit Differentiated Services Architecture     July 1999 + + +   including using the semantics of RSVP, SNMP, or directly set by a +   network administrator in some other way. There must be some +   mechanisms for authenticating the sender of this information. We +   expect configuration to be done in a variety of ways in early +   deployments and a protocol and mechanism for this to be a topic for +   future standards work. + +3.3 Discussion + +   The requirements of shapers motivate their placement at the edges of +   the network where the state per router can be smaller than in the +   middle of a network. The greatest burden of flow matching and shaping +   will be at leaf routers where the speeds and buffering required +   should be less than those that might be required deeper in the +   network. This functionality is not required at every network element +   on the path. Routers that are internal to a trust region will not +   need to shape traffic. Border routers may need or desire to shape the +   aggregate flow of Marked packets at their egress in order to ensure +   that they will not burst into non-compliance with the policing +   mechanism at the ingress to the other domain (though this may not be +   necessary if the in-degree of the router is low). Further, the +   shaping would be applied to an aggregation of all the Premium flows +   that exit the domain via that path, not to each flow individually. + +   These mechanisms are within reach of today's technology and it seems +   plausible to us that Premium and Assured services are all that is +   needed in the Internet. If, in time, these services are found +   insufficient, this architecture provides a migration path for +   delivering other kinds of service levels to traffic. The A- and P- +   bits would continue to be used to identify traffic that gets Marked +   service, but further filter matching could be done on packet headers +   to differentiate service levels further. Using the bits this way +   reduces the number of packets that have to have further matching done +   on them rather than filtering every incoming packet. More queue +   levels and more complex scheduling could be added for P-bit traffic +   and more levels of drop priority could be added for A-bit traffic if +   experience shows them to be necessary and processing speeds are +   sufficient. We propose that the services described here be considered +   as "at least" services. Thus, a network element should at least be +   capable of mapping all P-bit traffic to Premium service and of +   mapping all A-bit traffic to be treated with one level of priority in +   the "best effort" queue (it appears that the single level of A-bit +   traffic should map to a priority that is equivalent to the best level +   in a multi-level element that is also in the path). + +   On the other hand, what is the downside of deploying an architecture +   for both classes of service if later experience convinces us that +   only one of them is needed? The functional blocks of both service + + + +Nichols, et al.              Informational                     [Page 12] + +RFC 2638      Two-bit Differentiated Services Architecture     July 1999 + + +   classes are similar and can be provided by the same mechanism, +   parameterized differently. If Assured service is not used, very +   little is lost. A RED-managed best effort queue has been strongly +   recommended in [4] and, to the extent that the deployment of this +   architecture pushes the deployment of RED-managed best effort queues, +   it is clearly a positive. If Premium service goes unused, the two- +   queues with simple priority service is not required and the shaping +   function of the Marker may be unused, thus these would impose an +   unnecessary implementation cost. + +4. The Architectural Framework for Marked Traffic Allocation + +   Thus far we have focused on the service definitions and the +   forwarding path mechanisms. We now turn to the problem of allocating +   the level of Marked traffic throughout the Internet. We observe that +   most organizations have fixed portions of their budgets, including +   data communications, that are determined on an annual or quarterly +   basis. Some additional monies might be attached to specific projects +   for discretionary costs that arise in the shorter term. In turn, +   service providers (ISPs and NSPs) must do their planning on annual +   and quarterly bases and thus cannot be expected to provide +   differentiated services purely "on call". Provisioning sets up static +   levels of Marked traffic while call set-up creates an allocation of +   Marked traffic for a single flow's duration. Static levels can be +   provisioned with time-of-day specifications, but cannot be changed in +   response to a dynamic message. We expect both kinds of bandwidth +   allocation to be important. The purchasers of Marked services can +   generally be expected to work on longer-term budget cycles where +   these services will be accounted for similarly to many information +   services today. A mail-order house may wish to purchase a fixed +   allocation of bandwidth in and out of its web-server to give +   potential customers a "fast" feel when browsing their site. This +   allocation might be based on hit rates of the previous quarter or +   some sort of industry-based averages. In addition, there needs to be +   a dynamic allocation capability to respond to particular events, such +   as a demonstration, a network broadcast by a company's CEO, or a +   particular network test. Furthermore, a dynamic capability may be +   needed in order to meet a precommitted service level when the +   particular source or destination is allowed to be "anywhere on the +   Internet". "Dynamic" covers the range from a telephoned or e-mailed +   request to a signalling type model. A strictly statically allocated +   scenario is expected to be useful in initial deployment of +   differentiated services and to make up a major portion of the Marked +   traffic for the forseeable future. + +   Without a "per call" dynamic set up, the preconfiguring of usage +   profiles can always be construed as "paying for bits you don't use" +   whether the type of service is Premium or Assured. We prefer to think + + + +Nichols, et al.              Informational                     [Page 13] + +RFC 2638      Two-bit Differentiated Services Architecture     July 1999 + + +   of this as paying for the level of service that one expects to have +   available at any time, for example paying for a telephone line. A +   customer might pay an additional flat fee to have the privilege of +   calling a wide local area for no additional charge or might pay by +   the call. Although a customer might pay on a "per call" basis for +   every call made anywhere, it generally turns out not to be the most +   economical option for most customers. It's possible similar pricing +   structures might arise in the internet. + +   We use Allocation to refer to the process of making Marked traffic +   commitments anywhere along this continuum from strictly preallocated +   to dynamic call set-up and we require an Allocation architecture +   capable of encompassing this entire spectrum in any mix. We further +   observe that Allocation must follow organizational hierarchies, that +   is each organization must have complete responsibility for the +   Allocation of the Marked traffic resource within its domain. Finally, +   we observe that the only chance of success for incremental deployment +   lies in an Allocation architecture that is made up of bilateral +   agreements, as multilateral agreements are much too complex to +   administer. Thus, the Allocation architecture is made up of +   agreements across boundaries as to the amount of Marked traffic that +   will be allowed to pass. This is similar to "settlement" models used +   today. + +4.1 Bandwidth Brokers: Allocating and Controlling Bandwidth Shares + +   The goal of differentiated services is controlled sharing of some +   organization's Internet bandwidth. The control can be done +   independently by individuals, i.e., users set bit(s) in their packets +   to distinguish their most important traffic, or it can be done by +   agents that have some knowledge of the organization's priorities and +   policies and allocate bandwidth with respect to those policies. +   Independent labeling by individuals is simple to implement but +   unlikely to be sufficient since it's unreasonable to expect all +   individuals to know all their organization's priorities and current +   network use and always mark their traffic accordingly.  Thus this +   architecture is designed with agents called bandwidth brokers (BB) +   [2], that can be configured with organizational policies, keep track +   of the current allocation of marked traffic, and interpret new +   requests to mark traffic in light of the policies and current +   allocation. + +   We note that such agents are inherent in any but the most trivial +   notions of sharing.  Neither individuals nor the routers their +   packets transit have the information necessary to decide which +   packets are most important to the organization.  Since these agents +   must exist, they can be used to allocate bandwidth for end-to-end +   connections with far less state and simpler trust relationships than + + + +Nichols, et al.              Informational                     [Page 14] + +RFC 2638      Two-bit Differentiated Services Architecture     July 1999 + + +   deploying per flow or per filter guarantees in all network elements +   on an end-to-end path. BBs make it possible for bandwidth allocation +   to follow organizational hierarchies and, in concert with the +   forwarding path mechanisms discussed in section 3, reduce the state +   required to set up and maintain a flow over architectures that +   require checking the full flow header at every network element. +   Organizationally, the BB architecture is motivated by the observation +   that multilateral agreements rarely work and this architecture allows +   end-to-end services to be constructed out of purely bilateral +   agreements. BBs only need to establish relationships of limited trust +   with their peers in adjacent domains, unlike schemes that require the +   setting of flow specifications in routers throughout an end-to-end +   path. In practical technical terms, the BB architecture makes it +   possible to keep state on an administrative domain basis, rather than +   at every router and the service definitions of Premium and Assured +   service make it possible to confine per flow state to just the leaf +   routers. + +   BBs have two responsibilities. Their primary one is to parcel out +   their region's Marked traffic allocations and set up the leaf routers +   within the local domain. The other is to manage the messages that are +   sent across boundaries to adjacent regions' BBs. A BB is associated +   with a particular trust region, one per domain. A BB has a policy +   database that keeps the information on who can do what when and a +   method of using that database to authenticate requesters. Only a BB +   can configure the leaf routers to deliver a particular service to +   flows, crucial for deploying a secure system. If the deployment of +   Differentiated Services has advanced to the stage where dynamically +   allocated, marked flows are possible between two adjacent domains, +   BBs also provide the hook needed to implement this. Each domain's BB +   establishes a secure association with its peer in the adjacent domain +   to negotiate or configure a rate and a service class (Premium or +   Assured) across the shared boundary and through the peer's domain. As +   we shall see, it is possible for some types of service and +   particularly in early implementations, that this "secure association" +   is not automatic but accomplished through human negotiation and +   subsequent manual configuration of the adjacent BBs according to the +   negotiated agreement. This negotiated rate is a capability that a BB +   controls for all hosts in its region. + +   When an allocation is desired for a particular flow, a request is +   sent to the BB. Requests include a service type, a target rate, a +   maximum burst, and the time period when service is required. The +   request can be made manually by a network administrator or a user or +   it might come from another region's BB. A BB first authenticates the +   credentials of the requester, then verifies there exists unallocated +   bandwidth sufficient to meet the request. If a request passes these +   tests, the available bandwidth is reduced by the requested amount and + + + +Nichols, et al.              Informational                     [Page 15] + +RFC 2638      Two-bit Differentiated Services Architecture     July 1999 + + +   the flow specification is recorded. In the case where the flow has a +   destination outside this trust region, the request must fall within +   the class allocation through the "next hop" trust region that was +   established through a bilateral agreement of the two trust regions. +   The requester's BB informs the adjacent region's BB that it will be +   using some of this rate allocation. The BB configures the appropriate +   leaf router with the information about the packet flow to be given a +   service at the time that the service is to commence. This +   configuration is "soft state" that the BB will periodically refresh. +   The BB in the adjacent region is responsible for configuring the +   border router to permit the allocated packet flow to pass and for any +   additional configurations and negotiations within and across its +   borders that will allow the flow to reach its final destination. + +   At DMZs, there must be an unambiguous way to determine the local +   source of a packet. An interface's source could be determined from +   its MAC address which would then be used to classify packets as +   coming across a logical link directly from the source domain +   corresponding to that MAC address. Thus with this understanding we +   can continue to use figures illustrating a single pipe between two +   different domains. + +   In this way, all agreements and negotiations are performed between +   two adjacent domains. An initial request might cause communication +   between BBs on several domains along a path, but each communication +   is only between two adjacent BBs. Initially, these agreements will be +   prenegotiated and fairly static. Some may become more dynamic as the +   service evolves. + +4.2 Examples + +   This section gives examples of BB transactions in a non-trivial, +   multi-transit-domain Internet. The BB framework allows operating +   points across a spectrum from "no signalling across boundaries" to +   "each flow set up dynamically". We might expect to move across this +   spectrum over time, as the necessary mechanisms are ubiquitously +   deployed and BBs become more sophisticated, but the statically +   allocated portions of the spectrum should always have uses. We +   believe the ability to support this wide spectrum of choices +   simultaneously will be important both in incremental deployment and +   in allowing ISPs to make a wide range of offerings and pricings to +   users. The examples of this section roughly follow the spectrum of +   increasing sophistication. Note that we assume that domains contract +   for some amount of Marked traffic which can be requested as either +   Assured or Premium in each individual flow setup transaction. The +   examples say "Marked" although actual transactions would have to +   specify either Assured or Premium. + + + + +Nichols, et al.              Informational                     [Page 16] + +RFC 2638      Two-bit Differentiated Services Architecture     July 1999 + + +   A statically configured example with no BB messages exchanged: Here +   all allocations are statically preallocated through purely bilateral +   agreements between users (individual TCPs, individual hosts, campus +   networks, or whole ISPs) [6]. The allocations are in the form of +   usage profiles of rate, burst, and a time during which that profile +   is to be active. Users and providers negotiate these Profiles which +   are then installed in the user domain BB and in the provider domain +   BB. No BB messages cross the boundary; we assume this negotiation is +   done by human representatives of each domain. In this case, BBs only +   have to perform one of their two functions, that of allocating this +   Profile within their local domain. It is even possible to set all of +   this suballocations up in advance and then the BB only needs to set +   up and tear down the Profile at the proper time and to refresh the +   soft state in the leaf routers. From the user domain BB, the Profile +   is sent as soft state to the first hop router of the flow during the +   specified time. These Profiles might be set using RSVP, a variant of +   RSVP, SNMP, or some vendor-specific mechanism. Although this static +   approach can work for all Marked traffic, due to the strictly not +   oversubscribed requirement, it is only appropriate for Premium +   traffic as long as it is kept to a small percentage of the bottleneck +   path through a domain or is otherwise constrained to a well-known +   behavior. Similar restrictions might hold for Assured depending on +   the expectation associated with the service. + +   In figure 6, we show an example of setting a Profile in a leaf +   router. A usage profile has been negotiated with the ISP for the +   entire domain and the BB parcels it out among individual flows as +   requested. The leaf router mechanism is that shown in figure 3, with +   the token bucket set to the parameters from the usage profile. The +   ISP's BB would configure its own Profile Meter at the ingress router +   from that customer to ensure the Profile was maintained. This +   mechanism was shown in figure 5. We assume that the time duration and +   start times for any Profile to be active are maintained in the BB. +   The Profile is sent to the ingress device or cleared from the ingress +   device by messages sent from the BB. In this example, we assume that +   van@lbl wants to talk to ddc@mit. The LBL-BB is sent a request from +   Van asking that premium service be assigned to a flow that is +   designated as having source address "V:4" and going to destination +   address "D:8". This flow should be configured for a rate of 128kb/sec +   and allocated from 1pm to 3pm. The request must be "signed" in a +   secure, verifiable manner. The request might be sent as data to the +   LBL-BB, an e-mail message to a network administrator, or in a phone +   call to a network administrator. The LBL-BB receives this message, +   verifies that there is 128kb/sec of unused Premium service for the +   domain from 1-3pm, then sends a message to Leaf1 that sets up an +   appropriate Profile Meter. The message to Leaf1 might be an RSVP +   message, or SNMP, or some proprietary method. All the domains passed +   must have sufficient reserve capacity to meet this request. + + + +Nichols, et al.              Informational                     [Page 17] + +RFC 2638      Two-bit Differentiated Services Architecture     July 1999 + + +   Figure 6. Bandwidth Broker setting Profiles in leaf routers + +   A statically configured example with BB messages exchanged: Next we +   present an example where all allocations are statically preallocated +   but BB messages are exchanged for greater flexibility. Figure 7 shows +   an end-to-end example for Marked traffic in a statically allocated +   internet. The numbers at the trust region boundaries indicate the +   total statically allocated Marked packet rates that will be accepted +   across those boundaries. For example, 100kbps of Marked traffic can +   be sent from LBL to ESNet; a Profile Meter at the ESNet egress +   boundary would have a token bucket set to rate 100kbps. (There MAY be +   a shaper set at LBL's egress to ensure that the Marked traffic +   conforms to the aggregate Profile.) The tables inside the transit +   network "bubbles" show their policy databases and reflect the values +   after the transaction is complete. In Figure 7, V wants to transmit a +   flow from LBL to D at MIT at 10 Kbps. As in figure 6, a request for +   this profile is made of LBL's BB. LBL's BB authenticates the request +   and checks to see if there is 10kbps left in its Marked allocation +   going in that direction. There is, so the LBL-BB passes a message to +   the ESNet-BB saying that it would like to use 10kbps of its Marked +   allocation for this flow. ESNet authenticates the message, checks its +   database and sees that it has a 10kbps Marked allocation to NEARNet +   (the next region in that direction) that is being unused. The policy +   is that ESNet-BB must always inform ("ask") NEARNet-BB when it is +   about to use part of its allocation. NEARNET-BB authenticates the +   message, checks its database and discovers that 20kbps of the +   allocation to MIT is unused and the policy at that boundary is to not +   inform MIT when part of the allocation is about to be used ("<50 ok" +   where the total allocation is 50). The dotted lines indicate the +   "implied" transaction, that is the transaction that would have +   happened if the policy hadn't said "don't ask me". Now each BB can +   pass an "ok" message to this request across its boundary. This allows +   V to send to D, but not vice versa. It would also be possible for the +   request to originate from D. + +   Figure 7. End-to-end example with static allocation. + +   Consider the same example where the ESNet-BB finds all of its Marked +   allocation to NEARNet, 10 kbps, in use. With static allocations, +   ESNet must transmit a "no" to this request back to the LBL-BB. +   Presumably, the LBL-BB would record this information to complain to +   ESNet about the overbooking at the end of the month! One solution to +   this sort of "busy signal" is for ESNet to get better at anticipating +   its customers needs or require long advance bookings for every flow, +   but it's also possible for bandwidth brokerage decisions to become +   dynamic. + + + + + +Nichols, et al.              Informational                     [Page 18] + +RFC 2638      Two-bit Differentiated Services Architecture     July 1999 + + +   Figure 8. End-to-end static allocation example with no remaining +   allocation + +   Dynamic Allocation and additional mechanism: As we shall see, dynamic +   allocation requires more complex BBs as well as more complex border +   policing, including the necessity to keep more state. However, it +   enables an important service with a small increase in state. + +   The next set of figures (starting with figure 9) show what happens in +   the case of dynamic allocation. As before, V requests 10kbps to talk +   to D at MIT. Since the allocation is dynamic, the border policers do +   not have a preset value, instead being set to reflect the current +   peak value of Marked traffic permitted to cross that boundary. The +   request is sent to the LBL-BB. + +   Figure 9. First step in end-to-end dynamic allocation example. + +   In figure 10, note that ESNet has no allocation set up to NEARNet. +   This system is capable of dynamic allocations in addition to static, +   so it asks NEARNet if it can "add 10" to its allocation from ESNet. +   As in the figure 7 example, MIT's policy is set to "don't ask" for +   this case, so the dotted lines represent "implicit transactions" +   where no messages were exchanged. However, NEARNet does update its +   table to indicate that it is now using 20kbps of the Marked +   allocation to MIT. + +   Figure 10. Second step in end-to-end dynamic allocation example + +   In figure 11, we see the third step where MIT's "virtual ok" allows +   the NEARNet-BB to tell its border router to increase the Marked +   allocation across the ESNet-NEARNet boundary by 10 kbps. + +   Figure 11. Third step in end-to-end dynamic allocation example + +   Figure 11 shows NEARNet-BB's "ok" for that request transmitted back +   to ESNet-BB. This causes ESNet-BB to send its border router a message +   to create a 10 kbps subclass for the flow "V->D". This is required in +   order to ensure that the 10kpbs that has just been dynamically +   allocated gets used only for that connection. Note that this does +   require that the per flow state be passed from LBL-BB to ESNet-BB, +   but this is the only boundary that needs that level of flow +   information and this further classification will only need to be done +   at that one boundary router and only on packets coming from LBL. Thus +   dynamic allocation requires more complex Profile Metering than that +   shown in figure 5. + +   Figure 12. Fourth step in end-to-end dynamic allocation example. + + + + +Nichols, et al.              Informational                     [Page 19] + +RFC 2638      Two-bit Differentiated Services Architecture     July 1999 + + +   In figure 12, the ESNet border router gives the "ok" that a subclass +   has been created, causing the ESNet-BB to send an "ok" to the LBL-BB +   which lets V know the request has been approved. + +   Figure 13. Final step in end-to-end dynamic allocation example + +   For dynamic allocation, a basic version of a CBQ scheduler [5] would +   have all the required functionality to set up the subclasses. RSVP +   currently provides a way to move the TSpec for the flow. + +   For multicast flows, we assume that packets that are bound for at +   least one egress can be carried through a domain at that level of +   service to all egress points. If a particular multicast branch has +   been subscribed to at best-effort when upstream branches are Marked, +   it will have its bit settings cleared before it crosses the boundary. +   The information required for this flow identification is used to +   augment the existing state that is already kept on this flow because +   it is a multicast flow. We note that we are already "catching" this +   flow, but now we must potentially clear the bit-pattern. + +5. RSVP/int-serv and this architecture + +   Much work has been done in recent years on the definition of related +   integrated services for the internet and the specification of the +   RSVP signalling protocol. The two-bit architecture proposed in this +   work can easily interoperate with those specifications. In this +   section we first discuss how the forwarding mechanisms described in +   section 3 can be used to support integrated services. Second, we +   discuss how RSVP could interoperate with the administrative structure +   of the BBs to provide better scaling. + +5.1 Providing Controlled-Load and Guaranteed Service + +   We believe that the forwarding path mechanisms described in section 3 +   are general enough that they can also be used to provide the +   Controlled-Load service [8] and a version of the Guaranteed Quality +   of Service [9], as developed by the int-serv WG. First note that +   Premium service can be thought of as a constrained case of +   Controlled-Load service where the burst size is limited to one packet +   and where non-conforming packets are dropped. A network element that +   has implemented the mechanisms to support premium service can easily +   support the more general controlled-load service by making one or +   more minor parameter adjustments, e.g. by lifting the constraint on +   the token bucket size, or configuring the Premium service rate with +   the peak traffic rate parameter in the Controlled-Load specification, +   and by changing the policing action on out-of-profile packets from +   dropping to sending the packets to the Best-effort queue. + + + + +Nichols, et al.              Informational                     [Page 20] + +RFC 2638      Two-bit Differentiated Services Architecture     July 1999 + + +   It is also possible to implement Guaranteed Quality of Service using +   the mechanisms of Premium service. From RFC 2212 [9]: "The definition +   of guaranteed service relies on the result that the fluid delay of a +   flow obeying a token bucket (r, b) and being served by a line with +   bandwidth R is bounded by b/R as long as R is no less than r. +   Guaranteed service with a service rate R, where now R is a share of +   bandwidth rather than the bandwidth of a dedicated line approximates +   this behavior." The service model of Premium clearly fits this model. +   RFC 2212 states that "Non-conforming datagrams SHOULD be treated as +   best-effort datagrams." Thus, a policing Profile Meter that drops +   non-conforming datagrams would be acceptable, but it's also possible +   to change the action for non-compliant packets from a drop to sending +   to the best-effort queue. + +5.2 RSVP and BBs + +   In this section we discuss how RSVP signaling can be used in +   conjunction with the BBs described in section 4 to deliver a more +   scalable end-to-end resource set up for Integrated Services. First we +   note that the BB architecture has three major differences with the +   original RSVP resource set up model: + +   1. There exist apriori bilateral business relations between BBs of +   adjacent trust regions before one can set up end-to-end resource +   allocation; real-time signaling is used only to activate/confirm the +   availability of pre-negotiated Marked bandwidth, and to dynamically +   readjust the allocation amount when necessary. We note that this +   real-time signaling across domains is not required, but depends on +   the nature of the bilateral agreement (e.g., the agreement might +   state "I'll tell you whenever I'm going to use some of my allocation" +   or not). + +   2. A few bits in the packet header, i.e. the P-bit and A-bit, are +   used to mark the service class of each packet, therefore a full +   packet classification (by checking all relevant fields in the header) +   need be done only once at the leaf router; after that packets will be +   served according to their class bit settings. + +   3. RSVP resource set up assumes that resources will be reserved hop- +   by-hop at each router along the entire end-to-end path. + +   RSVP messages sent to leaf routers by hosts can be intercepted and +   sent to the local domain's BB. The BB processes the message and, if +   the request is approved, forwards a message to the leaf router that +   sets up appropriate per-flow packet classification. A message should +   also be sent to the egress border router to add to the aggregate +   Marked traffic allocation for packet shaping by the Profile Meter on +   outbound traffic. (Its possible that this is always set to the full + + + +Nichols, et al.              Informational                     [Page 21] + +RFC 2638      Two-bit Differentiated Services Architecture     July 1999 + + +   allocation.) An RSVP message must be sent across the boundary to +   adjacent ISP's border router, either from the local domain's border +   router or from the local domain's BB. If the ISP is also implementing +   the RSVP with a BB and diff-serv framework, its border router +   forwards the message to the ISP's local BB. A similar process (to +   what happened in the first domain) can be carried out in the ISP +   domain, then an RSVP message gets forwarded to the next ISP along the +   path. Inside a domain, packets are served solely according to the +   Marked bits. The local BB knows exactly how much Premium traffic is +   permitted to enter at each border router and from which border router +   packets exit. + +6. Recommendations + +   This document has presented a reference architecture for +   differentiated services. Several variations can be envisioned, +   particularly for early and partial deployments, but we do not +   enumerate all of these variations here. There has been a great market +   demand for differentiated services lately. As one of the many efforts +   to meet that demand this memo sketches out the framework of a +   flexible architecture for offering differential services, and in +   particular defines a simple set of packet forwarding path mechanisms +   to support two basic types of differential services. Although there +   remain a number of issues and parameters that need further +   exploration and refinement, we believe it is both possible and +   feasible at this time to start deployment of differentiated services +   incrementally. First, given that the basic mechanisms required in the +   packet forwarding path are clearly understood, both Assured and +   Premium services can be implemented today with manually configured +   BBs and static resource allocation. Initially we recommend +   conservative choices on the amount of Marked traffic that is admitted +   into the network. Second, we plan to continue the effort started with +   this memo and the experimental work of the authors to define and +   deploy increasingly sophisticated BBs. We hope to turn the experience +   gained from in-progress trial implementations on ESNet and CAIRN into +   future proposals to the IETF. + +   Future revisions of this memo will present the receiver-based and +   multicast flow allocations in detail.    After this step is finished, +   we believe the basic picture of an scalable, robust, secure resource +   management and allocation system will be completed. In this memo, we +   described how the proposed architecture supports two services that +   seem to us to provide at least a good starting point for trial +   deployment of differentiated services. Our main intent is to define +   an architecture with three services, Premium, Assured, and Best +   effort, that can be determined by specific bit- patterns, but not to +   preclude additional levels of differentiation within each service. It +   seems that more experimentation and experience is required before we + + + +Nichols, et al.              Informational                     [Page 22] + +RFC 2638      Two-bit Differentiated Services Architecture     July 1999 + + +   could standardize more than one level per service class. Our base- +   level approach says that everyone has to provide "at least" Premium +   service and Assured service as documented. We feel rather strongly +   about both 1) that we should not try to define, at this time, +   something beyond the minimalist two service approach and 2) that the +   architecture we define must be open-ended so that more levels of +   differentiation might be standardized in the future. We believe this +   architecture is completely compatible with approaches that would +   define more levels of differentiation within a particular service, if +   the benefits of doing so become well understood. + +7. Acknowledgments + +   The authors have benefited from many discussions, both in person and +   electronically and wish to particularly thank Dave Clark who has been +   responsible for the genesis of many of the ideas presented here, +   though he does not agree with all of the content this document. We +   also thank Sally Floyd for comments on an earlier draft. A comment +   from Jon Crowcroft was partially responsible for our including +   section 5. Comments from Fred Baker made us try to make it clearer +   that we are defining two base-level services, irrespective of the bit +   patterns used to encode them. + +8. Security Considerations + +   There are no security considerations associated with this document. + +9. References + +   [1] D. Clark, "Adding Service Discrimination to the Internet", +       Proceedings of the 23rd Annual Telecommunications Policy Research +       Conference (TPRC), Solomons, MD, October 1995. + +   [2] V. Jacobson, "Differentiated Services Architecture", talk in the +       Int-Serv WG at the Munich IETF, August, 1997. + +   [3] Clark, D. and J. Wroclawski, "An Approach to Service Allocation +       in the Internet", Work in Progress, also talk by D. Clark in the +       Int-Serv WG at the Munich IETF, August, 1997. + +   [4] Braden, et al., "Recommendations on Queue Management and +       Congestion Avoidance in the Internet", RFC 2309, April 1998. + +   [4] Braden, R., Zhang, L., Berson, S., Herzog, S. and S. Jamin, +       "Resource Reservation Protocol (RSVP) - Version 1 Functional +       Specification", RFC 2205, September 1997. + + + + + +Nichols, et al.              Informational                     [Page 23] + +RFC 2638      Two-bit Differentiated Services Architecture     July 1999 + + +   [5] S. Floyd and V. Jacobson, "Link-sharing and Resource Management +       Models for Packet Networks", IEEE/ACM Transactions on Networking, +       pp 365-386, August 1995. + +   [6] D. Clark, private communication, October 26, 1997. + +   [7] "Advanced QoS Services for the Intelligent Internet", Cisco +       Systems White Paper, 1997. + +   [8] Wroclawski, J., "Specification of the Controlled-Load Network +       Element Service", RFC 2211, September 1997. + +   [9] Shenker, S., Partirdge, C. and R. Guerin, "Specification of +       Guaranteed Quality of Service", RFC 2212, September 1997. + +   [10] D. Clark and W. Fang, "Explicit Allocation of Best Effort packet +       Delivery Service", IEEE/ACM Transactions on Networking, August, +       1998, Vol6, No 4, pp. 362-373. also at: http:// +       diffserv.lcs.mit.edu/Papers/exp-alloc-ddc-wf.pdf + +Authors' Addresses + +   Kathleen Nichols +   Cisco Systems, Inc. +   170 West Tasman Drive +   San Jose, CA 95134-1706 + +   Phone: 408-525-4857 +   EMail:   kmn@cisco.com + + +   Van Jacobson +   Cisco Systems, Inc. +   170 West Tasman Drive +   San Jose, CA 95134-1706 + +   EMail: van@cisco.com + + +   Lixia Zhang +   UCLA +   4531G Boelter Hall +   Los Angeles, CA  90095 + +   Phone: 310-825-2695 +   EMail: lixia@cs.ucla.edu + + + + + +Nichols, et al.              Informational                     [Page 24] + +RFC 2638      Two-bit Differentiated Services Architecture     July 1999 + + +Appendix: A Combined Approach to Differential Service in the Internet by +          David D. Clark + +   After the draft-nichols-diff-svc-00 was submitted, the co-authors had +   a discussion with Dave Clark and John Wroclawski which resulted in +   Clark's using the presentation slot for the draft at the December +   1997 IETF Integrated Services Working Group meeting. A reading of the +   slides shows that it was Clark's proposal on "mechanisms", +   "services", and "rules" and how to proceed in the standards process +   that has guided much of the process in the subsequently formed IETF +   Differentiated Services Working Group. We believe Dave Clark's talk +   gave us a solid approach for bringing quality of service to the +   Internet in a manner that is compatible with its strengths. + +   The slides presented at the December 1997 IETF Integrated Services +   Working Group are included with the Postscript version. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Nichols, et al.              Informational                     [Page 25] + +RFC 2638      Two-bit Differentiated Services Architecture     July 1999 + + +Full Copyright Statement + +   Copyright (C) The Internet Society (1999).  All Rights Reserved. + +   This document and translations of it may be copied and furnished to +   others, and derivative works that comment on or otherwise explain it +   or assist in its implementation may be prepared, copied, published +   and distributed, in whole or in part, without restriction of any +   kind, provided that the above copyright notice and this paragraph are +   included on all such copies and derivative works.  However, this +   document itself may not be modified in any way, such as by removing +   the copyright notice or references to the Internet Society or other +   Internet organizations, except as needed for the purpose of +   developing Internet standards in which case the procedures for +   copyrights defined in the Internet Standards process must be +   followed, or as required to translate it into languages other than +   English. + +   The limited permissions granted above are perpetual and will not be +   revoked by the Internet Society or its successors or assigns. + +   This document and the information contained herein is provided on an +   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Acknowledgement + +   Funding for the RFC Editor function is currently provided by the +   Internet Society. + + + + + + + + + + + + + + + + + + + +Nichols, et al.              Informational                     [Page 26] +  |