home *** CD-ROM | disk | FTP | other *** search
Text File | 2003-06-11 | 52.4 KB | 1,236 lines |
-
-
-
-
-
-
- Network Working Group S. Shenker
- Request for Comments: 2216 J. Wroclawski
- Category: Informational Xerox PARC/MIT LCS
- September 1997
-
-
- Network Element Service Specification Template
-
-
- Status of this Memo
-
- This memo provides information for the Internet community. It does
- not specify an Internet standard of any kind. Distribution of this
- memo is unlimited.
-
- Abstract
-
- This document defines a framework for specifying services provided by
- network elements, and available to applications, in an internetwork
- which offers multiple qualities of service. The document first
- provides some necessary context -- including relevant definitions and
- suggested data formats -- and then specifies a "template" which
- service specification documents should follow. The specification
- template includes per-element requirements such as the service's
- packet handling behavior, parameters required and made available by
- the service, traffic specification and policing requirements, and
- traffic ordering relationships. It also includes evaluation criteria
- for elements providing the service, and examples of how the service
- might be implemented (by network elements) and used (by
- applications).
-
- Introduction
-
- This document defines the framework used to specify the functionality
- of internetwork system components which support the the ability to
- provide multiple, dynamically selectable qualities of service to
- applications using an internetwork. The behavior of individual
- routers and subnetworks is captured as a set of "services", some or
- all of which may be offered by each element. The concatenation of
- these services along the end-to-end data paths used by an application
- provides overall quality of service control.
-
- The definition of a service states what is required of a router (or,
- more generally, any network element; a router, switch, subnet, etc.)
- which supports a particular service. The service definition also
-
-
-
-
-
-
- Shenker & Wroclawski Informational [Page 1]
-
- RFC 2216 Network Element Service Template September 1997
-
-
- specifies parameters used to invoke the service, the relationship
- between those parameters and the service delivered, and the end-to-
- end behavior obtained by concatenating several instances of the
- service.
-
- Each service definition also specifies the interface between that
- service and the environment. This includes the parameters needed to
- invoke the service, informational parameters which the service must
- make available for use by setup, routing, and management mechanisms,
- and information which should be carried between end-nodes and network
- elements by those mechanisms in order to achieve the desired end-to-
- end behavior. However, a service definition does not describe the
- specific protocols or mechanisms used to establish state in the
- network elements for flows that use the described service.
-
- Services defined following the guidelines of this document are
- intended for use both within the global Internet and private IP
- networks. In certain cases a concatenation of network element
- services may be used to provide a range of end-to-end behaviors, some
- more suited to a decentralized internet and some more appropriate for
- a tightly managed private network. This document points out places
- where such distinction may be appropriate.
-
- This document is comprised of three parts. The first defines some
- terms used both in this document and in the various service
- specification documents. The second discusses data formats and
- representations. The third portion of the document describes the
- various components of the service specification template.
-
- Definitions
-
- The following terms are used throughout this document. Service
- specification documents should employ the same terms to express these
- concepts.
-
- o Quality of Service (QoS)
-
- In the context of this document, quality of service refers to the
- nature of the packet delivery service provided, as described by
- parameters such as achieved bandwidth, packet delay, and packet loss
- rates. Traditionally, the Internet has offered a single quality of
- service, best-effort delivery, with available bandwidth and delay
- characteristics dependent on instantaneous load. Control over the
- quality of service seen by applications is exercised by adequate
- provisioning of the network infrastructure. In contrast, a network
- with dynamically controllable quality of service allows individual
- application sessions to request network packet delivery
- characteristics according to their perceived needs, and may provide
-
-
-
- Shenker & Wroclawski Informational [Page 2]
-
- RFC 2216 Network Element Service Template September 1997
-
-
- different qualities of service to different applications. It should
- be understood that there is a range of useful possibilities between
- the two endpoints of providing no dynamic QoS control at all and
- providing extremely precise and accurate control of QoS parameters.
-
- o Network Element
-
- A "Network Element" (or the equivalent shorter form "Element"), is
- any component of an internetwork which directly handles data packets
- and thus is potentially capable of exercising QoS control over data
- flowing through it. Network elements include routers, subnetworks,
- and end-node operating systems. A QoS-capable network element is one
- which offers one or more of the services defined according to the
- rules given in this document. Note that this definition, by itself,
- preclude QoS-capable network elements that meet performance goals
- purely through adequate provisioning rather than active admission and
- traffic control mechanisms. A "QoS-aware" network element is one
- which supports the interfaces (described below) required by the
- service definitions. Thus, a QoS-aware network element need not
- actually offer any of the services defined according to the format of
- this document; it merely needs to know how to deny service requests.
-
- o Flow
-
- For the purposes of this document a flow is a set of packets
- traversing a network element all of which are covered by the same
- request for control of quality of service. At a given network element
- a flow may consist of the packets from a single application session,
- or it may be an aggregation comprising the combined data traffic from
- a number of application sessions.
-
- NOTE: this definition of a flow is different from that used in
- IPv6, where a flow is defined as those packets with the same
- source address and FlowID.
-
- Mechanisms used to associate a request for quality of service control
- with the packets covered by that request are beyond the scope of this
- document.
-
- o Service
-
- The phrase "service" or "QoS Control Service" describes a named,
- coordinated set of QoS control capabilities provided by a single
- network element. The definition of a service includes a
- specification of the functions to be performed by the network
-
-
-
-
-
-
- Shenker & Wroclawski Informational [Page 3]
-
- RFC 2216 Network Element Service Template September 1997
-
-
- element, the information required by the element to perform these
- functions, and the information made available by the element to other
- elements of the system. A service is conceptually implemented within
- the "service module" contained within the network element.
-
- NOTE: The above defines a precise meaning for the word "service".
- Service is a word which has a variety of meanings throughout the
- networking community; the definition of "service" given here
- refers specifically to the actions and responses of a single
- network element such as a router or subnet. This contrasts with
- the more end-to-end oriented definition of the same word seen in
- some other networking contexts.
-
- o Behavior
-
- A "behavior" is the QoS-related end-to-end performance seen by an
- application session. This behavior is the end result of composing the
- services offered by each network element along the path of the
- application's data flow.
-
- When each network element along a data flow path offers the same
- service, it is frequently possible to explain the resulting end-to-
- end behavior in a straightforward fashion. The behavior of a data
- flow path comprised of elements using different services is more
- complicated, and may in fact be undefined. A future version of this
- document may impose additional requirements on the service
- specification relating to multi-service concatenation.
-
- o Characterization
-
- A characterization is a computed approximation of the actual end-to-
- end behavior which would be seen by a flow requesting specific QoS
- services from the network. By providing additional information to
- the end-nodes before a flow is established, characterizations assist
- the end-nodes in choosing the services to be requested from the
- network.
-
- o Characterization Parameters
-
- Characterizations are computed from a set of characterization
- parameters provided by each network element on the flow's path, and a
- composition function which computes the end-to-end characterization
- from those parameters. The composition function may in practice be
- executed in a distributed fashion by the setup or routing protocol,
- or the characterization parameters may be gathered to a single point
- and the characterization computed at that point.
-
-
-
-
-
- Shenker & Wroclawski Informational [Page 4]
-
- RFC 2216 Network Element Service Template September 1997
-
-
- Several characterizations may be computed for a single candidate data
- flow. Conversely, a service may provide no characterizations, and
- under some conditions no characterizations may be available to the
- end-nodes requesting QoS services.
-
- o Composition Function
-
- A composition function accepts characterization parameters as input
- and computes a characterization, as described above.
-
- o Traffic Specification (TSpec)
-
- A Traffic Specification, or TSpec, is a description of the traffic
- pattern for which service is being requested. In general, the TSpec
- forms one side of a "contract" between the data flow and the service.
- Once a service request is accepted, the service module has agreed to
- provide a specific QoS as long as the flow's data traffic continues
- to be accurately described by the TSpec.
-
- As examples, this specification might take the form of a token bucket
- filter (defined below) or an upper bound on the peak rate. Note that
- the traffic specification specifies the flow's *allowed* traffic
- pattern, not the flows *actual* traffic pattern. The behavior of a
- service when a flow's actual traffic does not conform to the traffic
- specification must be defined by the service (see "Policing" below).
-
- o Service Request Specification (RSpec)
-
- A Service Request Specification, or RSpec, is a specification of the
- quality of service a flow wishes to request from a network element.
- The contents of a service request specification is highly specific to
- a particular service. As examples, these specifications might contain
- information about bandwidth allocated to the flow, maximum delays, or
- packet loss rates.
-
- o Setup Protocol
-
- A setup protocol is used to carry QoS-related information from the
- end-nodes requesting QoS control to network elements which must
- exercise that control, and to install and maintain to required QoS
- control state in those network elements. A setup protocol may also
- be used to collect QoS-related information from interior network
- elements along an application's data flow path for ultimate delivery
- to end nodes. Examples of protocols which perform setup functions are
- RSVP [RFC 2205], ST-II [RFC 1819], and Q.2931.
-
-
-
-
-
-
- Shenker & Wroclawski Informational [Page 5]
-
- RFC 2216 Network Element Service Template September 1997
-
-
- Note that other mechanisms, such as network management protocols, may
- also perform this function. The phrase "setup protocol"
- conventionally refers to a protocol with this function as its primary
- purpose.
-
- o Token Bucket
-
- A Token Bucket is a particular form of traffic specification
- consisting of a "token rate" r and a "bucket size" b. Essentially,
- the r parameter specifies the continually sustainable data rate,
- while the b parameter specifies the extent to which the data rate can
- exceed the sustainable level for short periods of time. More
- specifically, the traffic must obey the rule that over all time
- periods, the amount of data sent cannot exceed rT+b, where T is the
- length of the time period.
-
- Token buckets are further discussed in [PARTRIDGE].
-
- o Token Bucket Filter
-
- A Token Bucket Filter is a filtering or policing function which
- differentiates those packets in a traffic flow which conform to a
- particular token bucket specification from those packets which do
- not. The specific treatment accorded nonconforming packets is not
- specified in this definition; common actions are relegating the
- packet to best effort service, discarding the packet, or marking the
- packet in some fashion.
-
- o Admission Control
-
- Admission control is the process of deciding whether a newly arriving
- request for service from a network element can be granted. This
- action must be performed by any service which wishes to offer
- absolute quantitative bounds on overall performance. It is not
- necessary for services which provide only relative statements about
- performance, such as the Internet's current best-effort service. The
- precise criteria for making the admission control decision are a
- specific to each particular service.
-
- o Policing
-
- Policing is the set of actions triggered when a flow's actual data
- traffic characteristics exceed the expected values given in the
- flow's traffic specification. Services which require policing
- functions to operate correctly must specify both the action to be
-
-
-
-
-
-
- Shenker & Wroclawski Informational [Page 6]
-
- RFC 2216 Network Element Service Template September 1997
-
-
- taken when such discrepancies occur and the locations in the network
- where discrepancies are to be detected. Examples of such actions
- might include relegating the packet to best effort service, dropping
- packets, reshaping the traffic, or marking non-conforming traffic in
- some fashion.
-
- o Interfaces
-
- The service module conceptually interacts with other portions of the
- network element through a number of interfaces. The service
- specification document should clearly define the specific data,
- including formats, which moves across each conceptual interface, and
- ensure that the mapping between conceptual interfaces and the
- specific mechanisms of the service being defined are clear.
-
- Data Format and Representation
-
- A service module will import and export a variety of data according
- to the specific requirements of the services the network element
- supports. Each service definition MUST specify the format of each
- such data item in an abstract manner. The information specified must
- be sufficient for the designer of a setup protocol to correctly
- select an appropriate concrete (packet) format for variables
- containing this data. At minimum, the following information must be
- given:
-
- - Type: whether the quantity is an enumeration, a numerical value,
- etc.
-
- - Range: for numerical quantities, the minimum and maximum values
- the quantity must be able to represent. For enumerated quantities,
- an estimate of the maximum number of items which may need be
- enumerated in the future, even if many of the values are currently
- unused.
-
- - Precision: the precision with which a numerical quantity must be
- represented, and whether that precision is absolute (calling for an
- integer quantity) or a percentage of the value (allowing for a
- floating point quantity).
-
- The service definition SHOULD additionally specify a preferred
- concrete format for each data field, in the usual packet-layout
- format used in current Internet Standard documents or in some other
- accepted specification format. If the service definition contains
- these concrete definitions, they should be sufficiently complete and
- detailed to allow the service definition to be incorporated by
- reference into the specifications for setup protocols and other users
- of the specified data.
-
-
-
- Shenker & Wroclawski Informational [Page 7]
-
- RFC 2216 Network Element Service Template September 1997
-
-
- NOTE: The wording above is intended to encourage the use of common
- data formats by all protocols carrying data related to a specific
- service, while not mandating this common format or infringing on
- the freedom of protocol specification designers to define data
- representations using alternative mechanisms such as ASN.1 or XDR.
-
- Service and Data Element Naming
-
- End-nodes, network elements, setup protocols, and management entities
- within an integrated services internetwork need to exchange
- information about services, service invocation parameters,
- characterization parameters, and the intermediate variables and end
- results of composition functions. To support this requirement, a
- single uniform namespace is established for services and their
- parameters.
-
- The namespace is a two-level hierarchy:
-
- <service_name>.<parameter_name>.
-
- Each of these elements is a integer numerical quantity.
-
- <Service Name> is an integer in the range 1 to 254. The number space
- is broken into three regions.
-
- Service number 1 is used to indicate that the associated parameter is
- generic", and is not associated with a specific service. This use of
- generic parameters is described more fully in [RFC 2215].
-
- The range from 2 to 127 used to name services defined by the IETF.
- Procedures for allocating service numbers in this region will be
- established by the IETF INT-SERV WG and the IANA. Services designed
- for public use should obtain a number from this space. The minimum
- requirement for doing so is a published RFC following the format
- described in this note.
-
- Service numbers in the region above 127 are reserved for experimental
- or private services. Service designers may allocate numbers from this
- space at random for local experimental use. A policy for global but
- temporary allocation of these numbers may be established in the
- future if necessary.
-
- The value 0 is left unused to allow the direct mapping of parameter
- names to MIB object names, as described below.
-
- The value 255 is reserved to facilitate future expansion of the
- service number space, if required.
-
-
-
-
- Shenker & Wroclawski Informational [Page 8]
-
- RFC 2216 Network Element Service Template September 1997
-
-
- <Parameter_name> is a number in the range 1 to 254, allocated on a
- per-service basis. Within this range, the values 1 to 127 are
- reserved for assignment to parameters with a common, shared meaning
- across all services. These parameters are defined in [RFC 2215].
-
- Numbers for parameters specific to a service are assigned from the
- range 128-254 by the author of the service specification document.
-
- The value 0 is left unused to allow the direct mapping of parameter
- names to MIB object names, as described below.
-
- The value 255 is reserved to facilitate future expansion of the
- parameter number space, if required.
-
- In addition to their uses within the integrated services framework,
- these <service_number>.<parameter_number> pairs should be used as
- last two levels of the MIB name when the corresponding values are
- made available to network management protocols.
-
- Specification Document Format
-
- The following portion of this document describes the layout and
- contents of a service specification. Each service specification
- document MUST contain the sections marked [required] below, in the
- order listed. Each document SHOULD contain each of the remaining
- sections in the list below, unless there is a compelling argument
- that the presence of the section is not beneficial. Additional
- material, including references, should be included at the end of the
- document.
-
- Some of these sections are normative, in that they describe specific
- requirements to which conformant implementations must adhere. Other
- sections are informational in nature, in that they describe necessary
- context and technical considerations important to the implementor of
- a service. The sections, and their nature (required or optional, and
- informational or normative) are listed below:
-
- o Components
-
- The body of a service specification document incorporates the
- following sections:
-
- - End-to-End Behavior [required] [informational]
-
- - Motivation [required] [informational]
-
- - Network Element Data Handling Requirements [required] [normative]
-
-
-
-
- Shenker & Wroclawski Informational [Page 9]
-
- RFC 2216 Network Element Service Template September 1997
-
-
- - Invocation Information [required] [normative]
-
- - Exported Information [required] [normative]
-
- - Policing [required] [normative]
-
- - Ordering and Merging [required] [normative]
-
- - Guidelines for Implementors [optional] [informational]
-
- - Evaluation Criteria [required] [informational]
-
- - Examples of Implementation [optional] [informational]
-
- - Examples of Use [optional] [informational]
-
- o End-to-end Behavior
-
- This is a description of the behavior that results if all network
- elements along the path offer the same service, invoked with a
- defined set of parameters.
-
- In private networks it will generally be the case that the required
- end-to-end behavior is obtained by concatenation of network elements
- utilizing the same service and making significant use of
- characterizations.
-
- In the global Internet, this will not always be true. End-to-end
- behaviors will frequently be obtained through a concatenation of
- network elements supporting different services, including in some
- cases elements which exercise no QoS control at all. Mechanisms to
- characterize end-to-end behavior in this circumstance are not fully
- established at this time. Future versions of this document may impose
- additional requirements on service specifications to facilitate
- inter-service composition.
-
- This section is for informational purposes only.
-
- o Motivation
-
- This section discusses why this service is being defined. It
- describes what kinds of applications might make use of this service,
- and why this service might be more appropriate for those applications
- than other possible choices. This section is for informational
- purposes only.
-
-
-
-
-
-
- Shenker & Wroclawski Informational [Page 10]
-
- RFC 2216 Network Element Service Template September 1997
-
-
- o Network Element Data Handling Requirements
-
- This section contains a description of the QoS properties seen by
- data packets processed by a network element using this service. The
- description must clearly explain what variables are controlled, the
- degree of control exercised, and what aspects of the service's
- handling model are fixed or assumed. Examples of degree of control
- information include "this property must be mathematically assured"
- and "this property should be met under most conditions". An example
- of a stated assumption is "this service is assumed to have extremely
- low packet loss; delay targets must be met using admission control
- rather than by discarding packets when overloaded".
-
- Requirements on packet handling SHOULD, when at all possible, be
- expressed as performance requirements rather than by specifying a a
- particular packet scheduling algorithm. The performance requirements
- might, for example, be a specification of the maximal packet delays
- or the minimal bandwidth share given to a flow.
-
- This section also specifies actions which the packet handling path is
- required to take to actively provide feedback to end-nodes about
- conditions at the network element. Such actions might include
- explicitly generated congestion feedback, indicated either as bits
- set in the header of data packets or separate control messages sent.
-
- When writing this section of the service specification document, the
- authors' goal should be to specify the required behavior as precisely
- as necessary while still leaving adequate room for the implementation
- and architectural tradeoffs appropriate to different circumstances
- and classes of network elements. Successfully achieving this balance
- may require some care.
-
- o Invocation Information
-
- This section describes the set of parameters required by a service
- module to invoke the service, and a description of how the parameter
- values are used by the service module. For example, a hypothetical
- "bounded delay" service might be described as accepting a request
- indicating a delay target for the network element and the set of
- packets subject to that delay target, and processing packets in the
- given set with a delay of the target value or less.
-
- Necessary invocation information for most services can be broken into
- two parts, the Traffic Specification (TSpec) and the Service Request
- Specification (RSpec). The TSpec gives characteristics of the data
-
-
-
-
-
-
- Shenker & Wroclawski Informational [Page 11]
-
- RFC 2216 Network Element Service Template September 1997
-
-
- traffic to be handled, while the Rspec specifies the properties
- desired from the service. For example, a service offering a
- mathematical bound on delay might accept a TSpec giving the traffic
- flow's bandwidth and burstiness specified as a Token Bucket, and an
- RSpec giving the maximum tolerable queueing delay.
-
- A service accepting an invocation request may be thought of as
- entering into a "contract" to provide the service described by the
- RSpec as long as the flow's traffic continues to be described by the
- TSpec. If the flow's traffic pattern falls outside the bounds of the
- TSpec, the QoS provided to the flow may change. The precise nature of
- this change is also described by the service specification (see
- "Policing" below).
-
- The RSPec and TSpec components of the invocation information should
- be specified separately and independently, as they will often be
- generated by different elements of the internetwork
-
- All quantitative information specifications in this section should
- follow the guidelines given in the Data Formats section of this
- document, above.
-
- o Exported Information and Characterization Parameters
-
- This section describes information which must be collected and
- exported by the service module. Exported information is available to
- other modules of the network element, and by extension to setup
- protocols, routing protocols, network management tools, and the like.
-
- Information exported by service modules may be used in several ways.
- For example, quantities such as the amount of link bandwidth
- dedicated to the service and the set of data flows currently
- receiving the service are appropriate pieces of information to make
- available as network management variables.
-
- A service definition may identify a particular subset of the
- information exported by a service module as characterization
- parameters. These characterization parameters may be used to compute
- or estimate the end-to-end behavior of a data flow traversing a
- concatenation of network service elements. They may also be used to
- characterize portions of the path for use by network elements (e.g.,
- in computing the buffer necessary, an element may need to know
- something about the service characteristics of the upstream portion
- of the path). A service which defines characterization parameters
- also specifies the characterizations they are used to generate and
- the composition functions used to generate the characterizations.
-
-
-
-
-
- Shenker & Wroclawski Informational [Page 12]
-
- RFC 2216 Network Element Service Template September 1997
-
-
- NOTE: Characterization parameters are identified as such by virtue
- of being the inputs to a service's defined composition functions.
- Because characterization parameters are part of a service's
- overall exported data set, they are also available to other
- functions, such as network management. The discussion below
- relates solely to their use as characterization parameters, and is
- not intended to limit other uses.
-
- Characterization parameters may be relatively static quantities, such
- as the bandwidth available on a specific link, or relatively dynamic
- quantities, such as a running estimation of current packet delay.
-
- Support for a service's defined characterization parameters is
- mandatory. Any network element offering this service must be able to
- measure, compute, or, if allowed by the specification, estimate the
- service's characterization parameters. Service designers are
- encouraged to understand the implications of specifying
- characterization parameters for a service, particularly with respect
- to not unduly restricting the choice of hardware and software
- architectures used to implement the network element.
-
- Characterization parameters are used by composing the values exported
- by each network element along a data flow's path according to a
- composition rule. For each parameter or set of parameters used to
- develop a characterization, the service specification must specify
- the composition rule to be used. These composition rules should
- result in characterizations that are independent of the order in
- which the element are composed; commutativity and associativity are
- sufficient but not necessary conditions for this.
-
- Characterization parameters are available through a general
- interface, and are provided in response to a request from some other
- module, such as a setup protocol or the routing protocol. The
- question of exactly how, or if, a specific protocol (e.g., RSVP) uses
- characterization parameters to generate characterizations is
- described in the specification of that specific protocol.
-
- The correct use of characterization parameters supplied by service
- modules is a function of the setup, routing, or management protocol
- controlling the module. There is no absolute guarantee that
- characterizations will be available to end-nodes desiring to use a
-
- QoS control service. Service designers targeting services for the
- global Internet may wish to ensure that a service is useful even in
- the absence of characterizations, and to exhibit such uses in the
- "Examples" sections of the service description document.
-
-
-
-
-
- Shenker & Wroclawski Informational [Page 13]
-
- RFC 2216 Network Element Service Template September 1997
-
-
- Conversely, the availability of characterizations may be mandatory in
- certain circumstances, particularly for private IP networks providing
- tightly controlled qualities of service for specific applications.
- Service designers targeting this environment should particularly
- ensure that the service provides adequate characterization parameters
- and composition functions to meet the needs of target audiences. It
- may be appropriate to specify the same basic service with additional
- characterizations for meeting specific requirements beyond those of
- the global Internet.
-
- Some useful "general" characterization parameters and corresponding
- composition rules are not associated with any specific service.
- These include the speed-of-light latency of communication links and
- available link bandwidth. These general characterization parameters
- are defined in [RFC 2215].
-
- Although every conformant implementation of a service is required to
- provide that service's characterization parameters, it is still
- possible that the desired characterization parameters will not be
- available for composition at all network elements in a path. This
- situation may arise when different network element services are used
- at different points in the end-to-end path, as may be required in a
- heterogeneous internetworking environment. For this reason,
- characterization parameters and composition function results
- conceptually include a "validity flag". A network element which is
- unable to provide the characterization parameter must set this flag,
- and otherwise leave parameter or composed value unchanged. Once set,
- the flag is preserved by the composition function, and serves as an
- indicator of the validity of the data when the final composed result
- is delivered to its destination.
-
- Protocols which transport characterization parameters and composition
- data must define and support a concrete representation for this
- validity flag, as well as for the characterization parameters
- themselves.
-
- NOTE: This service specification template does not allow a service
- definition to *require* that a setup or invocation mechanism used
- with the service perform any function other than transport of
- invocation parameters to the network elements and signalling of
- errors generated by the network elements to the end nodes. A notable
- example of this is that service specification documents may not
- require or assume that characterizations defined in the specification
- are actually computed or presented to the end nodes.
-
- That point notwithstanding, the practical usefulness of a specific
- service may be highly dependent on the presence of some additional
- behavior in the networked system, such as the computation and
-
-
-
- Shenker & Wroclawski Informational [Page 14]
-
- RFC 2216 Network Element Service Template September 1997
-
-
- presentation of characterizations to end-nodes or the reliable
- assurance that every network element in the path from sender to
- receivers supports the given service. Service specification authors
- are strongly encouraged to clearly explain the situation of their
- service in this regard. Statements such as:
-
- The characterizations defined by this service serve as useful
- hints to the application. However, the service is specifically
- intended to be useful even if characterizations are not available.
-
- or
-
- The usefulness of this service depends strongly on the delivery of
- both characterizations and the knowledge that all network elements
- on the path support the service. Requests for this service when
- characterizations are not available are likely to lead to
- incorrect or misleading results.
-
- are appropriate. It may also be useful to consider this point in the
- "Examples of Use" section described below.
-
- NOTE: The possibility of modifying the overall architecture to
- provide information about the invoking protocol in a service request,
- and to allow a service to require that the invocation protocol
- support specific additional functionality, is an area of active
- study.
-
- o Policing
-
- This portion of the service description describes the nature of
- policing used to enforce adherence to a flow's Traffic Specification.
- The specification document must specify the following points
-
- - Expected policing action. This is the action taken when packets
- not conforming to the TSpec are detected. Example actions include
- relegating nonconforming packets to best effort, immediately
- dropping nonconforming packets, delaying these packets until they
- once again "fit" into the TSpec, or "marking" nonconforming packets
- in some way.
-
- - Legality of alternative policing actions. The section must
- specify whether actions not specifically mentioned in
- specification's description of policing behavior are legal. For
- example, a service description which specifies that nonconforming
- packets are to be dropped should state whether an alternate action,
- such as delaying these packets, is acceptable.
-
-
-
-
-
- Shenker & Wroclawski Informational [Page 15]
-
- RFC 2216 Network Element Service Template September 1997
-
-
- - Location of policing actions in the internetwork. The description
- of policing must specify where that policing is done. Possibilities
- include "at the edges of the network only", "at every hop",
- "heterogeneous branch points" (points where the branches of a
- multicast tree converge and have different TSpecs reserved
- downstream), and "source merge points" (points where multiple data
- streams covered by a single resource reservation converge). The
- specification should clearly state requirements about topology
- information (for example "this is an edge node" or "this is a
- source merge point") which must be available from the setup
- protocol or another source.
-
- In this section the specification should also specify the legality
- of policing at additional points in the network, beyond those
- listed above. This is important due to technical effects such as
- are described in the next paragraph.
-
- Applicable additional technical considerations. If policing of data
- flows is required or legal at points other than the flow's first
- entry into the network, the service definition should describe any
- additional technical considerations which affect the design of such
- policing. For example, many potential services will allow a data
- flow to become more bursty as it progresses through the network. If
- such a service allows policing at points other than the network
- edge, the traffic specification describing the flow will have to be
- modified from that given by the application to the network to
- account for this growing burstiness. Otherwise, it is likely that
- the flow will be overpoliced, with packets being penalized
- unnecessarily.
-
- o Ordering and Merging
-
- Ordering and merging come into play when a network element receives
- several invocation requests covering the same data flow. As examples,
- this could occur if several receivers of a multicast data flow
- requested QoS services for that flow using the RSVP setup protocol,
- or if a flow was subject to both a statically installed permanent
- invocation request and a dynamic request from a resource setup
- protocol.
-
- In this situation the service module must be able to answer questions
- about the ordering between different invocation requests, and must be
- able to generate a single new invocation request which meets the
- semantics of the setup protocol and the requirements of all the
- original requesters. Operationally, this is achieved by having the
- invoking protocol ask the service module, given a set of invocation
- requests I1...In, to compute a new request which results in the
- desired behavior.
-
-
-
- Shenker & Wroclawski Informational [Page 16]
-
- RFC 2216 Network Element Service Template September 1997
-
-
- Five operations must be defined in this section. These are:
-
- - Ordering. The section must define an ordering relationship
- between the service's TSpecs and RSpecs. This may be a partial
- ordering, in that some TSpecs or RSpecs may be unordered with
- respect to each other.
-
- - Summation. This function computes an invocation request which
- represents the sum of N input invocation requests. Typically this
- function is used to compute the size of a service request adequate
- for a shared reservation for N different flows. It is desirable but
- not required that this function compute the "least possible sum".
-
- - Minimum. This function computes the minimum of two TSpecs.
- Typically this function is used to compute the TSpec for an actual
- service invocation given a target TSpec for the service request and
- a TSpec for the flow's actual traffic pattern. The minimum function
- must compute the smallest TSpec adequate to describe the minimum of
- the requested TSpec and the flow's actual traffic.
-
- - RSVP-Merge function. This function computes the invocation
- request used to request service at an RSVP [RFC 2205] merge point.
- The function must a) compute an appropriate invocation request for
- a set of downstream reservations being merged, and b) generate
- appropriate reservation parameters to be passed upstream by RSVP.
- This function is described further below and in [RFC 2210].
-
- - Least Common Request function. This function computes an
- invocation request sufficient to provide service at least
- equivalent to any one of the original requests passed to the
- function. This function differs from the RSVP-merge function in
- that it simply computes an upper bound. It does not need to compute
- new invocation parameters to be passed upstream by RSVP and cannot
- utilize the second option discussed in "Notes on RSVP Merging"
- below.
-
- oo Notes on Ordering
-
- Typically the ordering relation will be described separately for the
- service's TSpec and RSpec. An invocation request is ordered with
- respect to another if and only if both its TSpec and its RSpec are
- similarly ordered with respect to each other.
-
- For TSpecs, the basic ordering relation is well defined. TSpec A is
- substitutable for TSpec B if and only any flow that is compliant with
- TSpec B is also compliant with TSpec A. The service specification
- must explain how to compare two TSpecs to determine whether this is
- true.
-
-
-
- Shenker & Wroclawski Informational [Page 17]
-
- RFC 2216 Network Element Service Template September 1997
-
-
- For RSpecs, the ordering relation is dependent on the service. RSpec
- A is substitutable for RSpec B if the quality of service invoked by
- RSpec A is at least as good as the quality of service invoked by
- RSpec B. Since there is no precise mathematical description of
- "goodness" of quality of service, these ordering relations must be
- spelled out explicitly in the service description.
-
- oo Notes on RSVP Merging
-
- The purpose of the RSVP merging function is to compute an invocation
- request which will provide service to the merged flow at least
- equivalent to that which any of the original requests would obtain
- for its corresponding unmerged flow. This equivalence may be obtained
- in two ways
-
- 1) The merged request may be computed as an upper bound on the set
- of original (unmerged) invocation requests. In this case, the
- service offered by the merged request to any particular traffic
- flow is identical to that offered by the largest unmerged request,
- by definition.
-
- 2) The merged request may be computed as a value smaller than the
- upper bound on the set of original requests, but the results passed
- upstream may restrict the traffic sources to behavior which makes
- the merged and unmerged requests behave identically.
-
- Note that the merging rules for a particular service may apply either
- option 1 or option 2 to the different components of a TSpec, as
- appropriate. The decision is typically made as follows:
-
- When a downstream service module instance can tolerate a flow which
- exceeds the parameter, the upper bound should be used. For example,
- if the service supports policing to protect itself against excess
- traffic, the traffic rate supported by a merged reservation might
- be an upper bound across the traffic rates supported by each
- unmerged reservation. The effect of this will be to install the
- merged reservation at the local node and to inform each traffic
- source of the largest traffic rate protected by reservation along
- any *one* distribution path from the source to a receiver.
-
- When a downstream service module instance will not function
- properly if the parameter is exceeded, the merged function should
- select the least agressive value of the parameter to install and
- pass upstream. In this case, the traffic sources will be informed
- of a parameter value which is appropriate for *all* distribution
- paths traversed by the traffic flow. For example, services which
- can handle packets of only limited size can incorporate packet size
- in the TSpec, and treat the parmeter as described in option 2. The
-
-
-
- Shenker & Wroclawski Informational [Page 18]
-
- RFC 2216 Network Element Service Template September 1997
-
-
- effect of this will be to limit packet sizes in the flow to those
- which can be handled by every instance of the service along the
- flow's path.
-
- This merging calculation must be performed by the service module
- because it is specific to a particular service.
-
- oo Notes on Calculating Upper Bounds
-
- Both the RSVP-Merge function and the Least Common Request function
- may make use of calculated upper bounds on TSpec and RSpec
- parameters.
-
- The calculated upper bound need not be a least upper bound, nor do
- the various network elements along the path need to all use the same
- choice of upper bound. Any selection of invocation parameters Iu is
- compliant as long as it substitutable for each of the parameters
- I1...In from which it is calculated. Intuitively, one set of
- parameters is substitutable for another if the resulting quality of
- service is at least as desirable to all applications. A precise
- definition of this "substitutable for" function; the ordering
- relation, must be specified in the service definition. (It may be
- specified as the empty set, in which case merging of dissimilar
- requests will not be allowed). If the ordering function specified in
- this section gives a partial order (if it is possible for two RSpecs
- or TSpecs to be unordered), then a separate upper bound computation
- for the parmeter must be given as well.
-
- oo Notes on Service Substitution
-
- This portion of the service description may also note any
- relationships with other services which are strictly ordered with
- respect to the service being defined. Two services A and B are
- strictly ordered if it is always possible to substitute service B for
- the service A given a set of invocation parameters for service A.
- This ordering information may be used to allow network elements which
- provide service B to respond to requests for service A, even if the
- element does not provide service A directly. If the service
- specification describes such an inter-service ordering, it MUST also
- include a description of the invocation parameter mapping function
- for that ordering.
-
- Substitution of of one service for another in cases where they are
- not strictly ordered is currently not supported. A future version of
- this document may augment the service specification format to support
- this capability.
-
-
-
-
-
- Shenker & Wroclawski Informational [Page 19]
-
- RFC 2216 Network Element Service Template September 1997
-
-
- o Guidelines for Implementors
-
- Many services may be defined in a manner which allows the range of
- behavior of a compliant network element to be rather broad. This
- section should provide some guidance as to what range of behaviors
- the author of the service specification expects the community to
- desire in their implementations. Because these guidelines depend on
- such imprecise and undefinable notions at "typical loads", these
- guidelines cannot be incorporated as part of a strict compliance
- test. Instead, they are for informational purposes only.
-
- o Evaluation Criteria
-
- Specific functional behaviors required of an implementation for
- conformance to a service specification is detailed in the previous
- sections. However, the service specifications are intended to allow
- a wide range of implementations, and these implementations will
- differ in performance. This section describes tests that can be used
- to evaluate a network element's implementation of a given service.
-
- Implementors of service modules face a number of tradeoffs, and it is
- unlikely that a single implementation would be considered "best"
- under all circumstances. For instance, given the same service
- specification, an implementation appropriate for a low-speed link
- might target extremely high link utilization, while a different
- implementation might attempt to reduce non-loaded packet forwarding
- delay to the minimum at the expense of somewhat lower utilization of
- the link. The intention of the tests specified in this section should
- be to probe the tradeoffs made by the implementation designer, and to
- provide metrics useful to guide the customer's choice of an
- appropriate implementation for her needs.
-
- The tests specified in this section should be designed to operate on
- a single network element in isolation. This enables their use in a
- comparative rating system for QoS-aware network elements. In
- production networks, users will be more concerned with the end-to-end
- behavior obtained, which will depend not just on the particular
- network elements selected, but also on other factors such as the
- setup protocol and the bandwidth of the links. Some user-relevant
- performance factors are the rate of admission control rejections, the
- range of services offered, and the packet delay and drop rates in the
- various service classes. The form of any standardized end-to-end
- metrics and measurement tools for integrated service internetworks is
- not specified by this document or by service specification document
- which follow the format given here.
-
- This section is for informational purposes only.
-
-
-
-
- Shenker & Wroclawski Informational [Page 20]
-
- RFC 2216 Network Element Service Template September 1997
-
-
- o Examples of Implementation
-
- This section describes example instantiations of the service. Often
- these will just be references to the literature, or brief sketches of
- how the service could be implemented. The purposes of the section
- are to to provide a more concrete sense of the service being
- specified and to provide pointers and hints to aid the implementor.
- However, the descriptions in this section are specifically not
- intended to exclude other implementation strategies.
-
- This section is for informational purposes only.
-
- o Examples of Use
-
- In order to provide more a more concrete sense of how this service
- might be used, this section describes some example uses of the
- service, for informational purposes only. The examples here are not
- meant to be exhaustive, and do not exclude in any way other uses of
- the service.
-
- This section is for informational purposes only.
-
- Security Considerations
-
- Security considerations are not discussed in this memo.
-
- References
-
- [PARTRIDGE] C. Partridge, Gigabit Networking, Addison Wesley
- Publishers (1994).
-
- [RFC 2215] Shenker, S., and J. Wroclawski, "General Characterization
- Parameters for Integrated Service Network Elements", RFC 2215,
- September 1997.
-
- [RFC 2205] Braden, R., Ed., et. al., "Resource Reservation Protocol
- (RSVP) - Version 1 Functional Specification", RFC 2205, September
- 1997.
-
- [RFC 2212] Shenker, S., Partridge, C., and R. Guerin, "Specification
- of Guaranteed Quality of Service", RFC 2212, September 1997.
-
- [RFC 2211] Wroclawski, J., "Specification of the Controlled Load
- Quality of Service", RFC 2211, September 1997.
-
- [RFC 1819] Delgrossi, L., and L. Berger, Editors, "Internet Stream
- Protocol Version 2 (ST2) Protocol Specification - Version ST2+", RFC
- 1819, August 1995.
-
-
-
- Shenker & Wroclawski Informational [Page 21]
-
- RFC 2216 Network Element Service Template September 1997
-
-
- [RFC 2210] Wroclawski, J., "The Use of RSVP with IETF Integrated
- Services", RFC 2210, September 1997.
-
- Authors' Address:
-
- Scott Shenker
- Xerox PARC
- 3333 Coyote Hill Road
- Palo Alto, CA 94304-1314
-
- Phone: 415-812-4840
- Fax: 415-812-4471
- EMail: shenker@parc.xerox.com
-
-
- John Wroclawski
- MIT Laboratory for Computer Science
- 545 Technology Sq.
- Cambridge, MA 02139
-
- Phone: 617-253-7885
- Fax: 617-253-2673
- EMail: jtw@lcs.mit.edu
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Shenker & Wroclawski Informational [Page 22]
-
-