rfc2211.txt

来自「RFC 的详细文档!」· 文本 代码 · 共 1,068 行 · 第 1/4 页

TXT
1,068
字号
   errors, are not bounded by this service.

5. Invocation Information

   The controlled-load service is invoked by specifying the data flow's
   desired traffic parameters (TSpec) to the network element. Requests
   placed for a new flow will be accepted if the network element has the
   capacity to forward the flow's packets as described above. Requests
   to change the TSpec for an existing flow should be treated as a new
   invocation, in the sense that admission control must be reapplied to
   the flow. Requests that reduce the TSpec for an existing flow (in the



Wroclawski                 Standards Track                      [Page 5]

RFC 2211                Controlled-Load Network           September 1997


   sense that the new TSpec is strictly smaller than the old TSpec
   according to the ordering rules given below) should never be denied
   service.

   The Controlled-Load service uses the TOKEN_BUCKET_TSPEC defined in
   Reference [5] to describe a data flow's traffic parameters. This
   TSpec takes the form of a token bucket specification plus a peak rate
   (p), a minimum policed unit (m) and a maximum packet size (M).

   The token bucket specification includes a bucket rate r and a bucket
   depth, b.  Both r and b must be positive.  The rate, r, is measured
   in bytes of IP datagrams per second. Values of this parameter may
   range from 1 byte per second to 40 terabytes per second. Network
   elements MUST return an error for requests containing values outside
   this range. Network elements MUST return an error for any request
   containing a value within this range which cannot be supported by the
   element. In practice, only the first few digits of the r parameter
   are significant, so the use of floating point representations,
   accurate to at least 0.1% is encouraged.

   The bucket depth, b, is measured in bytes. Values of this parameter
   may range from 1 byte to 250 gigabytes. Network elements MUST return
   an error for requests containing values outside this range. Network
   elements MUST return an error for any request containing a value
   within this range which cannot be supported by the element. In
   practice, only the first few digits of the b parameter are
   significant, so the use of floating point representations, accurate
   to at least 0.1% is encouraged.

   The range of values allowed for these parameters is intentionally
   large to allow for future network technologies. Any given network
   element is not expected to support the full range of values.

   The peak rate, p, is measured in bytes of IP datagrams per second and
   has the same range and suggested representation as the bucket rate.
   The peak rate parameter exists in this version of the specification
   primarily for TSpec compatability with other QoS control services and
   the shared TOKEN_BUCKET_TSPEC parameter. While some admission control
   and buffer allocation algorithms may find the peak rate value useful,
   the field may always be ignored by a Controlled-Load service
   conforming to this version of the specification. That is, the service
   module at a network element may always assume that the peak data rate
   arriving at that element is the line rate of the incoming interface,
   and the service's evaluation criteria do not require a network
   element to consider the peak rate value. More explicit use of the
   peak-rate parameter by a Controlled-Load service module may be added
   to the specification in the future.




Wroclawski                 Standards Track                      [Page 6]

RFC 2211                Controlled-Load Network           September 1997


   The minimum policed unit, m, is an integer measured in bytes.  All IP
   datagrams less than size m will be counted against the token bucket
   as being of size m. The maximum packet size, M, is the biggest packet
   that will conform to the traffic specification; it is also measured
   in bytes.  Network elements MUST reject a service request if the
   requested maximum packet size is larger than the MTU of the link.
   Both m and M must be positive, and m must be less then or equal to M.

   The preferred concrete representation for the TSpec is three floating
   point numbers in single-precision IEEE floating point format followed
   by two 32-bit integers in network byte order.  The first value is the
   rate (r), the second value is the bucket size (b), the third is the
   peak rate (p), the fourth is the minimum policed unit (m), and the
   fifth is the maximum packet size (M). For the parameters (r) and (b),
   only bit-patterns which represent valid non-negative floating point
   numbers are allowed. Negative numbers (including "negative zero),
   infinities, and NAN's are not allowed.  For the parameter (p) only
   bit-patterns which represent valid non-negative floating point
   numbers or positive infinity are allowed. Positive infinity is
   represented with an exponent of all ones (255) and a sign bit and
   mantissa of all zeroes. Negative numbers (including "negative zero"),
   negative infinity, and NAN's are not allowed.

      NOTE: An implementation which utilizes general-purpose hardware or
      software IEEE floating-point support may wish to verify that
      arriving parameters meet this requirement before using the
      parameters in floating-point computations, in order to avoid
      unexpected exceptions or traps.

   The controlled-load service is assigned service_name 5.

   The TOKEN_BUCKET_TSPEC parameter used by the Controlled-Load service
   is general parameter number 127, as indicated in [5].

6. Exported Information

   The controlled-load service has no required characterization
   parameters. Individual implementations may export appropriate
   implementation-specific measurement and monitoring information.

7. Policing

   The controlled-load service is provided to a flow on the basis that
   the flow's traffic conforms to a TSpec given at flow setup time. This
   section defines the meaning of conformance to the controlled-load
   TSpec, describes the circumstances under which a controlled-load
   flow's traffic might *not* conform to the TSpec, and specifies the
   network element's action in those circumstances.



Wroclawski                 Standards Track                      [Page 7]

RFC 2211                Controlled-Load Network           September 1997


   Controlled-load service modules provide QoS control for traffic
   conforming to the TSpec given at setup time.  The TSpec's token
   bucket parameters require that traffic must obey the rule that over
   all time periods, the amount of data sent does not exceed rT+b, where
   r and b are the token bucket parameters and T is the length of the
   time period.  For the purposes of this accounting, links must count
   packets that are smaller than the minimal policing unit m to be of
   size m.  Packets that arrive at an element and cause a violation of
   the the rT+b bound are considered nonconformant.

   Additionally, packets bigger than the outgoing link MTU are
   considered nonconformant.  It is expected that this situation will
   not arise with any frequency, because flow setup mechanisms are
   expected to notify the sending application of the appropriate path
   MTU.

   In the presence of nonconformant packets arriving for one or more
   controlled-load flows, each network element must ensure locally that
   the following requirements are met:

     1) The network element MUST continue to provide the contracted
     quality of service to those controlled-load flows not experiencing
     excess traffic.

     2) The network element SHOULD prevent excess controlled-load
     traffic from unfairly impacting the handling of arriving best-
     effort traffic.  This requirement is discussed further in Section 9
     of this document (Guidelines for Implementors).

     3) Consistent with points 1 and 2, the network element MUST attempt
     to forward the excess traffic on a best-effort basis if sufficient
     resources are available.

   Network elements must not assume that that arrival of nonconformant
   traffic for a specific controlled-load flow will be unusual, or
   indicative of error.  In certain circumstances (particularly, routers
   acting as the "split points" of a multicast distribution tree
   supporting a shared reservation) large numbers of packets will fail
   the conformance test *as a matter of normal operation*.

   Network elements must not assume that data sources or upstream
   elements have taken action to "police" controlled-load flows by
   limiting their traffic to conform to the flow's TSpec.  Each network
   element providing controlled-load service MUST independently ensure
   that the requirements given above are met in the presence of
   nonconformant arriving traffic for one or more controlled-load flows.





Wroclawski                 Standards Track                      [Page 8]

RFC 2211                Controlled-Load Network           September 1997


   Network elements may use any appropriate implementation mechanism to
   meet the requirements given above.  Examples of such mechanisms
   include token-bucket policing filters and per-flow scheduling
   algorithms.  However, it is insufficient to simply place all
   controlled-load flows into the same shared resource pool, without
   first ensuring that non-conformant flows are prevented from starving
   conformant flows of the necessary processing resources.

   Further discussion of this issue may be found in Section 11 of this
   note.

   Beyond requirements 2 and 3 above, the controlled-load service does
   not define the QoS behavior delivered to flows with non-conformant
   arriving traffic.  Specifically, it is permissible either to degrade
   the service delivered to all of the flow's packets equally, or to
   sort the flow's packets into a conformant set and a nonconformant set
   and deliver different levels of service to the two sets. This point
   is discussed further in Section 9 of this note.

   When resources are available, network elements at points within the
   interior of the network SHOULD be prepared to accommodate packet
   bursts somewhat larger than the actual TSpec. This requirement
   derives from the traffic distortion effect described in Section 4. As
   described there, it may be met either through explicit means or
   statistical multiplexing of shared buffering resources.

   When handling such traffic, it is permissible to allow some delaying
   of a packet if that delay would allow it to pass the policing
   function.  (In other words, to reshape the traffic).  However, the
   overall requirement for limiting the duration of any such traffic
   distortion must be considered. The challenge is to define a viable
   reshaping function.

   Intuitively, a plausible approach is to allow a delay of (roughly) up
   to the maximum queueing delay experienced by completely conforming
   packets before declaring that a packet has failed to pass the
   policing function. The merit of this approach, and the precise
   wording of the specification that describes it, require further
   study.

8. Ordering and Merging

   The controlled-load service TSpec is ordered according to the
   following rule: TSpec A is a substitute for ("as good or better than"
   or "greater than or equal to") TSpec B if and only if:






Wroclawski                 Standards Track                      [Page 9]

RFC 2211                Controlled-Load Network           September 1997


     (1) the token bucket rate r for TSpec A is greater than or equal to
     that of TSpec B,

     (2) the token bucket depth b for TSpec A is greater than or equal
     to that of TSpec B,

     (3) the peak rate p for TSpec A is greater than or equal to that of
     TSpec B,

     (4) the minimum policed unit m for TSpec A is less than or equal to
     that of TSpec B,

     (5) the maximum packet size M of TSpec A is greater than or equal
     to that of TSpec B.

   Note that not all TSpecs can be ordered with respect to each other.
   If two TSpecs differ but not all five of the points above are true,
   then the TSpecs are unordered.

   A merged TSpec is the TSpec used by the RSVP protocol when merging a
   set of TSpecs to create a "merged" reservation. TSpec merging is
   described further in [4] and [3]. The TSpec merge operation addresses
   two requirements:

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?