⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc2688.txt

📁 中、英文RFC文档大全打包下载完全版 .
💻 TXT
📖 第 1 页 / 共 3 页
字号:
   In the case where fewer reservations are expected than the total   number of classes negotiated for a PPP link, it is possible to assign   individual flows to fixed class numbers. This assignment is useful in   the case where the protocol identifier associated with one or more   flows is known at LCP negotiation time and the bandwidth of the   connection is relatively small. If these conditions hold true, then   for those flows that are known, a specific class can optionally be   assigned to them and the prefix elision PPP option [2] can be used for   those classes to achieve a small bandwidth savings.3.3 Dynamic Class Mappings   In the case where predefined class mappings are not satisfactory, an   implementer MAY map class values to individual packets rather than   assigning flows to fixed classes.  This can be done due to the fact   that the classes that MCML and RTF provide can be viewed purely as   PPP-specific segmentation/fragmentation mechanisms. That is, while the   class number MUST remain constant on an intra-packet basis, it MAY   vary on an inter-packet basis for all flows transiting a PPP   link. Actual assignment of particular flows to fixed classes is   unnecessary, as the class numbers are NOT REQUIRED to have any meaning   other than in the context of identifying the membership of   fragments/segments as part of a single packet.  This point is   sufficiently important that an example is provided below.   Consider a PPP link using the MCML short sequence number fragment   format (that is, four classes are provided).  Assume that in addition   to carrying best effort traffic, this link is carrying five guaranteed   service flows, A, B, C, D, and E. Further assume that the link   capacity is 100kbit/s and the latency is 100ms. Finally, assume the BE   traffic is sufficient to keep the pipe full at all times and that GS   flows A-E are each 10kbit/s and all have delay bounds of 145ms.Jackowski, et al.           Standards Track                     [Page 6]RFC 2688      Integrated Services Mappings Low Speed Nets September 1999Time(ms)        Action 0     BE traffic is queued up 0     2kbit fragment from 10kbit packet of BE traffic sent, cls 0 (...) 8     2kbit fragment from BE sent, cls 0 (10kbit BE packet done) 9     8kbit packet from flow A arrives10     2kbit fragment from A sent, cls 1 (8kbit flow A packet start)11     8kbit packet from flow B arrives12     2kbit fragment from B sent, cls 2 (8kbit flow B packet start)13     8kbit packets from flows C, D, and E arrive14     2kbit fragment from C sent, cls 3 (8kbit flow C packet start)16     2kbit fragment from D sent, cls 0 (8kbit flow D packet start)18     2kbit fragment from A sent, cls 120     2kbit fragment from B sent, cls 222     2kbit fragment from A sent, cls 124     2kbit fragment from A sent, cls 1 (8kbit flow A packet done)26     2kbit fragment from E sent, cls 1 (8kbit flow E packet start)27     8kbit packet from flow A arrives28     2kbit fragment from B sent, cls 230     2kbit fragment from C sent, cls 332     2kbit fragment from E sent, cls 134     2kbit fragment from B sent, cls 2 (8kbit flow B packet done)36     2kbit fragment from E sent, cls 138     2kbit fragment flow A sent, cls 2 (8kbit flow A packet start)       (etc.)   This example shows several things. First, multiple flows MAY share   the same class, particularly in the case where there are more flows   than classes. More importantly, there is no reason that a particular   flow must be assigned to a fixed class - the only requirement is that   each packet, when fragmented, MUST have the same class value assigned   to all fragments.  Beyond this requirement the link scheduler may   assign individual to changing class numbers as necessary to meet   reservation requirements.   One suggestion to implementers of integrated services on MCML and RTF   links using dynamic mappings is that all BE traffic SHOULD be   logically separated from QoS traffic, and mapped to a fragmentable   (MCML classes 0-3 in short sequence number fragment format, 0-15 in   long sequence number fragment format) or suspendable (RTF classes 0-   6) class. Since BE traffic will in most implementations not be   scheduled for transmission except when a link is empty (that is, no   CL or GS traffic is ready for transmission), implementers MAY choose   to make use of class number 0 for BE traffic.Jackowski, et al.           Standards Track                     [Page 7]RFC 2688      Integrated Services Mappings Low Speed Nets September 19993.4 Non-Conformant Traffic   Treatment of non-conformant QoS traffic is largely determined by the   appropriate service specifications, but the detailed implementation   in the context of this draft allows for some flexibility.  Policing   of flows containing non-conformant traffic SHOULD always be done at   the level of granularity of individual packets rather than at a finer   grained level.  In particular, in those cases where a network element   scheduling flows for transmission needs to drop non-conformant   traffic, it SHOULD drop entire packets rather than dropping   individual fragments of packets belonging to non-conformant traffic.   In those cases where a network element forwards non-conformant   traffic when link bandwidth is available rather than dropping the   traffic, the implementation SHOULD fragment packets of such traffic   as if it were best effort traffic.   Whether BE and non-conformant traffic are treated differently in   regards to transmission (e.g., BE is given priority access over non-   conformant traffic to the link) or whether within each type of   traffic special treatment is afforded to individual flows (e.g., WFQ,   RED, etc.) is service dependent.4. Guidelines for Implementers4.1. PPP Bit and Byte Stuffing Effects on Admission Control   An important consideration in performing admission control for PPP   links is reductions in effective link rate due to bit stuffing.   Typical bit stuffing algorithms can result in as much as 20%   additional overhead. Thus, admission control implementations for   guaranteed service over links where bit stuffing is used SHOULD take   the RSpec rate of all flows and multiply by 1.2, to account for the   20% overhead from bit stuffing, when determining whether a new flow   can be admitted or not. Admission control implementations for   controlled load reservations may use a similar algorithm using the   TSpec peak rate or may attempt to measure the actual degree of   expansion occurring on a link due to bit stuffing. This   characterization can then be used to adjust the calculated remaining   link capacity. Such measurements must be used cautiously, in that the   degree of bit stuffing that occurs may vary significantly, both in an   inter- and intra-flow fashion.   Byte stuffing is also used on many PPP links, most frequently on POTS   modems when using the v.42 protocol. Byte stuffing poses a difficult   problem to admission control, particularly in the case of guaranteed   service, due to its highly variable nature. In the worse case, byte   stuffing can result in a doubling of frame sizes. As a consequence, a   strict implementation of admission control for guaranteed load onJackowski, et al.           Standards Track                     [Page 8]RFC 2688      Integrated Services Mappings Low Speed Nets September 1999   byte stuffed PPP links SHOULD double the RSpec of link traffic in   making flow admission decisions. As with bit stuffing,   implementations of controlled load service admission control   algorithms for links with byte stuffing MAY attempt to determine   average packet expansion via observation or MAY use the theoretical   worst case values.4.2. Compression Considerations   The architecture for providing integrated services over low bandwidth   links uses several PPP options to negotiate link configuration as   described in [4, 8, 10].  When deciding whether to admit a flow,   admission control MUST compute the impact of the following on MTU   size, rate, and fragment size:   Header compression: Van Jacobson or Casner-Jacobson [4,8,10].   Prefix Elision.   CCP.   Fragment header option used.   Fragmentation versus suspend/resume approach.   If any of the compression options are implemented for the connection,   the actual transmission rate, and thus the bandwidth required of the   link, will be reduced by the compression method(s) used.   Prefix elision can take advantage of mapping flows to MLPPP classes   to elide prefixes which cannot be compressed at higher layers.  By   establishing agreement across the link, the sender may elide a prefix   for a certain class of traffic and upon receiving packets in that   class, the receiver can restore the prefix.   Both compression gain and elision gain MUST be included as described   in the admission control section below. Note that the ability to   perform compression at higher layers (e.g. TCP or RTP/UDP) may depend   on the provision of a hint by the sender, as described in [9].4.3. Admission Control   Admission control MUST decide whether to admit a flow based on rate   and delay.  Assume the following:  LinkRate is the rate of the link.  MTU is the maximum transmission unit from a protocol.  MRU is the maximum receive unit for a particular link.  CMTU is the maximum size of the MTU after compression is applied.  eMTU is the effective size at the link layer of an MTU-sized packet    after link layer fragmentation and addition of the fragment headers.  FRAG is the fragment size including MLPPP header/trailers.Jackowski, et al.           Standards Track                     [Page 9]RFC 2688      Integrated Services Mappings Low Speed Nets September 1999  Header is the size of the header/trailers/framing for MLPPP/Fragments.  pHeader is the additional header/framing overhead associated with    suspend/resume.  This should include FSE and worst case stuffing    overhead.  pDelay is the time take to suspend a packet already "in flight",    e.g. due to the delay to empty the output FIFO.  b is the bucket depth in bytes  R is the requested Rate.  Dlink is the fixed overhead delay for the link (Modem, DSU,    speed-of-light, etc).  eRate is the effective rate after compression and fragmentation.   The Dlink term MAY be configured by an administrative tool once the   network is installed; it may be determined by real-time measurement   means; or it MAY be available from hardware during link setup and/or   PPP negotiation.  Refer to Appendix A for more considerations on PPP   link characteristics and delays.   Admission control MUST compute CMTU, eMTU, and eRate for Controlled   Load Service, and it MUST compute CMTU, eMTU, eRate, and D for   Guaranteed Service:   To determine whether the requested rate is available, Admission   Control MUST compute the effective rate of the request (eRate) -   worst case - as follows:   #_of_Fragments = CMTU div (FRAG-Header) [Integer divide]   Last_Frag_Size = CMTU mod (FRAG-Header   If Last_Frag_Size != 0      eMTU = (#_of_Fragments) * FRAG + Last_Frag_Size + Header   Else      eMTU = (#_of_Fragments) * FRAG   eRate = eMTU/CMTU * R [floating point divide]   Admission control SHOULD compare the eRate of the request against the   remaining bandwidth available to determine if the requested rate can   be delivered.   For Controlled Load Service, a flow can be admitted as long as there   is sufficient bandwidth available (after the above computation) to   meet the rate requirement, and if there is sufficient buffer space   (sum of the token bucket sizes does not exceed the buffer capacity).   While some statistical multiplexing could be done in computing   admissibility, the nature of the low-bitrate links could make this   approach risky as any delay incurred to address a temporary   overcommitment could be difficult to amortize.Jackowski, et al.           Standards Track                    [Page 10]RFC 2688      Integrated Services Mappings Low Speed Nets September 19994.4 Error Term Calculations   Guaranteed Service requires the calculation of C and D error terms. C   is a rate-dependent error term and there are no special   considerations affecting its calculation in the low-speed link   environment. The D term is calculated from the inherent link delay   (Dlink) plus the potential worst case delay due to transmission of   another fragment or suspend/resume overhead. Thus, D should be   calculated as   D = Dlink + FRAG/LinkRate   in the case of a fragementing implementation and   D = Dlink + pHeader + pDelay   for a suspend/resume implementation.4.5 Scheduling Considerations   We may think of the link scheduler as having two parts, the first of   which schedules packets for transmission before passing them to the   second part of the scheduler -- the link level scheduler -- which is   responsible for fragmenting packets, mapping them to classes, and   scheduling among the classes.   In the dynamic class mapping mode of Section 3.3, when deciding which   class to assign a packet to, the link level scheduler should take   account of the sizes of other packets currently assigned to the same   class. In particular, packets with the tightest delay constraints   should not be assigned to classes for which relatively large packets   are in the process of being transmitted.   In either the dynamic or the static class mapping approach, note that

⌨️ 快捷键说明

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