home *** CD-ROM | disk | FTP | other *** search
Text File | 1999-10-14 | 72.5 KB | 1,460 lines |
-
-
-
-
-
-
- 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]
-
-