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-is802-svc-mapping-00.txt < prev    next >
Text File  |  1997-08-06  |  90KB  |  2,249 lines

  1. Internet Draft                                        Mick Seaman
  2. Expires January 1998                                         3Com
  3. draft-ietf-issll-is802-svc-mapping-00.txt            Andrew Smith
  4.                                                  Extreme Networks
  5.                                                      Eric Crawley
  6.                                               Gigapacket Networks
  7.                                                         July 1997
  8.  
  9.  
  10.             Integrated Service Mappings on IEEE 802 Networks
  11.  
  12.  
  13. Status of this Memo
  14.  
  15.    This document is an Internet Draft.  Internet Drafts are working
  16.    documents of the Internet Engineering Task Force (IETF), its Areas,
  17.    and its Working Groups. Note that other groups may also distribute
  18.    working documents as Internet Drafts.
  19.  
  20.    Internet Drafts are draft documents valid for a maximum of six
  21.    months. Internet Drafts may be updated, replaced, or obsoleted by
  22.    other documents at any time.  It is not appropriate to use Internet
  23.    Drafts as reference material or to cite them other than as a "working
  24.    draft" or "work in progress."
  25.  
  26.    Please check the I-D abstract listing contained in each Internet
  27.    Draft directory to learn the current status of this or any other
  28.    Internet Draft.
  29.  
  30.  
  31. Abstract
  32.  
  33. This document describes the support of IETF Integrated Services over
  34. LANs built from IEEE 802 network segments which may be interconnected by
  35. IEEE 802.1 MAC Bridges (switches) [1].
  36.  
  37. It describes the practical capabilities and limitations of this
  38. technology for supporting Controlled Load [8] and Guaranteed Service [9]
  39. using the inherent capabilities of the relevant 802 technologies
  40. [5],[6],[15],[16] etc. and the proposed 802.1p queuing features in
  41. switches. IEEE P802.1p [2] is a superset of the existing IEEE 802.1D
  42. bridging specification. This document provides a functional model for
  43. the layer 3 to layer 2 and user-to-network dialogue which supports
  44. admission control and defines requirements for interoperability between
  45. switches. The special case of such networks where the sender and
  46. receiver are located on the same segment is also discussed.
  47.  
  48. This scheme expands on the ISSLL over 802 LANs framework described in
  49.  
  50.  
  51.  
  52. Seaman, Smith, Crawley    Expires January 1998          [Page 1]
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  60.  
  61.  
  62. [7]. It makes reference to a signaling protocol for admission control
  63. developed by the ISSLL WG which is known as the "Subnet Bandwidth
  64. Manager". This is an extension  to the IETF's RSVP protocol [4] and is
  65. described in a separate document [10].
  66.  
  67.  
  68.  
  69. 1. Introduction
  70.  
  71. The IEEE 802.1 Interworking Task Group is currently enhancing the basic
  72. MAC Service provided in Bridged Local Area Networks (a.k.a. "switched
  73. LANs"). As a supplement to the original IEEE MAC Bridges standard [1],
  74. the update P802.1p [2] proposes differential traffic class queuing and
  75. access to media on the basis of a "user_priority" signaled in frames.
  76.  
  77. In this document we
  78. * review the meaning and use of user_priority in LANs and the frame
  79. forwarding capabilities of a standard LAN switch.
  80. * examine alternatives for identifying layer 2 traffic flows for
  81. admission control.
  82. * review the options available for policing traffic flows.
  83. * derive requirements for consistent traffic class handling in a network
  84. of switches and use these requirements to discuss queue handling
  85. alternatives for 802.1p and the way in which these meet administrative
  86. and interoperability goals.
  87. * consider the benefits and limitations of this switched-based approach,
  88. contrasting it with full router based RSVP implementation in terms of
  89. complexity, utilisation of transmission resources and administrative
  90. controls.
  91.  
  92. The model used is outlined in the "framework document" [7] which in
  93. summary:
  94. * partitions the admission control process into two separable
  95. operations:
  96. * an interaction between the user of the integrated service and the
  97. local network elements ("provision of the service" in the terms of
  98. 802.1D) to confirm the availability of transmission resources for
  99. traffic to be introduced.
  100. * selection of an appropriate user_priority for that traffic on the
  101. basis of the service and service parameters to be supported.
  102. * distinguishes between the user to network interface above and the
  103. mechanisms used by the switches ("support of the service"): these
  104. include communication between the switches (network to network
  105. signaling).
  106. * describes a simple architecture for the provision and support of these
  107. services, broken down into components with functional and interface
  108. descriptions:
  109. * "user" components: a layer-3 to layer-2 negotiation and translation
  110.  
  111.  
  112.  
  113. Seaman, Smith, Crawley    Expires January 1998          [Page 2]
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  121.  
  122.  
  123. component for sending and receiving, with interfaces to other components
  124. residing in the station.
  125. * processes residing in a bridge/switch to handle admission control and
  126. mapping requests, including proposals for actual traffic mappings to
  127. user_priority values.
  128. * identifies the requirements of a signaling protocol to carry admission
  129. control requests between devices.
  130.  
  131. It will be noted that this document is written from the pragmatic
  132. viewpoint that there will be a widely deployed network technology and we
  133. are evaluating it for its ability to support some or all of the defined
  134. IETF integrated services: this approach is intended to ensure
  135. development of a system which can provide useful new capabilities in
  136. existing (and soon to be deployed) network infrastructures.
  137.  
  138.  
  139. 2. Goals and Assumptions
  140.  
  141. It is assumed that typical subnetworks that are concerned about
  142. quality-of-service will be "switch-rich": that is to say most
  143. communication between end stations using integrated services support
  144. will pass through at least one switch. The mechanisms and protocols
  145. described will be trivially extensible to communicating systems on the
  146. same shared media, but it is important not to allow problem
  147. generalisation to complicate the practical application that we target:
  148. the access characteristics of Ethernet and Token-Ring LANs are forcing a
  149. trend to switch-rich topologies. In addition, there have been
  150. developments in the area of  MAC enhancements to ensure delay-
  151. deterministic access on network links e.g. IEEE 802.12 [15] and other
  152. proprietary schemes.
  153.  
  154. Note that we illustrate most examples in this document using RSVP as an
  155. "upper-layer" QoS signaling protocol but there are actually no real
  156. dependencies on this protocol: RSVP could be replaced by some other
  157. dynamic protocol or else the requests could be made by network
  158. management or other policy entities. In particular, the SBM signaling
  159. protocol [10], which is based upon RSVP, is designed to work seamlessly
  160. in the service-mapping architecture described in this document and the
  161. "Integrated Services over IEEE 802" framework [7].
  162.  
  163. There may be a heterogeneous mixture of switches with different
  164. capabilities, all compliant with IEEE 802.1p, but implementing queuing
  165. and forwarding mechanisms in a range from simple 2-queue per port,
  166. strict priority, up to more complex multi-queue (maybe even one per-
  167. flow) WFQ or other algorithms.
  168.  
  169. The problem is broken down into smaller independent pieces: this may
  170. lead to sub-optimal usage of the network resources but we contend that
  171.  
  172.  
  173.  
  174. Seaman, Smith, Crawley    Expires January 1998          [Page 3]
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  182.  
  183.  
  184. such benefits are often equivalent to very small improvements in network
  185. efficiency in a LAN environment. Therefore, it is a goal that the
  186. switches in the network operate using a much simpler set of information
  187. than the RSVP engine in a router. In particular, it is assumed that such
  188. switches do not need to implement per-flow queuing and policing
  189. (although they might do so).
  190.  
  191. It is a fundamental assumption of the int-serv model that flows are
  192. isolated from each other throughout their transit across a network.
  193. Intermediate queueing nodes are expected to police the traffic to ensure
  194. that it conforms to the pre-agreed traffic flow specification. In the
  195. architecture proposed here for mapping to layer-2, we diverge from that
  196. assumption in the interests of simplicity: the policing function is
  197. assumed to be implemented in the transmit schedulers of the layer-3
  198. devices (end stations, routers). In the LAN environments envisioned, it
  199. is reasonable to assume that end stations are "trusted" to adhere to
  200. their agreed contracts at the inputs to the network and that we can
  201. afford to over-allocate resources at admission -control time to
  202. compensate for the inevitable extra jitter/bunching introduced by the
  203. switched network itself.
  204.  
  205. These divergences have some implications on the types of receiver
  206. heterogeneity that can be supported and  the statistical multiplexing
  207. gains that might have been exploited, especially for Controlled Load
  208. flows: this is discussed in a later section of this document.
  209.  
  210. 3. Non-Goals
  211.  
  212. This document describes service mappings onto existing IEEE- and ANSI-
  213. defined standard MAC layers and uses standard MAC-layer services as in
  214. IEEE 802.1 bridging. It does not attempt to make use of or describe the
  215. capabilities of other proprietary or standard MAC-layer protocols
  216. although it should be noted that there exists published work regarding
  217. MAC layers suitable for QoS mappings: these are outside the scope of the
  218. IETF ISSLL working group charter.
  219.  
  220. 4. User Priority and Frame Forwarding in IEEE 802 Networks
  221.  
  222. 4.1 General IEEE 802 Service Model
  223.  
  224. User_priority is a value associated with the transmission and reception
  225. of all frames in the IEEE 802 service model: it is supplied by the
  226. sender which is using the MAC service. It is provided along with the
  227. data to a receiver using the MAC service. It may or may not be actually
  228. carried over the network: Token- Ring/802.5 carries this value (encoded
  229. in its FC octet), basic Ethernet/802.3 does not, 802.12 may or may not
  230. depending on the frame format in use. 802.1p defines a consistent way to
  231. carry this value over the bridged network on Ethernet, Token Ring,
  232.  
  233.  
  234.  
  235. Seaman, Smith, Crawley    Expires January 1998          [Page 4]
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  243.  
  244.  
  245. Demand- Priority, FDDI or other MAC-layer media using an extended frame
  246. format. The usage of user_priority is summarised below but is more fully
  247. described in section 2.5 of 802.1D [1] and 802.1p [2] "Support of the
  248. Internal Layer Service by Specific MAC Procedures" and readers are
  249. referred to these documents for further information.
  250.  
  251. If the "user_priority" is carried explicitly in packets, its utility is
  252. as a simple label in the data stream enabling packets in different
  253. classes to be discriminated easily by downstream nodes without their
  254. having to parse the packet in more detail.
  255.  
  256. Apart from making the job of desktop or wiring-closet switches easier,
  257. an explicit field means they do not have to change hardware or software
  258. as the rules for classifying packets evolve (e.g. based on new protocols
  259. or new policies). More sophisticated layer-3 switches, perhaps deployed
  260. towards the core of a network, can provide added value here by
  261. performing the classification more accurately and, hence, utilising
  262. network resources more efficiently or providing better protection of
  263. flows from one another: this appears to be a good economic choice since
  264. there are likely to be very many more desktop/wiring closet switches in
  265. a network than switches requiring layer-3 functionality.
  266.  
  267. The IEEE 802 specifications make no assumptions about how user_priority
  268. is to be used by end stations or by the network. In particular it can
  269. only be considered a "priority" in a loose sense: although the current
  270. 802.1p draft defines static priority queuing as the default mode of
  271. operation of switches that implement multiple queues (user_priority is
  272. defined as a 3-bit quantity so strict priority queueing would give value
  273. 7 = high priority, 0 = low priority). The general switch algorithm is as
  274. follows: packets are placed onto a particular queue based on the
  275. received user_priority (from the packet if a 802.1p header or 802.5
  276. network was used, invented according to some local policy if not). The
  277. selection of queue is based on a mapping from user_priority
  278. [0,1,2,3,4,5,6 or 7] onto the number of available queues. Note that
  279. switches may implement any number of queues from 1 upwards and it may
  280. not be visible externally, except through any advertised int- serv
  281. parameters and the switch's admission control behaviour, which
  282. user_priority values get mapped internally onto the same vs. different
  283. queues. Other algorithms that a switch might implement might include
  284. e.g. weighted fair queueuing, round robin.
  285.  
  286. In particular, IEEE makes no recommendations about how a sender should
  287. select the value for user_priority: one of the main purposes of this
  288. current document is to propose such usage rules and how to communicate
  289. the semantics of the values between switches, end- stations and routers.
  290. In the remainder of this document we use the term "traffic class"
  291. synonymously with user_priority.
  292.  
  293.  
  294.  
  295.  
  296. Seaman, Smith, Crawley    Expires January 1998          [Page 5]
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  304.  
  305.  
  306. 4.2 Ethernet/802.3
  307.  
  308. There is no explicit traffic class or user_priority field carried in
  309. Ethernet packets. This means that user_priority must be regenerated at a
  310. downstream receiver or switch according to some defaults or by parsing
  311. further into higher-layer protocol fields in the packet. Alternatively,
  312. the IEEE 802.1Q encapsulation [11] may be used which provides an
  313. explicit traffic class field on top of an basic MAC format.
  314.  
  315. For the different IP packet encapsulations used over Ethernet/802.3, it
  316. will be necessary to adjust any admission- control calculations
  317. according to the framing and to the padding requirements:
  318.  
  319.  
  320. Encapsulation                          Framing Overhead  IP MTU
  321.                                           bytes/pkt       bytes
  322.  
  323. IP EtherType (ip_len<=46 bytes)             64-ip_len    1500
  324.              (1500>=ip_len>=46 bytes)         18         1500
  325.  
  326. IP EtherType over 802.1p/Q (ip_len<=42)     64-ip_len    1500*
  327.              (1500>=ip_len>=42 bytes)         22         1500*
  328.  
  329. IP EtherType over LLC/SNAP (ip_len<=40)     64-ip_len    1492
  330.              (1500>=ip_len>=40 bytes)         24         1492
  331.  
  332. * note that the draft IEEE 802.1Q specification exceeds the current IEEE
  333. 802.3 maximum packet length values by 4 bytes although work is
  334. proceeding within IEEE to address this issue.
  335.  
  336. 4.3 Token-Ring/802.5
  337.  
  338. The token ring standard [6] provides a priority mechanism that can be
  339. used to control both the queuing of packets for transmission and the
  340. access of packets to the shared media. The priority mechanisms are
  341. implemented using bits within the Access Control (AC) and the Frame
  342. Control (FC) fields of a LLC frame. The first three bits of the AC
  343. field, the Token Priority bits, together with the last three bits of the
  344. AC field, the Reservation bits, regulate which stations get access to
  345. the ring. The last three bits of the FC field of an LLC frame, the User
  346. Priority bits, are obtained from the higher layer in the user_priority
  347. parameter when it requests transmission of a packet. This parameter also
  348. establishes the Access Priority used by the MAC. The user_priority value
  349. is conveyed end-to-end by the User Priority bits in the FC field and is
  350. typically preserved through Token-Ring bridges of all types. In all
  351. cases, 0 is the lowest priority.
  352.  
  353. Token-Ring also uses a concept of Reserved Priority: this relates to the
  354.  
  355.  
  356.  
  357. Seaman, Smith, Crawley    Expires January 1998          [Page 6]
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  365.  
  366.  
  367. value of priority which a station uses to reserve the token for the next
  368. transmission on the ring.  When a free token is circulating, only a
  369. station having an Access Priority greater than or equal to the Reserved
  370. Priority in the token will be allowed to seize the token for
  371. transmission. Readers are referred to [14] for further discussion of
  372. this topic.
  373.  
  374. A token ring station is theoretically capable of separately queuing each
  375. of the eight levels of requested user priority and then transmitting
  376. frames in order of priority.  A station sets Reservation bits according
  377. to the user priority of frames that are queued for transmission in the
  378. highest priority queue.  This allows the access mechanism to ensure that
  379. the frame with the highest priority throughout the entire ring will be
  380. transmitted before any lower priority frame.  Annex I to the IEEE 802.5
  381. token ring standard recommends that stations send/relay frames as
  382. follows:
  383.  
  384.             Application             user_priority
  385.  
  386.             non-time-critical data      0
  387.                   -                     1
  388.                   -                     2
  389.                   -                     3
  390.             LAN management              4
  391.             time-sensitive data         5
  392.             real-time-critical data     6
  393.             MAC frames                  7
  394.  
  395. To reduce frame jitter associated with high-priority traffic, the annex
  396. also recommends that only one frame be transmitted per token and that
  397. the maximum information field size be 4399 octets whenever delay-
  398. sensitive traffic is traversing the ring.  Most existing implementations
  399. of token ring bridges forward all LLC frames with a default access
  400. priority of 4.  Annex I recommends that bridges forward LLC frames that
  401. have a user priorities greater that 4 with a reservation equal to the
  402. user priority (although the draft IEEE P802.1p [2] permits network
  403. management override this behaviour). The capabilities provided by token
  404. ring's user and reservation priorities and by IEEE 802.1p can provide
  405. effective support for Integrated Services flows that request QoS using
  406. RSVP. These mechanisms can provide, with few or no additions to the
  407. token ring architecture, bandwidth guarantees with the network flow
  408. control necessary to support such guarantees.
  409.  
  410. For the different IP packet encapsulations used over Token Ring/802.5,
  411. it will be necessary to adjust any admission-control calculations
  412. according to the framing requirements:
  413.  
  414. Encapsulation                          Framing Overhead  IP MTU
  415.  
  416.  
  417.  
  418. Seaman, Smith, Crawley    Expires January 1998          [Page 7]
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  426.  
  427.  
  428.                                           bytes/pkt       bytes
  429.  
  430. IP EtherType over 802.1p/802.1Q               29          4370*
  431. IP EtherType over LLC/SNAP                    25          4370*
  432.  
  433. *the suggested MTU from RFC 1042 [13] is 4464 bytes but there are issues
  434. related to discovering what the maximum supported MTU between any two
  435. points both within and between Token Ring subnets. We recommend here an
  436. MTU consistent with the 802.5 Annex I recommendation.
  437.  
  438. 4.4 FDDI
  439.  
  440. The Fiber Distributed Data Interface standard [16] provides a priority
  441. mechanism that can be used to control both the queuing of packets for
  442. transmission and the access of packets to the shared media. The priority
  443. mechanisms are implemented using similar mechanisms to Token-Ring
  444. described above. The standard also makes provision for "Synchronous"
  445. data traffic with strict media access and delay guarantees - this mode
  446. of operation is not discussed further here: this is an area within the
  447. scope of the ISSLL WG that requires further work. In the remainder of
  448. this document we treat FDDI as a 100Mbps Token Ring (which it is) using
  449. a service interface compatible with IEEE 802 networks.
  450.  
  451. 4.5 Demand-Priority/802.12
  452.  
  453. IEEE 802.12 [15] is a standard for a shared 100Mbit/s LAN. Data packets
  454. are transmitted using either 803.3 or 802.5 frame formats. The MAC
  455. protocol is called Demand Priority. Its main characteristics in respect
  456. to QoS are the support of two service priority levels (normal- and
  457. high-priority) and the service order: data packets from all network
  458. nodes (e.g. end-hosts and bridges/switches) are served using a simple
  459. round robin algorithm.
  460.  
  461. If the 802.3 frame format is used for data transmission then
  462. user_priority is encoded in the starting delimiter of the 802.12 data
  463. packet. If the 802.5 frame format is used then the priority is
  464. additionally encoded in the YYY bits of the AC field in the 802.5 packet
  465. header (see also section 4.3). Furthermore, the 802.1p/Q encapsulation
  466. may also be applied in 802.12 networks with its own user_priority field.
  467. Thus, in all cases, switches are able to recover any user_priority
  468. supplied by a sender.
  469.  
  470. The same rules apply for 802.12 user_priority mapping through a bridge
  471. as with other media types: the only additional information is that
  472. "normal" priority is used by default for user_priority values 0 through
  473. 4 inclusive and "high" priority is used for user_priority levels 5
  474. through 7: this ensures that the default Token-Ring user_priority level
  475. of 4 for 802.5 bridges is mapped to "normal" on 802.12 segments.
  476.  
  477.  
  478.  
  479. Seaman, Smith, Crawley    Expires January 1998          [Page 8]
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  487.  
  488.  
  489. The medium access in 802.12 LANs is deterministic: the demand priority
  490. mechanism ensures that, once the normal priority service has been pre-
  491. empted, all high priority packets have strict priority over packets with
  492. normal priority. In the abnormal situation that a normal-priority packet
  493. has been waiting at the front of a MAC transmit queue for a time period
  494. longer than PACKET_PROMOTION (200 - 300 ms [15]),its priority is
  495. automatically 'promoted' to high priority. Thus, even normal-priority
  496. packets have a maximum guaranteed access time to the medium.
  497.  
  498. Integrated Services can be built on top of the 802.12 medium access
  499. mechanism. When combined with admission control and bandwidth
  500. enforcement mechanisms, delay guarantees as required for a Guaranteed
  501. Service can be provided without any changes to the existing 802.12 MAC
  502. protocol.
  503.  
  504. Since the 802.12 standard supports the 802.3 and 802.5 frame formats,
  505. the same framing overhead as reported in sections 4.2 and 4.3 must be
  506. considered in the admission control equations for 802.12 links.
  507.  
  508. 5. Integrated services through layer-2 switches
  509.  
  510. 5.1 Summary of switch characteristics
  511.  
  512. For the sake of illustration, we divide layer-2 bridges/switches into
  513. several categories, based on the level of sophistication of their QoS
  514. and software protocol capabilities: these categories are not intended to
  515. represent all possible implementation choices but, instead, to aid
  516. discussion of what QoS capabilities can be expected from a network made
  517. of these devices (the basic "class 0" device is included for
  518. completeness but cannot really provide useful integrated service).
  519.  
  520. Class 0
  521.          - 802.1D MAC bridging
  522.          - single queue per output port, no separation of
  523.             traffic classes
  524.          - Spanning-Tree to remove topology loops (single active path)
  525.  
  526. Class I
  527.          - 802.1p priority queueuing between traffic classes.
  528.          - No multicast heterogeneity.
  529.          - 802.1p GARP/GMRP pruning of individual multicast addresses.
  530.  
  531. Class II As (I) plus:
  532.          - can map received user_priority on a per-input-port basis
  533.             to some internal set of canonical values.
  534.          - can map internal canonical values onto transmitted
  535.             user_priority on a per-output-port basis giving some
  536.             limited form of multicast heterogeneity.
  537.  
  538.  
  539.  
  540. Seaman, Smith, Crawley    Expires January 1998          [Page 9]
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  548.  
  549.  
  550.          - maybe implements IGMP snooping for pruning.
  551.  
  552. Class III As (II) plus:
  553.          - per-flow classification
  554.          - maybe per-flow policing and/or reshaping
  555.          - more complex transmit scheduling (probably not per-flow)
  556.  
  557. 5.2 Queueing
  558.  
  559. Connectionless packet-based networks in general, and LAN-switched
  560. networks in particular, work today because of scaling choices in network
  561. provisioning. Consciously or (more usually) unconsciously, enough excess
  562. bandwidth and buffering is provisioned in the network to absorb the
  563. traffic sourced by higher-layer protocols or cause their transmission
  564. windows to run out, on a statistical basis, so that the network is only
  565. overloaded for a short duration and the average expected loading is less
  566. than 60% (usually much less).
  567.  
  568. With the advent of time-critical traffic such over-provisioning has
  569. become far less easy to achieve. Time critical frames may find
  570. themselves queued for annoyingly long periods of time behind temporary
  571. bursts of file transfer traffic, particularly at network bottleneck
  572. points, e.g. at the 100 Mb/s to 10 Mb/s transition that might occur
  573. between the riser to the wiring closet and the final link to the user
  574. from a desktop switch. In this case, however, if it is known (guaranteed
  575. by application design, merely expected on the basis of statistics, or
  576. just that this is all that the network guarantees to support) that the
  577. time critical traffic is a small fraction of the total bandwidth, it
  578. suffices to give it strict priority over the "normal" traffic. The worst
  579. case delay experienced by the time critical traffic is roughly the
  580. maximum transmission time of a maximum length non-time-critical frame -
  581. less than a millisecond for 10 Mb/s Ethernet, and well below an end to
  582. end budget based on human perception times.
  583.  
  584. When more than one "priority" service is to be offered by a network
  585. element e.g. it supports Controlled-Load as well as Guaranteed Service,
  586. the queuing discipline becomes more complex. In order to provide the
  587. required isolation between the service classes, it will probably be
  588. necessary to queue them separately. There is then an issue of how to
  589. service the queues - a combination of admission control and more
  590. intelligent queueing disciplines e.g. weighted fair queuing, may be
  591. required in such cases. As with the service specifications themselves,
  592. it is not the place for this document to specify queuing algorithms,
  593. merely to observe that the external behaviour meet the services'
  594. requirements.
  595.  
  596. 5.3 Multicast Heterogeneity
  597.  
  598.  
  599.  
  600.  
  601. Seaman, Smith, Crawley    Expires January 1998         [Page 10]
  602.  
  603.  
  604.  
  605.  
  606.  
  607.  
  608. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  609.  
  610.  
  611. At layer-3, the int-serv model allows heterogeneous multicast flows
  612. where different branches of a tree can have different types of
  613. reservations for a given multicast destination. It also supports the
  614. notion that trees may have some branches with reserved flows and some
  615. using best effort (default) service. If we were to treat a layer-2
  616. subnet as a single "network element", as defined in [3], then all of the
  617. branches of the distribution tree that lie within the subnet could be
  618. assumed to require the same QoS treatment and be treated as an atomic
  619. unit as regards admission control etc. with this assumption, the model
  620. and protocols already defined by int- serv and RSVP already provide
  621. sufficient support for multicast heterogeneity. Note, though, that an
  622. admission control request may well be rejected because just one link in
  623. the subnet has reached its traffic limit and that this will lead to
  624. rejection of the request for the whole subnet.
  625.  
  626. The above approach would, therefore, provide very sub-optimal
  627. utilisation of resources given the size and complexity of the layer-2
  628. subnets envisioned by this document. Therefore, it is desirable to
  629. support the ability of layer-2 switches to apply QoS differently on
  630. different egress branches of a tree that divides at that switch: this is
  631. discussed in the following paragraphs.
  632.  
  633. IEEE 802.1D and 802.1p specify a basic model for multicast whereby a
  634. switch performs multicast routing decisions based on the destination
  635. address: this would produce a list of output ports to which the packet
  636. should be forwarded. In its default mode, such a switch would use the
  637. user_priority value in received packets (or a value regenerated on a
  638. per-input-port basis in the absence of an explicit value) to enqueue the
  639. packets at each output port. All of the classes of switch identified
  640. above can support this operation.
  641.  
  642. If a switch is selecting per-port output queues based only on the
  643. incoming user_priority, as described by 802.1p, it must treat all
  644. branches of all multicast sessions within that user_priority class with
  645. the same queuing mechanism: no heterogeneity is then possible and this
  646. could well lead to the failure of an admission control request for the
  647. whole multicast session due to a single link being at its maximum
  648. allocation, as described above. Note that, in the layer-2 case as
  649. distinct from the layer-3 case with RSVP/int-serv, the option of having
  650. some receivers getting the session with the requested QoS and some
  651. getting it best effort does not exist as the Class I switches are unable
  652. to re-map the user_priority on a per- link basis: this could well become
  653. an issue with heavy use of dynamic multicast sessions. If a switch were
  654. to implement a separate user_priority mapping at each output port, as
  655. described under "Class II switch" above, then some limited form of
  656. receiver heterogeneity can be supported e.g. forwarding of traffic as
  657. user_priority 4 on one branch where receivers have performed admission
  658. control reservations and as user_priority 0 on one where they have not.
  659.  
  660.  
  661.  
  662. Seaman, Smith, Crawley    Expires January 1998         [Page 11]
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  670.  
  671.  
  672. We assume that per-user_priority queuing without taking account of input
  673. or output ports is the minimum standard functionality for switches in a
  674. LAN environment (Class I switch, as defined above) but that more
  675. functional layer-2 or even layer-3 switches (a.k.a. routers) can be used
  676. if even more flexible forms of heterogeneity are considered necessary to
  677. achieve more efficient resource utilisation: note that the behaviour of
  678. layer-3 switches in this context is already well standardised by IETF.
  679.  
  680. 5.4 Override of incoming user_priority
  681.  
  682. In some cases, a network administrator may not trust the user_priority
  683. values contained in packets from a source and may wish to map these into
  684. some more suitable set of values. Alternatively, due perhaps to
  685. equipment limitations or transition periods, values may need to be
  686. mapped to/from different regions of a network.
  687.  
  688. Some switches may implement such a function on input that maps received
  689. user_priority into some internal set of values (this table is known in
  690. 802.1p as the "user_priority regeneration table"). These values can then
  691. be mapped using the output table described above onto outgoing
  692. user_priority values: these same mappings must also be used when
  693. applying admission control to requests that use the user_priority values
  694. (see e.g. [10]).  More sophisticated approaches may also be envisioned
  695. where a device polices traffic flows and adjusts their onward
  696. user_priority based on their conformance to the admitted traffic flow
  697. specifications.
  698.  
  699. 5.5 Remapping of non-conformant aggregated flows
  700.  
  701. One other topic under discussion in the int-serv context is how to
  702. handle the traffic for data flows from sources that are exceeding their
  703. currently agreed traffic contract with the network. An approach that
  704. shows some promise is to treat such traffic with "somewhat less than
  705. best effort" service in order to protect traffic that is normally given
  706. "best effort" service from having to back off (such traffic is often
  707. "adaptive" using TCP or other congestion control algorithms and it would
  708. be unfair to penalise it due to badly behaved traffic from reserved
  709. flows which are often set up by non-adaptive applications).
  710.  
  711. One solution here might be to assign normal best effort traffic to one
  712. user_priority and to label excess non-conformant traffic as a "lower"
  713. user_priority although the re-ordering problems that might arise from
  714. doing this may make this solution undesirable, particularly if the flows
  715. are using TCP: for this reason the controlled load service recommends
  716. dropping excess traffic, rather than re-mapping to a lower priority.
  717. This topic is further discussed below.
  718.  
  719.  
  720.  
  721.  
  722.  
  723. Seaman, Smith, Crawley    Expires January 1998         [Page 12]
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  731.  
  732.  
  733. 6. Selecting traffic classes
  734.  
  735. One fundamental question is "who gets to decide what the classes mean
  736. and who gets access to them?" One approach would be for the meanings of
  737. the classes to be "well-known": we would then need to standardise a set
  738. of classes e.g. 1 = best effort, 2 = controlled- load, 3 = guaranteed
  739. (loose delay bound, high bandwidth), 4 = guaranteed (slightly tighter
  740. delay) etc. The values to encode in such a table in end stations, in
  741. isolation from the network to which they are connected, is
  742. problematical: one approach could be to define one user_priority value
  743. per int-serv service and leave it at that (reserving the rest of the
  744. combinations for future traffic classes - there are sure to be plenty!).
  745.  
  746. We propose here a more flexible mapping: clients ask "the network" which
  747. user_priority traffic class to use for a given traffic flow, as
  748. categorised by its flow-spec and layer-2 endpoints. The network provides
  749. a value back to the requester which is appropriate to the current
  750. network topology, load conditions, other admitted flows etc. The task of
  751. configuring switches with this mapping (e.g. through network management,
  752. a switch-switch protocol or via some network-wide QoS-mapping directory
  753. service) is an order of magnitude less complex than performing the same
  754. function in end stations. Also, when new services (or other network
  755. reconfigurations) are added to such a network, the network elements will
  756. typically be the ones to be upgraded with new queuing algorithms etc.
  757. and can be provided with new mappings at this time.
  758.  
  759. Given the need for a new session or "flow" requiring some QoS support, a
  760. client then needs answers to the following questions:
  761.  
  762. 1. which traffic class do I add this flow to?
  763.  The client needs to know how to label the packets of the flow as it
  764. places them into the network.
  765.  
  766. 2. who do I ask/tell?
  767.  The proposed model is that a client ask "the network" which
  768. user_priority traffic class to use for a given traffic flow. This has
  769. several benefits as compared to a model which allows clients to select a
  770. class for themselves.
  771.  
  772. 3. how do I ask/tell them?
  773.  A request/response protocol is needed between client and network: in
  774. fact, the request can be piggy-backed onto an admission control request
  775. and the response can be piggy-backed onto an admission control
  776. acknowledgment: this "one pass" assignment has the benefit of completing
  777. the admission control in a timely way and reducing the exposure to
  778. changing conditions which could occur if clients cached the knowledge
  779. for extensive periods.
  780.  
  781.  
  782.  
  783.  
  784. Seaman, Smith, Crawley    Expires January 1998         [Page 13]
  785.  
  786.  
  787.  
  788.  
  789.  
  790.  
  791. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  792.  
  793.  
  794. The network (i.e. the first network element encountered downstream from
  795. the client) must then answer the following questions:
  796.  
  797. 1. which traffic class do I add this flow to?
  798.  This is a packing problem, difficult to solve in general, but many
  799. simplifying assumptions can be made: presumably some simple form of
  800. allocation can be done without a more complex scheme able to dynamically
  801. shift flows around between classes.
  802.  
  803. 2. which traffic class has worst-case parameters which meet the needs of
  804. this flow?
  805. This might be an ordering/comparison problem: which of two service
  806. classes is "better" than another? Again, we can make this tractable by
  807. observing that all of the current int-serv classes can be ranked (best
  808. effort <= Controlled Load <= Guaranteed Service) in a simple manner. If
  809. any classes are implemented in the future that cannot be simply ranked
  810. then the issue can be finessed by either a priori knowledge about what
  811. classes are supported or by configuration.
  812.  
  813. and return the chosen user_priority value to the client.
  814.  
  815. Note that the client may be either an end station, router or a first
  816. switch which may be acting as a proxy for a client which does not
  817. participate in these protocols for whatever reason. Note also that a
  818. device e.g. a server or router, may choose to implement both the
  819. "client" as well as the "network" portion of this model so that it can
  820. select its own user_priority values: such an implementation would,
  821. however, be discouraged unless the device really does have a close tie-
  822. in with the network topology and resource allocation policies but would
  823. work in some cases where there is known over- provisioning of resources.
  824.  
  825.  
  826. 7. Flow Identification
  827.  
  828. Some models for int-serv over lower-layers treat layer-2 switches very
  829. much as a special case of routers: in particular, that switches along
  830. the data path will make packet handling decisions based on the RSVP flow
  831. and filter specifications and use them to classify the corresponding
  832. data packets. However, filtering to the per-flow level becomes difficult
  833. with increasing switch speed: devices with such filtering capabilities
  834. are unlikely to have a very different implementation complexity from IP
  835. routers and there already exist protocol specifications for those
  836. devices.
  837.  
  838. This document argues that "aggregated flow" identification based on
  839. user_priority is a useful intermediate point between no QoS and full
  840. router-type integrated services and that this be the minimum flow
  841. classification capability required of switches.
  842.  
  843.  
  844.  
  845. Seaman, Smith, Crawley    Expires January 1998         [Page 14]
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  853.  
  854.  
  855. 8. Reserving Network Resources - Admission Control
  856.  
  857. So far we have not discussed admission control. In fact, without
  858. admission control it is possible to assemble a layer-2 LAN of some size
  859. capable of supporting real-time services, providing that the traffic
  860. fits within certain scaling constraints (relative link speeds, numbers
  861. of ports etc. - see below). This is not surprising since it is possible
  862. to run a fair approximation to real time services on small LANs today
  863. with no admission control or help from encoded priority bits.
  864.  
  865. As an example, imagine a campus network providing dedicated 10 Mbps
  866. connections to each user. Each floor of each building supports up to 96
  867. users, organized into groups of 24, with each group being supported by a
  868. 100 Mbps downlink to a basement switch which concentrates 5 floors (20 x
  869. 100 Mbps) and a data center (4 x 100 Mbps) to a 1 Gbps link to an 8 Gbps
  870. central campus switch, which in turn hooks 6 buildings together (with 2
  871. x 1 Gbps full duplex links to support a corporate server farm). Such a
  872. network could support 1.5 Mb/s of voice/video from every user to any
  873. other user or (for half the population) the server farm, provided the
  874. video ran high priority: this gives 3000 users, all with desktop video
  875. conferencing running along with file transfer/email etc.
  876.  
  877. In such a network, a discussion as to the best service policy to apply
  878. to high and low priority queues may prove academic: while it is true
  879. that "normal" traffic may be delayed by bunches of high priority frames,
  880. queuing theory tells us that the average queue occupancy in the high
  881. priority queue at any switch port will be somewhat less than 1 (with
  882. real user behaviour, i.e. not all watching video conferences all the
  883. time) it should be far less. A cheaper alternative to buying equipment
  884. with a fancy queue service policy may be to buy equipment with more
  885. bandwidth to lower the average link utilisation by a few per cent.
  886.  
  887. In practice a number of objections can be made to such a simple
  888. solution. There may be long established expensive equipment in the
  889. network which does not provide all the bandwidth required. There will be
  890. considerable concern over who is allowed to say what traffic is high
  891. priority. There may be a wish to give some form of "prioritised" service
  892. to crucial business applications, above that given to experimental
  893. video-conferencing: in this context, admission control needs to provide
  894. administrative control to some level, without making that control so
  895. elaborate to implement that it is not simply rejected in favor of
  896. providing yet more bandwidth instead.
  897.  
  898. The proposed admission control mechanism requires a query-response
  899. interaction with the network returning a "YES/NO" answer and, if
  900. successful, a user_priority value with which to tag the data frames of
  901. this flow.
  902.  
  903.  
  904.  
  905.  
  906. Seaman, Smith, Crawley    Expires January 1998         [Page 15]
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  914.  
  915.  
  916. The relevant int-serv specifications describe the parameters which need
  917. to be considered when making an admission control decision at each node
  918. in the network path between sender and receiver. We discuss how to
  919. calculate these parameters for different network technologies below but
  920. we do not specify admission control algorithms or mechanisms as to how
  921. to progress the admission control process across the network. The
  922. proposed IETF protocol for this purpose "Subnet Bandwidth Manager" (SBM)
  923. is defined in [10].
  924.  
  925. Where there are multiple mechanisms in use for allocating resources e.g.
  926. some combination of SBM and network management, it will be necessary to
  927. ensure that network resources are partitioned amongst the different
  928. mechanisms in some way: this could be by configuration or maybe by
  929. having the mechanisms allocate from a common resource pool within any
  930. device.
  931.  
  932.  
  933. 9. Mapping of integrated services to layer-2 in layer-3 devices
  934.  
  935. 9.1 Layer-3 Client Model
  936.  
  937. We assume the same client model as int-serv and RSVP where we use the
  938. term "client" to mean the entity handling QoS in the layer-3 device at
  939. each end of a layer-2 hop (e.g. end-station, router). The sending client
  940. itself is responsible for local admission control and scheduling packets
  941. onto its link in accordance with the service agreed. As with the current
  942. int-serv model, this involves per-flow scheduling (a.k.a. traffic
  943. shaping) in every such originating source.
  944.  
  945. The client is running an RSVP process which presents a session
  946. establishment interface to applications, signals over the network,
  947. programs a scheduler and classifier in the driver and interfaces to a
  948. policy control module. In particular, RSVP also interfaces to a local
  949. admission control module: it is this entity that we focus on here.
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959.  
  960.  
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967. Seaman, Smith, Crawley    Expires January 1998         [Page 16]
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  975.  
  976.  
  977. The following diagram is taken from the RSVP specification[4]:
  978.                       _____________________________
  979.                      |  _______                    |
  980.                      | |       |   _______         |
  981.                      | |Appli- |  |       |        |   RSVP
  982.                      | | cation|  | RSVP <-------------------->
  983.                      | |       <-->       |        |
  984.                      | |       |  |process|  _____ |
  985.                      | |_._____|  |       -->Polcy||
  986.                      |   |        |__.__._| |Cntrl||
  987.                      |   |data       |  |   |_____||
  988.                      |===|===========|==|==========|
  989.                      |   |   --------|  |    _____ |
  990.                      |   |  |        |  ---->Admis||
  991.                      |  _V__V_    ___V____  |Cntrl||
  992.                      | |      |  |        | |_____||
  993.                      | |Class-|  | Packet |        |
  994.                      | | ifier|==>Schedulr|====================>
  995.                      | |______|  |________|        |    data
  996.                      |                             |
  997.                      |_____________________________|
  998.  
  999.                      Figure 1 - RSVP in Sending Hosts
  1000.  
  1001.  
  1002. Note that we illustrate examples in this document using RSVP as the
  1003. "upper-layer" signaling protocol but there are no actual dependencies on
  1004. this protocol: RSVP could be replaced by some other dynamic protocol or
  1005. else the requests could be made by network management or other policy
  1006. entities.
  1007.  
  1008. 9.2 Requests to layer-2 ISSLL
  1009.  
  1010. The local admission control entity within a client is responsible for
  1011. mapping these layer-3 session-establishment requests into layer-2
  1012. language.
  1013.  
  1014. The upper-layer entity makes a request, in generalised terms,  to ISSLL
  1015. of the form:
  1016.  
  1017.     "May I reserve for traffic with <traffic characteristic> with
  1018.     <performance requirements> from <here> to <there> and how
  1019.     should I label it?"
  1020.  
  1021. where
  1022.     <traffic characteristic> = Sender Tspec
  1023.                                (e.g. bandwidth, burstiness, MTU)
  1024.     <performance requirements> = FlowSpec
  1025.  
  1026.  
  1027.  
  1028. Seaman, Smith, Crawley    Expires January 1998         [Page 17]
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  1036.  
  1037.  
  1038.                                (e.g. latency, jitter bounds)
  1039.     <here> = IP address(es)
  1040.     <there> = IP address(es) - may be multicast
  1041.  
  1042.  
  1043. 9.3 At the Layer-3 Sender
  1044.  
  1045. The ISSLL  functionality in the sender is illustrated below and the
  1046. functions of the box labeled "SBM client" may be summarised as:
  1047. * maps the endpoints of the conversation to layer-2 addresses in the
  1048. LAN, so that the client can figure out what traffic is really going
  1049. where (probably makes reference to the ARP protocol cache for unicast or
  1050. an algorithmic mapping for multicast destinations).
  1051. * applies local admission control on outgoing link and driver
  1052. * formats a SBM request to the network with the mapped addresses and
  1053. filter/flow specs
  1054. * receives response from the network and reports the YES/NO admission
  1055. control answer back to the upper layer entity, along with any negotiated
  1056. modifications to the session parameters.
  1057. * saves any returned user_priority to be associated with this session in
  1058. a "802 header" table: this will be used when adding layer-2 header
  1059. before sending any future data packet belonging to this session. This
  1060. table might, for example, be indexed by the RSVP flow identifier.
  1061.  
  1062.                     from IP     from RSVP
  1063.                    ____|____________|____________
  1064.                   |    |            |            |
  1065.                   |  __V____     ___V___         |
  1066.                   | |       |   |       |        |
  1067.                   | | Addr  |<->|       |        | SBM signaling
  1068.                   | |mapping|   | SBM   |<------------------------>
  1069.                   | |_______|   |Client |        |
  1070.                   |  ___|___    |       |        |
  1071.                   | |       |<->|       |        |
  1072.                   | |  802  |   |_______|        |
  1073.                   | | header|     / | |          |
  1074.                   | |_______|    /  | |          |
  1075.                   |    |        /   | |   _____  |
  1076.                   |    | +-----/    | +->|Local| |
  1077.                   |  __V_V_    _____V__  |Admis| |
  1078.                   | |      |  |        | |Cntrl| |
  1079.                   | |Class-|  | Packet | |_____| |
  1080.                   | | ifier|==>Schedulr|======================>
  1081.                   | |______|  |________|         |  data
  1082.                   |______________________________|
  1083.  
  1084.                Figure 2 - ISSLL in End-station Sender
  1085.  
  1086.  
  1087.  
  1088.  
  1089. Seaman, Smith, Crawley    Expires January 1998         [Page 18]
  1090.  
  1091.  
  1092.  
  1093.  
  1094.  
  1095.  
  1096. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  1097.  
  1098.  
  1099. 9.4 At the Layer-3 Receiver
  1100.  
  1101. The ISSLL functionality in the receiver is a good deal simpler. It is
  1102. summarised below and is illustrated by the following picture:
  1103. * handles any received SBM protocol indications.
  1104. * applies local admission control to see if a request can be supported
  1105. with appropriate local receive resources.
  1106. * passes indications up to RSVP if OK.
  1107. * accepts confirmations from RSVP and relays them back via SBM signaling
  1108. towards the requester.
  1109. * may program a receive classifier and scheduler, if any is used, to
  1110. identify traffic classes of received packets and accord them appropriate
  1111. treatment e.g. reserve some buffers for particular traffic classes.
  1112. * programs receiver to strip any 802 header information from received
  1113. packets.
  1114.  
  1115.                      to RSVP       to IP
  1116.                        ^            ^
  1117.                    ____|____________|___________
  1118.                   |    |            |           |
  1119.                   |  __|____        |           |
  1120.                   | |       |       |           |
  1121.  SBM signaling    | |  SBM  |    ___|___        |
  1122. <-----------------> |Client |   | Strip |       |
  1123.                   | |_______|   |802 hdr|       |
  1124.                   |    |   \    |_______|       |
  1125.                   |  __v___ \       ^           |
  1126.                   | | Local |\      |           |
  1127.                   | | Admis | \     |           |
  1128.                   | | Cntrl |  \    |           |
  1129.                   | |_______|   \   |           |
  1130.                   |  ______     v___|____       |
  1131.                   | |Class-|   | Packet  |      |
  1132. ===================>| ifier|==>|Scheduler|      |
  1133.      data         | |______|   |_________|      |
  1134.                   |_____________________________|
  1135.  
  1136.              Figure 3 - ISSLL in End-station Receiver
  1137.  
  1138.  
  1139.  
  1140. 10. Layer-2 Switch Functions
  1141.  
  1142. 10.1 Switch Model
  1143.  
  1144. The model of layer-2 switch behaviour described here uses the
  1145. terminology of the SBM protocol [10] as an example of an admission
  1146. control protocol: the model is equally applicable when other mechanisms
  1147.  
  1148.  
  1149.  
  1150. Seaman, Smith, Crawley    Expires January 1998         [Page 19]
  1151.  
  1152.  
  1153.  
  1154.  
  1155.  
  1156.  
  1157. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  1158.  
  1159.  
  1160. e.g. static configuration, network management are in use for admission
  1161. control. We define the following entities within the switch:
  1162.  
  1163. * Local admission control - one of these on each port accounts for the
  1164. available bandwidth on the link attached to that port. For half-duplex
  1165. links, this involves taking account of the resources allocated to both
  1166. transmit and receive flows. For full-duplex, the input port accountant's
  1167. task is trivial.
  1168.  
  1169. * Input SBM module: one instance on each port, performs the "network"
  1170. side of the signaling protocol for peering with clients or other
  1171. switches. Also holds knowledge of the mappings of int-serv classes to
  1172. user_priority.
  1173.  
  1174. * SBM propagation - relays requests that have passed admission control
  1175. at the input port to the relevant output ports' SBM modules. This will
  1176. require access to the switch's forwarding table (layer-2 "routing table"
  1177. cf. RSVP model) and port spanning-tree states.
  1178.  
  1179. * Output SBM module - forwards requests to the next layer-2 or -3
  1180. network hop.
  1181.  
  1182. * Classifier, Queueing and Scheduler - these functions are basically as
  1183. described by the Forwarding Process of IEEE 802.1p (see section 3.7 of
  1184. [2]). The Classifier module identifies the relevant QoS information from
  1185. incoming packets and uses this, together with the normal bridge
  1186. forwarding database, to decide to which output queue of which output
  1187. port to enqueue the packet. In Class I switches, this information is the
  1188. "regenerated user_priority" parameter which has already been decoded by
  1189. the receiving MAC service and potentially re-mapped by the 802.1p
  1190. forwarding process (see description in section 3.7.3 of [2]). This does
  1191. not preclude more sophisticated classification rules which may be
  1192. applied in more complex Class III switches e.g. matching on individual
  1193. int-serv flows.
  1194.  
  1195.  The Queueing and Scheduler module holds the output queues for ports and
  1196. provides the algorithm for servicing the queues for transmission onto
  1197. the output link in order to provide the promised int-serv service.
  1198. Switches will implement one or more output queues per port and all will
  1199. implement at least a basic strict priority dequeueing algorithm as their
  1200. default, in accordance with 802.1p.
  1201.  
  1202. * Ingress traffic class mapper and policing - as described in 802.1p
  1203. section 3.7. This optional module may check on whether the data within
  1204. traffic classes are conforming to the patterns currently agreed:
  1205. switches may police this and discard or re-map packets. The default
  1206. behaviour is to pass things through unchanged.
  1207.  
  1208.  
  1209.  
  1210.  
  1211. Seaman, Smith, Crawley    Expires January 1998         [Page 20]
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.  
  1218. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  1219.  
  1220.  
  1221. * Egress traffic class mapper - as described in 802.1p section 3.7. This
  1222. optional module may apply re-mapping of traffic classes e.g. on a per-
  1223. output port basis. The default behaviour is to pass things through
  1224. unchanged.
  1225.  
  1226. These are shown by the following diagram which is a superset of the IEEE
  1227. 802.1D/802.1p bridge model:
  1228.  
  1229.                    _______________________________
  1230.                   |  _____     ______     ______  |
  1231.  SBM signaling    | |     |   |      |   |      | | SBM signaling
  1232. <------------------>| IN  |<->| SBM  |<->| OUT  |<---------------->
  1233.                   | | SBM |   | prop.|   | SBM  | |
  1234.                   | |_____|   |______|   |______| |
  1235.                   |  / |          ^     /     |   |
  1236.     ______________| /  |          |     |     |   |_____________
  1237.    | \             / __V__        |     |   __V__             / |
  1238.    |   \      ____/ |Local|       |     |  |Local|          /   |
  1239.    |     \   /      |Admis|       |     |  |Admis|        /     |
  1240.    |       \/       |Cntrl|       |     |  |Cntrl|      /       |
  1241.    |  _____V \      |_____|       |     |  |_____|    / _____   |
  1242.    | |traff |  \               ___|__   V_______    /  |egrss|  |
  1243.    | |class |    \            |Filter| |Queue & | /    |traff|  |
  1244.    | |map & |=====|==========>|Data- |=| Packet |=|===>|class|  |
  1245.    | |police|     |           |  base| |Schedule| |    |map  |  |
  1246.    | |______|     |           |______| |________| |    |_____|  |
  1247.    |____^_________|_______________________________|______|______|
  1248. data in |                                                |data out
  1249. ========+                                                +========>
  1250.                     Figure 4 - ISSLL in Switches
  1251.  
  1252. 10.2 Admission Control
  1253.  
  1254. On reception of an admission control request, a switch performs the
  1255. following actions, again using SBM as an example: the behaviour is
  1256. different depending on whether the "Designated SBM"  for this segment is
  1257. within this switch or not - see [10] for a more detailed specification
  1258. of the DSBM/SBM actions:
  1259. * if the ingress SBM is the "Designated SBM" for this link/segment, it
  1260. translates any received user_priority or else selects a layer-2 traffic
  1261. class which appears compatible with the request and whose use does not
  1262. violate any administrative policies in force. In effect, it matches up
  1263. the requested service with those available in each of the user_priority
  1264. classes and chooses the "best" one. It ensures that, if this reservation
  1265. is successful, the selected value is passed back to the client.
  1266. * ingress DSBM observes the current state of allocation of resources on
  1267. the input port/link and then determines whether the new resource
  1268. allocation from the mapped traffic class would be excessive. The request
  1269.  
  1270.  
  1271.  
  1272. Seaman, Smith, Crawley    Expires January 1998         [Page 21]
  1273.  
  1274.  
  1275.  
  1276.  
  1277.  
  1278.  
  1279. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  1280.  
  1281.  
  1282. is passed to the reservation propagator if accepted so far.
  1283. * if the ingress SBM is not the "Designated SBM" for this link/segment
  1284. then it passes the request on directly to the reservation propagator
  1285. * reservation propagator relays the request to the bandwidth accountants
  1286. on each of the switch's outbound links to which this reservation would
  1287. apply (implied interface to routing/forwarding database).
  1288. * egress bandwidth accountant observes the current state of allocation
  1289. of queueing resources on its outbound port and bandwidth on the link
  1290. itself and determines whether the new allocation would be excessive.
  1291. Note that this is only the local decision of this switch hop: each
  1292. further layer-2 hop through the network gets a chance to veto the
  1293. request as it passes along.
  1294. * the request, if accepted by this switch, is then passed on down the
  1295. line on each output link selected. Any user_priority described in the
  1296. forwarded request must be translated according to any egress mapping
  1297. table.
  1298. * if accepted, the switch must notify the client of the user_priority to
  1299. use for packets belonging to this flow.  Note that this is a
  1300. "provisional YES" - we assume an optimistic approach here: later
  1301. switches can still say "NO" later.
  1302. * if this switch wishes to reject the request, it can do so by notifying
  1303. the original client (by means of its layer-2 address).
  1304.  
  1305.  
  1306.  
  1307. 11. Mappings from int-serv service models to IEEE 802
  1308.  
  1309. It is assumed that admission control will be applied when deciding
  1310. whether or not to admit a new flow through a given network element and
  1311. that a device sending onto a link will be proxying the parameters and
  1312. admission control decisions on behalf of that link: this process will
  1313. require the device to be able to determine (by estimation, measurement
  1314. or calculation) several parameters. It is assumed that details of the
  1315. potential flow are provided to the device by some means (e.g. a
  1316. signaling protocol, network management). The service definition
  1317. specifications themselves provide some implementation guidance as to how
  1318. to calculate some of these quantities.
  1319.  
  1320. The accuracy of calculation of these parameters may not be very
  1321. critical: indeed it is an assumption of this model's being used with
  1322. relatively simple Class I switches that they merely provide values to
  1323. describe the device and admit flows conservatively.
  1324.  
  1325. 11.1 General characterisation parameters
  1326.  
  1327. There are some general parameters that a device will need to use and/or
  1328. supply for all service types:
  1329. * Ingress link
  1330.  
  1331.  
  1332.  
  1333. Seaman, Smith, Crawley    Expires January 1998         [Page 22]
  1334.  
  1335.  
  1336.  
  1337.  
  1338.  
  1339.  
  1340. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  1341.  
  1342.  
  1343. * Egress links and their MTUs, framing overheads and minimum packet
  1344. sizes (see media-specific information presented above).
  1345. * available path bandwidth: updated hop-by-hop by any device along the
  1346. path of the flow.
  1347. * minimum latency
  1348.  
  1349. 11.2 Parameters to implement Guaranteed Service
  1350.  
  1351. A network element must be able to determine the following parameters:
  1352.  
  1353. * Constant delay bound through this device (in addition to any value
  1354. provided by "minimum latency" above) and up to the receiver at the next
  1355. network element for the packets of this flow if it were to be admitted:
  1356. this would include any access latency bound to the outgoing link as well
  1357. as propagation delay across that link.
  1358. * Rate-proportional delay bound through this device and up to the
  1359. receiver at the next network element for the packets of this flow if it
  1360. were to be admitted.
  1361. * Receive resources that would need to be associated with this flow
  1362. (e.g. buffering, bandwidth) if it were to be admitted and not suffer
  1363. packet loss if it kept within its supplied Tspec/Rspec.
  1364. * Transmit resources that would need to be associated with this flow
  1365. (e.g. buffering, bandwidth, constant- and rate-proportional delay
  1366. bounds) if it were to be admitted.
  1367.  
  1368. 11.3 Parameters to implement Controlled Load
  1369.  
  1370. A network element must be able to determine the following parameters
  1371. which can be extracted from [8]:
  1372.  
  1373. * Receive resources that would need to be associated with this flow
  1374. (e.g. buffering) if it were to be admitted.
  1375. * Transmit resources that would need to be associated with this flow
  1376. (e.g. buffering) if it were to be admitted.
  1377.  
  1378. 11.4 Parameters to implement Best Effort
  1379.  
  1380. For a network element to implement best effort service there are no
  1381. explicit parameters that need to be characterised.
  1382.  
  1383. 11.5 Mapping to IEEE 802 user_priority
  1384.  
  1385. There are many options available for mapping aggregations of flows
  1386. described by int-serv service models (Best Effort, Controlled Load, and
  1387. Guaranteed are the services considered here) onto user_priority classes.
  1388. There currently exists very little practical experience with particular
  1389. mappings to help make a determination as to the "best" mapping.  In that
  1390. spirit, the following options are presented in order to stimulate
  1391.  
  1392.  
  1393.  
  1394. Seaman, Smith, Crawley    Expires January 1998         [Page 23]
  1395.  
  1396.  
  1397.  
  1398.  
  1399.  
  1400.  
  1401. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  1402.  
  1403.  
  1404. experimentation in this area. Note, this does not dictate what
  1405. mechanisms/algorithms a network element (e.g. an Ethernet switch) needs
  1406. to perform to implement these mappings: this is an implementation choice
  1407. and does not matter so long as the requirements for the particular
  1408. service model are met. Having said that, we do explore below the ability
  1409. of a switch implementing strict priority queueing to support some or all
  1410. of the service types under discussion: this is worthwhile because this
  1411. is likely to be the most widely deployed dequeueing algorithm in simple
  1412. switches as it is the default specified in 802.1p.
  1413.  
  1414. In order to reduce the administrative problems, such a mapping table is
  1415. held by *switches* (and routers if desired) but generally not by end-
  1416. station hosts and is a read-write table. The values proposed below are
  1417. defaults and can be overridden by management control so long as all
  1418. switches agree to some extent (the required level of agreement requires
  1419. further analysis).
  1420.  
  1421. It is possible that some form of network-wide lookup service could be
  1422. implemented that serviced requests from clients e.g. traffic_class =
  1423. getQoSbyName("H.323 video") and notified switches of what sorts of
  1424. traffic categories they were likely to encounter and how to allocate
  1425. those requests into traffic classes: such mechanisms are for further
  1426. study.
  1427.  
  1428. Example:  A Simple Scheme
  1429.  
  1430.         user_priority       Service
  1431.  
  1432.           0                 "less than" Best Effort
  1433.           1                 Best Effort
  1434.           2                 reserved
  1435.           3                 reserved
  1436.           4                 Controlled Load
  1437.           5                 Guaranteed Service, 100ms bound
  1438.           6                 Guaranteed Service, 10ms bound
  1439.           7                 reserved
  1440.  
  1441.              Table 1 - Example user_priority to service mappings
  1442.  
  1443. In this proposal, all traffic that uses the controlled load service is
  1444. mapped to a single 802.1p user_priority whilst that for guaranteed
  1445. service is placed into one of two user_priority classes with different
  1446. delay bounds. Unreserved best effort traffic is mapped to another.
  1447.  
  1448. The use of classes 4, 5 and 6 for Controlled Load and Guaranteed Service
  1449. is somewhat arbitrary as long as they are increasing. Any two classes
  1450. greater than Best Effort can be used as long as GS is "greater" than CL
  1451. although those proposed here have the advantage that, for transit
  1452.  
  1453.  
  1454.  
  1455. Seaman, Smith, Crawley    Expires January 1998         [Page 24]
  1456.  
  1457.  
  1458.  
  1459.  
  1460.  
  1461.  
  1462. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  1463.  
  1464.  
  1465. through 802.1p switches with only two-level strict priority queuing,
  1466. they both get "high priority" treatment (the current 802.1p default
  1467. split is 0-3 and 4-7 for a device with 2 queues). The choice of delay
  1468. bound is also arbitrary but potentially very significant: this can lead
  1469. to a much more efficient allocation of resources as well as greater
  1470. (though still not very good) isolation between flows.
  1471.  
  1472. The "less than best effort" class might be useful for devices that wish
  1473. to tag packets that are exceeding a committed network capacity and can
  1474. be optionally discarded by a downstream device.  Note, this is not
  1475. *required* by any current int-serv models but is under study.
  1476.  
  1477. The advantage to this approach is that it puts some real delay bounds on
  1478. the Guaranteed Service without adding any additional complexity to the
  1479. other services.  It still ignores the amount of *bandwidth* available
  1480. for each class. This should behave reasonably well as long as all
  1481. traffic for CL and GS flows does not exceed any resource capacities in
  1482. the device. Some isolation between very delay-critical GS and less
  1483. critical GS flows is provided but there is still an overall assumption
  1484. that flows will in general be well- behaved. In addition, this mapping
  1485. still leaves room for future service models.
  1486.  
  1487. Expanding the number of classes for CL service is not as appealing since
  1488. there is no need to map to a particular delay bound.  There may be cases
  1489. where an administrator might map CL onto more classes for particular
  1490. bandwidths or policy levels.  It may also be desirable to further
  1491. subdivide CL traffic in cases where the it is frequently non-conformant
  1492. for certain applications.
  1493.  
  1494.  
  1495. 12. Network Topology Scenarios
  1496.  
  1497. 12.1 Switched networks using priority scheduling algorithms
  1498.  
  1499. In general, the int-serv standards work has tried to avoid any
  1500. specification of scheduling algorithms, instead relying on implementers
  1501. to deduce appropriate algorithms from the service definitions and on
  1502. users to apply measurable benchmarks to check for conformance. However,
  1503. since one standards' body has chosen to specify a single default
  1504. scheduling algorithm for switches [2], it seems appropriate to examine
  1505. to some degree, how well this "implementation" might actually support
  1506. some or all of the int-serv services.
  1507.  
  1508. If the mappings of Proposal A above are applied in a switch implementing
  1509. strict priority queueing between the 8 traffic classes (7 = highest)
  1510. then the result will be that all Guaranteed Service packets will be
  1511. transmitted in preference to any other service. Controlled Load packets
  1512. will be transmitted next, with everything else waiting until both of
  1513.  
  1514.  
  1515.  
  1516. Seaman, Smith, Crawley    Expires January 1998         [Page 25]
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.  
  1523. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  1524.  
  1525.  
  1526. these queues are empty. If the admission control algorithms in use on
  1527. the switch ensure that the sum of the "promised" bandwidth of all of the
  1528. GS and CL sessions are never allowed to exceed the available link
  1529. bandwidth then the promised service can be maintained.
  1530.  
  1531. 12.2 Full-duplex switched networks
  1532.  
  1533. We have up to now ignored the MAC access protocol. On a full-duplex
  1534. switched LAN (of either Ethernet or Token-Ring types - the MAC algorithm
  1535. is, by definition, unimportant) this can be factored in to the
  1536. characterisation parameters advertised by the device since the access
  1537. latency is well controlled (jitter = one largest packet time). Some
  1538. example characteristics (approximate):
  1539.  
  1540.     Type        Speed         Max Pkt   Max Access
  1541.                                Length    Latency
  1542.  
  1543.     Ethernet         10Mbps    1.2ms     1.2ms
  1544.                     100Mbps    120us     120us
  1545.                       1Gbps     12us      12us
  1546.     Token-Ring        4Mbps      9ms       9ms
  1547.                      16Mbps      9ms       9ms
  1548.     FDDI            100Mbps    360us     8.4ms
  1549.     Demand-Priority 100Mbps    120us     253us
  1550.  
  1551.              Table 2 - Full-duplex switched media access latency
  1552.  
  1553. These delays should be also be considered in the context of speed- of-
  1554. light delays of e.g. ~400ns for typical 100m UTP links and ~7us for
  1555. typical 2km multimode fibre links.
  1556.  
  1557. Therefore we see Full-Duplex switched network topologies as offering
  1558. good QoS capabilities for both Controlled Load and Guaranteed Service
  1559. when supported by suitable queueing strategies in the switch nodes.
  1560.  
  1561. 12.3 Shared-media Ethernet networks
  1562.  
  1563. We have not mentioned the difficulty of dealing with allocation on a
  1564. single shared CSMA/CD segment: as soon as any CSMA/CD algorithm is
  1565. introduced then the ability to provide any form of Guaranteed Service is
  1566. seriously compromised in the absence of any tight coupling between the
  1567. multiple senders on the link. There are a number of reasons for not
  1568. offering a better solution for this issue.
  1569.  
  1570. Firstly, we do not believe this is a truly solvable problem: it would
  1571. seem to require a new MAC protocol. There have been proposals for
  1572. enhancements to the MAC layer protocols e.g.  BLAM and enhanced flow-
  1573. control in IEEE 802.3; IEEE 802.1 has examined research showing
  1574.  
  1575.  
  1576.  
  1577. Seaman, Smith, Crawley    Expires January 1998         [Page 26]
  1578.  
  1579.  
  1580.  
  1581.  
  1582.  
  1583.  
  1584. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  1585.  
  1586.  
  1587. disappointing simulation results for performance guarantees on shared
  1588. CSMA/CD Ethernet without MAC enhancements. However, any solution
  1589. involving a new "software MAC" running above the traditional 802.3 MAC
  1590. or other proprietary MAC protocols is clearly outside the scope of the
  1591. work of the ISSLL WG and this document. Secondly, we are not convinced
  1592. that it is really an interesting problem. While not everyone in the
  1593. world is buying desktop switches today and there will be end stations
  1594. living on repeated segments for some time to come, the number of
  1595. switches is going up and the number of stations on repeated segments is
  1596. going down. This trend is proceeding to the point that we may be happy
  1597. with a solution which assumes that any network conversation requiring
  1598. resource reservations will take place through at least one switch (be it
  1599. layer-2 or layer-3). Put another way, the easiest QoS upgrade to a
  1600. layer-2 network is to install segment switching: only when this has been
  1601. done is it worthwhile to investigate more complex solutions involving
  1602. admission control.
  1603.  
  1604. Thirdly, in the core of the network (as opposed to at the edges), there
  1605. does not seem to be wide deployment of repeated segments as opposed to
  1606. switched solutions. There may be special circumstances in the future
  1607. (e.g. Gigabit buffered repeaters) but these have differing
  1608. characteristics to existing CSMA/CD repeaters anyway.
  1609.  
  1610. Type        Speed          Max Pkt   Max Access
  1611.                             Length    Latency
  1612.  
  1613. Etherne      10Mbps         1.2ms    unbounded
  1614.             100Mbps         120us    unbounded
  1615.               1Gbps          12us    unbounded
  1616.  
  1617.              Table 3 - Shared Ethernet media access latency
  1618.  
  1619. 12.4 Half-duplex switched Ethernet networks
  1620.  
  1621. Many of the same arguments for sub-optimal support of Guaranteed Service
  1622. apply to half-duplex switched Ethernet as to shared media: in essence,
  1623. this topology is a medium that *is* shared between at least two senders
  1624. contending for each packet transmission opportunity. Unless these are
  1625. tightly coupled and cooperative then there is always the chance that the
  1626. best-effort traffic of one will interfere with the important traffic of
  1627. the other. Such coupling would seem to need some form of modifications
  1628. to the MAC protocol (see above).
  1629.  
  1630. Notwithstanding the above, half-duplex switched topologies do seem to
  1631. offer the chance to provide Controlled Load service: with the knowledge
  1632. that there are only a small limited number (e.g. two) of potential
  1633. senders that are both using prioritisation for their CL traffic (with
  1634. admission control for those CL flows based on the knowledge of the
  1635.  
  1636.  
  1637.  
  1638. Seaman, Smith, Crawley    Expires January 1998         [Page 27]
  1639.  
  1640.  
  1641.  
  1642.  
  1643.  
  1644.  
  1645. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  1646.  
  1647.  
  1648. number of potential senders) over best effort, the media access
  1649. characteristics, whilst not deterministic in the true mathematical
  1650. sense, are somewhat predictable. This is probably a close enough
  1651. approximation to CL to be useful.
  1652.  
  1653. Type        Speed           Max Pkt   Max Access
  1654.                              Length    Latency
  1655.  
  1656. Ethernet     10Mbps           1.2ms    unbounded
  1657.             100Mbps           120us    unbounded
  1658.               1Gbps            12us    unbounded
  1659.  
  1660.       Table 4 - Half-duplex switched Ethernet media access latency
  1661.  
  1662. 12.5 Half-duplex and shared Token Ring networks
  1663.  
  1664. In a shared Token Ring network, the network access time for high
  1665. priority traffic at any station is bounded and is given by (N+1)*THTmax,
  1666. where N is the number of stations sending high priority traffic and
  1667. THTmax is the maximum token holding time [14]. This assumes that network
  1668. adapters have priority queues so that reservation of the token is done
  1669. for traffic with the highest priority currently queued in the adapter.
  1670. It is easy to see that access times can be improved by reducing N or
  1671. THTmax.  The recommended default for THTmax is 10 ms [6]. N is an
  1672. integer from 2 to 256 for a shared ring and 2 for a switched half duplex
  1673. topology. A similar analysis applies for FDDI. Using default values
  1674. gives:
  1675.  
  1676. Type        Speed             Max Pkt   Max Access
  1677.                                Length    Latency
  1678.  
  1679. Token-Ring  4/16Mbps shared      9ms      2570ms
  1680.             4/16Mbps switched    9ms        30ms
  1681. FDDI        100Mbps            360us         8ms
  1682.  
  1683.     Table 5 - Half-duplex and shared Token-Ring media access latency
  1684.  
  1685. Given that access time is bounded, it is possible to provide an upper
  1686. bound for end-to-end delays as required by Guaranteed Service assuming
  1687. that traffic of this class uses the highest priority allowable for user
  1688. traffic.  The actual number of stations that send traffic mapped into
  1689. the same traffic class as GS may vary over time but, from an admission
  1690. control standpoint, this value is needed a priori.  The admission
  1691. control entity must therefore use a fixed value for N, which may be the
  1692. total number of stations on the ring or some lower value if it is
  1693. desired to keep the offered delay guarantees smaller. If the value of N
  1694. used is lower than the total number of stations on the ring, admission
  1695. control must ensure that the number of stations sending high priority
  1696.  
  1697.  
  1698.  
  1699. Seaman, Smith, Crawley    Expires January 1998         [Page 28]
  1700.  
  1701.  
  1702.  
  1703.  
  1704.  
  1705.  
  1706. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  1707.  
  1708.  
  1709. traffic never exceeds this number. This approach allows admission
  1710. control to estimate worst case access delays assuming that all of the N
  1711. stations are sending high priority data even though, in most cases, this
  1712. will mean that delays are significantly overestimated.
  1713.  
  1714. Assuming that Controlled Load flows use a traffic class lower than that
  1715. used by GS, no upper-bound on access latency can be provided for CL
  1716. flows.  However, CL flows will receive better service than best effort
  1717. flows.
  1718.  
  1719. Note that, on many existing shared token rings, bridges will transmit
  1720. frames using an Access Priority (see section 4.3) value 4 irrespective
  1721. of the user_priority carried in the frame control field of the frame.
  1722. Therefore, existing bridges would need to be reconfigured or modified
  1723. before the above access time bounds can actually be used.
  1724.  
  1725. 12.6 Half-duplex and shared Demand-Priority networks
  1726.  
  1727. In 802.12 networks, communication between end-nodes and hubs and between
  1728. the hubs themselves is based on the exchange of link control signals.
  1729. These signals are used to control the shared medium access. If a hub,
  1730. for example, receives a high-priority request while another hub is in
  1731. the process of serving normal- priority requests, then the service of
  1732. the latter hub can effectively be pre-empted in order to serve the
  1733. high-priority request first. After the network has processed all high-
  1734. priority requests, it resumes the normal-priority service at the point
  1735. in the network at which it was interrupted.
  1736.  
  1737. The time needed to preempt normal-priority network service (the high-
  1738. priority network access time) is bounded: the bound depends on the
  1739. physical layer and on the topology of the shared network. The physical
  1740. layer has a significant impact when operating in half- duplex mode as
  1741. e.g. used across unshielded twisted-pair cabling (UTP) links, because
  1742. link control signals cannot be exchanged while a packet is transmitted
  1743. over the link. Therefore the network topology has to be considered
  1744. since, in larger shared networks, the link control signals must
  1745. potentially traverse several links (and hubs) before they can reach the
  1746. hub which possesses the network control. This may delay the preemption
  1747. of the normal priority service and hence increase the upper bound that
  1748. may be guaranteed.
  1749.  
  1750. Upper bounds on the high-priority access time are given below for a UTP
  1751. physical layer and a cable length of 100 m between all end- nodes and
  1752. hubs using a maximum propagation delay of 570ns as defined in [15].
  1753. These values consider the worst case signaling overhead and assume the
  1754. transmission of maximum-sized normal- priority data packets while the
  1755. normal-priority service is being pre-empted.
  1756.  
  1757.  
  1758.  
  1759.  
  1760. Seaman, Smith, Crawley    Expires January 1998         [Page 29]
  1761.  
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  1768.  
  1769.  
  1770. Type            Speed                  Max Pkt   Max Access
  1771.                                         Length    Latency
  1772.  
  1773. Demand Priority 100Mbps, 802.3pkt, UTP   120us     253us
  1774.                          802.5pkt, UTP   360us     733us
  1775.  
  1776.    Table 6 - Half-duplex switched Demand-Priority UTP access latency
  1777.  
  1778. Shared 802.12 topologies can be classified using the hub cascading level
  1779. "N". The simplest topology is the single hub network (N = 1). For a UTP
  1780. physical layer, a maximum cascading level of N = 5 is supported by the
  1781. standard. Large shared networks with many hundreds nodes can however
  1782. already be built with a level 2 topology. The bandwidth manager could be
  1783. informed about the actual cascading level by using network management
  1784. mechanisms and use this information in its admission control algorithms.
  1785.  
  1786. Type            Speed             Max Pkt  Max Access Topology
  1787.                                    Length   Latency
  1788.  
  1789. Demand Priority 100Mbps, 802.3pkt  120us      262us     N=1
  1790.                                    120us      554us     N=2
  1791.                                    120us      878us     N=3
  1792.                                    120us     1.24ms     N=4
  1793.                                    120us     1.63ms     N=5
  1794.  
  1795. Demand Priority 100Mbps, 802.5pkt  360us      722us     N=1
  1796.                                    360us     1.41ms     N=2
  1797.                                    360us     2.32ms     N=3
  1798.                                    360us     3.16ms     N=4
  1799.                                    360us     4.03ms     N=5
  1800.  
  1801.           Table 7 - Shared Demand-Priority UTP access latency
  1802.  
  1803. In contrast to UTP, the fibre-optic physical layer operates in dual
  1804. simplex mode: Upper bounds for the high-priority access time are given
  1805. below for 2 km multimode fibre links with a propagation delay of 10 us.
  1806.  
  1807. Type            Speed                  Max Pkt   Max Access
  1808.                                         Length    Latency
  1809.  
  1810. Demand Priority 100Mbps,802.3pkt,Fibre   120us     139us
  1811.                         802.5pkt,Fibre   360us     379us
  1812.  
  1813.   Table 8 - Half-duplex switched Demand-Priority Fibre access latency
  1814.  
  1815. For shared-media with distances of 2km between all end-nodes and hubs,
  1816. the 802.12 standard allows a maximum cascading level of 2. Higher levels
  1817. of cascaded topologies are supported but require a reduction of the
  1818.  
  1819.  
  1820.  
  1821. Seaman, Smith, Crawley    Expires January 1998         [Page 30]
  1822.  
  1823.  
  1824.  
  1825.  
  1826.  
  1827.  
  1828. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  1829.  
  1830.  
  1831. distances [15].
  1832.  
  1833. Type            Speed             Max Pkt  Max Access Topology
  1834.                                    Length   Latency
  1835.  
  1836. Demand Priority 100Mbps,802.3pkt    120us     160us     N=1
  1837.                                     120us     202us     N=2
  1838.  
  1839. Demand Priority 100Mbps,802.5pkt    360us     400us     N=1
  1840.                                     360us     682us     N=2
  1841.  
  1842.          Table 9 - Shared Demand-Priority Fibre access latency
  1843.  
  1844. The bounded access delay and deterministic network access allow the
  1845. support of service commitments required for Guaranteed Service and
  1846. Controlled Load, even on shared-media topologies. The support of just
  1847. two priority levels in 802.12, however, limits the number of services
  1848. that can simultaneously be implemented across the network.
  1849.  
  1850.  
  1851. 13. Signaling protocol
  1852.  
  1853.  
  1854. The mechanisms described in this document make use of a signaling
  1855. protocol for devices to communicate their admission control requests
  1856. across the network: the service definitions to be provided by such a
  1857. protocol e.g. [10] are described below. Below, we illustrate the
  1858. primitives and information that need to be exchanged with such a
  1859. signaling protocol entity - in all these examples, appropriate
  1860. delete/cleanup mechanisms will also have to be provided for when
  1861. sessions are torn down.
  1862.  
  1863. 13.1 Client service definitions
  1864.  
  1865. The following interfaces can be identified from Figures 2 and 3:
  1866.  
  1867. * SBM <-> Address mapping
  1868.  
  1869.  This is a simple lookup function which may cause ARP protocol
  1870. interactions, may be just a lookup of an existing ARP cache entry or may
  1871. be an algorithmic mapping. The layer-2 addresses are needed by SBM for
  1872. inclusion in its signaling messages to/from switches which avoids the
  1873. switches having to perform the mapping and, hence, have knowledge of
  1874. layer-3 information for the complete subnet:
  1875.  
  1876.  l2_addr = map_address( ip_addr )
  1877.  
  1878. * SBM <-> Session/802 header
  1879.  
  1880.  
  1881.  
  1882. Seaman, Smith, Crawley    Expires January 1998         [Page 31]
  1883.  
  1884.  
  1885.  
  1886.  
  1887.  
  1888.  
  1889. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  1890.  
  1891.  
  1892. This is for notifying the transmit path of how to add layer-2 header
  1893. information e.g. user_priority values to the traffic of each outgoing
  1894. flow: the transmit path will provide the user_priority value when it
  1895. requests a MAC-layer transmit operation for each packet (user_priority
  1896. is one of the parameters passed in the packet transmit primitive defined
  1897. by the IEEE 802 service model):
  1898.  
  1899.  bind_l2_header( flow_id, user_priority )
  1900.  
  1901. * SBM <-> Classifier/Scheduler
  1902.  
  1903. This is for notifying transmit classifier/scheduler of any additional
  1904. layer-2 information associated with scheduling the transmission of a
  1905. flow packets: this primitive may be unused in some implementations or it
  1906. may be used, for example, to provide information to a transmit scheduler
  1907. that is performing per- traffic_class scheduling in addition to the
  1908. per-flow scheduling required by int-serv: the l2_header may be a pattern
  1909. (additional to the FilterSpec) to be used to identify the flow's
  1910. traffic.
  1911.  
  1912.  bind_l2schedulerinfo( flow_id, , l2_header, traffic_class )
  1913.  
  1914. * SBM <-> Local Admission Control
  1915.  
  1916. For applying local admission control for a session e.g. is there enough
  1917. transmit bandwidth still uncommitted for this potential new session? Are
  1918. there sufficient receive buffers? This should commit the necessary
  1919. resources if OK: it will be necessary to release these resources at a
  1920. later stage if the session setup process fails. This call would be made
  1921. by a segment's Designated SBM for example:
  1922.  
  1923.  status = admit_l2session( flow_id, Tspec, FlowSpec )
  1924.  
  1925. * SBM <-> RSVP - this is outlined above in section 9.2 and fully
  1926. described in [10].
  1927.  
  1928. * Management Interfaces
  1929.  
  1930. Some or all of the modules described by this model will also require
  1931. configuration management: it is expected that details of the manageable
  1932. objects will be specified by future work in the ISSLL WG.
  1933.  
  1934. 13.2 Switch service definitions
  1935.  
  1936. The following interfaces are identified from Figure 4:
  1937.  
  1938. * SBM <-> Classifier
  1939.  
  1940.  
  1941.  
  1942.  
  1943. Seaman, Smith, Crawley    Expires January 1998         [Page 32]
  1944.  
  1945.  
  1946.  
  1947.  
  1948.  
  1949.  
  1950. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  1951.  
  1952.  
  1953. This is for notifying receive classifier of how to match up incoming
  1954. layer-2 information with the associated traffic class: it may in some
  1955. cases consist of a set of read-only default mappings:
  1956.  
  1957.  bind_l2classifierinfo( flow_id, l2_header, traffic_class )
  1958.  
  1959. * SBM <-> Queue and Packet Scheduler
  1960.  
  1961. This is for notifying transmit scheduler of additional layer-2
  1962. information associated with a given traffic class (it may be unused in
  1963. some cases - see discussion in previous section):
  1964.  
  1965.  bind_l2schedulerinfo( flow_id, l2_header, traffic_class )
  1966.  
  1967. * SBM <-> Local Admission Control
  1968.  
  1969.  As for host above.
  1970.  
  1971. * SBM <-> Traffic Class Map and Police
  1972.  
  1973.  Optional configuration of any user_priority remapping that might be
  1974. implemented on ingress to and egress from the ports of a switch (note
  1975. that, for Class I switches, it is likely that these mappings will have
  1976. to be consistent across all ports):
  1977.  
  1978.  bind_l2ingressprimap( inport, in_user_pri, internal_priority )
  1979.  bind_l2egressprimap( outport, internal_priority, out_user_pri )
  1980.  
  1981.  Optional configuration of  any layer-2 policing function to be applied
  1982. on a per-class basis to traffic matching the l2_header. If the switch is
  1983. capable of per-flow policing then existing int- serv/RSVP models will
  1984. provide a service definition for that configuration:
  1985.  
  1986.  bind_l2policing( flow_id, l2_header, Tspec, FlowSpec )
  1987.  
  1988. * SBM <-> Filtering Database
  1989.  
  1990. SBM propagation rules need access to the layer-2 forwarding database to
  1991. determine where to forward SBM messages (analogous to RSRR interface in
  1992. L3 RSVP):
  1993.  
  1994.  output_portlist = lookup_l2dest( l2_addr )
  1995.  
  1996. * Management Interfaces
  1997.  
  1998. Some or all of the modules described by this model will also require
  1999. configuration management: it is expected that details of the manageable
  2000. objects will be specified by future work in the ISSLL WG.
  2001.  
  2002.  
  2003.  
  2004. Seaman, Smith, Crawley    Expires January 1998         [Page 33]
  2005.  
  2006.  
  2007.  
  2008.  
  2009.  
  2010.  
  2011. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  2012.  
  2013.  
  2014. 14. Compatibility and Interoperability with existing equipment
  2015.  
  2016. Switches using layer-2-only standards (e.g. 802.1p) will have to
  2017. cooperate with routers and layer-3 switches. Wide deployment of such
  2018. 802.1p switches will occur in a number of roles in the network: "desktop
  2019. switches" provide dedicated 10/100 Mbps links to end stations and high
  2020. speed core switches will act as central campus switching points for
  2021. layer-3 devices. Layer-2 devices will have to operate in all of the
  2022. following scenarios:  * every device along a network path is layer-3
  2023. capable and intrusive into the full data stream * only the edge devices
  2024. are pure layer-2 * every alternate device lacks layer-3 functionality *
  2025. most devices lack layer-3 functionality except for some key control
  2026. points such as router firewalls, for example.
  2027.  
  2028.  
  2029. Of course, where int-serv flows pass through equipment which is ignorant
  2030. of priority queuing and which places all packets through the same
  2031. queuing/overload-dropping path, it is obvious that some of the
  2032. characteristics of the flow get more difficult to support. Suitable
  2033. courses of action in the cases where sufficient bandwidth or buffering
  2034. is not available are of the form:
  2035.  
  2036. *  buy more (and bigger) routers
  2037. *  buy more capable switches
  2038. *  rearrange the network topology: 802.1Q VLANs [11] may help
  2039.      here.
  2040. *  buy more bandwidth
  2041.  
  2042.  
  2043. It would also be possible to pass more information between switches
  2044. about the capabilities of their neighbours and to route around non-
  2045. QoS-capable switches: such methods are for further study.
  2046.  
  2047.  
  2048.  
  2049.  
  2050. 15. Justification
  2051.  
  2052. An obvious comment is that this is all too complex, it's what RSVP is
  2053. doing already, why do we think we can do better by reinventing the
  2054. solution to this problem at layer-2?
  2055.  
  2056. The key is that there are a number of simple layer-2 scenarios that
  2057. cover a considerable proportion of the real QoS problems that will occur
  2058. and a solution that covers nearly all of the problems at significantly
  2059. lower cost is beneficial: full RSVP/int-serv with per-flow queueing in
  2060. strategically-positioned high-function switches or routers may be needed
  2061. to completely solve all issues but devices implementing the architecture
  2062.  
  2063.  
  2064.  
  2065. Seaman, Smith, Crawley    Expires January 1998         [Page 34]
  2066.  
  2067.  
  2068.  
  2069.  
  2070.  
  2071.  
  2072. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  2073.  
  2074.  
  2075. described in this document will allow a significantly simpler network.
  2076.  
  2077.  
  2078.  
  2079.  
  2080. 16. References
  2081.  
  2082.  
  2083. [1] ISO/IEC 10038, ANSI/IEEE Std 802.1D-1993 "MAC Bridges"
  2084.  
  2085. [2] "Supplement to MAC Bridges: Traffic Class Expediting and
  2086.        Dynamic Multicast Filtering",  May 1997, IEEE P802.1p/D6
  2087.  
  2088. [3] "Integrated Services in the Internet Architecture: an Overview"
  2089.        RFC1633, June 1994
  2090.  
  2091. [4] "Resource Reservation Protocol (RSVP) - Version 1 Functional
  2092.        Specification", Internet Draft, June 1997
  2093.        <draft-ietf-rsvp-spec-16.ps>
  2094.  
  2095. [5] "Carrier Sense Multiple Access with Collision Detection
  2096.        (CSMA/CD) Access Method and Physical Layer Specifications"
  2097.        ANSI/IEEE Std 802.3-1985.
  2098.  
  2099. [6] "Token-Ring Access Method and Physical Layer Specifications"
  2100.        ANSI/IEEE Std 802.5-1995
  2101.  
  2102. [7] "A Framework for Providing Integrated Services Over Shared and
  2103.        Switched LAN Technologies", Internet Draft, May 1997
  2104.        <draft-ietf-issll-is802-framework-02>
  2105.  
  2106. [8] "Specification of the Controlled-Load Network Element Service",
  2107.        Internet Draft, May 1997,
  2108.        <draft-ietf-intserv-ctrl-load-svc-05.txt>
  2109.  
  2110. [9] "Specification of Guaranteed Quality of Service",
  2111.        Internet Draft, February 1997,
  2112.        <draft-ietf-intserv-guaranteed-svc-08.txt>
  2113.  
  2114. [10] "SBM (Subnet Bandwidth Manager): A Proposal for Admission
  2115.        Control over Ethernet", Internet Draft, July 1997
  2116.        <draft-ietf-issll-sbm-04>
  2117.  
  2118. [11] "Draft Standard for Virtual Bridged Local Area Networks",
  2119.         May 1997, IEEE P802.1Q/D6
  2120.  
  2121. [12] "General Characterization Parameters for Integrated
  2122.         Service Network Elements", Internet Draft, July 1997
  2123.  
  2124.  
  2125.  
  2126. Seaman, Smith, Crawley    Expires January 1998         [Page 35]
  2127.  
  2128.  
  2129.  
  2130.  
  2131.  
  2132.  
  2133. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  2134.  
  2135.  
  2136.         <draft-ietf-intserv-charac-03.txt>
  2137.  
  2138. [13] "A Standard for the Transmission of IP Datagrams over IEEE
  2139.         802 Networks", RFC 1042, February 1988
  2140.  
  2141. [14] C. Bisdikian, B. V. Patel, F. Schaffa, and M Willebeek-LeMair,
  2142.         The Use of Priorities on Token-Ring Networks for Multimedia
  2143.         Traffic, IEEE Network, Nov/Dec 1995.
  2144.  
  2145. [15] "Demand Priority Access Method, Physical Layer and Repeater
  2146.         Specification for 100Mbit/s", IEEE Std. 802.12-1995.
  2147.  
  2148. [16] "Fiber Distributed Data Interface", ANSI Std. X3.139-1987
  2149.  
  2150.  
  2151. 17. Security Considerations
  2152.  
  2153. Implementation of the model described in this memo creates no known new
  2154. avenues for malicious attack on the network infrastructure although
  2155. readers are referred to section 2.8 of the RSVP specification for a
  2156. discussion of the impact of the use of admission control signaling
  2157. protocols on network security.
  2158.  
  2159.  
  2160. 18. Acknowledgments
  2161.  
  2162. This document draws heavily on the work of the ISSLL WG of the IETF and
  2163. the IEEE P802.1 Interworking Task Group. In particular, it relies on
  2164. previous work on Token-Ring/802.5 from Anoop Ghanwani, Wayne Pace and
  2165. Vijay Srinivasan and on Demand-Priority/802.12 from Peter Kim.
  2166.  
  2167.  
  2168.  
  2169. 19. Authors' addresses
  2170.  
  2171. Mick Seaman
  2172. 3Com Corp.
  2173. 5400 Bayfront Plaza
  2174. Santa Clara CA 95052-8145
  2175. USA
  2176. +1 (408) 764 5000
  2177. mick_seaman@3com.com
  2178.  
  2179. Andrew Smith
  2180. Extreme Networks
  2181. 10460 Bandley Drive
  2182. Cupertino CA 95014
  2183. USA
  2184.  
  2185.  
  2186.  
  2187. Seaman, Smith, Crawley    Expires January 1998         [Page 36]
  2188.  
  2189.  
  2190.  
  2191.  
  2192.  
  2193.  
  2194. INTERNET DRAFT        Int-Serv over IEEE 802.1D/p              July 1997
  2195.  
  2196.  
  2197. +1 (408) 863 2821
  2198. andrew@extremenetworks.com
  2199.  
  2200. Eric Crawley
  2201. Gigapacket Networks
  2202. 25 Porter Rd.
  2203. Littleton MA 01460
  2204. USA
  2205. +1 (508) 486 0665
  2206. esc@gigapacket.com
  2207.  
  2208.  
  2209.  
  2210.  
  2211.  
  2212.  
  2213.  
  2214.  
  2215.  
  2216.  
  2217.  
  2218.  
  2219.  
  2220.  
  2221.  
  2222.  
  2223.  
  2224.  
  2225.  
  2226.  
  2227.  
  2228.  
  2229.  
  2230.  
  2231.  
  2232.  
  2233.  
  2234.  
  2235.  
  2236.  
  2237.  
  2238.  
  2239.  
  2240.  
  2241.  
  2242.  
  2243.  
  2244.  
  2245.  
  2246.  
  2247.  
  2248. Seaman, Smith, Crawley    Expires January 1998         [Page 37]
  2249.