home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_ietf_i / draft-ietf-issll-802-00.txt < prev    next >
Text File  |  1996-12-17  |  46KB  |  1,067 lines

  1.  
  2.  
  3.  
  4. Internet Draft                                          Mick Seaman
  5. Expires May 1997                                         3Com Corp.
  6. draft-ietf-issll-802-00.txt                            Andrew Smith
  7.                                                    Extreme Networks
  8.                                                        Eric Crawley
  9.                                                        Bay Networks
  10.                                                       November 1996
  11.  
  12.  
  13.           Integrated Services over IEEE 802.1D/802.1p Networks
  14.  
  15.  
  16. Status of this Memo
  17.  
  18.    This document is an Internet Draft.  Internet Drafts are working
  19.    documents of the Internet Engineering Task Force (IETF), its Areas,
  20.    and its Working Groups. Note that other groups may also distribute
  21.    working documents as Internet Drafts.
  22.  
  23.    Internet Drafts are draft documents valid for a maximum of six
  24.    months. Internet Drafts may be updated, replaced, or obsoleted by
  25.    other documents at any time.  It is not appropriate to use Internet
  26.    Drafts as reference material or to cite them other than as a "working
  27.    draft" or "work in progress."
  28.  
  29.    Please check the I-D abstract listing contained in each Internet
  30.    Draft directory to learn the current status of this or any other
  31.    Internet Draft.
  32.  
  33.  
  34. Abstract
  35.  
  36. This document describes the support of IETF Integrated Services over
  37. LANs built from IEEE 802 network segments which are interconnected by
  38. standard IEEE 8021.D [1] switches.
  39.  
  40. It describes the practical capabilities and limitations of this
  41. technology for supporting Controlled Load [8] and Guaranteed Service [9]
  42. using the inherent capabilities the relevant 802 technologies [5],[6]
  43. etc. and the proposed 802.1p queuing features in switches. It provides a
  44. functional model for the layer 3 to layer 2 and user-to-network dialogue
  45. which supports admission control and defines requirements for
  46. interoperability between switches.
  47.  
  48. This scheme is consistent with the ISSLL over LANs framework discussed
  49. at the October 1996 ISSLL interim meeting and described in [7].
  50.  
  51.  
  52.  
  53.  
  54.  
  55. Seaman, Smith, Crawley      Expires May 1997            [Page 1]        
  56.  
  57. INTERNET DRAFT         Intserv over IEEE 802.1D/p          November 1996
  58.  
  59.  
  60. 1. Introduction
  61.  
  62. The IEEE 802.1 Interworking Task Group is currently enhancing the basic
  63. MAC Service provided in Bridged Local Area Networks (aka "switched
  64. LANs"). As a supplement to the IEEE MAC Bridges standard [1] , P802.1p
  65. [2], proposes differential traffic class queuing ("priorities") and
  66. access to media on the basis of a "user_priority" signaled in frames.
  67.  
  68. In this document we
  69. * review the meaning and use of user_priority in LANs and the frame
  70.    forwarding capabilities of a standard LAN switch.
  71. * examine alternatives for identifying layer 2 traffic flows for
  72.    admission control.
  73. * review the options available for policing traffic flows.
  74. * derive requirements for consistent priority handling in a network of
  75.    switches and use these requirements to discuss priority queue
  76.    handling alternatives for 802.1p and the way in which these meet
  77.    administrative and interoperability goals.
  78. * consider the benefits and limitations of this switched-based approach,
  79.    contrasting it with full router based RSVP implementation in terms of
  80.    complexity, utilisation of transmission resources and administrative
  81.    controls.
  82.  
  83. We then describe a model which:
  84. * partitions the admission control process into two separable
  85.    operations:
  86. * an interaction between the user of the integrated service and the
  87.    local network elements ("provision of the service" in the terms of
  88.    802.1D) to confirm the availability of transmission resources for
  89.    traffic to be introduced.
  90. * selection of an appropriate user_priority for that traffic on the
  91.    basis of the service and service parameters to be supported.
  92. * distinguishes between the user to network interface above and the
  93.    mechanisms used by the switches ("support of the service"). These
  94.    include communication between the switches (network to network
  95.    signaling).
  96. * describes a simple architecture for the provision and support of these
  97.    services, broken down into components with functional and interface
  98.    descriptions:
  99. * a single "user" component: a layer-3 to layer-2 negotiation and
  100.    translation component.
  101. * bridge/switch processes to handle admission control and mapping
  102.    requests, including proposals for actual traffic mappings to
  103.    user_priority values.
  104. * proposes a set of protocol exchange primitives based on the functions
  105.    introduced.
  106.  
  107. This document contains much background material that is used as
  108.  
  109.  
  110.  
  111. Seaman, Smith, Crawley      Expires May 1997            [Page 2]        
  112.  
  113. INTERNET DRAFT         Intserv over IEEE 802.1D/p          November 1996
  114.  
  115.  
  116. justification for the approach taken. It is anticipated that much of
  117. this material will not form a part of the final specification.
  118.  
  119. It will be noted that this document is written from the pragmatic
  120. viewpoint that there will be a widely deployed network technology and we
  121. are evaluating it for its ability to support some or all of the defined
  122. IETF integrated services: this approach is intended to ensure
  123. development of a system which can provide useful new capabilities in
  124. existing (and soon to be deployed) network infrastructure.
  125.  
  126.  
  127. 2. Goals and Assumptions
  128.  
  129. It is assumed that the network is "switch-rich": that is to say all
  130. communication between end stations using integrated services support
  131. will pass through at least one switch. Perhaps the mechanisms and
  132. protocols described will be trivially extensible to communicating
  133. systems on the same shared media, but it is important not to allow
  134. problem generalisation to complicate the practical application that we
  135. target: the access characteristics of Ethernet are forcing a trend to
  136. switch-rich topologies together with MAC enhancements to ensure access
  137. predictability on half-duplex switch to switch links.
  138.  
  139. It is assumed that layer-3 entities, including end-stations, are running
  140. the RSVP protocol in support of integrated services at that layer. No
  141. extra modifications to this protocol are assumed.
  142.  
  143. There may be a heterogeneous mixture of switches with different
  144. capabilities, all compliant with IEEE 802.1p, but implementing queuing
  145. and forwarding mechanisms in a range from simple 2-queue per port,
  146. strict priority, up to more complex multi-queue (maybe even one per-
  147. flow) WFQ or other algorithms.
  148.  
  149. The problem is broken down into smaller independent pieces: this may
  150. lead to sub-optimal usage of the network resources but we contend that
  151. such benefits are often equivalent to very small improvements in network
  152. efficiency in a LAN environment. Therefore, it is a goal that the
  153. switches in the network operate using a much simpler set of information
  154. than the RSVP engine in a router. In particular, it is assumed that such
  155. switches do not need to implement per-flow queuing and policing.
  156.  
  157. One corollary is that no per-flow policing function need take place in
  158. the switches: it is a fundamental part of the intserv model that flows
  159. are isolated from each other throughout their transit across a network.
  160. Intermediate queuing nodes are expected to police the traffic to ensure
  161. that it conforms to the pre-agreed traffic flow specification. In the
  162. architecture proposed here for mapping to layer-2, that policing
  163. function is assumed to be implemented in the transmit schedulers of the
  164.  
  165.  
  166.  
  167. Seaman, Smith, Crawley      Expires May 1997            [Page 3]        
  168.  
  169. INTERNET DRAFT         Intserv over IEEE 802.1D/p          November 1996
  170.  
  171.  
  172. layer-3 devices (end stations, routers): it is reasonable to assume that
  173. end stations are "trusted" to adhere to their agreed contracts at the
  174. inputs to the network and that we can afford to over-allocate resources
  175. to compensate for the inevitable extra jitter/bunching introduced by the
  176. switched network itself.
  177.  
  178.  
  179. 3. User Priority and Frame Forwarding
  180.  
  181. User_priority is a value associated with the transmission and reception
  182. of all frames in the IEEE 802 service model: it is supplied by a sender
  183. which is using the MAC service. It is provided to a receiver using the
  184. MAC service. It may or may not be actually carried over the network:
  185. Token-Ring/802.5 carries this value (encoded in its FC octet), basic
  186. Ethernet/802.3 does not. 802.1p defines a way to carry this value over
  187. the network in a similar way on Ethernet, Token Ring, FDDI or other MACs
  188. using an extended frame format.
  189.  
  190. The "user_priority" or "traffic class" (the latter term is to be
  191. preferred and it is the title of the 802.1p document) field in packets
  192. is a simple label in the data stream enabling packets in different
  193. classes to be discriminated by downstream nodes. Apart from making the
  194. job of desktop or wiring-closet switches easier, it means they do not
  195. have to change (hardware or software) as the rules for classifying
  196. packets evolve (based on new protocols or new policies). Layer-3
  197. switches do provide added value here by performing the classification
  198. more accurately and, hence, utilising network resources more
  199. efficiently: this appears to be a good economic choice since there are
  200. likely to be very many more desktop/wiring closet switches in a network
  201. than switches requiring layer 3 functionality.
  202.  
  203. The IEEE 802 specifications make no assumptions about how user_priority
  204. is to be used by end stations or by the network, although the current
  205. 802.1p draft defines static priority queuing as the default mode of
  206. operation of all switches (user_priority is defined as a 3-bit quantity
  207. with value 7 = high priority, 0 = low priority). The switch algorithm in
  208. this case is as follows: packets are placed onto a particular queue
  209. based on the received user_priority (from the packet if a 802.1p header
  210. or 802.5 network was used, invented according to some local policy if
  211. not). The selection of queue is based on a mapping from user_priority
  212. [0,1,2,3,4,5,6 or 7] onto the number of available queues - switches may
  213. implement any number of queues from 1 upwards. On transmit, any/all
  214. frames from a higher priority queue are sent first before transmitting
  215. any from a lower priority queue.
  216.  
  217. In particular, IEEE makes no recommendations about how a sender should
  218. select the value for user_priority: one of the main purposes of this
  219. draft is to propose such usage rules.
  220.  
  221.  
  222.  
  223. Seaman, Smith, Crawley      Expires May 1997            [Page 4]        
  224.  
  225. INTERNET DRAFT         Intserv over IEEE 802.1D/p          November 1996
  226.  
  227.  
  228. Additionally, there are no IEEE 802-defined rules for switches to agree
  229. on how to treat frames with different user_priority values: later on in
  230. this draft we make some recommendations as to what information needs to
  231. be shared amongst switches.
  232.  
  233.  
  234. 4. Mapping of integrated services to layer-2 in layer-3 devices
  235.  
  236. The end-station or router itself is responsible for local admission
  237. control and scheduling packets onto its link in accordance with the
  238. service agreed. Just as in the intserv model, this involves per- flow
  239. schedulers somewhere in every such data source: it is an implementation
  240. issue whether there are separate schedulers for layer-3 and layer-2 or
  241. whether these are combined.
  242.  
  243.  
  244. 5. Mapping of integrated services through layer-2 switches
  245.  
  246. 5.1 Queuing
  247.  
  248. Connectionless packet-based networks in general and LAN switched
  249. networks in particular, work today because of scaling choices in network
  250. provisioning. Consciously or (more usually) unconsciously, enough excess
  251. bandwidth and buffering is provisioned in the network to absorb the
  252. traffic sourced by higher-layer protocols or cause their transmission
  253. windows to run out, on a statistical basis, so that the network is only
  254. overloaded for a short duration and the average expected loading is less
  255. than 60% (usually much less).
  256.  
  257. With the advent of time-critical traffic such overprovisioning has
  258. become far less easy to achieve. Time critical frames may find
  259. themselves queued for annoyingly long periods of time behind temporary
  260. bursts of file transfer traffic, particularly at network bottleneck
  261. points, e.g. at the 100 Mb/s to 10 Mb/s transition that might occur
  262. between the riser to the wiring closet and the final link to the user
  263. from a desktop switch. In this case, however, if it is known (guaranteed
  264. by application design, merely expected on the basis of statistics, or
  265. just that this is all that the network guarantees to support) that the
  266. time critical traffic is a small fraction of the total bandwidth, it
  267. suffices to give it strict priority over the "normal" traffic. The worst
  268. case delay experienced by the time critical traffic is roughly the
  269. maximum transmission time of a maximum length non-time-critical frame -
  270. less than a millisecond for 10 Mb/s Ethernet, and well below an end to
  271. end budget based on human perception times.
  272.  
  273. When more than one "priority" service is to be offered by a network
  274. element e.g. it supports controlled-load as well as Guaranteed Service,
  275. the queuing discipline becomes more complex. In order to provide the
  276.  
  277.  
  278.  
  279. Seaman, Smith, Crawley      Expires May 1997            [Page 5]        
  280.  
  281. INTERNET DRAFT         Intserv over IEEE 802.1D/p          November 1996
  282.  
  283.  
  284. required isolation between the service classes, it will probably be
  285. necessary to queue them separately. There is then an issue of how to
  286. service the queues - a combination of admission control and maybe
  287. weighted fair queuing may be required in such cases. As with the service
  288. specifications themselves, it is not the place for this document to
  289. specify queuing algorithms, merely to observe that the external
  290. behaviour meet the services' requirements.
  291.  
  292. 5.2 Multicast Heterogeneity
  293.  
  294. IEEE 802.1D and 802.1p use a model for multicast whereby a switch
  295. performs multicast routing decisions based on the destination address:
  296. this would produce a list of output ports to which the packet should be
  297. forwarded. In its default mode, such a switch would use any
  298. user_priority value in received packets to enqueue the packets at each
  299. output port.
  300.  
  301. At layer-3, the intserv model allows heterogeneous multicast flows where
  302. different branches of a tree can have different types of reservations
  303. for a given multicast destination, or even supports the notion that some
  304. trees will have some branches with reserved flows and some using best
  305. effort (default) service.
  306.  
  307. If a switch is selecting per-port output queues based only on the
  308. incoming user_priority, it will have to treat all branches of all
  309. multicast sessions within that user_priority class with the same queuing
  310. mechanism: no heterogeneity is then possible (if it were to implement a
  311. separate mapping at each output port then some limited form of
  312. heterogeneity could be supported). It is proposed that per-
  313. user_priority queuing support is adequate as minimum standard
  314. functionality for systems *in a LAN environment*. Layer-3 switches
  315. (a.k.a. routers) can be used if more flexible forms of heterogeneity are
  316. considered necessary: their behaviour is well standardised.
  317.  
  318.  
  319. 6. Selecting User Priority classes
  320.  
  321. One fundamental question is "who gets to decide what the classes mean
  322. and who gets access to them?" One approach would be for the meanings of
  323. the classes to be "well-known": we would then need to standardise a set
  324. of classes e.g. 1 = best effort, 2 = controlled- load, 3 = guaranteed
  325. (loose delay bound, high bandwidth), 4 = guaranteed (slightly tighter
  326. delay) etc. The values to encode in such a table in end stations, in
  327. isolation from the network to which they are connected, is
  328. problematical: the best we could probably do would be to define on
  329. user_priority value per intserv service type and leave it at that
  330. (reserving the rest of the combinations for future traffic classes -
  331. there are sure to be plenty!).
  332.  
  333.  
  334.  
  335. Seaman, Smith, Crawley      Expires May 1997            [Page 6]        
  336.  
  337. INTERNET DRAFT         Intserv over IEEE 802.1D/p          November 1996
  338.  
  339.  
  340. We propose a more flexible mapping: clients ask "the network" which
  341. user_priority traffic class to use for a given traffic flow, as
  342. categorised by its flow-spec and layer-2 endpoints. The network provides
  343. a value back to the requester which is appropriate to the current
  344. network topology, load conditions, other admitted flows etc. The task of
  345. configuring switches with this mapping (e.g. through network management
  346. or some other switch-switch protocol) is an order of magnitude less
  347. complex than performing the same function in end stations. Also, when
  348. new services (or other network reconfigurations) are added to such a
  349. network, the network elements will typically be the ones to be upgraded
  350. with new queuing algorithms etc. and can be provided with new mappings
  351. at this time.
  352.  
  353. Given the need for a new session or "flow" requiring some QoS support, a
  354. client then needs answers to the following questions:
  355.  
  356. 1. which traffic class do I add this flow to?
  357.     The client needs to know how to label the packets of the flow as it
  358.     places them into the network.
  359.  
  360. 2. who do I ask/tell?
  361.     The proposed model is that a client ask "the network" which
  362.     user_priority traffic class to use for a given traffic flow. This has
  363.     several benefits as compared to a model which allows clients to select 
  364.     a class for themselves.
  365.  
  366. 3. how do I ask/tell them?
  367.     A request/response protocol is needed between client and network: in
  368.     fact, the request can be piggy-backed onto an admission control request
  369.     and the response can be piggy-backed onto an admission control
  370.     acknowledgment.
  371.  
  372. The network (i.e. the first network element encountered downstream from
  373. the client) must then answer the following questions:
  374.  
  375. 1. which traffic class do I add this flow to?
  376.     This is a packing problem, difficult to solve in general, but many
  377.     simplifying assumptions can be made: presumably some simple form of
  378.     allocation can be done without a more complex scheme able to 
  379.     dynamically shift flows around between classes.
  380.  
  381. 2. which traffic class has worst-case parameters which meet the needs of
  382.         this flow?
  383.     This might be an ordering/comparison problem: which of two service
  384.     classes is "better" than another? Again, we can make this tractable by
  385.     observing that all of the current intserv classes can be ranked (best
  386.     effort <= Controlled Load <= Guaranteed Service) in a simple manner. If
  387.     any classes are implemented in the future that cannot be simply ranked
  388.  
  389.  
  390.  
  391. Seaman, Smith, Crawley      Expires May 1997            [Page 7]        
  392.  
  393. INTERNET DRAFT         Intserv over IEEE 802.1D/p          November 1996
  394.  
  395.  
  396.     then the issue can be finessed by either a priori knowledge about what
  397.     classes are supported or by configuration.
  398.  
  399. and return the chosen user_priority value to the client.
  400.  
  401. Note that the client may be either an end station, router or a first
  402. switch which may be acting as a proxy for a client which does not
  403. participate in these protocols for whatever reason. Note also that a
  404. device e.g. a server or router, may choose to implement both the
  405. "client" as well as the "network" portion of this model so that it can
  406. select its own user_priority values: such an implementation is, however,
  407. discouraged unless the device really does have a close tie-in with the
  408. network topology and resource allocation policies.
  409.  
  410.  
  411. 7. Flow Identification
  412.  
  413. Several previous proposals for intserv over lower-layers have treated
  414. switches very much as a special case of routers: in particular, that
  415. switches along the data path will make packet handling decisions based
  416. on the RSVP flow and filter specifications and use them to classify the
  417. corresponding data packets. However, filtering to the per-flow level
  418. becomes cost-prohibitive with increasing switch speed: devices with such
  419. filtering capabilities are unlikely to have a very different
  420. implementation cost to IP routers, in which case we must question
  421. whether a specification oriented toward switched networks is of any
  422. benefit at all.
  423.  
  424. This document proposes that "flow" identification based in user_priority
  425. be the minimum required of switches.
  426.  
  427.  
  428. 8. Reserving Network Resources - Admission Control
  429.  
  430. So far we have not discussed admission control. In fact, without
  431. admission control it is possible to scratchbuild a LAN network of some
  432. size capable of supporting real-time services, providing that the
  433. traffic fits within certain scaling constraints (relative link speeds,
  434. numbers of ports etc. - see below). This is not surprising since it is
  435. possible to run a fair approximation to real time services on small LANs
  436. today with no admission control or help from encoded priority bits.
  437.  
  438. Imagine a campus network providing dedicated 10 Mbps connections to each
  439. user. Each floor of each building supports up to 96 users, organized
  440. into groups of 24, with each group being supported by a 100 Mbps
  441. downlink to a basement switch which concentrates 5 floors (20 x 100
  442. Mbps) and a data center (4 x 100 Mbps) to a 1 Gbps link to an 8 Gbps
  443. central campus switch, which in turn hooks 6 buildings together (with 2
  444.  
  445.  
  446.  
  447. Seaman, Smith, Crawley      Expires May 1997            [Page 8]        
  448.  
  449. INTERNET DRAFT         Intserv over IEEE 802.1D/p          November 1996
  450.  
  451.  
  452. x 1 Gbps full-duplex links to support a corporate server farm). Such a
  453. network could support 1.5 Mb/s of voice/video from every user to any
  454. other user or (for half the population) the server farm, provided the
  455. video ran high priority: this gives 3000 users, all with desktop video
  456. conferencing running along with file transfer/email etc. In such a
  457. network RSVP's role would be limited to ensuring resource availability
  458. at the communicating end stations and for connection to the wide area.
  459.  
  460. In such a network, a discussion as to the best service policy to apply
  461. to high and low priority queues may prove academic: while it is true
  462. that "normal" traffic may be delayed by bunches of high priority frames,
  463. queuing theory tells us that the average queue occupancy in the high
  464. priority queue at any switch port will be somewhat less than 1 (with
  465. real user behaviour, i.e. not all watching video conferences all the
  466. time) it should be far less. A cheaper alternative to buying equipment
  467. with a fancy queue service policy may be to buy equipment with more
  468. bandwidth to lower the average link utilisation by a few per cent.
  469.  
  470. In practice a number of objections can be made to such a simple
  471. solution. There may be long established expensive equipment in the
  472. network which does not provide all the bandwidth required. There will be
  473. considerable concern over who is allowed to say what traffic is high
  474. priority. There may be a wish to give some form of "prioritised" service
  475. to crucial business applications, above that given to experimental
  476. video-conferencing. The task that faces us is to provide a degree of
  477. control without making that control so elaborate to implement that the
  478. control oriented solution is not simply rejected in favor of providing
  479. yet more bandwidth, at a lower cost.
  480.  
  481. The proposed admission control mechanism requires a query-response
  482. interaction with the network returning a "YES/NO" answer and, if
  483. successful, the user_priority value with which to tag the data frames of
  484. this flow.
  485.  
  486.  
  487. 9. Client mapping to layer 2
  488.  
  489. We assume the same host model as intserv and RSVP: the client is running
  490. an RSVP process which presents a session establishment interface to
  491. applications, signals RSVP over the network, programs scheduler and
  492. classifiers in the driver and interfaces to a policy control module. In
  493. particular, RSVP also interfaces to a local admission control module: it
  494. is this entity that we focus on here.
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503. Seaman, Smith, Crawley      Expires May 1997            [Page 9]        
  504.  
  505. INTERNET DRAFT         Intserv over IEEE 802.1D/p          November 1996
  506.  
  507.  
  508. The following diagram is taken from the RSVP spec:
  509.                       _____________________________
  510.                      |  _______                    |
  511.                      | |       |   _______         |
  512.                      | |Appli- |  |       |        |   RSVP
  513.                      | | cation|  | RSVP <--------------------
  514.       | |       <--       |        |
  515.                      | |       |  |process|  _____ |
  516.                      | |_._____|  |       --Polcy||
  517.                      |   |        |__.__._| |Cntrl||
  518.                      |   |data       |  |   |_____||
  519.                      |===|===========|==|==========|
  520.                      |   |   --------|  |    _____ |
  521.                      |   |  |        |  ----Admis||
  522.                      |  _V__V_    ___V____  |Cntrl||
  523.                      | |      |  |        | |_____||
  524.                      | |Class-|  | Packet |        |
  525.                      | | ifier|==Schedulr|====================
  526.                      | |______|  |________|        |    data
  527.                      |                             |
  528.                      |_____________________________|
  529.  
  530.                       Figure 1 - RSVP in Hosts
  531.  
  532.  
  533. The local admission control entity (known as "TUTU") within a client is
  534. responsible for mapping these layer-3 requests in TO layer TwO language.
  535.  
  536. The upper-layer entity requests from TUTU:
  537.  
  538.     "May I reserve for traffic with <traffic characteristic with
  539.       <performance requirements from <here to <there and how
  540.       should I label it?"
  541.  
  542. where
  543.   <traffic characteristic = Flow Spec, Tspec, Rspec (e.g.
  544.               bandwidth, burstiness, MTU etc.)
  545.   <performance requirements = latency, jitter bounds etc.
  546.   <here = IP address(es)
  547.   <there = IP address(es) - may be multicast
  548.  
  549. The TUTU entity:
  550. * maps the endpoints of the conversation to layer-2 addresses in the
  551.    LAN, so it can figure out what traffic is really going where.
  552. * applies local admission control on outgoing link and driver (may have
  553.    some interaction with classifier and scheduler here e.g. to give
  554.    classifier information about which user_priority values to expect)
  555. * formats a request to the network with the mapped addresses and flow
  556.  
  557.  
  558.  
  559. Seaman, Smith, Crawley      Expires May 1997           [Page 10]        
  560.  
  561. INTERNET DRAFT         Intserv over IEEE 802.1D/p          November 1996
  562.  
  563.  
  564.    specs
  565. * receives response from the network and reports the YES/NO admission
  566.    control answer and, for successful requests, the resulting
  567.    user_priority back to the upper layer entity.
  568.  
  569.                     from IP     from RSVP
  570.                    ____|____________|____________
  571.                   |    |      |     |            |
  572.                   |  __V____  |  ___V___         |
  573.                   | |       | | |       |        |
  574.                   | |  ARP  | | |       |        | ISSLL signaling
  575.                   | |protocl| | | TUTU  |<------------------------
  576.                   | |       |<-|       |        |
  577.                   | |       | | |       |        |
  578.                   | |_______| | |       |        |
  579.                   |    |      | |_______|        |
  580.                   |    |data  |    |  |          |
  581.                   |====|===========|==|==========|
  582.                   |    |  +--------|  |   _____  |
  583.                   |    |  |        |  +-|Local| |
  584.                   |  __V__V_   ____V___  |Admis| |
  585.                   | |      |  |        | |Cntrl| |
  586.                   | |Class-|  | Packet | |_____| |
  587.                   | | ifier|==Schedulr|======================
  588.                   | |______|  |________|         |  data
  589.                   |                              |
  590.                   |______________________________|
  591.  
  592.                 Figure 2 - ISSLL in Hosts
  593.  
  594.  
  595. 10. Switch Functions
  596.  
  597. 10.1 Admission Control
  598.  
  599. For the sake of this discussion, we define the following entities within
  600. a layer-2 switch:
  601. * traffic class mapping authority - this holds the mapping table of
  602.    intserv classes to user_priority.
  603. * reservation accountants - one of these on each port accounts for the
  604.    available bandwidth on that link. For half-duplex links, this
  605.    involves taking account of both transmit and receive flows. For 
  606.    full-duplex the input port accountant's task is trivial.
  607. * reservation propagators - these propagate requests that have passed
  608.    admission control at the input port's accountant to the relevant
  609.    output ports' accountants. This will require access to the switch's
  610.    forwarding table (layer-2 "routing table" - cf. RSVP model) and 
  611.    spanning-tree state.
  612.  
  613.  
  614.  
  615.  
  616. Seaman, Smith, Crawley      Expires May 1997           [Page 11]        
  617.  
  618. INTERNET DRAFT         Intserv over IEEE 802.1D/p          November 1996
  619.  
  620.  
  621. These are shown by the following diagram:
  622.                    _______________________________
  623.                   |  _____     ______     _____   |
  624.                   | |Span |   |filter|   |traff|  |
  625.                   | |Tree |<-|data- |   |class|  |
  626.                   | |Prot.|   |  base|   |map  |  |
  627.                   | |_____|   |______|   |_____|  |
  628.                   |              ^                |
  629.                   |  _____     __|___     ______  |
  630.  ISSLL signaling  | | in  |   |      |   | out  | | ISSLL signaling
  631. <------------------|resv |<-| resv |<-| resv |<----------------
  632.                   | |acct.|   | prop.|   | acct.| |
  633.                   | |_____|   |______|  /|______| |
  634.                   |    |   \           /     |    |
  635.                   |====|====\=========|======|====|
  636.                   |  __V__  |         |    __V__  |
  637.                   | |Local| |         |   |Local| |
  638.                   | |Admis| |         |   |Admis| |
  639.                   | |Cntrl| |         |   |Cntrl| |
  640.                   | |_____| |         |   |_____| |
  641.                   |     ____V_      __V____       |
  642.                   |    |Class-|    | Packet |     |
  643.       ===============-| ifier|====Schedulr|===================
  644.          data     |    |______|    |________|     |  data
  645.                   |                               |
  646.                   |_______________________________|
  647.  
  648.                     Figure 3 - ISSLL in Switches
  649.  
  650. On reception of an admission control request, a switch performs the
  651. following actions:
  652. * ingress bandwidth accountant observes the current state of allocation
  653.    of resources on the input port/link and then determines whether the
  654.    new allocation would be excessive. The request is passed to the
  655.    reservation propagator if accepted so far.
  656. * reservation propagator relays the request to the bandwidth accountants
  657.    on each of the switch's outbound links to which this reservation
  658.    would apply (implied interface to routing/forwarding database).
  659. * egress bandwidth accountant observes the current state of allocation
  660.    of queueing resources on its outbound port and bandwidth on the link
  661.    itself and determines whether the new allocation would be excessive.
  662.    Note that this is only the local decision of this switch hop: each
  663.    further layer-2 hop through the network gets a chance to veto the
  664.    request as it passes along.
  665. * the request, if accepted by this switch, is then passed on down the
  666.    line on each output link selected.
  667. * if this is the first switch in line, the traffic class mapping
  668.    authority selects a layer-2 traffic class which appears compatible
  669.  
  670.  
  671.  
  672. Seaman, Smith, Crawley      Expires May 1997           [Page 12]        
  673.  
  674. INTERNET DRAFT         Intserv over IEEE 802.1D/p          November 1996
  675.  
  676.  
  677.    with the request and whose use does not violate any administrative
  678.    policies in force. In effect, it matches up the requested service with 
  679.    those available in each of the user_priority classes and chooses the 
  680.    "best" one. It ensures that, if this reservation is successful, the 
  681.    selected value is passed back to the client.
  682. * if accepted, the switch must notify the client of the user_priority to
  683.    use for packets belonging to this flow.  Note that this is a
  684.    "provisional YES" - we assume an optimistic approach here: later
  685.    switches can still say "NO" later.
  686. * if this switch wishes to reject the request, it can do so by notifying
  687.    the original client (by means of its layer-2 address).
  688.  
  689.  
  690.  
  691. 10.2 Mappings to IEEE 802 user_priority
  692.  
  693. There are several options available for mapping service models (Best
  694. Effort, Controlled Load, and Guaranteed) to IEEE 802.1p user_priority
  695. classes.  The problem with making choices at this time is that we don't
  696. have much experience with any particular mappings to help make a
  697. determination as to the "best" mapping. So, the following options are
  698. presented to stimulate discussion in this area.  Note, this does not
  699. dictate what mechanisms/algorithms a network element (e.g. an Ethernet
  700. switch) needs to do implement these mappings: this is an implementation
  701. choice and does not matter so long as the requirements for the
  702. particular service model are met.
  703.  
  704. In order to reduce the administrative problems of maintaining such
  705. mappings, such a mapping table is held by *switches* only (and routers
  706. if desired) and is a read-write table. The values proposed below are
  707. defaults and can be overridden by management control so long as all
  708. switches agree to some extent (the required level of agreement requires
  709. further thought).
  710.  
  711. Option A:  The Simple Method
  712.  
  713. In this method, all traffic that uses a particular service model is
  714. mapped to a single 802.1p user_priority.  This is fine as long as all
  715. traffic for a given service model does not exceed any capacity in the
  716. 802 device and fine control of delay is not needed.  Here is an example:
  717.  
  718.       Priority  Service
  719.         0       "less than" Best Effort
  720.         1       Best Effort
  721.         2       reserved
  722.         3       reserved
  723.         4       Controlled Load
  724.         5       reserved
  725.  
  726.  
  727.  
  728. Seaman, Smith, Crawley      Expires May 1997           [Page 13]        
  729.  
  730. INTERNET DRAFT         Intserv over IEEE 802.1D/p          November 1996
  731.  
  732.  
  733.         6       Guaranteed Service
  734.         7       reserved
  735.  
  736. The "less than" best effort service is useful for devices that wish to
  737. tag packets that are exceeding a committed network capacity and can be
  738. optionally discarded by a downstream device.  Note, this is not
  739. necessarily incorporated in any current IntServ model.
  740.  
  741. The advantage of this mapping is that it leaves room for future service
  742. models.  The choices of priority 4 and priority 6 for Controlled Load
  743. and Guaranteed Service, respectively, is somewhat arbitrary.  Any two
  744. priorities greater than Best Effort can be used as long as Guaranteed
  745. Service is "greater" than Controlled Service although those proposed
  746. here have the advantage that, for transit through 802.1p switches with
  747. only two-level strict priority queuing, they both get "high priority"
  748. treatment (the current 802.1p split is 0-3 and 4-7 for 2 queues).
  749.  
  750. One disadvantage to this mapping is that it ignores the delay
  751. characteristics of the guaranteed service and groups all guaranteed
  752. traffic, no matter what the delay bound, into the same priority.
  753.  
  754. Option B:  Two Classes of Guaranteed Service
  755.  
  756. For this method, we expand the number of priorities assigned to the
  757. Guaranteed Service:
  758.       Priority  Service
  759.         0       "less than" Best Effort
  760.         1       Best Effort
  761.         2       reserved
  762.         3       reserved
  763.         4       Controlled Load
  764.         5       Guaranteed Service, 100ms bound
  765.         6       Guaranteed Service, 10ms bound
  766.         7       reserved
  767.  
  768. Again, the choices of the exact priorities are somewhat arbitrary as
  769. long as they are increasing.  Similarly, the choice of delay bound is
  770. also arbitrary but potentially very significant.  One of the key
  771. differences is that now there is a bound on delay through the network
  772. (and hence through each device) which may be much harder to implement
  773. although it can lead to a much more efficient allocation of resources.
  774.  
  775. The advantage to this approach is that it puts some real delay bounds on
  776. the Guaranteed Service without adding any additional complexity to the
  777. other services.  It still ignores the amount of *bandwidth* available
  778. for each class.
  779.  
  780. Further derivations of this option could be made by dividing the
  781.  
  782.  
  783.  
  784. Seaman, Smith, Crawley      Expires May 1997           [Page 14]        
  785.  
  786. INTERNET DRAFT         Intserv over IEEE 802.1D/p          November 1996
  787.  
  788.  
  789. Guaranteed Service classes into more levels with particular delay
  790. bounds.  Expanding the number of priorities for Controlled Load service
  791. is not as appealing since there is no need to map to a particular delay
  792. bound.  There may be a cases where an administrator might map Controlled
  793. Load to more priorities for particular bandwidths or policy levels. It
  794. may also be necessary to further classify Controlled Load traffic in
  795. cases and where the Controlled Load traffic is frequently non-conformant
  796. for certain applications.
  797.  
  798.  
  799. 10.3 Policy
  800.  
  801. A policy agent may also be implemented by a switch. This determines, how
  802. to interpret received user_priority values from packets, whether to
  803. trust them and whether to map them to something else. The policies in
  804. force may be configured by network management. Default is to use what is
  805. received and pass it on unchanged.
  806.  
  807.  
  808. 11. Signaling protocol
  809.  
  810. It is not the intention to precisely define a protocol in this document
  811. at this time. For now, we propose only some issues that such a protocol
  812. should consider:
  813. * need to tackle problem of reservation request crossing on a shared
  814.    medium ("collisions"): this needs some form of tie- breaker.
  815. * failed reservation retry policy: may be a bad idea to retry but we
  816.    have to specify behaviour.
  817. * one simple approach might be to avoid the election of any "master"
  818.    bandwidth arbiter on a segment: if we were to assume an optimistic
  819.    approach to reservations with later "veto" power by subsequent
  820.    switches or receivers then a large degree of complexity might be avoided.
  821. * signaling protocol needs to be able to notify failure of admission
  822.    control back to client or back to previous switch hop.
  823.  
  824.  
  825. 12. Shared media
  826.  
  827. The astute reader will have noticed that we have not mentioned the
  828. difficulty of dealing with allocation on a single shared CSMA/CD
  829. segment: there are a number of reasons for this.
  830.  
  831. Firstly, we do not believe this is a truly solvable problem: it would
  832. seem to require a new MAC protocol. Those who are interested in solving
  833. this problem per se should probably be following the BLAM developments
  834. in 802.3 but we would be suspicious of the interoperability
  835. characteristics of a series of new software MACs running above the
  836. traditional 802.3 MAC.
  837.  
  838.  
  839.  
  840. Seaman, Smith, Crawley      Expires May 1997           [Page 15]        
  841.  
  842. INTERNET DRAFT         Intserv over IEEE 802.1D/p          November 1996
  843.  
  844.  
  845. Secondly, we are not convinced that it is really an interesting problem.
  846. While not everyone in the world is buying desktop switches today and
  847. there will be end stations living on repeated segments for some time to
  848. come, the number of switches is going up and the number of stations on
  849. repeated segments is going down. This trend is proceeding to the point
  850. that we may be happy with a solution which assumes that any network
  851. conversation requiring resource reservations will take place through at
  852. least one switch (be it layer-2 or layer-3). Put another way, the
  853. easiest QoS upgrade to a layer-2 network is to install segment
  854. switching: only when has been done is it worthwhile to investigate more
  855. complex solutions involving admission control.
  856.  
  857. Thirdly, in the core of the network (as opposed to at the edges), there
  858. does not seem to be enough economic benefit for repeated segment
  859. solutions as opposed to switched solutions. While repeated solutions
  860. *may* be 50% cheaper, their cost impact on the entire network is
  861. amortised across all of the edge ports. There may be special
  862. circumstances in the future (e.g. Gigabit buffered repeaters) but these
  863. have differing characteristics to existing CSMA/CD repeaters anyway.
  864.  
  865.  
  866. 13. Compatibility and Interoperability with existing equipment
  867.  
  868. Layer-2-only "standard" 802.1p switches will have to work together with
  869. routers and layer-3 switches. Wide deployment of such 802.1p switches is
  870. envisaged, in a number of roles in the network. "Desktop switches" will
  871. provide dedicated 10/100 Mbps links to end stations at costs
  872. comparable/compatible with NICs/adapter cards. Very high speed core
  873. switches may act as central campus switching points for layer 3 devices.
  874. Real network deployments provide a wide range of examples today. The
  875. question is "what functionality beyond that of the basic 802.1D bridge
  876. should such 802.1p switches provide?". In the abstract the answer is
  877. "whatever they can do to broaden the applicability of the switching
  878. solution while still being economically distinct from the layer 3
  879. switches in their cost of acquisition, speed/bandwidth, cost of
  880. ownership and administration". Broadening the applicability means both
  881. addressing the needs of new traffic types and building larger switched
  882. networks (or making larger portions of existing networks switched). Thus
  883. one could imagine a network in which every device (along a network path)
  884. was layer-3 capable/intrusive into the full data stream; or one in which
  885. only the edge devices were pure layer-2; or one in which every alternate
  886. device lacked layer-3 functionality; or most do - excluding some key
  887. control points such as router firewalls, for example. Whatever the mix,
  888. the solution has to interoperate with these layer-3 QoS-aware devices.
  889.  
  890. Of course, where intserv flows pass through equipment which is ignorant
  891. of priority queuing and which places all packets through the same
  892. queuing/overload-dropping path, it is obvious that some of the
  893.  
  894.  
  895.  
  896. Seaman, Smith, Crawley      Expires May 1997           [Page 16]        
  897.  
  898. INTERNET DRAFT         Intserv over IEEE 802.1D/p          November 1996
  899.  
  900.  
  901. characteristics of the flow get more difficult to support. Suitable
  902. courses of action in the cases where sufficient bandwidth or buffering
  903. is not available are of the form:
  904.  
  905. (a)  buy more (and bigger) routers
  906. (b)  buy more capable switches
  907. (c)  rearrange the network topology: 802.1Q VLANs may help here.
  908. (d)  buy more bandwidth: Gigabit Ethernet is nearly here.
  909.  
  910. It would also be possible to pass more information between switches
  911. about the capabilities of their neighbours and to route around non-
  912. QoS-capable switches: such methods are for further study.
  913.  
  914.  
  915.  
  916.  
  917. 14. Epilogue
  918.  
  919. An obvious comment is that this is all too complex, it's what RSVP is
  920. doing already, why do we think we can do better by reinventing the
  921. solution to this problem at layer-2?
  922.  
  923. The key is that we do not have to tackle the full problem space of RSVP:
  924. there are a number of simple scenarios that cover a considerable
  925. proportion of the real situations that occur: all we have to do here is
  926. cover 99% of the territory at significantly lower cost and leave the
  927. other applications to full RSVP running in strategically  positioned
  928. high-function switches or routers. This will allow a significant
  929. reduction in overall network cost (equipment and ownership). This
  930. approach does mean that we have to discuss real life situations instead
  931. of abstract topologies that "could happen".
  932.  
  933. Sometimes, for example, simple bandwidth configuration in a few switches
  934. e.g. to avoid overloading particular trunk links, can be used to
  935. overcome bottlenecks due to the network topology: if there are issues
  936. with overloading end station "last hops", RSVP in the end stations would
  937. exert the correct controls simply by examining local resources without
  938. much tie-in to the layer-2 topology. In this case there has been no need
  939. to resort to any form of complex topology computation and much
  940. complexity has been avoided.
  941.  
  942. In the more general case, there remains work to be done. This will need
  943. to be done against the background constraint that the changing of queue
  944. service policies and the addition of extra functionality to support new
  945. service disciplines will proceed at the rate of hardware product
  946. development cycles and advance implementations of new algorithms may be
  947. pursued reluctantly or without the necessary 20-20 foresight.
  948.  
  949.  
  950.  
  951.  
  952. Seaman, Smith, Crawley      Expires May 1997           [Page 17]        
  953.  
  954. INTERNET DRAFT         Intserv over IEEE 802.1D/p          November 1996
  955.  
  956.  
  957. However, compared to the alternative of no traffic classes at all, there
  958. is substantial benefit in even the simplest of approaches (e.g. 2-4
  959. queues with straight priority), so there is significant reward for doing
  960. something: wide acceptance of that "something" probably means that even
  961. the simplest queue service disciplines will be provided for.
  962.  
  963.  
  964.  
  965. 15. References
  966.  
  967.  
  968. [1] ISO/IEC 10038, ANSI/IEEE Std 802.1D-1993 "MAC Bridges"
  969.  
  970. [2] "MAC Bridges - Traffic Classes and Dynamic Multicast Filtering
  971.         Services in Bridged Local Area Networks", October 1996
  972.         IEEE P802.1p/D4
  973.  
  974. [3] "Integrated Services in the Internet Architecture: an Overview"
  975.         RFC1633, June 1994
  976.  
  977. [4] "Resource Reservation Protocol (RSVP) - Version 1 Functional
  978.        Specification" Internet Draft, November 1996
  979.        <draft-ietf-rsvp-spec-14.ps
  980.  
  981. [5] "Carrier Sense Multiple Access with Collision Detection
  982.        (CSMA/CD) Access Method and Physical Layer Specifications"
  983.        ANSI/IEEE Std 802.3-1985.
  984.  
  985. [6] "Token-Ring Media Access Control"
  986.          IEEE Std 802.5
  987.  
  988. [7] "A Framework for Providing Integrated Services Over Shared and
  989.        Switched LAN Technologies", Internet Draft, November 1996
  990.        <draft-ghanwani-framework-is-lan-01.txt
  991.  
  992. [8] "Specification of the Controlled-Load Network Element Service",
  993.        Internet Draft, August 1996,
  994.        <draft-ietf-intserv-ctrl-load-svc-03.txt
  995.  
  996. [9] "Specification of Guaranteed Quality of Service",
  997.        Internet Draft, August 1996,
  998.        <draft-ietf-intserv-guaranteed-svc-06.txt
  999.  
  1000.  
  1001. 16. Security Considerations
  1002.  
  1003. Security issues are not addressed in this memo.
  1004.  
  1005.  
  1006.  
  1007.  
  1008. Seaman, Smith, Crawley      Expires May 1997           [Page 18]        
  1009.  
  1010. INTERNET DRAFT         Intserv over IEEE 802.1D/p          November 1996
  1011.  
  1012.  
  1013. 17. Authors' addresses
  1014. Mick Seaman
  1015. 3Com Corp.
  1016. 5400 Bayfront Plaza
  1017. Santa Clara CA 95052-8145
  1018. USA
  1019. +1 (408) 764 5000
  1020. mick_seaman@3com.com
  1021.  
  1022. Andrew Smith
  1023. Extreme Networks
  1024. 1601 S De Anza Blvd. #220
  1025. Cupertino CA 95014
  1026. USA
  1027. +1 (408) 342 0999
  1028. andrew@extremenetworks.com
  1029.  
  1030. Eric Crawley
  1031. Bay Networks
  1032. 3 Federal St.
  1033. Billerica MA 01821
  1034. USA
  1035. +1 (508) 670 8888
  1036. esc@baynetworks.com
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064. Seaman, Smith, Crawley      Expires May 1997           [Page 19]        
  1065.  
  1066.  
  1067.