INTERNET-DRAFT Steve Jackowski/Deterministic Networks Expires: August 1999 David Putzolu/Intel Architecture Labs February 3, 1999 Network Element Service Specification for Low Speed Networks draft-ietf-issl-isslow-svcmap-05.txt Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC 2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is not appropriate to use Internet- Drafts as reference material or to cite them other than as "work in progress". The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html Abstract A set of companion documents describe an architecture for providing integrated services over low-bitrate links, such as modem lines, ISDN B-channels, and sub-T1 links [1, 2, 3, 4]. The main components of the architecture are: a set of real-time encapsulation formats for asynchronous and synchronous low-bitrate links, a header compression architecture optimized for real-time flows, elements of negotiation protocols used between routers (or between hosts and routers), and announcement protocols used by applications to allow this negotiation to take place. This document defines the service mappings for controlled load [5] and guaranteed [6] services for use with the real-time encapsulation part of the architecture. The approach takes the form of a set of guidelines and considerations for implementing these services, along with evaluation criteria for elements providing these services. Jackowski/Putzolu Expires 8/99 [Page 1] INTERNET-DRAFT draft-ietf-issl-isslow-svcmap-05.txt Feb 1999 Table of Contents 1. Introduction 3 1.1 Specification Language 3 2. End to End Behavior 3 3. Motivation 4 4. Network Element Data Handling Requirements 5 4.1 Rate and Delay 5 4.2 Link Aggregation 6 4.3 Controlled Load Versus Guaranteed Service 6 4.4 Controlled Load and Guaranteed Service Data Handling 7 4.5 Controlled Load and Guaranteed Service Class Mapping 7 5. Invocation Information 10 6. Exported Information 10 7. Ordering and Merging 10 8. Guidelines for Implementors 10 8.1 PPP Bit and Byte Stuffing Effects on Admission Control 10 8.2 Compression Considerations 11 8.3 Admission Control 11 8.4 Fragment Scheduling Considerations 13 9. Evaluation Criteria 14 10. Security Considerations 14 11. References 15 12. Authors' Addresses 16 Acknowledgements 16 Appendix A. Admission Control Considerations for POTS Modems 16 Jackowski/Putzolu Expires 8/99 [Page 2] INTERNET-DRAFT draft-ietf-issl-isslow-svcmap-05.txt Feb 1999 1. Introduction In addition to the ``best-effort'' services the Internet is well-known for, other types of services (``integrated services'') are being developed and deployed in the Internet. These services support special handling of traffic based on bandwidth, latency, and other requirements that cannot usually be met using ``best-effort'' service. This document defines how to map integrated services ``controlled load'' [5] and ``guaranteed'' [6] services on to low- bandwidth links. The architecture and mechanisms used to implement these services on such links are defined in a set of companion documents. The mechanisms defined in these documents include both compression of flows (for bandwidth savings) [4] and a set of extensions to the PPP protocol which permit fragmentation [2] or suspension [3] of large packets in favor of packets from flows with more stringent service requirements. 1.1. Specification Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119. 2. End-to-end Behavior Unlike other link layers the links referred to in this document operate only over low speed point to point links or connections. Examples of the kinds of links addressed here include dial-up lines, ISDN channels, and leased lines. In this context, 'end to end' simply means between two points. In typical inter/intranet environments, this will include: - host to directly connected host. - host to/from network access device (router or switch). - Edge device (subnet router or switch) to/from router or switch. - In rare circumstances, the link may run from backbone router to backbone router. Thus, the endpoints are two network elements as described above. The Controlled Load and Guaranteed services for the links addressed here are applied between these elements and often represent the first or last wide area hop in a true end to end service. It is important to note that these links can be the most ``bandwidth constrained'' along the path. The services utilized in mapping integrated services to these links are only provided if both endpoints on the link support the architecture Jackowski/Putzolu Expires 8/99 [Page 3] INTERNET-DRAFT draft-ietf-issl-isslow-svcmap-05.txt Feb 1999 and mechanisms referenced above. Support for these mechanisms is determined during the PPP negotiation. Because of the unique characteristics of a point to point link with both endpoints supporting these mechanisms, traffic is automatically shaped. That is, incoming traffic will be TSpec conformant and the admission control function can make decisions based on local state: it does not need to coordinate with the network element on the other end of the link. Furthermore, since the context that these services is implemented in is a point to point link, when rate control and delay bounds are provided for individual flows, the link inherently acts like a leased circuit (that is, it is not shared with any other sources of traffic). The non-shared nature of these links, along with the fact that point-to-point links are typically dual simplex (i.e., the send and receive channels are separate) is what allows all admission control decisions to be made locally. 3. Motivation Many applications are now beginning to make more and more use of such services. As this use grows, the likelihood of a low bandwidth link of some sort being present in the end to end connection grows. In order to meet the service requirements of these applications, it will be necessary to provide these enhanced services on the low bandwidth links in the end to end connection. The presence of integrated services on low bandwidth links is critical to providing a good end to end service because it is precisely on these links that traffic is most likely to experience undesirable effects on latency, jitter, and bandwidth. The negative effects on service can stem both from traditional causes of poor service as well as low bandwidth link specific causes. The traditional cause of poor service is multiple packet queuing effects, and is alleviated by intelligent ordering of outgoing packets on links supporting enhanced services. Low bandwidth links introduce an additional cause for latency - the time for a MTU-sized packet to transit such a link is often large enough to be a significant component in the end to end latency and jitter requirements of flows requiring enhanced services. As such, mechanisms for allowing packets to be suspended or fragmented so as to allow transmission of packets with more stringent service requirements are necessary, along with guidelines for mapping the enhanced services defined in integrated services onto these mechanisms. It is the particular considerations specific to low bandwidth links in providing a good end to end service that this document focuses on. Jackowski/Putzolu Expires 8/99 [Page 4] INTERNET-DRAFT draft-ietf-issl-isslow-svcmap-05.txt Feb 1999 4. Network Element Data Handling Requirements The Network Service element may be implemented in hardware or the available bandwidth by minimizing header overhead associated with software. As described in [2] and [3], for systems which can perform bit-oriented transmission control, the suspend/resume approach optimizes MLPPP fragmentation. For systems which provide frame-oriented transmission control, the fragmentation approach can be implemented with no hardware changes. Choice of suspend/resume versus fragmentation should be made based on the hardware's capability to handle the new HDLC framing described in [2] and the system overhead associated with byte by byte scanning (required by suspend/resume). To provide controlled load or guaranteed service with the suspend/resume approach, when a packet for an admitted flow (QoS packet) arrives during transmission of a best effort packet and continued transmission of the best effort packet would violate delay constraints of the QoS service flows, the best effort packet is preempted, the QoS packet/fragments are added to the transmission, and the best effort packet transmission is then resumed: usually all in one transmission. The receiving station separates the best effort packet from the embedded QoS packet's fragments. It is also conceivable that one QoS flow's packet might suspend another flow's packet if the delivery deadline of the new packet is earlier than the current packet. For systems which use fragmentation where suspend/resume is not possible, any packets longer than the maximum tolerable delay for packets from enhanced service flows are fragmented prior to transmission so that a short packet for another flow can be interleaved between fragments of a larger packet and still meet the transmission deadline for the flow requiring enhanced services. Note that the fragmentation discussed in this document refers to multilink PPP (MLPPP) fragmentation and associated MCMLPPP modifications as described in [2], not IP or other layer 3 fragmentation. MLPPP fragmentation is local to the PPP link, and does not affect end-to-end (IP) MTU. 4.1. Rate and Delay One assumption made about the nature of point to point links is that rate, transmission time and delay are fixed and consistent. The rate of the link is assumed to be determined at connection time, and the devices on the link (adapters, modems, DSU/CSUs, etc) traditionally exhibit fixed delay characteristics. Unfortunately these assumptions do not always hold true. Certain link types (e.g., POTS modems) can vary both in terms of data rates and in terms of delay characteristics. Implementations of these services on such links need to adjust their admission control policies to reflect these characteristics. Refer to Appendix A for more considerations on specific link characteristics. Jackowski/Putzolu Expires 8/99 [Page 5] INTERNET-DRAFT draft-ietf-issl-isslow-svcmap-05.txt Feb 1999 4.2. Link Aggregation Although certain link types, like ISDN, permit dynamic allocation of bandwidth across multiple links, it is assumed that the Admission Control service will consider the impact of multiple physical links over the point to point logical connection. Note that because of the load balancing effect of Multilink PPP (MLPPP), two 64 Kbps links should exhibit the delay and transmission characteristics of a single 128 Kbps link. However, MLPPP implementations may approach load balancing and fragmentation differently. The mechanism used should be taken into consideration when implementing the scheduler (especially token bucket) for packets, fragments, and suspend/resume on top of existing MLPPP services to ensure that adequate rate and delay characteristics are maintained. 4.3. Controlled Load versus Guaranteed Service With most link layers, Guaranteed Service (GS) requires more tightly controlled service by the Network Element, and in most cases, acceptance of a Guaranteed Service request results in over-provisioning of link level resources. Controlled Load (CL) Service is usually less constrained and permits more flexibility in scheduling of packets for the link. However, due to the characteristics of some types of point to point links (e.g., low bandwidth links such as ISDN, POTS, etc.), providing Controlled Load service may actually be equally or more difficult than Guaranteed Service for certain kinds of traffic. Controlled Load requires that the delay associated with packet transmission be 'closely approximating unloaded best effort service.' Because the links being discussed are not shared (i.e., point-to-point) links, unloaded best effort service means that best effort packets will incur no more than burst packet delay: M/r where M is the maximum packet size and r is the transmission rate. Thus, the maximum permitted delay for a Controlled Load packet (CLmDELAY) is bounded by M/r + P/r where P is the size of the outgoing packet. In the case where the transmission rate is relatively high, the difference in queuing delay between a packet being sent on a totally unloaded link & a lightly loaded link is relatively small. Consider a scenario wherein a 10MBit/s link is being used to carry CL traffic with a burst size of 30 bytes. If the link is totally unloaded, the time to transmit a burst will be 0.024ms. If BE traffic is also being carried on the link, perhaps with a packet size of 1000 bytes, and a CL packet is queued after a BE packet, the time before it is transmitted grows to 0.824ms. While this is a 3400% increase, it actually only changes the overall delay for the QoS packet by less than a millisecond - a relatively small amount in the end-to-end latency expected for a large fraction of CL flows. In contrast to this, consider the same traffic being carried over a relatively slow link with a 56Kbit/s data rate. The burst transmit time for a CL packet on an unloaded link would be approximately 4ms. If a single BE packet was queued before a CL packet, the transmit time for the CL packet would grow to 147ms - an increase in transmission Jackowski/Putzolu Expires 8/99 [Page 6] INTERNET-DRAFT draft-ietf-issl-isslow-svcmap-05.txt Feb 1999 time of over 140ms. This change is quite significant in the timescales used for many CL reservations. Given the special considerations associated with scheduling CL flows on low bandwidth links, "standard" assumptions and implementations of controlled load service may not result in expected performance. Implementors must careful review all assumptions and parameters in order to ensure correct functioning. 4.4. Controlled Load and Guaranteed Service Data Handling Upon arrival of a QoS flow's packet, the Network Element determines if the packet is conformant. If it is not, Policing is applied (see Policing). Conformant means: 1) The flow does not exceed the associated TSpec peak rate (RSpec rate for Guaranteed Service: rT+b with T=time period). 2) The packet does not cause a token bucket overflow. If the packet is conformant, it is compressed as required, fragmented (if necessary), and scheduled. If there is no conflicting best effort traffic, the packet is queued along with the rest of conformant QoS traffic and scheduled with respect to any other enhanced services flows such that its transmission deadline is met. For the suspend/resume implementation to achieve controlled load, any packets being transmitted whose transmission would violate the CLmDELAY are suspended. Otherwise, the QoS packet/fragments are scheduled ahead of any queued best effort traffic. For CL Fragmentation implementations, the packet/fragment is scheduled ahead of any best effort packets. Note that all best effort packets must be divided into fragments less than or equal to the smallest MRU (or associated fragment size) of all the QoS flows. This incurs at most one fragment delay for the QoS traffic: closely equivalent to unloaded best effort service. For Guaranteed Service for both fragmentation and suspend/resume, the scheduler determines if continued transmission of the best effort packet being transmitted would cause delay greater than the acceptable delay. If so, the best effort packet is preempted or, in the case of fragmentation, the QoS packet is scheduled ahead of the rest of the best effort packets' fragments. 4.5. Controlled Load and Guaranteed Service Class Mapping Supporting integrated services over PPP links which implement MCML or RTF can be accomplished in several ways. Guidelines for mapping these services to PPP links, and specifically, to the classes provided by the suspend/resume and fragmentation mechanisms mentioned above, are presented below. Note that these guidelines assume that some sort of signaling is used to indicate desired quality of service to both the sender and receiver of a flow over a PPP link. These guidelines Jackowski/Putzolu Expires 8/99 [Page 7] INTERNET-DRAFT draft-ietf-issl-isslow-svcmap-05.txt Feb 1999 also assume that it is unlikely that a series of PPP links be connected to each other. It is noted that even if a series of PPP links were to be connected together, it is likely that each link would have different characteristics, and further, that frames would have to be reassembled at the terminus of each link for error correction purposes, requiring that class assignment be performed on each hop of the link, rather than just forwarding frames with identical segmentation or fragmentation. These assumptions remove any requirement on the service-mapping implementation that quality of service information be implicit in the class selection applied to particular flows, allowing the sender of an integrated services flow on a PPP link complete freedom in assigning classes to flows (or to packets within flows). One important observation that must be made is 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 consideration is very important, in that it offers implementers with a large degree of flexibility in providing integrated services over PPP links. This observation implies that the queuing discipline used to differentiate different flows does not have any ties to the class numbers used. 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 four 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. Time(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 arrives 10 2kbit fragment from A sent, cls 1 (8kbit flow A packet start) 11 8kbit packet from flow B arrives 12 2kbit fragment from B sent, cls 2 (8kbit flow B packet start) 13 8kbit packets from flows C, D, and E arrive 14 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 1 20 2kbit fragment from B sent, cls 2 22 2kbit fragment from A sent, cls 1 24 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) Jackowski/Putzolu Expires 8/99 [Page 8] INTERNET-DRAFT draft-ietf-issl-isslow-svcmap-05.txt Feb 1999 27 8kbit packet from flow A arrives 28 2kbit fragment from B sent, cls 2 30 2kbit fragment from C sent, cls 3 32 2kbit fragment from E sent, cls 1 34 2kbit fragment from B sent, cls 2 (8kbit flow B packet done) 36 2kbit fragment from E sent, cls 1 38 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 a each packet, when fragmented, must have the same class value assigned to all fragments. One suggestion to implementers of integrated services on MCML and RTF links is that all BE traffic may 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), it is possible to recommend use of class number 0 for BE traffic. Treatment of non-conformant QoS traffic is a policy and implementation issue. It is recommended that policing of flows containing non- conformant traffic always be done at the level of granularity of individual packets rather than at a finer grained level. In particular, network elements scheduling flows for transmission that drop non-conformant traffic should drop entire packets rather than dropping individual fragments of packets belonging to non- conformant traffic. For those network elements whose implementation allows forwarding of non-conformant traffic when link bandwidth is available rather than dropping the traffic, the implementation should fragment packets of such traffic to the smallest MTU of all admitted CL flows so as to ensure that CLmDELAY targets are met. Whether BE and 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 implementation dependent. 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 can be used for those classes to achieve a small bandwidth savings. Jackowski/Putzolu Expires 8/99 [Page 9] INTERNET-DRAFT draft-ietf-issl-isslow-svcmap-05.txt Feb 1999 5. Invocation Information To invoke Controlled Load and Guaranteed Services, both traffic characteristics and the flow itself must be identified to the Network Element. Several methods can be employed to identify the flows. For RSVP, classification can be used to identify the flows. For non-RSVP implementations, other mechanisms have been described such as the FlowID field in IP Version 6 and the TOS field in IP version 4. If the Network Service Element is running on a system that doesn't support application or proxy use of the TOS or FlowID fields, then classification must be applied and: As described in [4], Controlled Load Service is invoked by specifying the flow's traffic characteristics through a TSpec (see [5]). As described in [5], Guaranteed Service is invoked by specifying the flow's TSpec and a requested reservation via an RSpec (see [6]). 6. Exported Information For Controlled Load Service, there is no requirement to export information. For Guaranteed service, both C and D terms for delay computations must be made available for export through the Adspec or other means. See Sections 9.1 (Admission Control) for guidelines on computing the C and D terms. See [4] and [5] for additional information on Exported Information. 7. Ordering and Merging Refer to [4] and [5] for TSpec and RSpec ordering and merging guidelines. 8. Guidelines for Implementors 8.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 in 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 Jackowski/Putzolu Expires 8/99 [Page 10] INTERNET-DRAFT draft-ietf-issl-isslow-svcmap-05.txt Feb 1999 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 on 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. 8.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]. 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. Prefix Elision. CCP. CRTP. 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. 8.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. Jackowski/Putzolu Expires 8/99 [Page 11] INTERNET-DRAFT draft-ietf-issl-isslow-svcmap-05.txt Feb 1999 CMTU is the maximum size of the MTU after compression is applied. eMTU is the maximum effective size of the MTU after fragmentation. FRAG is the fragment size including MLPPP header/trailers. 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 delay associated with suspend/resume packets. b is the bucket depth in bytes R is the requested Rate. D is the fixed overhead delay for the link (Modem, DSU, etc). C is the delay associated with transmission and fragmentation. eRate is the effective rate after compression and fragmentation. The D term may be configured by an administrative tool once the network is installed; it may be computed using the Adspec or other 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 C 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 + FRAG)/(FRAG-Header) eMTU = (#_of_Fragments) * FRAG eRate = eMTU/CMTU * R 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. Guaranteed Service requires delay computations. These computation are based on the standard formula for delay: Delay = b/R + C/R + D Jackowski/Putzolu Expires 8/99 [Page 12] INTERNET-DRAFT draft-ietf-issl-isslow-svcmap-05.txt Feb 1999 Note that for suspend/resume, an additional term is required: pDelay = b/R + C/R + D + pHeader/R. This term exists because of the additional overhead associated with the suspend/resume headers created when suspending a packet. In the worse case, every transmission of a QoS packet could require suspension of a best effort packet and thus incur the overhead. In most networks, this term will be nominal at most. However, on some low-bitrate links, the overhead may be worth computing. Since MLPPP includes fragmentation, the C term is not fixed and must be represented by the worse case fragmentation as computed in the effective MTU size: C = eMTU. Note that because the links under consideration are point to point, Guaranteed Service can be offered over a link without any negotiated agreement from the next hop. However, if these services are used in conjunction with RSVP, the C and D values above should be used in the Adspec. 8.4. Fragment Scheduling Considerations As described in Section 4, large packets should be fragmented to a size sufficiently small to allow higher priority flows to get a hold of the line quickly enough to not violate their reservation constraints. As such, the upper bound for fragment sizes should be no larger than the smallest MTU of all QoS flows. While a very small fragment size is desirable from the point of view of meeting QoS deadlines, the overhead associated with highly granular fragmentation makes it necessary to strike a balance between these considerations. While this document will not specify a particular scheduling algorithm, the following example should help illustrate the issue: Assume we have three different priority flows, A, B, and C. Packets from flow C take 100ms, flow B takes 30ms, and flow A takes 30ms to transmit. B's required maximum latency is 70ms, while A's is 50ms. The above scenario results in flows B and C needing to be segmented into 20ms long fragments - that way a lower priority frame will hold the link at most 20ms before A gets to the link, taking another 30ms to transit, totaling 50ms - all well and good. B has a problem, however - in the scenario where a fragment from C is just starting to transmit the link when packets from A and B arrive (call this time 0). The fragment from C will transmit until time 20ms. After that, the A packet will transmit - finishing by time 50ms, just in time. At this point, the fragment from B starts to transmit - taking 30ms more, finishing by time 80ms (thus violating its reservation). Jackowski/Putzolu Expires 8/99 [Page 13] INTERNET-DRAFT draft-ietf-issl-isslow-svcmap-05.txt Feb 1999 The important point above the scenario is not that it is possible to overcommit a link, but that a link can be underutilized by using too large a fragment size - in the above case, a 10ms fragment size would have allowed both A and B to honor their reservations, a 20ms size does not. 9. Evaluation Criteria For Controlled Load Service, the network element must ensure that the service requested via the TSpec is delivered to the requesting QoS flow such that the PPP link appears to be a lightly loaded link. As a baseline, it is suggested that performance measurements on throughput, delay, and packet error measurements be performed on an unloaded link with just the QoS flow using various packet sizes. The baseline should measure performance for both conformant and non- conformant traffic when for overloading the link with a single flow. Once these measurements are complete, measurements of the Controlled Load Service should be performed as follows: 1) Request QoS flows in the presence of best effort traffic and ensure that the QoS flows' performance approximate the unloaded baseline measurements. 2) Request QoS flows whose aggregate throughput would exceed the link capacity. Admission Control should deny these service requests or admit them as best effort only. 3) Generate traffic on a QoS flow which exceeds its TSpec commitment. Ensure recovery of the flow once the traffic becomes conformant. For Guaranteed Service: 1) Ensure that Admission Control will deny service requests or convert them to best effort when link capacity or delay bounds would be exceeded. 2) On a best-efforts loaded link, ensure that the number of lost packets does not exceed those established in the baseline measurements. 3) On a best-efforts loaded link, ensure that delay and rate commitments can be met for QoS flows. 4) With multiple QoS flows, ensure that an admission of additional QoS flows does not cause a violation in rate, error rate, or delay constraints of any QoS flow. 10. Security Considerations General security considerations for MLPPP and PPP links are Jackowski/Putzolu Expires 8/99 [Page 14] INTERNET-DRAFT draft-ietf-issl-isslow-svcmap-05.txt Feb 1999 addressed in RFC 1990 and RFC 1661, respectively. Security considerations relevant to RSVP, used as the signaling protocol for integrated services, are discussed in RFC 2209. A specific security consideration relevant to providing quality of service over PPP links appears when relying on either observed or theoretical average packet expansion during admission control due to bit- or byte-stuffing. Implementations based on these packet-expansion values contain a potential vulnerability to denial of service attacks. An adversary could intentionally send traffic that will result in worst case bit- or byte stuffing packet expansion. This in turn could result in quality of service guarantees not being met for other flows due to overly permissive admission control. This potential denial of service attack argues strongly for using a worst case expansion factor in admission control calculations, even for controlled load service. Beyond the considerations documented above, this document introduces no new security issues on top of those discussed in the companion ISSLL documents [5] and [10]. Any use of these service mappings assumes that all requests for service are authenticated appropriately. 11. References [1] C. Bormann, ``Providing integrated services over low-bitrate links'', Work in Progress (draft-ietf-issll-isslow-04.txt), August 1998. [2] C. Bormann, ``The Multi-Class Extension to Multi-Link PPP'', Work in Progress (draft-ietf-issl-isslow-mcml-04.txt), August 1998. [3] C. Bormann, ``PPP in a real-time oriented HDLC-like framing'', Work in Progress (draft-ietf-issl-isslow-rtf-03.txt), August 1998. [4] S. Casner, V. Jacobson, ``Compressing IP/UDP/RTP Headers for Low-Speed Serial Links'', Work in Progress (draft-ietf-avt- crtp-05.txt), July 1998. [5] J. Wroclawski, ``Specification of the Controlled-Load Network Element Service'', RFC 2211, September 1997. [6] C. Partridge, R. Guerin, ``Specification of Guaranteed Quality of Service'', RFC 2212, September 1997. [7] S. Shenker, J. Wroclawski, ``General Characterization Parameters for Integrated Service Network Elements'', RFC 2215, September 1997. [8] V. Jacobson, "TCP/IP Compression for Low-Speed Serial Links," RFC 1144. Jackowski/Putzolu Expires 8/99 [Page 15] INTERNET-DRAFT draft-ietf-issl-isslow-svcmap-05.txt Feb 1999 12. Authors' Addresses: Steve Jackowski Deterministic Networks, Inc. 245M Mt Hermon Rd, #140 Scotts Valley, CA 95060 stevej@DeterministicNetworks.com (408)813-6294 David Putzolu Intel Architecture Labs (IAL) JF3-206-H10 2111 NE 25th Avenue Hillsboro, OR 97124-5961 David.Putzolu@intel.com (503) 264-4510 Acknowledgements This document draws heavily on the work of the ISSLL WG of the IETF. Appendix A. Admission Control Considerations for POTS Modems The protocols used in current implementations of POTS modems can exhibit significant changes in link rate and delay over the duration of a connection. Admission control and link scheduling algorithms used with these devices must be prepared to compensate for this variability in order to provide a robust implementation of integrated services. Link rate on POTS modems is typically reported at connection time. This value may change over the duration of the connection. The v.34 protocol, used in most POTS modems, is adaptive to link conditions, and is able to recalibrate transmission rate multiple times over the duration of a connection. Typically this will result in a small (~10%) increase in transmission rate over the initial connection within the first minute of a call. It is important to note, however, that other results are possible as well, including decreases in available bandwidth. Admission control algorithms must take such changes into consideration as they occur, and implementations must be able to gracefully handle the pathological case where link rate actually drops below the currently reserved capacity of a link. Delay experienced by traffic over POTS modems can vary significantly over time. Unlike link rate, the delay often does not converge to a stable value. The v.42 protocol is used in most POTS modems to provide link-layer reliability. This reliability, which is implemented via retransmission, can cause frames to experience significant delays. Retransmissions also implicitly steal link bandwidth from other Jackowski/Putzolu Expires 8/99 [Page 16] INTERNET-DRAFT draft-ietf-issl-isslow-svcmap-05.txt Feb 1999 traffic. These delays and reductions in link bandwidth make it extremely difficult to honor a guaranteed service reservation. On a link that is actually lightly or moderately loaded, a controlled load service can to some extent accept such events as part of the behavior of a lightly loaded link. Unfortunately, as actual link utilization increases, v.42 retransmissions have the potential of stealing larger and larger fractions of available link bandwidth; making even controlled load service difficult to offer at high link utilization when retransmissions occur. Jackowski/Putzolu Expires 8/99 [Page 17]