rfc2211.txt

来自「<VC++网络游戏建摸与实现>源代码」· 文本 代码 · 共 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 theWroclawski                 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 + -
显示快捷键?