Internet Draft Mick Seaman Expires May 1998 3Com draft-ietf-issll-is802-svc-mapping-01.txt Andrew Smith Extreme Networks Eric Crawley Argon Networks November 1997 Integrated Service Mappings on IEEE 802 Networks Status of this Memo This document is an Internet Draft. 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. Internet Drafts 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 a "working draft" or "work in progress." To view the entire list of current Internet-Drafts, please check the "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow Directories on ftp.is.co.za (Africa), ftp.nordu.net (Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or ftp.isi.edu (US West Coast). This document is a product of the IS802 subgroup of the ISSLL working group of the Internet Engineering Task Force. Comments are solicited and should be addressed to the working group's mailing list at issll@mercury.lcs.mit.edu and/or the authors. Abstract This document describes mappings of IETF Integrated Services over LANs built from IEEE 802 network segments which may be interconnected by IEEE 802.1 MAC Bridges (switches) [1][2]. It describes parameter mappings for supporting Controlled Load [6] and Guaranteed Service [7] using the inherent capabilities of relevant IEEE 802 technologies and 802.1D/802.1p queuing features in switches [2]. These mappings fit in with the ISSLL over 802 LANs framework described in [5]. Seaman, Smith, Crawley Expires May 1998 [Page 1] INTERNET DRAFT Int-Serv over IEEE 802 November 1997 1. Introduction The IEEE 802.1 Interworking Task Group has recently agreed on enhancements to the basic MAC Service provided in Bridged Local Area Networks (a.k.a. "switched LANs"). As a supplement to the original IEEE MAC Bridges standard [1], the update P802.1p [2] proposes differential traffic class queuing and access to media on the basis of a "user_priority" signaled in frames. In this document we summarise the model for selecting traffic classes described in the framework [5] and how we identify those classes in data-link layer devices. We then discuss how to map the existing IETF- defined Integrated Services onto the ISSLL 802 traffic class model, propose an example of particular choices of traffic class, discuss some particular issues with the use of RSVP/SBM signaling protocols and discuss the applicability of all of the above in some different network topologies. It is recommended that readers be familiar with the framework in which these mappings are expected to be used - this is described fully in [5]. 2. Selecting traffic classes One fundamental question is "who gets to decide what the classes mean and who gets access to them?" One approach would be for the meanings of the classes to be "well-known": we would then need to standardise a set of classes e.g. 1 = best effort, 2 = controlled- load, 3 = guaranteed (loose delay bound, high bandwidth), 4 = guaranteed (slightly tighter delay) etc. The values to encode in such a table in end stations, in isolation from the network to which they are connected, is problematical: one approach could be to define one user_priority value per int-serv service and leave it at that (reserving the rest of the combinations for future traffic classes). The model described in [5] uses a more flexible mapping: clients ask "the network" which user_priority traffic class to use for a given traffic flow, as categorised by its flow-spec and layer-2 endpoints. The network provides a value back to the requester which is appropriate to the current network topology, load conditions, other admitted flows etc. The task of configuring switches with this mapping (e.g. through network management, a switch-switch protocol or via some network-wide QoS- mapping directory service) is an order of magnitude less complex than performing the same function in end stations. Also, when new services (or other network reconfigurations) are added to such a network, the network elements will typically be the ones to be upgraded with new queuing algorithms etc. and can be provided with new mappings at this time. Seaman, Smith, Crawley Expires May 1998 [Page 2] INTERNET DRAFT Int-Serv over IEEE 802 November 1997 Given the need for a new session or "flow" requiring some QoS support, a client then needs answers to the following questions: 1. which traffic class do I add this flow to? The client needs to know how to label the packets of the flow as it places them into the network. 2. who do I ask/tell? The client asks "the network" which user_priority traffic class to use for a given traffic flow. 3. how do I ask/tell them? A request/response protocol is needed between client and network: in fact, the request can be piggy-backed onto an admission control request and the response can be piggy-backed onto an admission control acknowledgment: this "one pass" assignment has the benefit of completing the admission control in a timely way and reducing the exposure to changing conditions which could occur if clients cached the knowledge for extensive periods. ISSLL WG has defined extensions to the RSVP protocol for communicating this information [10]. The network (i.e. the first network element encountered downstream from the client) must then answer the following questions: 1. to which traffic class do I add this flow? This is a packing problem, difficult to solve in general, but many simplifying assumptions can be made: presumably some simple form of allocation can be done without a more complex scheme able to dynamically shift flows around between classes. 2. which traffic class has worst-case parameters which meet the needs of this flow? This might be an ordering/comparison problem: which of two service classes is "better" than the other? Again, we can make this tractable by observing that all of the current int- serv classes can be ranked (best effort <= Controlled Load <= Guaranteed Service) in a simple manner. If any classes are implemented in the future that cannot be simply ranked then the issue can be finessed by either a priori knowledge about what classes are supported or by configuration. and return the chosen user_priority value to the client. Note that the client may be either an end station, router or a first switch which may be acting as a proxy for a client which does not participate in these protocols for whatever reason. Note also that a device e.g. a server or router, may choose to implement both the "client" as well as the "network" portion of this model so that it can select its own user_priority values: such an implementation would, Seaman, Smith, Crawley Expires May 1998 [Page 3] INTERNET DRAFT Int-Serv over IEEE 802 November 1997 however, be discouraged unless the device really does have a close tie- in with the network topology and resource allocation policies but would work in some cases where there is known over- provisioning of resources. 3. Flow Identification Some other models for int-serv over lower-layers treat layer-2 switches very much as a special case of routers: in particular, that switches along the data path will make packet handling decisions based on the RSVP flow and filter specifications and use them to classify the corresponding data packets. However, filtering to the per-flow level becomes expensive with increasing switch speed: devices with such filtering capabilities are unlikely to have a very different implementation complexity from IP routers and there already exist IETF protocol specifications for those devices [4]. This memo uses "aggregated flow" identification based on data-link layer "user_priority" as a viable intermediate point between no QoS and full router-type integrated services and this is the minimum flow classification capability required of switches in the "ISSLL over IEEE 802 networks" model. 4. Mappings of int-serv characterisation parameters for IEEE 802 devices It is assumed that admission control will be applied when deciding whether or not to admit a new flow through a given network element and that a device sending onto a link will be proxying the parameters and admission control decisions on behalf of that link: this process will require the device to be able to determine (by estimation, measurement or calculation) several parameters. It is assumed that details of the potential flow are provided to the device by some means (e.g. a signaling protocol, network management). The service definition specifications themselves provide some implementation guidance as to how to calculate some of these quantities. The accuracy of calculation of these parameters may not be very critical: indeed it is an assumption of the use of this model by relatively simple switches ("Class I" according to the taxonomy presented in [5]) that they merely provide values to describe the device and admit flows conservatively. 4.1 General characterisation parameters Seaman, Smith, Crawley Expires May 1998 [Page 4] INTERNET DRAFT Int-Serv over IEEE 802 November 1997 There are some general parameters [9] that a device will need to use and/or supply for all service types: * Ingress link * Egress links and their MTUs, framing overheads and minimum packet sizes (see media-specific information presented above). * available path bandwidth: updated hop-by-hop by any device along the path of the flow. * minimum latency 4.2 Parameters to implement Guaranteed Service A network element must be able to determine the following parameters [7]: * Constant delay bound through this device (in addition to any value provided by "minimum latency" above) and up to the receiver at the next network element for the packets of this flow if it were to be admitted: this would include any access latency bound to the outgoing link as well as propagation delay across that link. * Rate-proportional delay bound through this device and up to the receiver at the next network element for the packets of this flow if it were to be admitted. * Receive resources that would need to be associated with this flow (e.g. buffering, bandwidth) if it were to be admitted and not suffer packet loss if it kept within its supplied Tspec/Rspec. * Transmit resources that would need to be associated with this flow (e.g. buffering, bandwidth, constant- and rate-proportional delay bounds) if it were to be admitted. 4.3 Parameters to implement Controlled Load A network element must be able to determine the following parameters which can be extracted from [6]: * Receive resources that would need to be associated with this flow (e.g. buffering) if it were to be admitted. * Transmit resources that would need to be associated with this flow (e.g. buffering) if it were to be admitted. 4.4 Parameters to implement Best Effort For a network element to implement best effort service there are no explicit parameters that need to be characterised. Seaman, Smith, Crawley Expires May 1998 [Page 5] INTERNET DRAFT Int-Serv over IEEE 802 November 1997 5. Mapping to IEEE 802 user_priority There are many options available for mapping aggregations of flows described by int-serv service models (Best Effort, Controlled Load, and Guaranteed are the services considered here) onto user_priority classes. The following mappings are presented as an example set in order to stimulate experimentation in this area - they may be refined in future editions of this memo. Note, this does not dictate what mechanisms/algorithms a network element (e.g. an Ethernet switch) needs to perform to implement these mappings: this is an implementation choice and does not matter so long as the requirements for the particular service model are met. In order to reduce the administrative problems, such a mapping table is held by *switches* (and routers if desired) but generally not by end-station hosts and is a read-write table. The values proposed below are defaults and can be overridden by management control so long as all switches agree to some extent (the required level of agreement requires further analysis). It is possible that some form of network-wide lookup service could be implemented that serviced requests from clients e.g. traffic_class = getQoSbyName("H.323 video") and notified switches of what sorts of traffic categories they were likely to encounter and how to allocate those requests into traffic classes: such mechanisms are for further study. user_priority Service 0 Default, assumed to be Best Effort 1 Background, "less than" Best Effort 2 reserved 3 reserved 4 Controlled Load 5 Guaranteed Service, 100ms bound 6 Guaranteed Service, 10ms bound 7 reserved Table 1 - Example user_priority top service mappings With this example set of mappings, all traffic that uses the Controlled Load service is mapped to a single user_priority whilst that for Guaranteed Service is placed into one of two user_priority classes with different delay bounds. Unreserved best effort traffic is mapped to another. The use of classes 4, 5 and 6 for Controlled Load and Guaranteed Service is somewhat arbitrary as long as they are increasing. Any two classes greater than Best Effort can be used as long as GS is "greater" than CL although those proposed here have the advantage that, for transit Seaman, Smith, Crawley Expires May 1998 [Page 6] INTERNET DRAFT Int-Serv over IEEE 802 November 1997 through 802.1p switches with only two-level strict priority queuing, they both get "high priority" treatment (the 802.1p default split is 0-3 and 4-7 for a device with 2 queues). The choice of delay bound is also arbitrary but potentially very significant: this can lead to a much more efficient allocation of resources as well as greater (though still not very good) isolation between flows. The "less than best effort" class might be useful e.g. for devices that wish to "penalty tag" all of the data of flows that have abused the network by excessively exceeding their Allocation or profile: these might be preferentially discarded by a downstream device. It would probably be a bad idea to just mark some of the packets of a flow in this way as this will likely cause re-ordering of packets which is generally a bad thing (tm). Note, this is not *required* by any current int-serv models but is under study e.g. in the IETF's Differential Services WG. The advantage to this approach is that it puts some real delay bounds on the Guaranteed Service without adding any additional complexity to the other services. It still ignores the amount of *bandwidth* available for each class. This should behave reasonably well as long as all traffic for CL and GS flows does not exceed any resource capacities in the device. Some isolation between very delay-critical GS and less critical GS flows is provided but there is still an overall assumption that flows will in general be well- behaved. In addition, this mapping still leaves room for future service models. Expanding the number of classes for CL service is not as appealing since there is no need to map to a particular delay bound. There may be cases where an administrator might map CL onto more classes for particular bandwidths or policy levels. It may also be desirable to further subdivide CL traffic in cases where it is frequently non-conformant for certain applications. 6. Merging of RSVP/SBM objects Where reservations that use the SBM protocol's TCLASS object [10] need to be merged, an algorithm needs to be defined that is consistent with the mappings to individual user_priority values in use in the network. For the example mappings proposed in this memo, the merging device should merge to the "lowest" priority value of the values received in TCLASS objects of the PATH/RESV messages where "lowest" is defined as follows: Lowest -------> Highest 1, 2, 0, 3, 4, 5, 6, 7 Seaman, Smith, Crawley Expires May 1998 [Page 7] INTERNET DRAFT Int-Serv over IEEE 802 November 1997 Note: this counter-intuitive ordering is an artifact of the *default* relative treatment of user_priority values in the IEEE 802.1p specification (see Annex H of [2]). If a device has been configured to apply non-default treatment of user_priority values then it should adjust this merging operation accordingly. 7. Applicability of these service mappings Switches using layer-2-only standards (e.g. 802.1D, 802.1p) need to inter-operate with routers and layer-3 switches. Wide deployment of such 802.1p switches will occur in a number of roles in the network: "desktop switches" provide dedicated 10/100 Mbps links to end stations and high speed core switches often act as central campus switching points for layer-3 devices. Layer-2 devices will have to operate in all of the following scenarios: * every device along a network path is layer-3 capable and intrusive into the full data stream * only the edge devices are pure layer-2 * every alternate device lacks layer-3 functionality * most devices lack layer-3 functionality except for some key control points such as router firewalls, for example. Where int-serv flows pass through equipment which does not support Integrated Services or 802.1p traffic management and which places all packets through the same queuing and overload-dropping paths, it is obvious that some of a flow's desired service parameters become more difficult to support. In particular, the two integrated service classes studied here, Controlled Load and Guaranteed Service, both assume that flows will be policed and kept "insulated" from mis-behaving other flows or from best effort traffic during their passage through the network. In addition, in order to provide a Guaranteed Service, *all* switching elements along the path must participate in special treatment for packets in such flows: where there is a "break" in guaranteed service, all bets are off. Thus, a network path that includes even a single switch transmitting onto a shared or half- duplex LAN segment is unlikely to be able to provide a very good approximation to Guaranteed Service. For Controlled Load service, the requirements on the switches and link types are less stringent although it is still necessary to provide differential queueing and buffering in switches for CL flows over best effort in order to approximate CL service. Other approaches might be to pass more information between switches about the capabilities of their neighbours and to route around non- QoS-capable switches: such methods are for further study. And of course the easiest solution of all is to upgrade links and switches to higher capacities. Seaman, Smith, Crawley Expires May 1998 [Page 8] INTERNET DRAFT Int-Serv over IEEE 802 November 1997 8. References [1] ISO/IEC 10038, ANSI/IEEE Std 802.1D-1993 "MAC Bridges" [2] "Supplement to MAC Bridges: Traffic Class Expediting and Dynamic Multicast Filtering", September 1997, IEEE P802.1p/D8 [3] "Integrated Services in the Internet Architecture: an Overview" RFC1633, June 1994 [4] "Resource Reservation Protocol (RSVP) - Version 1 Functional Specification", RFC 2205, September 1997 [5] "A Framework for Providing Integrated Services Over Shared and Switched LAN Technologies", Internet Draft, November 1997 [6] "Specification of the Controlled-Load Network Element Service", RFC 2211, September 1997 [7] "Specification of Guaranteed Quality of Service", RFC 2212 September 1997 [8] "Draft Standard for Virtual Bridged Local Area Networks", October 1997, IEEE P802.1Q/D8 [9] "General Characterization Parameters for Integrated Service Network Elements", RFC 2215, September 1997 [10] D.Hoffman et al. "SBM (Subnet Bandwidth Manager): A Proposal for Admission Control over Ethernet", Internet Draft, November 1997 9. Security Considerations This memo introduces no new security issues on top of those discussed in the companion ISSLL documents [5] and [10]. 10. Acknowledgments This document draws heavily on the work of the ISSLL WG of the IETF and the IEEE P802.1 Interworking Task Group. Seaman, Smith, Crawley Expires May 1998 [Page 9] INTERNET DRAFT Int-Serv over IEEE 802 November 1997 11. Authors' addresses Mick Seaman 3Com Corp. 5400 Bayfront Plaza Santa Clara CA 95052-8145 USA +1 (408) 764 5000 mick_seaman@3com.com Andrew Smith Extreme Networks 10460 Bandley Drive Cupertino CA 95014 USA +1 (408) 863 2821 andrew@extremenetworks.com Eric Crawley Argon Networks 25 Porter Rd. Littleton MA 01460 USA +1 (508) 486 0665 esc@argon-net.com Seaman, Smith, Crawley Expires May 1998 [Page 10]