Internet Engineering Task Force Kathleen Nichols, editor
INTERNET-DRAFT Bay Networks Architecture Lab
Expires: August 1998 Steven Blake, editor
IBM Microelectronics
February 1998
Differentiated Services Operational Model and Definitions
<draft-nichols-dsopdef-00.txt>
Status of This Memo
This document is an Internet-Draft. Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its areas,
and its working groups. Note that other groups may also distribute
working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
To learn the current status of any Internet-Draft, please check the
"1id-abstracts.txt" listing contained in the Internet-Drafts Shadow
Directories on ftp.is.co.za (Africa), ftp.nordu.net (Europe),
munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
ftp.isi.edu (US West Coast).
Abstract
Differentiated services are intended to provide scalable service
discrimination in the Internet without the need for per-flow state
and signaling at every hop. The differentiated services approach to
providing quality of service in networks employs a small, well-
defined set of building blocks from which a variety of services may
be built. The services may be either end-to-end or intra-domain. A
wide range of services can be provided by a combination of:
- setting bits in the TOS octet at network edges and administrative
boundaries,
- using those bits to determine how packets are treated by the
routers inside the network, and
- conditioning the marked packets at network boundaries in accordance
with the requirements of each service.
A differentiated-services-capable network node includes a classifier
that selects packets based on the TOS octet and is capable of
delivering the treatment corresponding to that marking of the TOS
octet. Setting of the TOS octet and other conditioning of the
Nichols, et. al. Expires: August 1998 [Page 1]
INTERNET-DRAFT Differentiated Services February 1998
dynamic behavior of marked packets need only be performed at network
boundaries and may vary in complexity. This draft presents a
differentiated services definition of the TOS octet and the
operational model behind that definition.
Authors
This document is the result of a collaborative effort among the
following individuals: Fred Baker, Steve Blake, Scott Bradner, Scott
Brim, Brian Carpenter, Dave Clark, Eric Crawley, Bruce Davie, Juha
Heinanen, Geoff Huston, Van Jacobson, Jim Luciani, Kathleen Nichols,
Mike O'Dell, John Wroclawski, and Lixia Zhang.
0. Discussion of this draft
We have set up a public mailing list for discussions of this draft
and for other differentiated services BOF issues. The list is:
diff-serv@baynetworks.com. To subscribe send mail to
majordomo@baynetworks.com with the line "subscribe diff-serv" in the
body. A browsable archive for this mailing list is at
http://www-nrg.ee.lbl.gov/diff-serv-arch and the archive can be
downloaded from ftp://ftp.ee.lbl.gov/diff-serv-arch/. Please use
this mailing list rather than others for the discussion of
differentiated services.
1. Introduction
The TOS octet is used to mark a packet to receive a particular per-
hop behavior. Marking is performed by traffic conditioners at
network boundaries, including the edges of the network (first hop
router/switch) and administrative boundaries. Traffic conditioners
may include the primitives of classification, marking, policing and
shaping. Service classes can be specified by the use of particular
traffic conditioning at boundaries coupled with particular per-hop
behaviors. A goal of the differentiated services architecture is to
specify these building blocks for future extensibility, both of the
number and type of the building blocks and of the services built from
them.
A number of recent Internet Drafts have suggested various encodings
of the TOS byte to get specific behavior from network nodes on a per-
hop basis [Ellesson, Ferguson, Heinanen, SIMA] and others have
discussed the behaviors required from the network [Clark, 2BIT]. All
of these have made important points about the kinds of per-hop
behaviors that are considered in this note. In selecting the TOS
octet definition and specifying per-hop behaviors to attach to
particular bit-patterns, we have been influenced by all these drafts
and the thoughtful work of their authors.
Nichols, et. al. Expires: August 1998 [Page 2]
INTERNET-DRAFT Differentiated Services February 1998
We define terminology used in this draft in Sec. 2 and propose a
differentiated services definition for the TOS octet in Sec. 3. In
Sec. 4, we present an operational model for the assignment of per-hop
behaviors and propose two specific per-hop behaviors for
standardization. Sec. 5 describes primitives that can be used for
traffic conditioning. Sec. 6 discusses service allocation and
deployment and Sec. 7 covers some security considerations. We
present additional discussion of the TOS octet definition in Appendix
A and in Appendix B present some example services that can be built
from these differentiated services primitives.
2. Terminology used in this document
Service: The description of what is sold to a customer, specified
either end-to-end or within an Autonomous System (e.g., an ISP or
campus). We use the phrase "sold to a customer" loosely enough to
encompass any AS's allocation of network service to a user or
application.
Per-hop Behavior: The forwarding behavior a packet receives at a
given network node. It may be expressed in terms that can strongly
suggest a particular algorithm or implementation but leaves the
specific choice to the implementor. To compose predictable services,
per-hop behaviors probably need to be available in all routers in a
differentiated-services-capable network.
Mechanism: The implementation of a behavior.
Boundary: Where two network "clouds" are linked; the "clouds" can
represent different administrative domains or autonomous systems,
different trust regions, different network technologies (e.g., cell/
frame), hosts and routers, etc. A boundary can be further sub-
divided into exit and entry nodes, where the exit/entry nodes are the
upstream/downstream nodes of a boundary link in a given traffic
direction.
DS byte: the IP header TOS octet when configured in conformance with
the definition given in this document.
Differentiated services behavior aggregate: a collection of packets
with the same DS byte pattern crossing a boundary in a particular
direction. The terms "aggregate" and "behavior aggregate" will be
used interchangeably in this document.
Network edge: refers to a particular boundary node, the edge of the
differentiated-services-compliant area. This typically is at the
ingress to the first-hop differentiated-services-aware router (or
network node) a host's packets see or at the egress of the last-hop
differentiated-services-aware router or network node packets see
before arriving at a host. This is sometimes referred to as the
boundary at a leaf router. The network edge might be co-located with
Nichols, et. al. Expires: August 1998 [Page 3]
INTERNET-DRAFT Differentiated Services February 1998
a host, subject to local policy.
Traffic conditioning primitives: functions that can be applied to a
behavior aggregate, flow, or other operationally useful subset of
traffic, e.g., routing updates. These include policing, shaping,
header classification, and packet marking. Again, these may be
described in terms that can strongly suggest a particular algorithm
or implementation but no specific choice of implementation is given.
With the exception of a DS byte classifier at the packet forwarding
engine, traffic conditioning primitives need not be implemented in
all network nodes in a differentiated-services-capable network,
instead appearing primarily at boundaries.
To summarize, the TOS octet is used as a DS byte to designate
behaviors. A DS byte classifier and per-hop behaviors based on those
classifications are required in all network nodes of a
differentiated-services-capable network. More extensive traffic
conditioners may appear at boundaries. Multiple services can be
supported by a single per-hop behavior used in concert with a range
of traffic conditioners.
3. A Differentiated Services Definition of the TOS Octet
We propose to redefine the structure for the 8-bit IPv4 TOS field
[RFC791] and the 8-bit IPv6 Class field [IPv6], and re-label the
field as the "DS byte". The new structure is presented below:
0 1 2 3 4 5 6 7
+---+---+---+---+---+---+---+---+
|IN | PHB | CU |
+---+---+---+---+---+---+---+---+
IN: in (1) or out (0) of profile
PHB: per-hop behavior
CU: currently unused (reserved)
We have been influenced by [Ellesson] and by Dave Clark's talk at the
int-serv WG December 8, 1997 meeting. Adopting key elements of
Clark's framework, though not the exact terminology or bit-patterns,
we use five bits to define the per-hop behavior (PHB) the packet
experiences and one bit (IN) to identify whether the packet may be
in- or out-of-profile with respect to some traffic policy measured at
a network boundary. We also reserve a two-bit CU, or currently
unused, field that may be assigned later, e.g., for explicit
congestion notification [ECN]. Hosts SHOULD set the CU bits to
zeroes, and traffic conditioners and routers SHOULD ignore their
value.
The IN indicator parameter may be used to mark packets for a higher
Nichols, et. al. Expires: August 1998 [Page 4]
INTERNET-DRAFT Differentiated Services February 1998
level of service (e.g., lower loss probability) within whatever share
of router interface resources (e.g., buffers, bandwidth) are
associated with a particular per-hop behavior.
Router implementations SHOULD treat the 5-bit PHB field as an index
to be used in selecting a particular packet handling mechanism which
has been implemented in that device. Although the IANA may assume
some structure within the PHB field when assigning values for new
per-hop behaviors, implementations should treat it as an unstructured
field.
The structure of the DS byte shown above is incompatible with the
existing definition of the IPv4 TOS octet in [RFC791, RFC1349]. The
use of bit 7 as a "DiffServ semantics" indicator was contemplated,
but the authors believe that there exists deployed equipment which
does not test bit 7, thereby making it impossible to simultaneously
support two sets of semantics within the same network. Therefore, to
maintain compatibility with IPv4 hosts and networks which utilize the
existing TOS semantics, a differentiated services-enabled network
MUST remark the TOS value of packets arriving at a boundary entry
node to some acceptable value within the new semantics, and MAY
remark (e.g., by zeroing) on exit at a boundary to a network
supporting the existing semantics. Validating the value of the TOS
octet at network boundaries is sensible in any case since an upstream
node can easily set them to any random value. Differentiated-
services-enabled networks which are not suitably isolated by a
remarking boundary node may deliver unpredictable service.
4. Operational Model
4.1 Per-Hop Behaviors
The differentiated services model is that a router has a (possibly
large) set of parameters that can be used to control how packets are
scheduled onto an output interface (e.g., N separate queues with
settable priorities, queue lengths, round-robin weights, drop
algorithm, drop preference weights and thresholds, etc). Router
vendors are free to offer whatever parameters and capabilities they
feel are useful or marketable. An ISP is free to configure those
parameters in whatever way they feel is appropriate for their service
offerings and traffic engineering objectives. The router's
capabilities and its particular configuration determine the different
ways packets can be treated. The DS byte then selects which
treatment a particular packet receives. For example, an ISP may
configure eight weighted round robin queues in its routers and use
the DS byte to select which queue (from zero, for smallest weight to
seven, for largest weight or share of output link) a packet is placed
for servicing. Another ISP might configure a single queue with
multiple drop priorities and use the DS byte to select the drop
preference (from zero, most likely to drop to seven, least likely to
drop) for packets in that queue. Another might configure four queues
Nichols, et. al. Expires: August 1998 [Page 5]
INTERNET-DRAFT Differentiated Services February 1998
with two levels of drop preference in each. There is no requirement
that different ISPs use the same router mechanisms or configuration
or that any value of the DS byte map to a particular packet
forwarding behavior (other than the behaviors described below and the
general guidelines given in Appendix A).
However, to the extent that the per-hop behaviors are used to
implement end-to-end services (see Appendix B for examples), it may
be undesirable for the "same" per-hop behavior to be selected by
different DS byte values in different ISPs. For example, consider
ISP A and ISP B both offering a low jitter, guaranteed rate, premium
service. If ISP A uses a PHB of 3 to select an appropriate router
mechanism while ISP B uses a PHB of 7, packets that use this service
and transit A to B must have the PHB field of their DS byte rewritten
from 3 to 7. Since the per-hop behaviors on each side must be
functionally equivalent, this is simply useless work that has to be
done in the forwarding path of a busy border router. To avoid this,
we expect that over time certain common per-hop behaviors will evolve
(ones that are particularly useful for implementing end-to-end
services) and that these will be associated with particular code
points in the DS byte. However, since our current experience with
diffserv is quite limited, it is premature to hypothesize the exact
specification of these code points and we have simply left room in
the code space to allow for evolution, thus the defined space of the
PHB field is intentionally sparse. But we do not suggest that PHB
patterns be selected and assigned without adherence to a larger
context. For more on the rationale of selecting and using PHBs, see
Appendix A.
Only those per-hop behaviors that have both some degree of
orthogonality and have been implemented, deployed, and shown to be
useful should be standardized.
Two per-hop behaviors are already in widespread use and we propose
them for standardization: Default (DE) is the common, best-effort
forwarding available in today's internet and already standardized in
RFC-1812. Expedited Forwarding (EF) is a "high priority" behavior
typically used for network control traffic such as routing updates.
The code points chosen for these are compatible with existing
practice:
PHB field value Behavior name
--------------- -------------
00000 Default (DE)
11100 Expedited Forwarding (EF)
and are defined as follows:
Nichols, et. al. Expires: August 1998 [Page 6]
INTERNET-DRAFT Differentiated Services February 1998
Default: an incoming packet goes to the tail of a queue that is
serviced in FIFO order when the output link is free. Thus if a
continuous stream of DE-marked packets is sent into a device, packets
that emerge will emerge in the same order they entered. It is not
required that all arriving packets are seen at the output, but it is
required that the aggregate of packets with this marking are not
completely starved. Delay requirements are as soon as possible, and
the corresponding bandwidth requirements are as much as possible
(subject to the other constraints of the router's scheduling system)
[CCBES]. The Default behavior is designed to closely approximate the
best-effort behavior of existing routers.
Expedited Forwarding: an EF-marked packet goes to the tail of a queue
that is expected to be relatively short and which always gets the
next opportunity to send a packet (possibly subject to some rate
regulator policy which prevents starvation of the Default queue).
Thus, when an EF-marked packet is sent into a device, that packet
should emerge at the output within a very small number of packet
times. The expedited forwarding behavior may be used to implement
services requiring low delay and low jitter, and may also be useful
for network control traffic.
Even though the above behaviors have been encoded in 3 bits,
implementors should note that the PHB field is 5 bits wide and
routers MUST identify both the DE and EF PHBs by matching against the
entire 5-bit PHB field. Packets received with an unrecognized PHB
value SHOULD be handled as if they were marked for DE.
Note that precise definitions of PHBs can be unwieldy and unclear.
For this reason, the PHBs above are described as the output of an
example algorithm. However, PHBs should be standardized, not the
algorithms or the mechanisms used to implement them. To illustrate
the distinction between PHB and mechanism, we point out that the EF
PHB can be implemented by several mechanisms, including: a strict
priority queue, WFQ or variants [HPFQA], weighted round-robin with a
large weight for the EF queue, or CBQ [CBQ].
4.2 The "In Profile" bit
Packets marked with the IN bit set should experience a probability of
loss or congestion indication which is always less than or equal to
that experienced by packets with the IN bit cleared. When the IN bit
is used, RIO [Clark] or another drop preference or congestion
indication mechanism may be used to implement its use. The
requirements on a drop preference mechanism may be specific to each
per-hop behavior, but the general requirements include: (1) there
should be no packet reordering between packets marked for this
behavior; (2) The *average* (real or virtual) queue occupancy should
be used in the drop or congestion notification calculation, in a way
that maximizes the router's chances of selecting a non-preferred
packet to drop or notify of congestion.
Nichols, et. al. Expires: August 1998 [Page 7]
INTERNET-DRAFT Differentiated Services February 1998
In the absence of traffic profiles, we suggest the IN bit should be
set to zero for Default traffic. With traffic profiles, the IN bit
can be used to provide further service differentiation of DE-marked
packets; for example, it can be used to implement the Assured service
described in [Clark].
Use of the IN bit in combination with the EF PHB is a subject of
further research; at this time, all packets marked EF should have the
IN bit set. A pattern of 0.EF.CU will be considered undefined. The
use of the IN bit as an in-profile indicator with the EF PHB is
problematic for two reasons. First, the delay and jitter behavior of
EF-marked packets is sensitive to the relative load of EF-marked
packets on a link; service allocation policies and traffic
conditioners are used to ensure that this load is small enough to
permit the desired low-delay behavior to be realized. Secondly, out-
of-profile EF-marked packets receive priority relative to DE-marked
packets; excessive out-of-profile EF-marked packets may degrade the
service of the DE-marked aggregate beyond what is assumed in the
domain's service allocation policy.
5. Example Traffic Conditioners for Boundaries
Recall from Sec. 2 that traffic conditioners are composed of one or
more primitives: classifiers, markers, policers, and shapers.
Traffic conditioners prepare behavior aggregates for differentiated
services. The primitives are defined as:
Classifiers: select packets based on some portion of their packet
header and steer packets matching some classifier rule to another
traffic conditioner for further processing. Classifiers are of two
types: multi-field (MF) classifiers which can classify on the DS byte
as well as any one of a number of header fields (like a RSVP
classifier) and behavior aggregate (BA) classifiers which classify
only on patterns in the DS byte.
Markers: set the DS byte to a particular bit pattern, adding the
marked packets to a particular differentiated services behavior
aggregate.
Policers: monitor the the dynamic behavior of the packets steered to
them by a classifier and take an action (usually remarking or
dropping packets) based on the relationship of measured properties of
the packet stream to configured properties (e.g., rate and burst).
Policers are generally placed after either type of classifier: after
MF classifiers (e.g., at a host/network or site/provider boundary)
or after BA classifiers (e.g., at a provider/provider boundary).
Shapers: cause conformance to some configured traffic properties
(e.g., token bucket). Like policers, shapers are generally placed
after either type of classifier. Only one of the two primitives,
policers or shapers, would be expected to appear in the same traffic
Nichols, et. al. Expires: August 1998 [Page 8]
INTERNET-DRAFT Differentiated Services February 1998
conditioner.
Although it is probably not necessary to standardize traffic
conditioners or the primitives that compose them, traffic
conditioners are required to instantiate services, and to enforce
service allocation policies. The only conditioning that is required
for packets of a differentiated services aggregate is to set the DS
byte appropriately. Thus, the simplest traffic conditioner consists
of only a packet marker that sets the DS byte of every packet on its
interface to a particular pattern for a particular per-hop behavior.
If the service being offered requires additional rule conformance,
then other primitives must be added to the traffic conditioner.
Another simple traffic conditioner might use an MF classifier to
select packets with a particular source-destination pair and a marker
to set these packets' DS byte to for a particular per-hop behavior.
There are a number of ways to condition traffic at boundaries; see
[Clark], [SIMA], and [2BIT]. We expect that many more might evolve
as differentiated services is widely deployed.
Applications SHOULD be aware that the value of the DS byte may be
modified at each network boundary (possibly subject to some
negotiated policy). The value of the DS byte does not have end-to-
end integrity; security and transport protocol checksums MUST not
include this field.
6. Service Allocation and Deployment
As differentiated services are deployed, there will be concerns about
service allocation and also about partial deployment. The allocation
of differentiated services does not require standardization or
uniformity. The differentiated services architecture leads quite
naturally to a control structure where decisions about the rate of
each type of marked packet are made on a per-domain basis. Since
traffic carried on a link between two domains can now be classified
into a small set of possibilities, it should be relatively
straightforward to write down a bilateral agreement between any two
domains. Differentiated services does not require end-to-end
signaling, but permits each domain to develop allocations of its
intra-domain traffic according to rules and processes that are as
simple or complex as desired. Inter-domain agreements can be as
simple as a list of the different packet markings and a maximum rate
permitted for each. Thus, it is not necessary to standardize a
service allocation strategy to deploy differentiated services.
We expect that a number of allocation methods will be tried within
different domains: aggregated RSVP [AIISS, GBH], Bandwidth Brokers
[2BIT], human configuration by a network manager. Reports of
experiences with different intra-domain allocation methods should
prove valuable during early deployment. Further, we expect the
nature of the bilateral inter-domain agreements to evolve as
experience is with differentiated services is gained. Again, reports
Nichols, et. al. Expires: August 1998 [Page 9]
INTERNET-DRAFT Differentiated Services February 1998
on experience will do much to advance the field.
Differentiated services are realized by the concatenation of per-hop
behaviors along the transit path of a packet; therefore, the
treatment experienced by a behavior aggregate along a particular path
is unpredictable if some of the nodes along that path do not
recognize and implement the proposed per-hop behaviors. Note however
that the behavior of a router on a lightly loaded, high-speed link
which does not implement a set of per-hop behaviors may be
indistinguishable from that of a router which does (since the
proposed per-hop behaviors are work-conserving). The choice of those
nodes upon which to implement the proposed per-hop behaviors is
subject to a domain's traffic engineering policy.
Experiences with early deployment of differentiated services should
be shared, creating a body of work that the community can draw upon
when deploying differentiated services in a domain or when automating
a formerly manual process of allocation. Ultimately, we expect that
at least some differentiated services will enlist the use of
automated inter-domain messaging to provide more flexibility.
Selecting and developing the best approach is a topic for research.
Though, ultimately, we may need a standard format for these messages,
this should not be an IETF topic in the near-term.
7. Security Considerations
Wide-spread deployment of IP Security obscures the IP- and transport-
header fields which are frequently used to enable packet
classification for service differentiation. Use of the DS byte
offers an alternative means of classification for differentiated
services, thereby eliminating a disincentive to the deployment of IP
Security (especially within virtual private networks using ESP in
tunnel-mode [ESP]).
Because the differentiated services per-hop behaviors introduce
service bias, new denial-of-service attacks may be introduced. As an
example, unauthorized use of the EF PHB or IN bit may result in
service degradation to other traffic flows. Furthermore, an attack
on the differentiated services authorization, signaling, or
configuration mechanisms may permit theft-of-service or may enable a
severe denial-of-service attack. As a consequence, authorization,
signaling, and configuration mechanisms must be strongly protected
(e.g., by authentication). Non-default per-hop behaviors should
always be controlled at a network boundary via some traffic
conditioner (classifier, marker, policer/shaper).
The IP Security Authentication Header (AH) does not cover the IPv4
TOS octet in the integrity check value computation [AH]. This
behavior is in fact essential for the deployment of differentiated
services since the value of the DS byte may be changed in transit so
that the source host does not know what value will be delivered to
Nichols, et. al. Expires: August 1998 [Page 10]
INTERNET-DRAFT Differentiated Services February 1998
the destination host. Also, since the network is free to ignore the
DS byte, end-to-end integrity of a DS byte value does not guarantee
that a differentiated service has been delivered. Separate
measurement and assurance mechanisms are needed to ensure that any
negotiated differentiated services are being provided.
8. Acknowledgements
In addition to the co-authors of this document, valuable input was
received from Jim Boyle and Sally Floyd.
9. References
[AH] S. Kent and R. Atkinson, "IP Authentication Header",
Internet Draft <draft-ietf-ipsec-auth-header-02.txt>,
October 1997.
[AIISS] S. Berson and S. Vincent, "Aggregation of Internet
Integrated Services State", Internet Draft
<draft-berson-classy-approach-01.txt>, November 1997.
[CBQ] S. Floyd and V. Jacobson, "Link-sharing and Resource
Management Models for Packet Networks", IEEE/ACM
Transactions on Networking, Vol. 3 no. 4, pp. 365-386,
August 1995.
[CCBES] C. Lefelhocz, B. Lyles, S. Shenker, and L. Zhang,
"Congestion Control for Best-Effort Service: Why We Need
a New Paradigm", IEEE Network, Vol. 10, no. 1, January
1996.
[Clark] D. Clark and J. Wroclawski, "An Approach to Service
Allocation in the Internet", Internet Draft
<draft-clark-diff-svc-alloc-00.txt>, July 1997.
[ECN] K. Ramakrishnan and S. Floyd, "A Proposal to Add Explicit
Congestion Notification (ECN) to IPv6 and to TCP",
Internet Draft <draft-kksjf-ecn-00.txt>, November 1997.
[Ellesson] E. Ellesson and S. Blake, "A Proposal for the Format and
Semantics of the TOS Byte and Traffic Class Byte in IPv4
and IPv6", Internet Draft <draft-ellesson-tos-00.txt>,
November 1997.
[ESP] S. Kent and R. Atkinson, "IP Encapsulating Security
Payload", Internet Draft
<draft-ietf-ipsec-esp-v2-01.txt>, October 1997.
Nichols, et. al. Expires: August 1998 [Page 11]
INTERNET-DRAFT Differentiated Services February 1998
[Ferguson] P. Ferguson, "Simple Differential Services: IP TOS and
Precedence, Delay Indication, and Drop Preference,
Internet Draft <draft-ferguson-delay-drop-00.txt>,
November 1997.
[GBH] R. Guerin, S. Blake, and S. Herzog, "Aggregating RSVP-
based QoS Requests", Internet Draft
<draft-guerin-aggreg-rsvp-00.txt>, November 1997.
[Heinanen] J. Heinanen, "Use of the IPv4 TOS Octet to Support
Differentiated Services", Internet Draft
<draft-heinanen-diff-tos-octet-01.txt>, November 1997.
[HPFQA] J. Bennett and Hui Zhang, "Hierarchical Packet Fair
Queueing Algorithms", Proc. ACM SIGCOMM 96, August 1996.
[IPv6] S. Deering and R. Hinden, "Internet Protocol, Version 6
(IPv6) Specification", Internet Draft
<draft-ietf-ipngwg-ipv6-spec-v2-01.txt>, November 1997.
[RFC791] Information Sciences Institute, "Internet Protocol",
Internet RFC 791, September 1981.
[RFC1349] P. Almquist, "Type of Service in the Internet Protocol
Suite", Internet RFC 1349, July 1992.
[SIMA] K. Kilkki, "Simple Integrated Media Access (SIMA)",
Internet Draft <draft-kalevi-simple-media-access-01.txt>,
June 1997.
[2BIT] K. Nichols, V. Jacobson, and L. Zhang, "A Two-bit
Differentiated Services Architecture for the Internet",
Internet Draft <draft-nichols-diff-svc-arch-00.txt>,
November 1997.
Appendix A. Proposed Interpretation of the Three Most-Significant Bits
of the PHB Field
In this document, we have proposed two particular PHBs. Observant
readers will note that the numerical value of the PHB field assigned
to the Expedited Forwarding behavior is greater than that assigned to
the Default behavior. This is compatible with the interpretation of
the three most-significant bits of the PHB field (bits 1, 2, and 3 of
the DS byte as shown in Sec. 3) as a "weight" or "traffic precedence"
relative to some dimension of quality of service (e.g., delay,
throughput, or loss). We propose that implementors use bits 1, 2,
and 3 as a weight parameter to enable experiments using multi-level
priority (of loss, delay, and/or throughput), subject to the
requirement that bits 4 and 5 of the DS byte have the value zero.
The associated weight (e.g., increased delay priority, increased link
share, decreased loss probability) should increase in the order of
Nichols, et. al. Expires: August 1998 [Page 12]
INTERNET-DRAFT Differentiated Services February 1998
increasing numerical value of bits 1, 2, and 3. The interpretation
of bits 1, 2, and 3 when the value of bits 4 and 5 is not equal to
zero is not defined.
Because this proposal does not specify the specific QoS metric which
is affected by this three bit weight, implementation of any
particular differentiated service using this parameter is dependent
on each router's interpretation and implementation of the weight.
Potential behaviors which could utilize this weight field include
multi-level delay priority, multi-level discard priority, or multiple
link shares (where the share of a link increases in the order of
increasing weight).
Appendix B. Service Examples in this Framework
We propose standardizing ONLY a new meaning for the TOS octet and
particular per-hop behaviors associated with certain TOS octet
patterns. These will provide predictable building blocks from which
a variety of services might be built. There is thus no need to
standardize the services as these are realized by combining traffic
conditioners at boundaries with per-hop behaviors. To illustrate
this, we present some example services implemented in our framework.
We do not attempt to define "quality of service" for applications nor
do we make assumptions about what service a particular application
might use. Thus, although we give some example uses, we do not
characterize the services as being "for real-time video" or "for file
transfer data". Instead, we characterize a service by the type of
performance packets of that service can expect from the network. Any
IP application can utilize any of the services; the choice is up to
the customer.
Service: Best Effort
Service definition: "like today" (as soon as possible; as much as
possible [CCBES]).
Who/how to use this: The basic service of the Internet, what one gets
when merely buying connectivity.
Service: Premium
Service definition: Premium service is a peak-limited, extremely low-
delay service, resembling a leased line [2BIT]. At the network edge,
where a Premium aggregate is first created, it must be either shaped
or policed to a rate with no more than a two-packet burst. A policer
for Premium service is set to drop packets which exceed the
configured peak rate. For this service, the peak rate of the Premium
aggregate across any boundary must be specified and the rate must be
smaller than the link capacity (in practice, it is expected to be a
good deal less than the link capacity). Policing to this rate is
expected at the ingress of any domain and the policing action taken
may be one of two possibilities only: 1) drop the over-rate packet
Nichols, et. al. Expires: August 1998 [Page 13]
INTERNET-DRAFT Differentiated Services February 1998
and 2) hold the over-rate packet until it will be in compliance with
the peak rate (shaping).
Who/how to use this: Voice-over-IP "trunk", videoconference, fixed
size transfer in fixed time, virtual leased line, low delay
applications.
Service name: Assured
Service definition: Assured service is characterized by a rate and
burst profile [Clark]. Behavior aggregates that conform to their
profile are unlikely to experience dropped packets. Packets sent
that are out-of-profile are serviced with a higher drop preference,
but are not reordered with respect to in-profile packets. At the
network edge, an assured behavior aggregate is marked for DE, the IN
bit is set, and it is policed to a configured rate and burst size. A
policer for assured service clears the IN bit of packets which exceed
the configured rate, thus tagging them as "out-of-profile". The IN
bit is only used if there is congestion on a link, then "out" packets
are dropped with higher probability than "in" packets. The sum of
the Assured rates along with all other reserved rates at a domain
ingress should be less than the total available rate. Packets must
remain marked for DE as reordering is prohibited.
Who/how to use this: fixed file transfer size in desired time,
"better effort", certain adaptive applications.
Though we believe it is too early to standardize more than the EF and
DE PHBs, we describe a service that can be delivered with a "link
share" interpretation of bits 1, 2, and 3 of the DS byte as described
in Appendix A.
Service name: Olympic
Service definition: Olympic service provides three levels of service,
gold, silver, and bronze, in decreasing order of congested link
shares. Deployment of this service requires the implementation of
a rate-based link share scheduler behavior at each hop [HPFQA, CBQ].
The particular link share associated with a packet could be selected
as suggested in Appendix A. When encountering a congested link,
packets with "Olympic gold" service will get a larger share of the
link than packets sent using the "Olympic silver" service which gets
a larger share of the link than packets sent using the "Olympic
bronze" service. When there are no packet flows of gold or silver
(or other higher serviced flows), bronze packet flows may utilize the
entire output link. This service classifies flows at a boundary,
marking packets for link share (e.g., by setting the "weight"
parameter in bits 1, 2, and 3) and setting the IN bit. The weight
parameter could be set to i for gold flow packets, i-1 for silver
flow packets, and i-2 for bronze flow packets, where 2 < i < 7.
Classification should be uniform across a single TCP flow or packet
reordering may result. The exact method of service discrimination
Nichols, et. al. Expires: August 1998 [Page 14]
INTERNET-DRAFT Differentiated Services February 1998
among the parameters is not specified, but would presumably be
selected so as to make a perceptible difference to customers. For
example, if the mechanism implementing link sharing has four weighted
round robin queues with RIO droppers in each queue, a configuration
might be 60% for gold, 30% for silver, 10% for bronze. These are the
percentages each aggregate gets when the link is congested, but an
alternate specification is that silver would get three times as large
a share of service as bronze and gold would get twice the service of
silver (it is also possible to have a "hidden" majority share
reserved for EF traffic). Lengths of each queue might also be
adjusted to meet certain requirements (this is a configuration option
which would not be standardized). Customers do not specify a
particular traffic profile, flows are not admission-controlled, and
flows are not shaped or policed in any way.
Who/how use this: for customer discrimination within an ISP,
corporate, or campus domain.
Editors' Addresses
Kathleen Nichols
Bay Networks Architecture Lab
4401 Great America Parkway
SC01-04
Santa Clara, CA 95052-8185
Phone: +1-408-495-3252
Fax: +1-408-495-1299
E-mail: knichols@baynetworks.com
Steven Blake
IBM Microelectronics
C5BA 660/HH007
800 Park Offices Drive
Research Triangle Park, NC 27709
Phone: +1-919-254-2030
Fax: +1-919-254-3047
E-mail: slblake@raleigh.ibm.com
Nichols, et. al. Expires: August 1998 [Page 15]