home *** CD-ROM | disk | FTP | other *** search
/ Internet Core Protocols / Oreilly-InternetCoreProtocols.iso / RFCs / rfc2474.txt < prev    next >
Encoding:
Text File  |  1999-10-14  |  50.5 KB  |  1,124 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                         K. Nichols
  8. Request for Comments: 2474                                 Cisco Systems
  9. Obsoletes: 1455, 1349                                           S. Blake
  10. Category: Standards Track                Torrent Networking Technologies
  11.                                                                 F. Baker
  12.                                                            Cisco Systems
  13.                                                                 D. Black
  14.                                                          EMC Corporation
  15.                                                            December 1998
  16.  
  17.  
  18.     Definition of the Differentiated Services Field (DS Field)
  19.                       in the IPv4 and IPv6 Headers
  20.  
  21. Status of this Memo
  22.  
  23.    This document specifies an Internet standards track protocol for the
  24.    Internet community, and requests discussion and suggestions for
  25.    improvements.  Please refer to the current edition of the "Internet
  26.    Official Protocol Standards" (STD 1) for the standardization state
  27.    and status of this protocol.  Distribution of this memo is unlimited.
  28.  
  29. Copyright Notice
  30.  
  31.    Copyright (C) The Internet Society (1998).  All Rights Reserved.
  32.  
  33. Abstract
  34.  
  35.    Differentiated services enhancements to the Internet protocol are
  36.    intended to enable scalable service discrimination in the Internet
  37.    without the need for per-flow state and signaling at every hop.  A
  38.    variety of services may be built from a small, well-defined set of
  39.    building blocks which are deployed in network nodes.  The services
  40.    may be either end-to-end or intra-domain; they include both those
  41.    that can satisfy quantitative performance requirements (e.g., peak
  42.    bandwidth) and those based on relative performance (e.g., "class"
  43.    differentiation).  Services can be constructed by a combination of:
  44.  
  45.    - setting bits in an IP header field at network boundaries
  46.      (autonomous system boundaries, internal administrative boundaries,
  47.      or hosts),
  48.    - using those bits to determine how packets are forwarded by the
  49.      nodes inside the network, and
  50.    - conditioning the marked packets at network boundaries in accordance
  51.      with the requirements or rules of each service.
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58. Nichols, et. al.            Standards Track                     [Page 1]
  59.  
  60. RFC 2474             Differentiated Services Field         December 1998
  61.  
  62.  
  63.    The requirements or rules of each service must be set through
  64.    administrative policy mechanisms which are outside the scope of this
  65.    document.  A differentiated services-compliant network node includes
  66.    a classifier that selects packets based on the value of the DS field,
  67.    along with buffer management and packet scheduling mechanisms capable
  68.    of delivering the specific packet forwarding treatment indicated by
  69.    the DS field value.  Setting of the DS field and conditioning of the
  70.    temporal behavior of marked packets need only be performed at network
  71.    boundaries and may vary in complexity.
  72.  
  73.    This document defines the IP header field, called the DS (for
  74.    differentiated services) field.  In IPv4, it defines the layout of
  75.    the TOS octet; in IPv6, the Traffic Class octet.  In addition, a base
  76.    set of packet forwarding treatments, or per-hop behaviors, is
  77.    defined.
  78.  
  79.    For a more complete understanding of differentiated services, see
  80.    also the differentiated services architecture [ARCH].
  81.  
  82. Table of Contents
  83.  
  84.    1.  Introduction .................................................  3
  85.    2.  Terminology Used in This Document ............................  5
  86.    3.  Differentiated Services Field Definition .....................  7
  87.    4.  Historical Codepoint Definitions and PHB Requirements ........  9
  88.      4.1  A Default PHB .............................................  9
  89.      4.2  Once and Future IP Precedence Field Use ................... 10
  90.        4.2.1  IP Precedence History and Evolution in Brief .......... 10
  91.        4.2.2  Subsuming IP Precedence into Class Selector  .......... 11
  92.               Codepoints
  93.          4.2.2.1  The Class Selector Codepoints ..................... 11
  94.          4.2.2.2  The Class Selector PHB Requirements ............... 11
  95.          4.2.2.3  Using the Class Selector PHB Requirements ......... 12
  96.                   for IP Precedence Compatibility
  97.          4.2.2.4  Example Mechanisms for Implementing Class ......... 12
  98.                   Selector Compliant PHB Groups
  99.      4.3  Summary ................................................... 13
  100.    5.  Per-Hop Behavior Standardization Guidelines .................. 13
  101.    6.  IANA Considerations .......................................... 14
  102.    7.  Security Considerations ...................................... 15
  103.      7.1  Theft and Denial of Service ............................... 15
  104.      7.2  IPsec and Tunneling Interactions .......................... 16
  105.    8.  Acknowledgments .............................................. 17
  106.    9.  References ................................................... 17
  107.    Authors' Addresses ............................................... 19
  108.    Full Copyright Statement ......................................... 20
  109.  
  110.  
  111.  
  112.  
  113.  
  114. Nichols, et. al.            Standards Track                     [Page 2]
  115.  
  116. RFC 2474             Differentiated Services Field         December 1998
  117.  
  118.  
  119. 1.  Introduction
  120.  
  121.    Differentiated services are intended  to provide a framework and
  122.    building blocks to enable deployment of scalable service
  123.    discrimination in the Internet.  The differentiated services approach
  124.    aims to speed deployment by separating the architecture into two
  125.    major components, one of which is fairly well-understood and the
  126.    other of which is just beginning to be understood.  In this, we are
  127.    guided by the original design of the Internet where the decision was
  128.    made to separate the forwarding and routing components.  Packet
  129.    forwarding is the relatively simple task that needs to be performed
  130.    on a per-packet basis as quickly as possible.  Forwarding uses the
  131.    packet header to find an entry in a routing table that determines the
  132.    packet's output interface.  Routing sets the entries in that table
  133.    and may need to reflect a range of transit and other policies as well
  134.    as to keep track of route failures.  Routing tables are maintained as
  135.    a background process to the forwarding task.  Further, routing is the
  136.    more complex task and it has continued to evolve over the past 20
  137.    years.
  138.  
  139.    Analogously, the differentiated services architecture contains two
  140.    main components.  One is the fairly well-understood behavior in the
  141.    forwarding path and the other is the more complex and still emerging
  142.    background policy and allocation component that configures parameters
  143.    used in the forwarding path.  The forwarding path behaviors include
  144.    the differential treatment an individual packet receives, as
  145.    implemented by queue service disciplines and/or queue management
  146.    disciplines.  These per-hop behaviors are useful and required in
  147.    network nodes to deliver differentiated treatment of packets no
  148.    matter how we construct end-to-end or intra-domain services.  Our
  149.    focus is on the general semantics of the behaviors rather than the
  150.    specific mechanisms used to implement them since these behaviors will
  151.    evolve less rapidly than the mechanisms.
  152.  
  153.    Per-hop behaviors and mechanisms to select them on a per-packet basis
  154.    can be deployed in network nodes today and it is this aspect of the
  155.    differentiated services architecture that is being addressed first.
  156.    In addition, the forwarding path may require that some monitoring,
  157.    policing, and shaping be done on the network traffic designated for
  158.    "special" treatment in order to enforce requirements associated with
  159.    the delivery of the special treatment.  Mechanisms for this kind of
  160.    traffic conditioning are also fairly well-understood.  The wide
  161.    deployment of such traffic conditioners is also important to enable
  162.    the construction of services, though their actual use in constructing
  163.    services may evolve over time.
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170. Nichols, et. al.            Standards Track                     [Page 3]
  171.  
  172. RFC 2474             Differentiated Services Field         December 1998
  173.  
  174.  
  175.    The configuration of network elements with respect to which packets
  176.    get special treatment and what kinds of rules are to be applied to
  177.    the use of resources is much less well-understood.  Nevertheless, it
  178.    is possible to deploy useful differentiated services in networks by
  179.    using simple policies and static configurations.  As described in
  180.    [ARCH], there are a number of ways to compose per-hop behaviors and
  181.    traffic conditioners to create services.  In the process, additional
  182.    experience is gained that will guide more complex policies and
  183.    allocations.  The basic behaviors in the forwarding path can remain
  184.    the same while this component of the architecture evolves.
  185.    Experiences with the construction of such services will continue for
  186.    some time, thus we avoid standardizing this construction as it is
  187.    premature.  Further, much of the details of service construction are
  188.    covered by legal agreements between different business entities and
  189.    we avoid this as it is very much outside the scope of the IETF.
  190.  
  191.    This document concentrates on the forwarding path component.  In the
  192.    packet forwarding path, differentiated services are realized by
  193.    mapping the codepoint contained in a field in the IP packet header to
  194.    a particular forwarding treatment, or per-hop behavior (PHB), at each
  195.    network node along its path.  The codepoints may be chosen from a set
  196.    of mandatory values defined later in this document, from a set of
  197.    recommended values to be defined in future documents, or may have
  198.    purely local meaning.  PHBs are expected to be implemented by
  199.    employing a range of queue service and/or queue management
  200.    disciplines on a network node's output interface queue: for example
  201.    weighted round-robin (WRR) queue servicing or drop-preference queue
  202.    management.
  203.  
  204.    Marking is performed by traffic conditioners at network boundaries,
  205.    including the edges of the network (first-hop router or source host)
  206.    and administrative boundaries.  Traffic conditioners may include the
  207.    primitives of marking, metering, policing and shaping (these
  208.    mechanisms are described in [ARCH]).  Services are realized by the
  209.    use of particular packet classification and traffic conditioning
  210.    mechanisms at boundaries coupled with the concatenation of per-hop
  211.    behaviors along the transit path of the traffic.  A goal of the
  212.    differentiated services architecture is to specify these building
  213.    blocks for future extensibility, both of the number and type of the
  214.    building blocks and of the services built from them.
  215.  
  216.    Terminology used in this memo is defined in Sec. 2.  The
  217.    differentiated services field definition (DS field) is given in Sec.
  218.    3.  In Sec. 4, we discuss the desire for partial backwards
  219.    compatibility with current use of the IPv4 Precedence field.  As a
  220.    solution, we introduce Class Selector Codepoints and Class Selector
  221.  
  222.  
  223.  
  224.  
  225.  
  226. Nichols, et. al.            Standards Track                     [Page 4]
  227.  
  228. RFC 2474             Differentiated Services Field         December 1998
  229.  
  230.  
  231.    Compliant PHBs.  Sec. 5 presents guidelines for per-hop behavior
  232.    standardization.  Sec. 6 discusses guidelines for allocation of
  233.    codepoints.  Sec. 7 covers security considerations.
  234.  
  235.    This document is a concise description of the DS field and its uses.
  236.    It is intended to be read along with the differentiated services
  237.    architecture [ARCH].
  238.  
  239.    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
  240.    "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in this
  241.    document are to be interpreted as described in [RFC2119].
  242.  
  243. 2.  Terminology Used in This Document
  244.  
  245.    Behavior Aggregate: a collection of packets with the same codepoint
  246.    crossing a link in a particular direction.  The terms "aggregate" and
  247.    "behavior aggregate" are used interchangeably in this document.
  248.  
  249.    Classifier: an entity which selects packets based on the content of
  250.    packet headers according to defined rules.
  251.  
  252.    Class Selector Codepoint: any of the eight codepoints in the range '
  253.    xxx000' (where 'x' may equal '0' or '1').  Class Selector Codepoints
  254.    are discussed in Sec. 4.2.2.
  255.  
  256.    Class Selector Compliant PHB: a per-hop behavior satisfying the Class
  257.    Selector PHB Requirements specified in Sec. 4.2.2.2.
  258.  
  259.    Codepoint: a specific value of the DSCP portion of the DS field.
  260.    Recommended codepoints SHOULD map to specific, standardized PHBs.
  261.    Multiple codepoints MAY map to the same PHB.
  262.  
  263.    Differentiated Services Boundary: the edge of a DS domain, where
  264.    classifiers and traffic conditioners are likely to be deployed.  A
  265.    differentiated services boundary can be further sub-divided into
  266.    ingress and egress nodes, where the ingress/egress nodes are the
  267.    downstream/upstream nodes of a boundary link in a given traffic
  268.    direction.  A differentiated services boundary typically is found at
  269.    the ingress to the first-hop differentiated services-compliant router
  270.    (or network node) that a host's packets traverse, or at the egress of
  271.    the last-hop differentiated services-compliant router or network node
  272.    that packets traverse before arriving at a host.  This is sometimes
  273.    referred to as the boundary at a leaf router.  A differentiated
  274.    services boundary may be co-located with a host, subject to local
  275.    policy.  Also DS boundary.
  276.  
  277.    Differentiated Services-Compliant: in compliance with the
  278.    requirements specified in this document.  Also DS-compliant.
  279.  
  280.  
  281.  
  282. Nichols, et. al.            Standards Track                     [Page 5]
  283.  
  284. RFC 2474             Differentiated Services Field         December 1998
  285.  
  286.  
  287.    Differentiated Services Domain: a contiguous portion of the Internet
  288.    over which a consistent set of differentiated services policies are
  289.    administered in a coordinated fashion.  A differentiated services
  290.    domain can represent different administrative domains or autonomous
  291.    systems, different trust regions, different network technologies
  292.    (e.g., cell/frame), hosts and routers, etc.  Also DS domain.
  293.  
  294.    Differentiated Services Field: the IPv4 header TOS octet or the IPv6
  295.    Traffic Class octet when interpreted in conformance with the
  296.    definition given in this document.  Also DS field.
  297.  
  298.    Mechanism:  The implementation of one or more per-hop behaviors
  299.    according to a particular algorithm.
  300.  
  301.    Microflow: a single instance of an application-to-application flow of
  302.    packets which is identified by source address, destination address,
  303.    protocol id, and source port, destination port (where applicable).
  304.  
  305.    Per-hop Behavior (PHB): a description of the externally observable
  306.    forwarding treatment applied at a differentiated services-compliant
  307.    node to a behavior aggregate.  The description of a PHB SHOULD be
  308.    sufficiently detailed to allow the construction of predictable
  309.    services, as documented in [ARCH].
  310.  
  311.    Per-hop Behavior Group: a set of one or more PHBs that can only be
  312.    meaningfully specified and implemented simultaneously, due to a
  313.    common constraint applying to all PHBs in the set such as a queue
  314.    servicing or queue management policy.  Also PHB Group.
  315.  
  316.    Traffic Conditioning: control functions that can be applied to a
  317.    behavior aggregate, application flow, or other operationally useful
  318.    subset of traffic, e.g., routing updates.  These MAY include
  319.    metering, policing, shaping, and packet marking.  Traffic
  320.    conditioning is used to enforce agreements between domains and to
  321.    condition traffic to receive a differentiated service within a domain
  322.    by marking packets with the appropriate codepoint in the DS field and
  323.    by monitoring and altering the temporal characteristics of the
  324.    aggregate where necessary.  See [ARCH].
  325.  
  326.    Traffic Conditioner: an entity that performs traffic conditioning
  327.    functions and which MAY contain meters, policers, shapers, and
  328.    markers.  Traffic conditioners are typically deployed in DS boundary
  329.    nodes (i.e., not in interior nodes of a DS domain).
  330.  
  331.    Service: a description of the overall treatment of (a subset of) a
  332.    customer's traffic across a particular domain, across a set of
  333.    interconnected DS domains, or end-to-end.  Service descriptions are
  334.    covered by administrative policy and services are constructed by
  335.  
  336.  
  337.  
  338. Nichols, et. al.            Standards Track                     [Page 6]
  339.  
  340. RFC 2474             Differentiated Services Field         December 1998
  341.  
  342.  
  343.    applying traffic conditioning to create behavior aggregates which
  344.    experience a known PHB at each node within the DS domain.  Multiple
  345.    services can be supported by a single per-hop behavior used in
  346.    concert with a range of traffic conditioners.
  347.  
  348.    To summarize, classifiers and traffic conditioners are used to select
  349.    which packets are to be added to behavior aggregates.  Aggregates
  350.    receive differentiated treatment in a DS domain and traffic
  351.    conditioners MAY alter the temporal characteristics of the aggregate
  352.    to conform to some requirements.  A packet's DS field is used to
  353.    designate the packet's behavior aggregate and is subsequently used to
  354.    determine which forwarding treatment the packet receives.  A behavior
  355.    aggregate classifier which can select a PHB, for example a
  356.    differential output queue servicing discipline, based on the
  357.    codepoint in the DS field SHOULD be included in all network nodes in
  358.    a DS domain.  The classifiers and traffic conditioners at DS
  359.    boundaries are configured in accordance with some service
  360.    specification, a matter of administrative policy outside the scope of
  361.    this document.
  362.  
  363.    Additional differentiated services definitions are given in [ARCH].
  364.  
  365. 3.  Differentiated Services Field Definition
  366.  
  367.    A replacement header field, called the DS field, is defined, which is
  368.    intended to supersede the existing definitions of the IPv4 TOS octet
  369.    [RFC791] and the IPv6 Traffic Class octet [IPv6].
  370.  
  371.    Six bits of the DS field are used as a codepoint (DSCP) to select the
  372.    PHB a packet experiences at each node.  A two-bit currently unused
  373.    (CU) field is reserved and its definition and interpretation are
  374.    outside the scope of this document.  The value of the CU bits are
  375.    ignored by differentiated services-compliant nodes when determining
  376.    the per-hop behavior to apply to a received packet.
  377.  
  378.    The DS field structure is presented below:
  379.  
  380.  
  381.         0   1   2   3   4   5   6   7
  382.       +---+---+---+---+---+---+---+---+
  383.       |         DSCP          |  CU   |
  384.       +---+---+---+---+---+---+---+---+
  385.  
  386.         DSCP: differentiated services codepoint
  387.         CU:   currently unused
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394. Nichols, et. al.            Standards Track                     [Page 7]
  395.  
  396. RFC 2474             Differentiated Services Field         December 1998
  397.  
  398.  
  399.    In a DSCP value notation 'xxxxxx' (where 'x' may equal '0' or '1')
  400.    used in this document, the left-most bit signifies bit 0 of the DS
  401.    field (as shown above), and the right-most bit signifies bit 5.
  402.  
  403.    Implementors should note that the DSCP field is six bits wide.  DS-
  404.    compliant nodes MUST select PHBs by matching against the entire 6-bit
  405.    DSCP field, e.g., by treating the value of the field as a table index
  406.    which is used to select a particular packet handling mechanism which
  407.    has been implemented in that device.  The value of the CU field MUST
  408.    be ignored by PHB selection.  The DSCP field is defined as an
  409.    unstructured field to facilitate the definition of future per-hop
  410.    behaviors.
  411.  
  412.    With some exceptions noted below, the mapping of codepoints to PHBs
  413.    MUST be configurable.  A DS-compliant node MUST support the logical
  414.    equivalent of a configurable mapping table from codepoints to PHBs.
  415.    PHB specifications MUST include a recommended default codepoint,
  416.    which MUST be unique for codepoints in the standard space (see Sec.
  417.    6).  Implementations should support the recommended codepoint-to-PHB
  418.    mappings in their default configuration.  Operators may choose to use
  419.    different codepoints for a PHB, either in addition to or in place of
  420.    the recommended default.  Note that if operators do so choose, re-
  421.    marking of DS fields may be necessary at administrative boundaries
  422.    even if the same PHBs are implemented on both sides of the boundary.
  423.  
  424.    See [ARCH] for further discussion of re-marking.
  425.  
  426.    The exceptions to general configurability are for codepoints 'xxx000'
  427.    and are noted in Secs. 4.2.2 and 4.3.
  428.  
  429.    Packets received with an unrecognized codepoint SHOULD be forwarded
  430.    as if they were marked for the Default behavior (see Sec. 4), and
  431.    their codepoints should not be changed.  Such packets MUST NOT cause
  432.    the network node to malfunction.
  433.  
  434.    The structure of the DS field shown above is incompatible with the
  435.    existing definition of the IPv4 TOS octet in [RFC791].  The
  436.    presumption is that DS domains protect themselves by deploying re-
  437.    marking boundary nodes, as should networks using the RFC 791
  438.    Precedence designations.  Correct operational procedure SHOULD follow
  439.    [RFC791], which states: "If the actual use of these precedence
  440.    designations is of concern to a particular network, it is the
  441.    responsibility of that network to control the access to, and use of,
  442.    those precedence designations."  Validating the value of the DS field
  443.    at DS boundaries is sensible in any case since an upstream node can
  444.    easily set it to any arbitrary value.  DS domains that are not
  445.    isolated by suitably configured boundary nodes may deliver
  446.    unpredictable service.
  447.  
  448.  
  449.  
  450. Nichols, et. al.            Standards Track                     [Page 8]
  451.  
  452. RFC 2474             Differentiated Services Field         December 1998
  453.  
  454.  
  455.    Nodes MAY rewrite the DS field as needed to provide a desired local
  456.    or end-to-end service.  Specifications of DS field translations at DS
  457.    boundaries are the subject of service level agreements between
  458.    providers and users, and are outside the scope of this document.
  459.    Standardized PHBs allow providers to build their services from a
  460.    well-known set of packet forwarding treatments that can be expected
  461.    to be present in the equipment of many vendors.
  462.  
  463. 4.  Historical Codepoint Definitions and PHB Requirements
  464.  
  465.    The DS field will have a limited backwards compatibility with current
  466.    practice, as described in this section.  Backwards compatibility is
  467.    addressed in two ways.  First, there are per-hop behaviors that are
  468.    already in widespread use (e.g., those satisfying the IPv4 Precedence
  469.    queueing requirements specified in [RFC1812]), and we wish to permit
  470.    their continued use in DS-compliant nodes.  In addition, there are
  471.    some codepoints that correspond to historical use of the IP
  472.    Precedence field and we reserve these codepoints to map to PHBs that
  473.    meet the general requirements specified in Sec. 4.2.2.2, though the
  474.    specific differentiated services PHBs mapped to by those codepoints
  475.    MAY have additional specifications.
  476.  
  477.    No attempt is made to maintain backwards compatibility with the "DTR"
  478.    or TOS bits of the IPv4 TOS octet, as defined in [RFC791].
  479.  
  480. 4.1  A Default PHB
  481.  
  482.    A "default" PHB MUST be available in a DS-compliant node.  This is
  483.    the common, best-effort forwarding behavior available in existing
  484.    routers as standardized in [RFC1812].  When no other agreements are
  485.    in place, it is assumed that packets belong to this aggregate.  Such
  486.    packets MAY be sent into a network without adhering to any particular
  487.    rules and the network will deliver as many of these packets as
  488.    possible and as soon as possible, subject to other resource policy
  489.    constraints.  A reasonable implementation of this PHB would be a
  490.    queueing discipline that sends packets of this aggregate whenever the
  491.    output link is not required to satisfy another PHB.  A reasonable
  492.    policy for constructing services would ensure that the aggregate was
  493.    not "starved".  This could be enforced by a mechanism in each node
  494.    that reserves some minimal resources (e.g, buffers, bandwidth) for
  495.    Default behavior aggregates.  This permits senders that are not
  496.    differentiated services-aware to continue to use the network in the
  497.    same manner as today.  The impact of the introduction of
  498.    differentiated services into a domain on the service expectations of
  499.    its customers and peers is a complex matter involving policy
  500.    decisions by the domain and is outside the scope of this document.
  501.    The RECOMMENDED codepoint for the Default PHB is the bit pattern '
  502.    000000'; the value '000000' MUST map to a PHB that meets these
  503.  
  504.  
  505.  
  506. Nichols, et. al.            Standards Track                     [Page 9]
  507.  
  508. RFC 2474             Differentiated Services Field         December 1998
  509.  
  510.  
  511.    specifications.  The codepoint chosen for Default behavior is
  512.    compatible with existing practice [RFC791].  Where a codepoint is not
  513.    mapped to a standardized or local use PHB, it SHOULD be mapped to the
  514.    Default PHB.
  515.  
  516.    A packet initially marked for the Default behavior MAY be re-marked
  517.    with another codepoint as it passes a boundary into a DS domain so
  518.    that it will be forwarded using a different PHB within that domain,
  519.    possibly subject to some negotiated agreement between the peering
  520.    domains.
  521.  
  522. 4.2  Once and Future IP Precedence Field Use
  523.  
  524.    We wish to maintain some form of backward compatibility with present
  525.    uses of the IP Precedence Field: bits 0-2 of the IPv4 TOS octet.
  526.    Routers exist that use the IP Precedence field to select different
  527.    per-hop forwarding treatments in a similar way to the use proposed
  528.    here for the DSCP field.  Thus, a simple prototype differentiated
  529.    services architecture can be quickly deployed by appropriately
  530.    configuring these routers.  Further, IP systems today understand the
  531.    location of the IP Precedence field, and thus if these bits are used
  532.    in a similar manner as DS-compliant equipment is deployed,
  533.    significant failures are not likely during early deployment.  In
  534.    other words, strict DS-compliance need not be ubiquitous even within
  535.    a single service provider's network if bits 0-2 of the DSCP field are
  536.    employed in a manner similar to, or subsuming, the deployed uses of
  537.    the IP Precedence field.
  538.  
  539. 4.2.1  IP Precedence History and Evolution in Brief
  540.  
  541.    The IP Precedence field is something of a forerunner of the DS field.
  542.    IP Precedence, and the IP Precedence Field, were first defined in
  543.    [RFC791].  The values that the three-bit IP Precedence Field might
  544.    take were assigned to various uses, including network control
  545.    traffic, routing traffic, and various levels of privilege.  The least
  546.    level of privilege was deemed "routine traffic".  In [RFC791], the
  547.    notion of Precedence was defined broadly as "An independent measure
  548.    of the importance of this datagram."  Not all values of the IP
  549.    Precedence field were assumed to have meaning across boundaries, for
  550.    instance "The Network Control precedence designation is intended to
  551.    be used within a network only.  The actual use and control of that
  552.    designation is up to each network." [RFC791]
  553.  
  554.    Although early BBN IMPs implemented the Precedence feature, early
  555.    commercial routers and UNIX IP forwarding code generally did not.  As
  556.    networks became more complex and customer requirements grew,
  557.    commercial router vendors developed ways to implement various kinds
  558.    of queueing services including priority queueing, which were
  559.  
  560.  
  561.  
  562. Nichols, et. al.            Standards Track                    [Page 10]
  563.  
  564. RFC 2474             Differentiated Services Field         December 1998
  565.  
  566.  
  567.    generally based on policies encoded in filters in the routers, which
  568.    examined IP addresses, IP protocol numbers, TCP or UDP ports, and
  569.    other header fields.  IP Precedence was and is among the options such
  570.    filters can examine.
  571.  
  572.    In short, IP Precedence is widely deployed and widely used, if not in
  573.    exactly the manner intended in [RFC791].  This was recognized in
  574.    [RFC1122], which states that while the use of the IP Precedence field
  575.    is valid, the specific assignment of the priorities in [RFC791] were
  576.    merely historical.
  577.  
  578. 4.2.2  Subsuming IP Precedence into Class Selector Codepoints
  579.  
  580.    A specification of the packet forwarding treatments selected by the
  581.    IP Precedence field today would have to be quite general; probably
  582.    not specific enough to build predictable services from in the
  583.    differentiated services framework.  To preserve partial backwards
  584.    compatibility with known current uses of the IP Precedence field
  585.    without sacrificing future flexibility, we have taken the approach of
  586.    describing minimum requirements on a set of PHBs that are compatible
  587.    with most of the deployed forwarding treatments selected by the IP
  588.    Precedence field.  In addition, we give a set of codepoints that MUST
  589.    map to PHBs meeting these minimum requirements.  The PHBs mapped to
  590.    by these codepoints MAY have a more detailed list of specifications
  591.    in addition to the required ones stated here.  Other codepoints MAY
  592.    map to these same PHBs.  We refer to this set of codepoints as the
  593.    Class Selector Codepoints, and the minimum requirements for PHBs that
  594.    these codepoints may map to are called the Class Selector PHB
  595.    Requirements.
  596.  
  597. 4.2.2.1  The Class Selector Codepoints
  598.  
  599.    A specification of the packet forwarding treatments selected by the
  600.    The DS field values of 'xxx000|xx', or DSCP = 'xxx000' and CU
  601.    subfield unspecified, are reserved as a set of Class Selector
  602.    Codepoints.  PHBs which are mapped to by these codepoints MUST
  603.    satisfy the Class Selector PHB requirements in addition to preserving
  604.    the Default PHB requirement on codepoint '000000' (Sec. 4.1).
  605.  
  606. 4.2.2.2  The Class Selector PHB Requirements
  607.  
  608.    We refer to a Class Selector Codepoint with a larger numerical value
  609.    than another Class Selector Codepoint as having a higher relative
  610.    order while a Class Selector Codepoint with a smaller numerical value
  611.    than another Class Selector Codepoint is said to have a lower
  612.    relative order.  The set of PHBs mapped to by the eight Class
  613.    Selector Codepoints MUST yield at least two independently forwarded
  614.    classes of traffic, and PHBs selected by a Class Selector Codepoint
  615.  
  616.  
  617.  
  618. Nichols, et. al.            Standards Track                    [Page 11]
  619.  
  620. RFC 2474             Differentiated Services Field         December 1998
  621.  
  622.  
  623.    SHOULD give packets a probability of timely forwarding that is not
  624.    lower than that given to packets marked with a Class Selector
  625.    codepoint of lower relative order, under reasonable operating
  626.    conditions and traffic loads.  A discarded packet is considered to be
  627.    an extreme case of untimely forwarding.  In addition, PHBs selected
  628.    by codepoints '11x000' MUST give packets a preferential forwarding
  629.    treatment by comparison to the PHB selected by codepoint '000000' to
  630.    preserve the common usage of IP Precedence values '110' and '111' for
  631.    routing traffic.
  632.  
  633.    Further, PHBs selected by distinct Class Selector Codepoints SHOULD
  634.    be independently forwarded; that is, packets marked with different
  635.    Class Selector Codepoints MAY be re-ordered.  A network node MAY
  636.    enforce limits on the amount of the node's resources that can be
  637.    utilized by each of these PHBs.
  638.  
  639.    PHB groups whose specification satisfy these requirements are
  640.    referred to as Class Selector Compliant PHBs.
  641.  
  642.    The Class Selector PHB Requirements on codepoint '000000' are
  643.    compatible with those listed for the Default PHB in Sec. 4.1.
  644.  
  645. 4.2.2.3  Using the Class Selector PHB Requirements for IP Precedence
  646.          Compatibility
  647.  
  648.    A DS-compliant network node can be deployed with a set of one or more
  649.    Class Selector Compliant PHB groups.  This document states that the
  650.    set of codepoints 'xxx000' MUST map to such a set of PHBs.  As it is
  651.    also possible to map multiple codepoints to the same PHB, the vendor
  652.    or the network administrator MAY configure the network node to map
  653.    codepoints to PHBs irrespective of bits 3-5 of the DSCP field to
  654.    yield a network that is compatible with historical IP Precedence use.
  655.    Thus, for example, codepoint '011010' would map to the same PHB as
  656.    codepoint '011000'.
  657.  
  658. 4.2.2.4  Example Mechanisms for Implementing Class Selector Compliant
  659.          PHB Groups
  660.  
  661.    Class Selector Compliant PHBs can be realized by a variety of
  662.    mechanisms, including strict priority queueing, weighted fair
  663.    queueing (WFQ), WRR, or variants [RPS, HPFQA, DRR], or Class-Based
  664.    Queuing [CBQ].  The distinction between PHBs and mechanisms is
  665.    described in more detail in Sec. 5.
  666.  
  667.    It is important to note that these mechanisms might be available
  668.    through other PHBs (standardized or not) that are available in a
  669.    particular vendor's equipment.  For example, future documents may
  670.    standardize a Strict Priority Queueing PHB group for a set of
  671.  
  672.  
  673.  
  674. Nichols, et. al.            Standards Track                    [Page 12]
  675.  
  676. RFC 2474             Differentiated Services Field         December 1998
  677.  
  678.  
  679.    recommended codepoints.  A network administrator might configure
  680.    those routers to select the Strict Priority Queueing PHBs with
  681.    codepoints 'xxx000' in conformance with the requirements of this
  682.    document.
  683.  
  684.    As a further example, another vendor might employ a CBQ mechanism in
  685.    its routers.  The CBQ mechanism could be used to implement the Strict
  686.    Priority Queueing PHBs as well as a set of Class Selector Compliant
  687.    PHBs with a wider range of features than would be available in a set
  688.    of PHBs that did no more than meet the minimum Class Selector PHB
  689.    requirements.
  690.  
  691. 4.3  Summary
  692.  
  693.    This document defines codepoints 'xxx000' as the Class Selector
  694.    codepoints, where PHBs selected by these codepoints MUST meet the
  695.    Class Selector PHB Requirements described in Sec. 4.2.2.2.  This is
  696.    done to preserve a useful level of backward compatibility with
  697.    current uses of the IP Precedence field in the Internet without
  698.    unduly limiting future flexibility.  In addition, codepoint '000000'
  699.    is used as the Default PHB value for the Internet and, as such, is
  700.    not configurable.  The remaining seven non-zero Class Selector
  701.    codepoints are configurable only to the extent that they map to PHBs
  702.    that meet the requirements in Sec. 4.2.2.2.
  703.  
  704. 5.  Per-Hop Behavior Standardization Guidelines
  705.  
  706.    The behavioral characteristics of a PHB are to be standardized, and
  707.    not the particular algorithms or the mechanisms used to implement
  708.    them.  A node may have a (possibly large) set of parameters that can
  709.    be used to control how packets are scheduled onto an output interface
  710.    (e.g., N separate queues with settable priorities, queue lengths,
  711.    round-robin weights, drop algorithm, drop preference weights and
  712.    thresholds, etc).  To illustrate the distinction between a PHB and a
  713.    mechanism, we point out that Class Selector Compliant PHBs might be
  714.    implemented by several mechanisms, including: strict priority
  715.    queueing, WFQ, WRR, or variants [HPFQA, RPS, DRR], or CBQ [CBQ], in
  716.    isolation or in combination.
  717.  
  718.    PHBs may be specified individually, or as a group (a single PHB is a
  719.    special case of a PHB group).  A PHB group usually consists of a set
  720.    of two or more PHBs that can only be meaningfully specified and
  721.    implemented simultaneously, due to a common constraint applying to
  722.    each PHB within the group, such as a queue servicing or queue
  723.    management policy.  A PHB group specification SHOULD describe
  724.    conditions under which a packet might be re-marked to select another
  725.    PHB within the group.  It is RECOMMENDED that PHB implementations do
  726.    not introduce any packet re-ordering within a microflow.  PHB group
  727.  
  728.  
  729.  
  730. Nichols, et. al.            Standards Track                    [Page 13]
  731.  
  732. RFC 2474             Differentiated Services Field         December 1998
  733.  
  734.  
  735.    specifications MUST identify any possible packet re-ordering
  736.    implications which may occur for each individual PHB, and which may
  737.    occur if different packets within a microflow are marked for
  738.    different PHBs within the group.
  739.  
  740.    Only those per-hop behaviors that are not described by an existing
  741.    PHB standard, and have been implemented, deployed, and shown to be
  742.    useful, SHOULD be standardized.  Since current experience with
  743.    differentiated services is quite limited, it is premature to
  744.    hypothesize the exact specification of these per-hop behaviors.
  745.  
  746.    Each standardized PHB MUST have an associated RECOMMENDED codepoint,
  747.    allocated out of a space of 32 codepoints (see Sec. 6).  This
  748.    specification has left room in the codepoint space to allow for
  749.    evolution, thus the defined space ('xxx000') is intentionally sparse.
  750.  
  751.    Network equipment vendors are free to offer whatever parameters and
  752.    capabilities are deemed useful or marketable.  When a particular,
  753.    standardized PHB is implemented in a node, a vendor MAY use any
  754.    algorithm that satisfies the definition of the PHB according to the
  755.    standard.  The node's capabilities and its particular configuration
  756.    determine the different ways that packets can be treated.
  757.  
  758.    Service providers are not required to use the same node mechanisms or
  759.    configurations to enable service differentiation within their
  760.    networks, and are free to configure the node parameters in whatever
  761.    way that is appropriate for their service offerings and traffic
  762.    engineering objectives.  Over time certain common per-hop behaviors
  763.    are likely to evolve (i.e., ones that are particularly useful for
  764.    implementing end-to-end services) and these MAY be associated with
  765.    particular EXP/LU PHB codepoints in the DS field, allowing use across
  766.    domain boundaries (see Sec. 6).  These PHBs are candidates for future
  767.    standardization.
  768.  
  769.    It is RECOMMENDED that standardized PHBs be specified in accordance
  770.    with the guidelines set out in [ARCH].
  771.  
  772. 6.  IANA Considerations
  773.  
  774.    The DSCP field within the DS field is capable of conveying 64
  775.    distinct codepoints.  The codepoint space is divided into three pools
  776.    for the purpose of codepoint assignment and management: a pool of 32
  777.    RECOMMENDED codepoints (Pool 1) to be assigned by Standards Action as
  778.    defined in [CONS], a pool of 16 codepoints (Pool 2) to be reserved
  779.    for experimental or Local Use (EXP/LU) as defined in [CONS], and a
  780.    pool of 16 codepoints (Pool 3) which are initially available for
  781.    experimental or local use, but which should be preferentially
  782.  
  783.  
  784.  
  785.  
  786. Nichols, et. al.            Standards Track                    [Page 14]
  787.  
  788. RFC 2474             Differentiated Services Field         December 1998
  789.  
  790.  
  791.    utilized for standardized assignments if Pool 1 is ever exhausted.
  792.    The pools are defined in the following table (where 'x' refers to
  793.    either '0' or '1'):
  794.  
  795.    Pool        Codepoint space          Assignment Policy
  796.    ----        ---------------          -----------------
  797.  
  798.     1            xxxxx0                 Standards Action
  799.     2            xxxx11                 EXP/LU
  800.     3            xxxx01                 EXP/LU (*)
  801.  
  802.    (*) may be utilized for future Standards Action allocations as
  803.        necessary
  804.  
  805.    This document assigns eight RECOMMENDED codepoints ('xxx000') which
  806.    are drawn from Pool 1 above.  These codepoints MUST be mapped, not to
  807.    specific PHBs, but to PHBs that meet "at least" the requirements set
  808.    forth in Sec. 4.2.2.2 to provide a minimal level of backwards
  809.    compatibility with IP Precedence as defined in [RFC791] and as
  810.    deployed in some current equipment.
  811.  
  812. 7.  Security Considerations
  813.  
  814.    This section considers security issues raised by the introduction of
  815.    differentiated services, primarily the potential for denial-of-
  816.    service attacks, and the related potential for theft of service by
  817.    unauthorized traffic (Section 7.1).  Section 7.2 addresses the
  818.    operation of differentiated services in the presence of IPsec
  819.    including its interaction with IPsec tunnel mode and other tunnelling
  820.    protocols.  See [ARCH] for more extensive treatment of the security
  821.    concerns raised by the overall differentiated services architecture.
  822.  
  823. 7.1  Theft and Denial of Service
  824.  
  825.    The primary goal of differentiated services is to allow different
  826.    levels of service to be provided for traffic streams on a common
  827.    network infrastructure.  A variety of techniques may be used to
  828.    achieve this, but the end result will be that some packets receive
  829.    different (e.g., better) service than others.  The mapping of network
  830.    traffic to the specific behaviors that result in different (e.g.,
  831.    better or worse) service is indicated primarily by the DS codepoint,
  832.    and hence an adversary may be able to obtain better service by
  833.    modifying the codepoint to values indicating behaviors used for
  834.    enhanced services or by injecting packets with such codepoint values.
  835.    Taken to its limits, such theft-of-service becomes a denial-of-
  836.    service attack when the modified or injected traffic depletes the
  837.    resources available to forward it and other traffic streams.
  838.  
  839.  
  840.  
  841.  
  842. Nichols, et. al.            Standards Track                    [Page 15]
  843.  
  844. RFC 2474             Differentiated Services Field         December 1998
  845.  
  846.  
  847.    The defense against this class of theft- and denial-of-service
  848.    attacks consists of the combination of traffic conditioning at DS
  849.    domain boundaries with security and integrity of the network
  850.    infrastructure within a DS domain.  DS domain boundary nodes MUST
  851.    ensure that all traffic entering the domain is marked with codepoint
  852.    values appropriate to the traffic and the domain, remarking the
  853.    traffic with new codepoint values if necessary.  These DS boundary
  854.    nodes are the primary line of defense against theft- and denial-of-
  855.    service attacks based on modified codepoints, as success of any such
  856.    attack indicates that the codepoints used by the attacking traffic
  857.    were inappropriate.  An important instance of a boundary node is that
  858.    any traffic-originating node within a DS domain is the initial
  859.    boundary node for that traffic.  Interior nodes in a DS domain rely
  860.    on DS codepoints to associate traffic with the forwarding PHBs, and
  861.    are NOT REQUIRED to check codepoint values before using them.  As a
  862.    result, the interior nodes depend on the correct operation of the DS
  863.    domain boundary nodes to prevent the arrival of traffic with
  864.    inappropriate codepoints or in excess of provisioned levels that
  865.    would disrupt operation of the domain.
  866.  
  867. 7.2  IPsec and Tunnelling Interactions
  868.  
  869.    The IPsec protocol, as defined in [ESP, AH], does not include the IP
  870.    header's DS field in any of its cryptographic calculations (in the
  871.    case of tunnel mode, it is the outer IP header's DS field that is not
  872.    included).  Hence modification of the DS field by a network node has
  873.    no effect on IPsec's end-to-end security, because it cannot cause any
  874.    IPsec integrity check to fail.  As a consequence, IPsec does not
  875.    provide any defense against an adversary's modification of the DS
  876.    field (i.e., a man-in-the-middle attack), as the adversary's
  877.    modification will also have no effect on IPsec's end-to-end security.
  878.  
  879.    IPsec's tunnel mode provides security for the encapsulated IP
  880.    header's DS field.  A tunnel mode IPsec packet contains two IP
  881.    headers: an outer header supplied by the tunnel ingress node and an
  882.    encapsulated inner header supplied by the original source of the
  883.    packet.  When an IPsec tunnel is hosted (in whole or in part) on a
  884.    differentiated services network, the intermediate network nodes
  885.    operate on the DS field in the outer header.  At the tunnel egress
  886.    node, IPsec processing includes removing the outer header and
  887.    forwarding the packet (if required) using the inner header.  The
  888.    IPsec protocol REQUIRES that the inner header's DS field not be
  889.    changed by this decapsulation processing to ensure that modifications
  890.    to the DS field cannot be used to launch theft- or denial-of-service
  891.    attacks across an IPsec tunnel endpoint.  This document makes no
  892.    change to that requirement.  If the inner IP header has not been
  893.    processed by a DS boundary node for the tunnel egress node's DS
  894.  
  895.  
  896.  
  897.  
  898. Nichols, et. al.            Standards Track                    [Page 16]
  899.  
  900. RFC 2474             Differentiated Services Field         December 1998
  901.  
  902.  
  903.    domain, the tunnel egress node is the boundary node for traffic
  904.    exiting the tunnel, and hence MUST ensure that the resulting traffic
  905.    has appropriate DS codepoints.
  906.  
  907.    When IPsec tunnel egress decapsulation processing includes a
  908.    sufficiently strong cryptographic integrity check of the encapsulated
  909.    packet (where sufficiency is determined by local security policy),
  910.    the tunnel egress node can safely assume that the DS field in the
  911.    inner header has the same value as it had at the tunnel ingress node.
  912.    An important consequence is that otherwise insecure links within a DS
  913.    domain can be secured by a sufficiently strong IPsec tunnel.  This
  914.    analysis and its implications apply to any tunnelling protocol that
  915.    performs integrity checks, but the level of assurance of the inner
  916.    header's DS field depends on the strength of the integrity check
  917.    performed by the tunnelling protocol.  In the absence of sufficient
  918.    assurance for a tunnel that may transit nodes outside the current DS
  919.    domain (or is otherwise vulnerable), the encapsulated packet MUST be
  920.    treated as if it had arrived at a boundary from outside the DS
  921.    domain.
  922.  
  923. 8.  Acknowledgements
  924.  
  925.    The authors would like to acknowledge the Differentiated Services
  926.    Working Group for discussions which helped shape this document.
  927.  
  928. 9.  References
  929.  
  930.    [AH]        Kent, S. and R. Atkinson, "IP Authentication Header",
  931.                RFC 2402, November 1998.
  932.  
  933.    [ARCH]      Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z.
  934.                and W. Weiss, "An Architecture for Differentiated
  935.                Services", RFC 2475, December 1998.
  936.  
  937.    [CBQ]       S. Floyd and V. Jacobson, "Link-sharing and Resource
  938.                Management Models for Packet Networks", IEEE/ACM
  939.                Transactions on Networking, Vol. 3 no. 4, pp. 365-386,
  940.                August 1995.
  941.  
  942.    [CONS]      Narten, T. and H. Alvestrand, "Guidelines for Writing an
  943.                IANA Considerations Section in RFCs", RFC 2434, October
  944.                1998.
  945.  
  946.    [DRR]       M. Shreedhar and G. Varghese, Efficient Fair Queueing
  947.                using Deficit Round Robin", Proc. ACM SIGCOMM 95, 1995.
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954. Nichols, et. al.            Standards Track                    [Page 17]
  955.  
  956. RFC 2474             Differentiated Services Field         December 1998
  957.  
  958.  
  959.    [ESP]       Kent, S. and R. Atkinson, "IP Encapsulating Security
  960.                Payload (ESP)", RFC 2406, November 1998.
  961.  
  962.    [HPFQA]     J. Bennett and Hui Zhang, "Hierarchical Packet Fair
  963.                Queueing Algorithms", Proc. ACM SIGCOMM 96, August 1996.
  964.  
  965.    [IPv6]      Deering, S. and R. Hinden, "Internet Protocol, Version 6
  966.                (IPv6) Specification", RFC 2460, December 1998.
  967.  
  968.    [RFC791]    Postel, J., Editor, "Internet Protocol", STD 5, RFC 791,
  969.                September 1981.
  970.  
  971.    [RFC1122]   Braden, R., "Requirements for Internet hosts -
  972.                communication layers", STD 3, RFC 1122, October 1989.
  973.  
  974.    [RFC1812]   Baker, F., Editor, "Requirements for IP Version 4
  975.                Routers", RFC 1812, June 1995.
  976.  
  977.    [RFC2119]   Bradner, S., "Key words for use in RFCs to Indicate
  978.                Requirement Levels", BCP 14, RFC 2119, March 1997.
  979.  
  980.    [RPS]       D. Stiliadis and A. Varma, "Rate-Proportional Servers:  A
  981.                Design Methodology for Fair Queueing Algorithms", IEEE/
  982.                ACM Trans. on Networking, April 1998.
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.  
  996.  
  997.  
  998.  
  999.  
  1000.  
  1001.  
  1002.  
  1003.  
  1004.  
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010. Nichols, et. al.            Standards Track                    [Page 18]
  1011.  
  1012. RFC 2474             Differentiated Services Field         December 1998
  1013.  
  1014.  
  1015. Authors' Addresses
  1016.  
  1017.    Kathleen Nichols
  1018.    Cisco Systems
  1019.    170 West Tasman Drive
  1020.    San Jose, CA  95134-1706
  1021.  
  1022.    Phone:  +1-408-525-4857
  1023.    EMail: kmn@cisco.com
  1024.  
  1025.  
  1026.    Steven Blake
  1027.    Torrent Networking Technologies
  1028.    3000 Aerial Center, Suite 140
  1029.    Morrisville, NC  27560
  1030.  
  1031.    Phone:  +1-919-468-8466 x232
  1032.    EMail: slblake@torrentnet.com
  1033.  
  1034.  
  1035.    Fred Baker
  1036.    Cisco Systems
  1037.    519 Lado Drive
  1038.    Santa Barbara, CA  93111
  1039.  
  1040.    Phone:  +1-408-526-4257
  1041.    EMail: fred@cisco.com
  1042.  
  1043.  
  1044.    David L. Black
  1045.    EMC Corporation
  1046.    35 Parkwood Drive
  1047.    Hopkinton, MA  01748
  1048.  
  1049.    Phone:  +1-508-435-1000 x76140
  1050.    EMail: black_david@emc.com
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064.  
  1065.  
  1066. Nichols, et. al.            Standards Track                    [Page 19]
  1067.  
  1068. RFC 2474             Differentiated Services Field         December 1998
  1069.  
  1070.  
  1071. Full Copyright Statement
  1072.  
  1073.    Copyright (C) The Internet Society (1998).  All Rights Reserved.
  1074.  
  1075.    This document and translations of it may be copied and furnished to
  1076.    others, and derivative works that comment on or otherwise explain it
  1077.    or assist in its implementation may be prepared, copied, published
  1078.    and distributed, in whole or in part, without restriction of any
  1079.    kind, provided that the above copyright notice and this paragraph are
  1080.    included on all such copies and derivative works.  However, this
  1081.    document itself may not be modified in any way, such as by removing
  1082.    the copyright notice or references to the Internet Society or other
  1083.    Internet organizations, except as needed for the purpose of
  1084.    developing Internet standards in which case the procedures for
  1085.    copyrights defined in the Internet Standards process must be
  1086.    followed, or as required to translate it into languages other than
  1087.    English.
  1088.  
  1089.    The limited permissions granted above are perpetual and will not be
  1090.    revoked by the Internet Society or its successors or assigns.
  1091.  
  1092.    This document and the information contained herein is provided on an
  1093.    "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
  1094.    TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
  1095.    BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
  1096.    HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
  1097.    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122. Nichols, et. al.            Standards Track                    [Page 20]
  1123.  
  1124.