view Side-By-Side changes
INTERNET-DRAFT Kathleen Nichols Diffserv Working Group Bay NetworksArchitecture LabExpires:November 1998January 1999 Steven BlakeIBM Microelectronics MayTorrent Networking Technologies Fred Baker Cisco Systems David L. Black The Open Group July 1998 Definition of the Differentiated Services Field (DSByte)Field) in the IPv4 and IPv6 Headers<draft-ietf-diffserv-header-00.txt><draft-ietf-diffserv-header-01.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 view the entire list of current Internet-Drafts, please check the "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow Directories on ftp.is.co.za (Africa), ftp.nordu.net (Northern Europe), ftp.nis.garr.it (Southern Europe), munnari.oz.au (Pacific Rim), ftp.ietf.org (US East Coast), or ftp.isi.edu (US West Coast). Copyright Notice Copyright (C) The Internet Society (1998). All Rights Reserved. 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. A variety of services may be built from a small, well-defined set of building blocks which are deployed in network nodes. The services may be either end-to-end or intra- domain. Services can beprovidedconstructed by a combination of: - setting bits in an IP header field at networkedgesboundaries and administrative boundaries, - using those bits to determine how packets are forwarded by theroutersnodes inside the network, and - conditioning the marked packets at network boundaries in accordance with the requirements or rules of each service.This document defines the IP header field, called the DS (for differentiated services) byte. In IPv4, it takes the placeThe requirements or rules of each service must be set through administrative policy mechanisms which are outside theTOS octet; in IPv6, it takes the placescope ofthe Traffic Class octet.this document. A differentiatedservices-capableservices-compliant network node includes a classifierNichols, Blake Expires: November 1998 [Page 1] INTERNET-DRAFT Differentiated Services May 1998that selects packets based on the value of the DSbytefield and is capable of delivering the specific packet forwarding treatmentcorresponding to thatindicated by the DS field value.This document defines two packet forwarding treatments, or per-hop behaviors.Setting of the DSbytefield andotherconditioning of thedynamictemporal behavior of marked packets need only be performed at network boundaries and may vary in complexity. This document defines the IP header field, called the DS (for differentiated services) field. In IPv4, it defines the layout of the TOS octet; in IPv6, the Traffic Class octet. In addition, a base set of packet forwarding treatments, or per-hop behaviors, is defined. For a more complete understanding of differentiated services,this document should be read along with its companion documents,see also the differentiated services architecture[ARCH], the differentiated services framework [FWK], and other documents which specify additional per-hop behaviors, such as [Baker].[ARCH]. 1. IntroductionThe DS byte is usedDifferentiated services are intended tomarkprovide apacketframework and building blocks toreceive a particular forwarding treatment, or per-hop behavior, on nodes along its path. Marking is performedenable deployment of scalable service discrimination in the Internet. The differentiated services approach aims to speed deployment bytraffic conditioners at network boundaries, includingseparating theedgesarchitecture into two major components, one ofthe network (first hop router or source host)which is fairly well-understood andadministrative boundaries. Traffic conditioners may includetheprimitivesother ofclassification, marking, policing and shaping (these mechanisms are described in [ARCH]). Serviceswhich is just beginning to be understood. In this, we arerealizedguided by theuseoriginal design ofparticular traffic conditioning at boundaries coupled withtheconcatenation of per-hop behaviors alongInternet where thetransit path ofdecision was made to separate thetraffic (services are discussedforwarding and routing components. Packet forwarding is the relatively simple task that needs to be done on a per-packet basis as quickly as possible. Forwarding uses the packet header to find an entry in[FWK]). A goal ofa routing table that determines thedifferentiated services architecture ispacket's output interface. Routing sets the entries in that table and may need tospecify these building blocks for future extensibility, bothreflect a range ofthe numbertransit andtypeother policies as well as to keep track of route failures. Routing tables are maintained as a background process to thebuilding blocksforwarding task. Further, routing is the more complex task andofit has continued to evolve over the past 20 years. Analogously, the differentiated servicesbuilt from them. Terminology used in this draftarchitecture contains two main components. One isdefinedthe fairly well-understood behavior inSec. 2. The differentiated services byte definition (DS byte)the forwarding path and the other isgiventhe more complex and still emerging background policy and allocation component that configures parameters used inSec. 3. In Sec. 4, two specificthe forwarding path. The forwarding path behaviors include the differential treatment an individual packet receives, as implemented by queueing service disciplines and/or queue management disciplines. These per-hop behaviors aredefined. Sec. 5 presents guidelines for per-hop behavior standardization. Sec. 6 discusses guidelines for allocationuseful and required in network nodes to deliver differentiated treatment ofper-hop behavior codepoints. Sec. 7 covers security considerations. We present two example services whichpackets no matter how we construct end-to-end or intra-domain services. These behaviors and the mechanisms to select them on a per-packet basis can bebuilt from these differentiated services primitivesdeployed inthe Appendix. This document is a concise description of the DS bytenetwork nodes today andits uses. Itit isintended to be read along with its companion documents,this aspect of the differentiated services architecture[ARCH],that is being addressed first. In addition, thedifferentiated services framework [FWK],forwarding path may require that some monitoring, policing, andother documents which specify additional per-hop behaviors, such as [Baker]. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are toshaping beinterpreted as described in [RFC2119]. Nichols, Blake Expires: November 1998 [Page 2] INTERNET-DRAFT Differentiated Services May 1998 2. Terminology Useddone on the network traffic designated for "special" treatment inThis Document Behavior aggregate: a collection of packetsorder to enforce requirements associated with thesame codepoint crossing a boundary in a particular direction. The terms "aggregate" and "behavior aggregate" are used interchangeably indelivery of the special treatment. Mechanisms for thisdocument. Boundary: Where two network "clouds"kind of traffic conditioning arelinked;also fairly well-understood. The wide deployment of such traffic conditioners is also important to enable the"clouds" can represent different administrative domains or autonomous systems, different trust regions, differentconstruction of services, though their actual use in constructing services may evolve over time. The configuration of networktechnologies (e.g., cell/ frame), hosts and routers, etc. A boundary can be further sub- divided into exitelements with respect to which packets get special treatment andentry nodes, where the exit/entry nodeswhat kinds of rules are to be applied to theupstream/downstream nodesuse ofa boundary linkresources is much less well-understood. Nevertheless, it is possible to deploy useful differentiated services in networks by using simple policies and static configurations. As described in [ARCH], there are agiven traffic direction. Codepoint: a specific valuenumber of ways to compose per-hop behaviors and traffic conditioners to create services. In thePHB fieldprocess, additional experience is gained that will guide more complex policies and allocations. The basic behaviors in theDS byte. DS byte:forwarding path can remain theIPv4 header TOS octet orsame while this component of theIPv6 Traffic Class octet when interpreted in conformancearchitecture evolves. Experiences with thedefinition given in this document. Mechanism: The implementationconstruction of such services will continue for some time, thus we avoid standardizing this construction as premature. Further, much ofa per-hop behavior according to a particular algorithm. Network edge: refers to a particular boundary node,theedgedetails of service construction are covered by legal agreements between different business entities and we avoid this as very much outside thedifferentiated services-compliant area.scope of the IETF. Thistypically is atdocument concentrates on theingress toforwarding path component. In thefirst-hoppacket forwarding path, differentiatedservices-aware router (or network node) a host's packets traverse, or atservices are realized by mapping theegress ofcodepoint contained in a field in thelast-hop differentiated services-aware routerIP packet header to a particular forwarding treatment, or per-hop behavior (PHB), at each network nodepackets traverse before arriving at a host. This is sometimes referred to as the boundary at a leaf router.along its path. Thenetwork edge mightcodepoints may beco-located with a host, subject to local policy. Per-hop Behavior:chosen from adescriptionset ofthe externally observable forwarding treatment applied at a differentiated services-enabled noderecommended values or may have purely local meaning. PHBs are expected to be implemented by employing abehavior aggregate. Service: a description of the overall treatmentrange of queue service and/ or queue management disciplines on acustomer's traffic within a particular domainnetwork node's output interface queue, for example weighted round-robin queue servicing orend-to-end. Traffic conditioner: an entity which performsdrop- preference queue management. Marking is performed by trafficconditioning functions and which may contain header classifiers, meters, policers, shapers,conditioners at network boundaries, including the edges of the network (first hop router or source host) andmarkers.administrative boundaries. Traffic conditionersare typically deployed in boundary nodes only. Traffic conditioning: control functions that can be applied to a behavior aggregate, application flow, or other operationally useful subset of traffic, e.g., routing updates. Thesemay includeheader classification, metering, policing, shaping, and packet marking. Traffic conditioning is used to enforce service level agreements between domains and to condition traffic to receive a differentiated service within a domain. Nichols, Blake Expires: November 1998 [Page 3] INTERNET-DRAFT Differentiated Services May 1998 To summarize,theDS byte is used to designate behaviors. A DS byte classifierprimitives of marking, metering, policing andper-hop behaviors based on those classificationsshaping (these mechanisms arerequireddescribed inall network nodes[ARCH]). Services are realized by the use ofa differentiated services-capable network. More extensiveparticular packet classification and trafficconditioners may appearconditioning mechanisms atboundaries. Multiple services can be supported by a single per-hop behavior used in concertboundaries coupled witha rangethe concatenation oftraffic conditioners. 3. Differentiated Services Byte Definitionper-hop behaviors along the transit path of the traffic. Anew header field, calledgoal of theDS byte,differentiated services architecture isdefined. The DS byte then overrides existing definitionsto specify these building blocks for future extensibility, both of theIPv4 TOS octet [RFC791]number and type of theIPv6 Traffic Class octet [IPv6]. Six bitsbuilding blocks and of theDS byte areservices built from them. Terminology usedto define the per-hop behavior (PHB) a packet experiences. A two-bit currently unused (CU)in this draft is defined in Sec. 2. The differentiated services field definition (DS field) isreserved and may be assigned later, e.g.,given in Sec. 3. In Sec. 4, we discuss the desire forexplicit congestion notification [ECN]. The valuepartial backwards compatibility with current use of theCU bits MUST be ignored by differentiated services-compliant nodes when determining the per-hop behavior to apply toIP precedence field. As areceived packet. The DS byte structure is presented below: 0 1 2 3 4solution, we introduce Class Selector codepoints and Class Selector Compliant PHBs. Sec. 56 7 +---+---+---+---+---+---+---+---+ | PHB | CU | +---+---+---+---+---+---+---+---+ PHB:presents guidelines for per-hop behaviorCU: currently unused Implementors should note that the PHB field isstandardization. Sec. 6bits wide. Routers MUST identify PHBs by matching against the entire 6-bitdiscusses guidelines for allocation of codepoints. Sec. 7 covers security considerations. We present examples of class selector compliant PHBfield, e.g., by treatingimplementations in thevalue or "codepoint"Appendix. This document is a concise description of thePHBDS fieldas a table index or a switch/case statement variable whichand its uses. It isusedintended toselect a particular packet handling mechanism which has been implemented in that device. Although the IANA may assume some structure withinbe read along with thePHB field when assigning values for new per-hop behaviors, we define it as an unstructured fielddifferentiated services architecture [ARCH]. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are tofacilitate the definition of future per-hop behaviors. Packets received with an unrecognized codepoint SHOULDbeforwardedinterpreted asif they were marked for the Default behavior (see Sec. 4). The structuredescribed in [RFC2119]. 2. Terminology Used in This Document Behavior aggregate: a collection ofthe DS byte shown above is incompatiblepackets with theexisting definition of the IPv4 TOS octetsame codepoint crossing a boundary in[RFC791, RFC1349].a particular direction. Thepresumption is that differentiated services-aware networks protect themselves by deploying re-markingterms "aggregate" and "behavior aggregate" are used interchangeably in this document. Boundary: the edge of a DS domain, where classifiers and traffic conditioners are likely to be deployed. A boundary can be further sub-divided into ingress and egress nodes,as should networks usingwhere theRFC 791 Precedence designations. Correct operational procedure should follow [RFC791], which states: "Ifingress/egress nodes are theactual use of Nichols, Blake Expires: November 1998 [Page 4] INTERNET-DRAFT Differentiated Services May 1998 these precedence designations isdownstream/upstream nodes ofconcern toaparticular network, itboundary link in a given traffic direction. A boundary typically is found at theresponsibility of that networkingress tocontroltheaccess to, and use of, those precedence designations." Validatingfirst-hop differentiated services-compliant router (or network node) a host's packets traverse, or at thevalueegress of theDS byte atlast-hop differentiated services-compliant router or networkboundaries is sensible in any case since an upstream node can easily set it to any random value. Differentiated services-enabled networks which are not suitably isolated by a re-marking boundarynodemay deliver unpredictable service. A companion document [Baker] describes howpackets traverse before arriving at aminimal necessary amount of compatibility with RFC 791 Precedence can be maintained under use of the DS byte. 4. Initial Per-Hop Behavior Definitions Two per-hop behaviors are already in widespread use and we propose them for standardization: Default (DE)host. This is sometimes referred to as thecommon, best-effort forwarding behavior available in existing routers and is already standardized in [RFC1812]. Expedited Forwarding (EF) isboundary at a"high priority" forwarding behavior such asleaf router. A boundary might beused for delay sensitive traffic such as audio and video. The codepoints for these two behaviors are shown below: Codepoint Behavior name --------- ------------- 000000 Default (DE) 000010 Expedited Forwarding (EF) and the behaviors are defined as follows: Default:co-located with aDE-marked packet is queued forhost, subject to local policy. Classifier: anoutgoing interfaceentity which selects packets based on the content of packet headers according to defined rules. Codepoint: a specific value of theavailabilityDSCP portion ofbuffer resources and accordingthe DS field. Recommended codepoints SHOULD map to specific, standardized PHBs. Multiple codepoints MAY map toany active queue management policy that may be implemented [ACTIVE]. It is not required that all arriving packets are seen at the output, but it is RECOMMENDED thattheaggregate of packetssame PHB. Differentiated Service-compliant: in compliance withthis marking not be completely starved. Forwarding requirements are as soon as possible, andthecorresponding output bandwidthrequirementsare as much as possible, subject to the other constraintsspecified in this document. Differentiated Services domain: a contiguous portion of therouter's scheduling and buffer management sub-systems [CCBES]. The Default behavior is intended to closely approximate the best-effort behaviorInternet over which a consistent set ofexisting routers. The codepoint chosen for Default behavior is compatible with existing practice [RFC791, RFC1349]. A packet originating fromdifferentiated services policies are administered in anodecoordinated fashion. A differentiated services domain can represent different administrative domains or autonomous systems, different trust regions, different network technologies (e.g., cell/ frame), hosts andmarked forrouters, etc. Also DS domain. Differentiated Services field: theDefault behavior may be re-markedIPv4 header TOS octet or the IPv6 Traffic Class octet when interpreted in conformance withanother PHB codepoint atthe definition given in this document. Also DS field. Mechanism: The implementation of adownstream network boundary to enable preferential forwarding within that network, possibly subjectper-hop behavior according tosome negotiated agreement. Expedited Forwarding: for traffic levelsa particular algorithm. Microflow: a single instance of an application-to-application flow ofEF-markedpackets whichareis identified by source address, source port, destination address, destination port and protocol id. Per-hop Behavior (PHB): asmall fraction of the link ratedescription ofan outgoing interface,theNichols, Blake Expires: November 1998 [Page 5] INTERNET-DRAFT Differentiated Services May 1998 implementationexternally observable forwarding treatment applied at a differentiated services-compliant node to a behavior aggregate. The description ofExpedited Forwardinga PHB shouldexhibit the following behavioral characteristics: low absolute delay, low delay variation, and extremely low loss, irrespective ofbe sufficiently detailed to allow therateconstruction ofnon-EF-marked traffic which is forwarded throughpredictable services. Traffic conditioning: control functions thatsame outgoing interface. The delay and loss characteristics shouldcan besimilarapplied tothat observed byasinglebehavior aggregate, application flow, or other operationally useful subset of traffic, e.g., routing updates. These may include metering, policing, shaping, and packettraversingmarking. Traffic conditioning is used to enforce service level agreements between domains and to condition traffic to receive a differentiated service within a domain by marking packets with the appropriate codepoint in the DS field and by monitoring and altering the temporal characteristics of the aggregate where necessary. Traffic conditioner: anotherwise idle router,entity which performs traffic conditioning functions andshould not vary significantly aswhich may contain meters, policers, shapers, and markers. Traffic conditioners are typically deployed in boundary nodes only. Service: a description of therateoverall treatment ofnon-EF-markeda customer's trafficis increased. The maximum ratewithin a particular domain, within a set ofEF-markedinterconnected DS domains, or end-to-end. Service descriptions are covered by administrative policy and services are constructed by applying traffic conditioning to create behavior aggregates whichcan be forwarded on an outgoing link while satisfyingexperience a known PHB at each hop within thedesired behavioral characteristics is implementation-dependent. The Expedited Forwarding behaviorDS domain. Multiple services can berealizedsupported by avariety of mechanisms, including strict priority queueing, WFQ or variants [HPFQA], weighted round-robin queueing with a large weight for the EF queue, or CBQ [CBQ]. The Expedited Forwardingsingle per-hop behaviormay beusedto implement services requiring low delay and low jitter. Service guarantees for this classin concert with a range of trafficSHOULD depend on conformance to some rateconditioners. To summarize, classifiers andburstiness constraints which are enforced bytraffic conditionersat network boundaries, possibly subjectare used tosome negotiated agreement. EF-marked aggregatesselect which packets are to be added to behavior aggregates. Aggregates receive differentiated treatment inexcess of these constraints may have some or all of their packets delayed (byashaper) or discarded. Note that conforming implementations will commonly employ separate scheduler queues for DE- and EF-marked packets. Thus it should be expected that packet streams which include both DE-domain andEF-marked packetsmaysuffer packet reordering when traversing a conforming router. 5. Per-Hop Behavior Standardization Guidelines Thirty-two PHB codepoints are reserved for standardization, and 32 codepoints are reserved for experimental or local use (EXP/LU) (see Sec. 6 for further details). The behavioralalter the temporal characteristics ofa PHB are to be standardized, and notthealgorithms oraggregate to conform to some requirements. A packet's DS field is used to designate themechanismspacket's behavior aggregate and is subsequently used toimplement them.determine which forwarding treatment the packet receives. Arouter may have a (possibly large) set of parameters thatDS field classifier which canbe used to control how packets are scheduled onto anselect a differential outputinterface (e.g., N separate queues with settable priorities,queuelengths, round- robin weights, drop algorithm, drop preference weights and thresholds, etc). To illustrateservicing discipline (or PHB) based on thedistinction between a PHB and a mechanism, we point out thatcodepoint in theEF PHB mightDS field SHOULD beimplemented by several mechanisms, including: strict priority queueing, WFQ or variants [HPFQA], weighted round-robin queueing within all network nodes of alarge weight for the EF queue, or CBQ [CBQ]. Router vendors are free to offer whatever parametersdifferentiated services domain. The classifiers andcapabilitiestraffic conditioners aredeemed useful or marketable. When a particular, standardized PHB is implementedconfigured in accordance with some service specification, arouter, a vendor may use any algorithm that satisfies the definitionmatter of administrative policy outside thePHB according toscope of this document. Additional differentiated services definitions are in [ARCH]. 3. Differentiated Services Field Definition A new header field, called thestandard. The router's capabilities and its particular configuration determine the Nichols, Blake Expires: November 1998 [Page 6] INTERNET-DRAFT Differentiated Services May 1998 different ways that packets can be treated. Service providers are not requiredDS field, is defined, which is intended tousesupersede thesame router mechanisms or configurations to enable service differentiation within their networks,existing definitions of the IPv4 TOS octet [RFC791] and the IPv6 Traffic Class octet [IPv6]. Six bits of the DS field arefreeused as a codepoint (DSCP) toconfigureselect therouter parameters in whatever way thatPHB a packet experiences at each node. A two-bit currently unused (CU) field isappropriate for their service offerings and traffic engineering objectives. Over time certain common per-hop behaviors are likely to evolve (i.e., ones that are particularly useful for implementing end-to-end services)reserved andthesemay beassociated with particular EXP/LU PHB codepoints in the DS byte, allowing use across domain boundaries (see Sec. 6). These PHBs are candidatesassigned later, e.g., forfuture standardization. Only those per-hop behaviors that are not described by an existing PHB standard, and have been implemented, deployed, and shown to be useful, shouldexplicit congestion notification. The value of the CU bits MUST bestandardized. Since current experience withignored by differentiatedservices is quite limited, it is premature to hypothesizeservices-compliant nodes when determining theexact specification of theseper-hopbehaviors. This specification has left room in the codepoint spacebehavior toallow for evolution, thus the defined space is intentionally sparse. 6. IANA Considerationsapply to a received packet. ThePHB field in theDSbyte is capable of conveying 64 distinct codepoints. The codepoint spacefield structure isdivided into three pools for the purpose ofpresented below: 0 1 2 3 4 5 6 7 +---+---+---+---+---+---+---+---+ | DSCP | CU | +---+---+---+---+---+---+---+---+ DSCP: differentiated services codepointassignment and management:CU: currently unused Implementors should note that the DSCP field is six bits wide. DS- compliant nodes MUST select PHBs by matching against the entire 6- bit DSCP field, e.g., by treating the value of the field as apooltable index which is used to select a particular packet handling mechanism which has been implemented in that device. The DSCP field is defined as an unstructured field to facilitate the definition of future per- hop behaviors. With some exceptions noted below, the mapping of32codepoints(Pool 1)to PHBs MUST beassigned by Standards Action as defined in [CONS], a poolconfigurable. A DS-compliant node MUST support the logical equivalent of16a configurable mapping table from codepoints(Pool 2)tobe reserved for experimentalPHBs. PHB specifications MUST include a recommended default codepoint, but operators MAY choose to use different codepoints, either in addition to orLocal Use (EXP/LU) as definedin[CONS], and a poolplace of16 codepoints (Pool 3) whichthe recommended default. Note that if operators do so choose, re-marking of DS fields will be necessary at administrative boundaries even if the same PHBs areinitially availableimplemented on both sides of the boundary. See [ARCH] forexperimental or local use, but which shouldfurther discussion of re- marking. The recommended default codepoint for a PHB must bepreferentially utilizedunique forstandardized assignments if Pool 1 is ever exhausted.codepoints in the standard space (see Sec. 6). Thepoolsexceptions to configurability aredefinedfor codepoints 'xxx000' and are noted in Sec. 4. Packets received with an unrecognized codepoint SHOULD be forwarded as if they were marked for thefollowing table (where 'x' refersDefault behavior (see Sec. 4). Such packets MUST NOT cause the network node toeither '0' or '1'): Pool Codepoint space Assignment Policy ---- --------------- ----------------- 1 xxxxx0 Standards Action 2 xxxx11 EXP/LU 3 xxxx01 EXP/LU (*) (*)crash. The structure of the DS field shown above is incompatible with the existing definition of the IPv4 TOS octet in [RFC791, RFC1349]. The presumption is that differentiated services domains protect themselves by deploying re-marking boundary nodes, as should networks using the RFC 791 Precedence designations. Correct operational procedure should follow [RFC791], which states: "If the actual use of these precedence designations is of concern to a particular network, it is the responsibility of that network to control the access to, and use of, those precedence designations." Validating the value of the DS field at network boundaries is sensible in any case since an upstream node can easily set it to any random value. Differentiated services domains which are not suitably isolated by a re-marking boundary node maybe utilized for future Standards Action allocationsdeliver unpredictable service. Nodes MAY rewrite the DS field asnecessary This document definesneeded to provide a desired local or end-to-end service. Specifications of DS field translations at network boundaries are the subject of Service Level Agreements between providers and users, and are outside the scope of this document. Standardized PHBs allow providers to build their services from a well-known set of packet forwarding treatments that can be expected to be present in the equipment of many vendors. 4. Historical Codepoint Definitions and PHB Requirements The DS field will have a limited backwards compatibility with current practice, described in this section. Backwards compatibility is addressed in two ways. First, per-hop behaviors that are already in widespread use MUST be included in a DS-compliant node. In addition, there are some codepoints that correspond to historical use of the IP Precedence field and we reserve these codepoints to map to PHBs that meet the general requirements specified in [RFC791], though the specific differentiated services PHBs mapped to by those codepoints MAY have additional specifications. 4.1 A Default PHB A "default" PHB MUST be available in a DS-compliant node. This is the common, best-effort forwarding behavior available in existing routers as standardized in [RFC1812]. When no other agreements are in place, it is assumed that packets belong to this aggregate. Such packets may be sent into a network without adhering to any particular rules and the network will deliver as many of these packets as possible and as soon as possible, subject to other resource policy constraints. A reasonable implementation of this PHB would be a queueing discipline that sends packets of this aggregate whenever the output link is not required to satisfy another PHB. A reasonable policy for constructing services would ensure that the aggregate was not "starved" or else the network provider might become quite unpopular. This permits senders that are not differentiated services-aware to continue to use the network in the same manner as today and to have the same kinds of expectations from the network regarding service. The RECOMMENDED codpoint for the Default PHB is the bit pattern '000000'; the value '000000' MUST map to a PHB that meets these specifications. The codepoint chosen for Default behavior is compatible with existing practice [RFC791, RFC1349]. A packet initially marked for the Default behavior MAY be re-marked with another codepoint as it passes a boundary into another DS domain so that it will be forwarded using a different PHB within the domain, possibly subject to some negotiated agreement between the peering domains. 4.2 Once and Future IP Precedence Field Use We wish to maintain some form of backward compatibility with present uses of the IP Precedence Field: bits 0-2 of the IPv4 TOS octet. Routers exist that use the IP Precedence field to select different per-hop forwarding treatments quite similarly to the use proposed here for the DSCP field. Thus, a simple prototype diffserv architecture can be quickly deployed by appropriately configuring these routers. Further, IP systems today understand the location of the IP Precedence field, and thus if these bits are used in a similar manner as DS-compliant equipment is deployed, significant failures are not likely during early deployment. In other words, strict DS- compliance need not be ubiquitous even within a single service provider's network if bits 0-2 of the DSCP field are employed in a manner similar to, or subsuming, the deployed uses of the IP Precedence field. 4.2.1 IP Precedence History and Evolution in Brief The IP Precedence field is something of a forerunner of the DS field. IP Precedence, and the IP Precedence Field, were first defined in [RFC791]. The values that the three-bit IP Precedence Field might take were assigned to various uses, including network control traffic, routing traffic, and various levels of privilege. The least level of privilege was deemed "routine traffic". In [RFC791], the notion of Precedence was defined broadly as " An independent measure of the importance of this datagram." Not all values of the IP Precedence field were assumed to have meaning across boundaries, for instance "The Network Control precedence designation is intended to be used within a network only. The actual use and control of that designation is up to each network." [RFC791] Although early BBN IMPs implemented the service, early commercial routers and UNIX IP forwarding code generally did not. As networks became more complex and customer requirements grew, commercial routers developed ways to implement various kinds of queueing services including priority queueing, which were generally based on policies encoded in filters in the routers, which looked at IP addresses, IP protocol numbers, TCP or UDP ports, and other header fields. IP Precedence was and is among the options such filters can look at. In short, IP Precedence is widely deployed and widely used, if not in exactly the manner intended in [RFC791]. This was recognized in [RFC1122], which states that while the use of the IP Precedence field is valid, the specific assignment of the priorities in [RFC791] were merely historical. 4.2.2 Subsuming IP Precedence into Class Selector Codepoints A specification of the packet forwarding treatments selected by the IP precedence field today would have to be quite general; probably not specific enough to build predictable services from in the differentiated services framework. To preserve partial backwards compatibility with known current uses of the IP Precedence field without sacrificing future flexibility, we have taken the approach of describing minimum requirements on a set of PHBs that are compatible with most of the existing forwarding treatments selected by the IP Precedence field. In addition, we give a set of codepoints that MUST map to PHBs meeting minimum requirements. The PHBs mapped to by these codepoints MAY have a more detailed list of specifications in addition to the required ones stated here. Other codepoints MAY map to the same PHBs. We refer to this set of codepoints as the Class Selector codepoints and the minimum requirements for PHBs that these codepoints may map to are called the Class Selector PHB requirements. 4.2.2.1 The Class Selector Codepoints The DS field values of 'xxx000|xx', or DSCP = 'xxx000' and CU subfield unspecified are reserved as a set of Class Selector Codepoints. PHBs which are mapped to by these codepoints MUST meet the Class Selector PHB requirements in addition to preserving the Default PHB requirement on codepoint '000000'. 4.2.2.2 The Class Selector PHB Requirements We refer to a Class Selector codepoint with a larger numerical value than another Class Selector codepoint as having a higher relative order while a Class Selector codepoint with a smaller numerical value than another Class Selector codepoint is said to have a lower relative order. PHBs selected by a Class Selector codepoint SHOULD give packets a probability of timely forwarding that is not lower than that given to packets marked with a Class Selector codepoint of lower relative order. Although a particular packet marked with a lower relative order Class Selector codepoint might be observed to be forwarded earlier than a particular packet marked with a higher relative order, sample observations that take place over a reasonable period of network history will conform to this requirement. A discarded packet is considered to be an extreme case of untimely forwarding. Further, PHBs selected by distinct Class Selector codepoints SHOULD be independently forwarded; that is, packets marked with different Class Selector codepoints MAY be reordered. A network node MAY have limits on the amount of the node's resources that can be used by each of these PHBs. PHB groups whose specification meets these requirements are referred to as Class Selector Compliant PHBs. It is easy to see that the Class Selector PHB Requirements on codepoint '000000' are compatible with those listed in Sec. 4.1 for the Default PHB. 4.2.2.3 Using the Class Selector PHB Requirements for IP Precedence Compatibility A DS-compliant network node can be deployed with a set of one or more Class Selector Compliant PHB groups. This document states that the set of codepoints 'xxx000' MUST map to such a set of PHBs. As it is also possible to map multiple codepoints to the same PHB, the vendor or the network administrator might configure the network node to map codepoints to PHBs irrespective of bits 3-5 of the DSCP field to yield a network that is compatible with historical IP Precedence use. Thus, for example, codepoint '011010' would map to the same PHB as codepoint '011000'. 4.2.2.4 Example Mechanisms for Implementing Class Selector Compliant PHB Groups Class Selector Compliant PHBs can be realized by a variety of mechanisms, including strict priority queueing, WFQ or variants [HPFQA], weighted round-robin queueing (WRR), or Class-Based Queuing [CBQ]. The distinction between PHBs and mechanisms is described in more detail in Sec. 5. It is important to note that these mechanisms might be available through other PHBs (standardized or not) that are available in a particular vendor's equipment. For example, future documents may standardize a Strict Priority Queueing PHB for a set of recommended codepoints. A network administrator might configure those routers to select the Strict Priority Queueing PHBs with codepoints 'xxx000' in conformance with the requirements of this document. As a further example, another vendor might employ a CBQ mechanism in its routers. The CBQ mechanism could be used to implement the Strict Priority Queueing PHBs as well as a set of Class Selector Compliant PHBs with a wider range of features than would be availble in a set of PHBs that did no more than meet the minimum Class Selector PHB requirements. More examples are given in the Appendix. 4.3 Summary This document defines codepoints 'xxx000' as the Class Selector codepoints, where PHBs selected by these codepoints must meet the Class Selector PHB Requirements described in Sec. 4.2.2.2. This is done to preserve a useful level of backward compatibility with current uses of the IP Precedence field in the Internet without unduly limiting future flexibility. In addition, codepoint '000000' is used as the Default PHB value for the Internet and, as such, is not configurable. The remaining seven non-zero Class Selector codepoints are configurable only to the extent that they map to PHBs that meet the requirements in Sec. 4.2.2.2. 5. Per-Hop Behavior Standardization Guidelines Thirty-two DS codepoints are reserved for standardization as RECOMMENDED codepoints, and 32 codepoints are reserved for experimental or local use (EXP/LU) (see Sec. 6 for further details). Codepoint space Usage Policy --------------- ------------ xxxxx0 Reserved for RECOMMENDED codepoints xxxxx1 EXP/LU The behavioral characteristics of a PHB are to be standardized, and not the algorithms or the mechanisms used to implement them. A node may have 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). To illustrate the distinction between a PHB and a mechanism, we point out that Class Selector Compliant PHBs might be implemented by several mechanisms, including: strict priority queueing combined with WFQ or variants [HPFQA], weighted round-robin queueing, or CBQ [CBQ]. It is RECOMMENDED that PHB implementations do not introduce any packet reordering within a microflow. Where PHBs are defined as a group, their definitions MUST specify any possible packet re-ordering implications which may occur if different packets within a microflow are marked for different PHBs within the group. Network equipment vendors are free to offer whatever parameters and capabilities are deemed useful or marketable. When a particular, standardized PHB is implemented in a node, a vendor may use any algorithm that satisfies the definition of the PHB according to the standard. The node's capabilities and its particular configuration determine the different ways that packets can be treated. Service providers are not required to use the same node mechanisms or configurations to enable service differentiation within their networks, and are free to configure the node parameters in whatever way that is appropriate for their service offerings and traffic engineering objectives. Over time certain common per-hop behaviors are likely to evolve (i.e., ones that are particularly useful for implementing end-to-end services) and these may be associated with particular EXP/LU PHB codepoints in the DS field, allowing use across domain boundaries (see Sec. 6). These PHBs are candidates for future standardization. Only those per-hop behaviors that are not described by an existing PHB standard, and have been implemented, deployed, and shown to be useful, should be standardized. Since current experience with differentiated services is quite limited, it is premature to hypothesize the exact specification of these per-hop behaviors. This specification has left room in the codepoint space to allow for evolution, thus the defined space is intentionally sparse. 6. IANA Considerations The DSCP field in the DS field is capable of conveying 64 distinct codepoints. The codepoint space is divided into three pools for the purpose of codepoint assignment and management: a pool of 32 RECOMMENDED codepoints (Pool 1) to be assigned by Standards Action as defined in [CONS], a pool of 16 codepoints (Pool 2) to be reserved for experimental or Local Use (EXP/LU) as defined in [CONS], and a pool of 16 codepoints (Pool 3) which are initially available for experimental or local use, but which should be preferentially utilized for standardized assignments if Pool 1 is ever exhausted. The pools are defined in the following table (where 'x' refers to either '0' or '1'): Pool Codepoint space Assignment Policy ---- --------------- ----------------- 1 xxxxx0 Standards Action 2 xxxx11 EXP/LU 3 xxxx01 EXP/LU (*) (*) may be utilized for future Standards Action allocations as necessary This document defines the assignment of eight codepoints (xxx000) which are drawn from Pool 1 above. These codepoints MUST be mapped, not to specific PHBs, but to PHBs that meet "at least" the requirements set out in Sec. 4.2.2.2 to provide a minimal level of backwards compatibility with IP Precedence as defined in [RFC791] and as deployed in some current equipment. 7. Security Considerations This section considers security issues raised by the introduction of differentiated services, primarily the potential for denial-of- service attacks, and the related potential for theft of service by unauthorized traffic (Section 7.1). Section 7.2 addresses the operation of differentiated services in the presence of IPsec including its interaction with IPsec tunnel mode and other tunnelling protocols. More extensive treatment of the security concerns raised by the overall differentiated services architecture are discussed in [ARCH]. 7.1 Theft and Denial of Service The primary goal of differentiated services is to allow different levels of service to be provided for traffic streams on a common network infrastructure. A variety of techniques may be used to achieve this, but the end result will be that some packets receive different (e.g., better) service than others. The mapping of network traffic to the specific behaviors that result in different (e.g., better or worse) service is indicated primarily by the DS codepoint, and hence an adversary may be able to obtain better service by modifying the codepoint to values indicating behaviors used for enhanced services or by injecting packets with such codepoint values. Taken to its limits, such theft of service becomes a denial-of-service attack when the modified or injected traffic depletes the resources available to forward it and other traffic streams. The defense against this class of theft- and denial-of-service attacks consists of the combination of traffic conditioning at network boundaries with security and integrity of the network infrastructure within a DS domain. Network boundary nodes MUST ensure that all traffic entering the domain has codepoint values appropriate to the traffic and the domain, remarking the traffic with new codepoint values if necessary. These boundary nodes are the primary line of defense against theft- and denial-of-service attacks based on modified codepoints, as success of any such attack indicates that the codepoints used by the attacking traffic were inappropriate. An important instance of a boundary node is that any traffic-originating node in a DS domain is the initial boundary node forstandardization,that traffic. Interior nodes in a DS domain rely on DS codepoints to associate traffic with the forwarding PHBs, andrecommendsare not required to check codepoint values before using them. As a result, theassignmentinterior nodes depend on the correct operation oftwothe DS domain to prevent the arrival of traffic with inappropriate codepoints(000000that would disrupt operation of the domain. 7.2 IPsec and000010) which are drawn from Pool 1 above. Nichols, Blake Expires: November 1998 [Page 7] INTERNET-DRAFT Differentiated Services May 1998Tunnelling Interactions TheIANA should noteIPsec protocol, as defined in [ESP,AH], does not include the IP header's DS field in any of its cryptographic calculations (in the case of tunnel mode, it is the outer IP header's DS field thata companion document may recommend assignmentis not included). Hence modification of thecodepoint space xxxx00 within Pool 1 for useDS field byper-hop behaviors which provideaminimal levelnetwork node has no effect on IPsec's end-to-end security, because it cannot cause any IPsec integrity check to fail. As a consequence, IPsec does not provide any defense against an adversary's modification ofbackwards compatibility with IP Precedencethe DS field (i.e., a man-in-the-middle attack), asdefinedthe adversary's modification will also have no effect on IPsec's end-to-end security. IPsec's tunnel mode provides security for the encapsulated IP header's DS field. A tunnel mode IPsec packet contains two IP headers: an outer header supplied by the tunnel ingress node and an encapsulated inner header supplied by the original source of the packet. When an IPsec tunnel is hosted (in whole or in[RFC791]. 7. Security Considerationspart) on a differentiated services network, the intermediate network nodes operate on the DS field in the outer header. At the tunnel egress node, IPsec processing includes removing the outer header and forwarding the packet (if required) using the inner header. The IPsec protocol REQUIRES that the inner header's DS field not be changed by this decapsulation processing to ensure that modifications to the DS field cannot be used to launch theft- or denial-of-service attacks across an IPsec tunnel endpoint. This document makes no change to that requirement. If the inner IPSecurity Authentication Header (AH) doesheader has notcoverbeen processed by a boundary node for theIPv4 TOS octet ortunnel egress node's DS domain, theIPv6 Traffic Class field intunnel egress node is the boundary node for traffic exiting the tunnel, and hence MUST ensure that the resulting traffic has appropriate DS codepoints. When IPsec tunnel egress decapsulation processing includes a sufficiently strong cryptographic integrity checkvalue computation [AH]. This behaviorof the encapsulated packet (where sufficiency is determined by local security policy), the tunnel egress node can safely assume that the DS field infact essential forthedeployment of differentiated services sinceinner header has the same valueofas it had at the tunnel ingress node. An important consequence is that otherwise insecure links within a DSbyte maydomain can bechanged in transit sosecured by a sufficiently strong IPsec tunnel. This analysis and its implications apply to any tunneling protocol that performs integrity checks, but thesource host does not know what value will be delivered tolevel of assurance of thedestination host. Also, sinceinner header's DS field depends on thenetwork is free to ignorestrength of theDS byte, end-to-endintegrity check performed by the tunneling protocol. In the absence ofa DS byte value does not guarantee that a differentiated service has been delivered. Separate measurement andsufficient assurancemechanisms are needed to ensure that any negotiated differentiated services are being provided. Packets markedforExpedited Forwarding receive priority service relative to packets with other markings. The rate of EF-marked packetsa tunnel that may transit nodes outside the current DS domain (or is otherwise vulnerable), the encapsulated packet MUST beregulated to prevent starvation of other traffic. EF-marked traffic received acrosstreated as if it had arrived at a boundarylink SHOULD be authenticated (e.g., either by IPsec, by header classification, or by aggregate policing). Additional security issues offrom outside thegeneral differentiated services architecture are discussed in [ARCH].DS domain. 8. Acknowledgements The authors would like to acknowledge the Differentiated Services Working Group for discussions which helped shape this document. 9. References [ACTIVE] B. Braden, et. al., "Recommendations on Queue Management and Congestion Avoidance in the Internet", Internet RFC 2309, April 1998. [AH] S. Kent and R. Atkinson, "IP Authentication Header", Internet Draft<draft-ietf-ipsec-auth-header-05.txt>, March<draft-ietf-ipsec-auth-header-07.txt>, July 1998. [ARCH] Differentiated Services Architecture Document (work in preparation).Nichols, Blake Expires: November 1998 [Page 8] INTERNET-DRAFT Differentiated Services May 1998 [Baker] F. Baker, S. Brim, T. Li, F. Kastenholz, S. Jagannath, and J. Renwick, "IP Precedence in Differentiated Services Using the Assured Service", Internet Draft <draft-diff-serv-precedence-00.txt>, April 1998.[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. [CLARK] D. Clark and W. Fang, "Explicit Allocation of Best Effort Packet Delivery Service", http://diffserv.lcs.mit.edu/Papers/exp-alloc-ddc-wf.pdf [CONS] T. Narten and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", Internet Draft <draft-iesg-iana-considerations-03.txt>, March 1998. [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.[ECN] K. Ramakrishnan and S. Floyd, "A Proposal to Add Explicit Congestion Notification (ECN) to IPv6[ESP] S. Kent andto TCP",R. Atkinson, "IP Encapsulating Security Payload (ESP)", Internet Draft<draft-kksjf-ecn-00.txt>, November 1997. [FWK] Differentiated Services Framework Document (work in preparation).<draft-ietf-ipsec-esp-v2-06.txt>, July 1998. [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. [RFC1122] RFC 1122, "Requirements for Internet hosts - communication layers". R.T. Braden. Oct-01-1989. [RFC1349] P. Almquist, "Type of Service in the Internet Protocol Suite", Internet RFC 1349, July 1992. [RFC1812] F. Baker, editor, "Requirements for IP Version 4 Routers", Internet RFC 1812, June 1995. [RFC2119] S. Bradner, "Key words for use in RFCs to Indicate Requirement Levels", Internet RFC 2119, March 1997. [2BIT] K. Nichols, V. Jacobson, and L. Zhang, "A Two-bit Differentiated Services Architecture for the Internet",http://www-nrg.ee.lbl.gov/papers/2bitarch.pdf. Nichols, Blake Expires: November 1998 [Page 9] INTERNET-DRAFT Differentiated Services May 1998 Appendix A. Serviceftp://ftp.ee.lbl.gov/papers/dsarch.pdf. Appendix. Examplesin this Framework We present two example services which mayof Class Selector Compliant PHB Implementations This appendix shows how three different mechanisms can beimplemented using the per-hop behaviors defined in this document. We do not attemptused todefine "qualityimplement Class Selector Compliant PHBs. A.1 Priority Queues This approach employs eight queues where each ofservice" 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 characterizetheservices as being "for real-time video" or "for file transfer data". Instead, we characterizeeight codepoints maps to aservice by the type of performance packets ofdifferent queue. Queues are ranked in priority order so thatservice can expecteach queue, from thenetwork. Any IP applicationperspective of the next lower priority queue, implements a "low loss, low delay" forwarding behavior. As an alternative, one canutilize eitheremploy four queues, where bits 0 and 1 ofthese services;thechoice is upcodepoint are used to select thecustomer. Service: Best Effort PHBs used: Default Service definition: "like today" (as soon as possible; as much as possible [CCBES]). At the network edge, packetsqueue. Bit 2 of theBest Effort aggregate should be marked withcodepoint is used as a drop preference within theDefault PHB (though thisqueue. RED isalsoused within theforwarding treatment that a packetqueues according to its usual parameters, but withan unknown markingin-profile traffic having a higher min-threshold and max-threshold than out-of-profile traffic, and therefore experiencing a higher probability of timely delivery. Out-of-profile traffic shouldreceive). This might be accomplished by marking all packets atconsider thenetwork edge forpresence of lower order in-profile traffic in theDefault PHB which cancalculation of drop probability [CLARK]. The strength of this approach is that order is maintained within each precedence queue, but higher ordered traffic may bechanged if the packet header matches an multi-field classifier set up atsent before lower ordered traffic. It has a weakness, however, in that apart from admission control and policing, it affords lower precedence traffic no assurance of eventual transmission. A.2 Round Robin Queuing Like thenetwork edge. Who/how to use this:previous example, this approach employs a queue per codepoint, but each queue is emptied at some non-zero rate, in round- robin order, rather than being given simple priority service. Thebasic servicestrength ofthe Internet, what one gets when merely buying connectivity. Service: Premium PHBs used: Expedited Forwarding Service definition: Premium servicethis approach is that higher ordered traffic is, on average, queued for apeak-limited, extremely low- delay service, resembling a leased line [2BIT]. Atshorter duration than lower ordered traffic. It also avoids thenetwork edge, wherelockout issue that priority queuing systems experience. A counter-intuitive scenario can occur, however, if aPremium aggregatehigh rate queue isfirst created, it must be either shaped or policed toheavily utilized while a lower ratewith no more than a two-packet burst. A policer for Premium servicequeue issetunder-utilized; a packet directed todrop packets which exceed the configured peak rate. For this service,thepeaklower rateof the Premium aggregate across any boundary mustqueue can actually bespecifiedbetter protected from loss andthe rate must be smaller than the link capacity (in practice, it is expectedvariation in delay when placed in an empty or very short queue. A.3 Virtual Circuit or Virtual Channel Selection The difference between this approach and Round Robin Queuing is somewhat academic. If one has a serial line tobeagood deal less thanrouting neighbor, and manages the linkcapacity). Policing to this rate is expected atusing a load sharing algorithm, theingress of any domain andload sharing algorithm in some sense emulates thepolicing action taken may beway the line would behave if it were in reality a number of different lines, or if it were one channelized line. In a virtual circuit selection model, the emulation becomes reality - one deploys a set oftwo possibilities only: 1) drop the over-rate packetrate-limited VCs to a routing neighbor, and2) hold the over-rate packet until it will beuses them incompliance withthepeak rate (shaping). Who/howsame way one would otherwise have used round-robin queues. The strengths and weaknesses are very similar touse this: Voice-over-IP "trunk", videoconference, fixed size transfer in fixed time, virtual leased line, low delay applications. Nichols, Blake Expires: November 1998 [Page 10] INTERNET-DRAFT Differentiated Services May 1998those of Round Robin Queuing, except that this allows one to capitalize on the capabilities of a link layer such as ATM or Frame Relay. Authors' AddressesSteven 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.comKathleen 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.comNichols,Steven BlakeExpires: November 1998 [Page 11]Torrent Networking Technologies (effective 7/15) E-mail: slblake@intercenter.net Fred Baker Cisco Systems 519 Lado Drive Santa Barbara, California 93111 Phone: (408) 526-4257 Email: fred@cisco.com David L. Black The Open Group 11 Cambridge Center Cambridge, MA 02142 Phone: (617) 621-7347 Email: d.black@opengroup.org ----