rfc2212.txt

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

TXT
1,124
字号
RFC 2212             Guaranteed Quality of Service        September 1997


   shaping the amount of buffering required to handle the burstiness is
   bounded by b+Csum+Dsum*R.  If one accounts for the peak rate, this
   can be further reduced to

                  M + (b-M)(p-X)/(p-r) + (Csum/R + Dsum)X

   where X is set to r if (b-M)/(p-r) is less than Csum/R+Dsum and X is
   R if (b-M)/(p-r) is greater than or equal to Csum/R+Dsum and p>R;
   otherwise, X is set to p.  This reduction comes from the fact that
   the peak rate limits the rate at which the burst, b, can be placed in
   the network.  Conversely, if a non-zero slack term, Sout, is returned
   by the network element, the buffer requirements are increased by
   adding Sout to Dsum.

   While sending applications are encouraged to set the peak rate
   parameter and reshaping points are required to conform to it, it is
   always acceptable to ignore the peak rate for the purposes of
   computing buffer requirements and end-to-end delays.  The result is
   simply an overestimate of the buffering and delay.  As noted above,
   if the peak rate is unknown (and thus potentially infinite), the
   buffering required is b+Csum+Dsum*R.  The end-to-end delay without
   the peak rate is b/R+Ctot/R+Dtot.

   The parameter D for each network element SHOULD be set to the maximum
   datagram transfer delay variation (independent of rate and bucket
   size) through the network element.  For instance, in a simple router,
   one might compute the difference between the worst case and best case
   times it takes for a datagram to get through the input interface to
   the processor, and add it to any variation that may occur in how long
   it would take to get from the processor to the outbound link
   scheduler (assuming the queueing schemes work correctly).

   For weighted fair queueing in a datagram environment, D is set to the
   link MTU divided by the link bandwidth, to account for the
   possibility that a packet arrives just as a maximum-sized packet
   begins to be transmitted, and that the arriving packet should have
   departed before the maximum-sized packet.  For a frame-based, slotted
   system such as Stop and Go queueing, D is the maximum number of slots
   a datagram may have to wait before getting a chance to be
   transmitted.

   Note that multicasting may make determining D more difficult.  In
   many subnets, ATM being one example, the properties of the subnet may
   depend on the path taken from the multicast sender to the receiver.
   There are a number of possible approaches to this problem.  One is to






Shenker, et. al.            Standards Track                    [Page 16]

RFC 2212             Guaranteed Quality of Service        September 1997


   choose a representative latency for the overall subnet and set D to
   the (non-negative) difference from that latency.  Another is to
   estimate subnet properties at exit points from the subnet, since the
   exit point presumably is best placed to compute the properties of its
   path from the source.

      NOTE: It is important to note that there is no fixed set of rules
      about how a subnet determines its properties, and each subnet
      technology will have to develop its own set of procedures to
      accurately compute C and D and slack values.

   D is intended to be distinct from the latency through the network
   element.  Latency is the minimum time through the device (the speed
   of light delay in a fiber or the absolute minimum time it would take
   to move a packet through a router), while parameter D is intended to
   bound the variability in non-rate-based delay.  In practice, this
   distinction is sometimes arbitrary (the latency may be minimal) -- in
   such cases it is perfectly reasonable to combine the latency with D
   and to advertise any latency as zero.

      NOTE: It is implicit in this scheme that to get a complete
      guarantee of the maximum delay a packet might experience, a user
      of this service will need to know both the queueing delay
      (provided by C and D) and the latency.  The latency is not
      advertised by this service but is a general characterization
      parameter (advertised as specified in [8]).

      However, even if latency is not advertised, this service can still
      be used.  The simplest approach is to measure the delay
      experienced by the first packet (or the minimum delay of the first
      few packets) received and treat this delay value as an upper bound
      on the latency.

   The parameter C is the data backlog resulting from the vagaries of
   how a specific implementation deviates from a strict bit-by-bit
   service. So, for instance, for datagramized weighted fair queueing, C
   is set to M to account for packetization effects.

   If a network element uses a certain amount of slack, Si, to reduce
   the amount of resources that it has reserved for a particular flow,
   i, the value Si SHOULD be stored at the network element.
   Subsequently, if reservation refreshes are received for flow i, the
   network element MUST use the same slack Si without any further
   computation. This guarantees consistency in the reservation process.







Shenker, et. al.            Standards Track                    [Page 17]

RFC 2212             Guaranteed Quality of Service        September 1997


   As an example for the use of the slack term, consider the case where
   the required end-to-end delay, Dreq, is larger than the maximum delay
   of the fluid flow system. The latter is obtained by setting R=r in
   the fluid delay formula (for stability, R>=r must be true), and is
   given by

                           b/r + Ctot/r + Dtot.


   In this case the slack term is

                     S = Dreq - (b/r + Ctot/r + Dtot).


   The slack term may be used by the network elements to adjust their
   local reservations, so that they can admit flows that would otherwise
   have been rejected. A network element at an intermediate network
   element that can internally differentiate between delay and rate
   guarantees can now take advantage of this information to lower the
   amount of resources allocated to this flow. For example, by taking an
   amount of slack s <= S, an RCSD scheduler [5] can increase the local
   delay bound, d, assigned to the flow, to d+s. Given an RSpec, (Rin,
   Sin), it would do so by setting Rout = Rin and Sout = Sin - s.

   Similarly, a network element using a WFQ scheduler can decrease its
   local reservation from Rin to Rout by using some of the slack in the
   RSpec. This can be accomplished by using the transformation rules
   given in the previous section, that ensure that the reduced
   reservation level will not increase the overall end-to-end delay.

Evaluation Criteria

   The scheduling algorithm and admission control algorithm of the
   element MUST ensure that the delay bounds are never violated and
   datagrams are not lost, when a source's traffic conforms to the
   TSpec.  Furthermore, the element MUST ensure that misbehaving flows
   do not affect the service given to other flows.  Vendors are
   encouraged to formally prove that their implementation is an
   approximation of the fluid model.

Examples of Implementation

   Several algorithms and implementations exist that approximate the
   fluid model.  They include Weighted Fair Queueing (WFQ) [2], Jitter-
   EDD [3], Virtual Clock [4] and a scheme proposed by IBM [5].  A nice
   theoretical presentation that shows these schemes are part of a large
   class of algorithms can be found in [6].




Shenker, et. al.            Standards Track                    [Page 18]

RFC 2212             Guaranteed Quality of Service        September 1997


Examples of Use

   Consider an application that is intolerant of any lost or late
   datagrams.  It uses the advertised values Ctot and Dtot and the TSpec
   of the flow, to compute the resulting delay bound from a service
   request with rate R. Assuming R < p, it then sets its playback point
   to [(b-M)/R*(p-R)/(p-r)]+(M+Ctot)/R+Dtot.

Security Considerations

   This memo discusses how this service could be abused to permit denial
   of service attacks.  The service, as defined, does not allow denial
   of service (although service may degrade under certain
   circumstances).

Appendix 1: Use of the Guaranteed service with RSVP

   The use of guaranteed service in conjunction with the RSVP resource
   reservation setup protocol is specified in reference [9]. This
   document gives the format of RSVP FLOWSPEC, SENDER_TSPEC, and ADSPEC
   objects needed to support applications desiring guaranteed service
   and gives information about how RSVP processes those objects. The
   RSVP protocol itself is specified in Reference [10].

References

   [1] Shenker, S., and J. Wroclawski, "Network Element Service
   Specification Template", RFC 2216, September 1997.

   [2] A. Demers, S. Keshav and S. Shenker, "Analysis and Simulation of
   a Fair Queueing Algorithm," in Internetworking: Research and
   Experience, Vol 1, No. 1., pp. 3-26.

   [3] L. Zhang, "Virtual Clock: A New Traffic Control Algorithm for
   Packet Switching Networks," in Proc. ACM SIGCOMM '90, pp. 19-29.

   [4] D. Verma, H. Zhang, and D. Ferrari, "Guaranteeing Delay Jitter
   Bounds in Packet Switching Networks," in Proc. Tricomm '91.

   [5] L. Georgiadis, R. Guerin, V. Peris, and K. N. Sivarajan,
   "Efficient Network QoS Provisioning Based on per Node Traffic
   Shaping," IBM Research Report No. RC-20064.

   [6] P. Goyal, S.S. Lam and H.M. Vin, "Determining End-to-End Delay
   Bounds in Heterogeneous Networks," in Proc. 5th Intl. Workshop on
   Network and Operating System Support for Digital Audio and Video,
   April 1995.




Shenker, et. al.            Standards Track                    [Page 19]

RFC 2212             Guaranteed Quality of Service        September 1997


   [7] A.K.J. Parekh, A Generalized Processor Sharing Approach to Flow
   Control in Integrated Services Networks, MIT Laboratory for
   Information and Decision Systems, Report LIDS-TH-2089, February 1992.

   [8] Shenker, S., and J. Wroclawski, "General Characterization
   Parameters for Integrated Service Network Elements", RFC 2215,
   September 1997.

   [9] Wroclawski, J., "Use of RSVP with IETF Integrated Services", RFC
   2210, September 1997.

   [10] Braden, R., Ed., et. al., "Resource Reservation Protocol (RSVP)
   - Version 1 Functional Specification", RFC 2205, September 1997.

Authors' Addresses

   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


   Craig Partridge
   BBN
   2370 Amherst St
   Palo Alto CA 94306

   EMail: craig@bbn.com


   Roch Guerin
   IBM T.J. Watson Research Center
   Yorktown Heights, NY 10598

   Phone: 914-784-7038
   Fax:   914-784-6318
   EMail: guerin@watson.ibm.com










Shenker, et. al.            Standards Track                    [Page 20]


⌨️ 快捷键说明

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