idnits 2.17.1 draft-finn-bounded-latency-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack a Security Considerations section. ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (October 30, 2017) is 2341 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Looks like a reference, but probably isn't: '2' on line 165 -- Looks like a reference, but probably isn't: '4' on line 165 == Unused Reference: 'RFC4364' is defined on line 632, but no explicit reference was found in the text == Unused Reference: 'RFC6658' is defined on line 636, but no explicit reference was found in the text == Unused Reference: 'IEEE8021TSN' is defined on line 686, but no explicit reference was found in the text == Unused Reference: 'IEEE8023' is defined on line 690, but no explicit reference was found in the text == Outdated reference: A later version (-13) exists of draft-ietf-detnet-architecture-00 ** Downref: Normative reference to an Informational draft: draft-ietf-detnet-dp-alt (ref. 'I-D.ietf-detnet-dp-alt') == Outdated reference: A later version (-20) exists of draft-ietf-detnet-use-cases-13 ** Downref: Normative reference to an Informational draft: draft-ietf-detnet-use-cases (ref. 'I-D.ietf-detnet-use-cases') ** Downref: Normative reference to an Informational RFC: RFC 7806 Summary: 5 errors (**), 0 flaws (~~), 8 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 DetNet N. Finn 3 Internet-Draft Huawei Technologies Co. Ltd 4 Intended status: Standards Track B. Varga 5 Expires: May 3, 2018 J. Farkas 6 Ericsson 7 October 30, 2017 9 DetNet Bounded Latency 10 draft-finn-bounded-latency-00 12 Abstract 14 This document a model for DetNet to achieve bounded latency and zero 15 congestion loss using existing and in-progress standards from IEEE 16 802 and RFCs from IETF. 18 Status of This Memo 20 This Internet-Draft is submitted in full conformance with the 21 provisions of BCP 78 and BCP 79. 23 Internet-Drafts are working documents of the Internet Engineering 24 Task Force (IETF). Note that other groups may also distribute 25 working documents as Internet-Drafts. The list of current Internet- 26 Drafts is at https://datatracker.ietf.org/drafts/current/. 28 Internet-Drafts are draft documents valid for a maximum of six months 29 and may be updated, replaced, or obsoleted by other documents at any 30 time. It is inappropriate to use Internet-Drafts as reference 31 material or to cite them other than as "work in progress." 33 This Internet-Draft will expire on May 3, 2018. 35 Copyright Notice 37 Copyright (c) 2017 IETF Trust and the persons identified as the 38 document authors. All rights reserved. 40 This document is subject to BCP 78 and the IETF Trust's Legal 41 Provisions Relating to IETF Documents 42 (https://trustee.ietf.org/license-info) in effect on the date of 43 publication of this document. Please review these documents 44 carefully, as they describe your rights and restrictions with respect 45 to this document. Code Components extracted from this document must 46 include Simplified BSD License text as described in Section 4.e of 47 the Trust Legal Provisions and are provided without warranty as 48 described in the Simplified BSD License. 50 Table of Contents 52 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 53 2. Conventions Used in This Document . . . . . . . . . . . . . . 3 54 3. Terminology and Definitions . . . . . . . . . . . . . . . . . 3 55 4. Timing Model . . . . . . . . . . . . . . . . . . . . . . . . 3 56 4.1. Delay Model . . . . . . . . . . . . . . . . . . . . . . . 3 57 4.2. Achieving zero congestion loss . . . . . . . . . . . . . 5 58 5. Queuing model . . . . . . . . . . . . . . . . . . . . . . . . 6 59 5.1. Queuing data model . . . . . . . . . . . . . . . . . . . 6 60 5.2. Queuing Data Model with Preemption . . . . . . . . . . . 8 61 5.3. Transmission Selection Model . . . . . . . . . . . . . . 9 62 6. Extending the queuing model . . . . . . . . . . . . . . . . . 11 63 6.1. Complex delay models . . . . . . . . . . . . . . . . . . 11 64 6.2. Extending the 802.1Q model to routers . . . . . . . . . . 12 65 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 66 7.1. Normative References . . . . . . . . . . . . . . . . . . 14 67 7.2. Informative References . . . . . . . . . . . . . . . . . 15 68 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16 70 1. Introduction 72 The ability for IETF Deterministic Networking (DetNet) or IEEE 802.1 73 Time-Sensitive Networking (TSN) to provide bounded latency and zero 74 congestion loss depends upon A) configuring and allocating network 75 resources for the exclusive use of DetNet/TSN flows; B) identifying, 76 in the data plane, the resources to be utilized by any given packet, 77 and C) the detailed behavior of those resources, especially 78 transmission queue selection, so that latency bounds can be reliably 79 assured. Thus, DetNet is an example of an INTSERV Guaranteed Quality 80 of Service [RFC2212] 82 As explained in [I-D.ietf-detnet-architecture], DetNet flows are 83 characterized by 1) a maximum bandwidth, guaranteed either by the 84 transmitter or by strict input metering; and 2) a requirement for a 85 guaranteed worst-case end-to-end latency. That latency guarantee, in 86 turn, provides the opportunity to supply enough buffer space to 87 guarantee zero congestion loss. To be of use to the applications 88 identified in [I-D.ietf-detnet-use-cases], it must be possible to 89 calculate, before the transmission of a DetNet flow commences, the 90 worst-case network latency and the amount of buffer space required at 91 each hop to ensure against congestion loss. The detailed behavior of 92 the mechanism(s) used to select the next packet for transmission at 93 each output port is critical in making this determination. A 94 detailed timing model, breaking down the time taken for each packet 95 to traverse each element in the model, along with possible 96 variations, is required, because seemingly minor implementation 97 variations can generate large uncertainties in the number of required 98 buffers. Such inconsistencies must be identified, and where 99 possible, minimized. This timing model must also include non-TSN/ 100 DetNet queuing techniques insofar their use can affect the DetNet 101 flows. 103 The IEEE 802.1 Working Group has standardized a number of specific 104 techniqueues that can be used by routers or hosts. These documents 105 include [IEEE8021Q] (Clause 34), [IEEE802.1Qch], [IEEE802.1Qci], 106 [IEEE8021Qbv], [IEEE8021Qbu], [IEEE8023br]. 108 [[NOTE (to be removed from a future revision): The queuing and 109 transmission selection methods defined in IEEE 802.1Q and its 110 amendments are all in the context of implementing those methods in an 111 802.1Q bridge; they are not all specified for use in an end station, 112 much less in a router. It is the intention of the authors of this 113 draft to create a document in some Standards Development Organization 114 (SDO) that provides normative reference points for a document from 115 any SDO describing any device, e.g. a host or a router. That would 116 make the 802.1 queuing techniques readily available to a router or 117 host. As that document develops, so too will this draft evolve.]] 119 2. Conventions Used in This Document 121 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 122 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 123 document are to be interpreted as described in [RFC2119]. 125 The lowercase forms with an initial capital "Must", "Must Not", 126 "Shall", "Shall Not", "Should", "Should Not", "May", and "Optional" 127 in this document are to be interpreted in the sense defined in 128 [RFC2119], but are used where the normative behavior is defined in 129 documents published by SDOs other than the IETF. 131 3. Terminology and Definitions 133 This document uses the terms defined in 134 [I-D.ietf-detnet-architecture]. 136 4. Timing Model 138 4.1. Delay Model 140 In Figure 1 we see a breakdown of the per-hop latency experienced by 141 a packet in terms that are suitable for computing both hop-by-hop 142 latency, and per-hop buffer requirements. 144 DetNet relay node A DetNet relay node B 145 +-----------------+ +-----------------+ 146 | Queue | | Queue | 147 | +-+-+-+ | | +-+-+-+ | 148 -->+ | | | + +------->+ | | | + +---> 149 | +-+-+-+ | | +-+-+-+ | 150 | | | | 151 +-----------------+ +-----------------+ 152 |<----->|<--->|<->|<------>|<----->|<--->|<->|<-- 153 2,3 4 5 1 2,3 4 5 1 2,3 154 1: Output delay 3: Preemption delay 155 2: Link delay 4: Processing delay 156 5: Queuing delay 158 Figure 1: Timing model for DetNet or TSN 160 In Figure 1, we see two DetNet relay nodes (typically, bridges or 161 routers), with a wired link between them. In this model, the only 162 queues we deal with explicitly are attached to the output port; other 163 queues are modeled as variations in the other delay times. (E.g., an 164 input queue could be modeled as either a variation in the link delay 165 [2] or the processing delay [4].) There are five delays that a 166 packet can experience from hop to hop. 168 1. Output delay 169 The time taken from the selection of a packet for output from a 170 queue to the transmission of the first bit of the packet on the 171 physical link. If the queue is directly attached to the physical 172 port, output delay can be a constant. But, in many 173 implementations, the queuing mechanism in a forwarding ASIC is 174 separated from a multi-port MAC/PHY, in a second ASIC, by a 175 multiplexed connection. This causes variations in the output 176 delay that are hard for the forwarding node to predict or control. 178 1. Link delay 179 The time taken from the transmission of the first bit of the 180 packet to the reception of the last bit, assuming that the 181 transmission is not suspended by a preemption event. This delay 182 has two components, the first-bit-out to first-bit-in delay and 183 the first-bit-in to last-bit-in delay that varies with packet 184 size. The former is typically measured by the Precision Time 185 Protocol and is constant (see [I-D.ietf-detnet-architecture]). 186 However, a virtual "link" could exhibit a variable link delay. 188 3. Preemption delay 189 If the packet is interrupted (e.g. [IEEE8023br] preemption) in 190 order to transmit another packet or packets, an arbitrary delay 191 can result. 193 4. Processing delay 194 This delay covers the time from the reception of the last bit of 195 the packet to that packet being eligible, if there were no other 196 packets in the queue, for selection for output. This delay can be 197 variable, and depends on the details of the operation of the 198 forwarding node. 200 5. Queuing delay 201 This is the time spent from the insertion of the packet into a 202 queue until the packet is selected for output on the next link. 203 We assume that this time is calculable based on the details of the 204 queuing mechanism and the sum of the variability in delay times 205 1-4. 207 Not shown in Figure 1 are the other output queues that we presume are 208 also attached to that same output port as the queue shown, and 209 against which this shown queue competes for transmission 210 opportunities. 212 The initial and final measurement point in this analysis (that is, 213 the definition of a "hop") is the point at which a packet is selected 214 for output. In general, any queue selection method that is suitable 215 for use in a DetNet network includes a detailed specification as to 216 exactly when packets are selected for transmission. Any variations 217 in any of the delay times 1-4 result in a need for additional buffers 218 in the queue. If all delays 1-4 are constant, then any variation in 219 the time at which packets are inserted into a queue depends entirely 220 on the timing of packet selection in the previous node. If the 221 delays 1-4 are not constant, then additional buffers are required in 222 the queue to absorb these variations. Thus: 224 o Variations in output delay (1) require buffers to absorb that 225 variation in the next hop, so the output delay variations of the 226 previous hop (on each input port) must be known in order to 227 calculate the buffer space required on this hop. 229 o Variations in processing delay (4) require additional output 230 buffers in the queues of that same Detnet relay node. Depending 231 on the details of the queueing delay (5) calculations, these 232 variations need not be visible outside the DetNet relay node. 234 4.2. Achieving zero congestion loss 236 When the input rate to an output queue exceeds the output rate for a 237 sufficient length of time, the queue must overflow. This is 238 congestion loss, and this is what deterministic networking seeks to 239 avoid. 241 Imagine a completely saturated DetNet network, in which all is part 242 of some number of DetNet flows, and 100% of each link's bandwidth is 243 allocated to some number of DetNet Flows using that link. Every 244 source is transmitting at exactly its allotted rate. The DetNet 245 flows traverse the network in all directions; no two DetNet flows 246 take exactly the same path through the network. Imagine that there 247 are no variations in the output delay (1), link delay (2), and 248 processing delay (4), and there is no preemption delay (3). 250 Imagine now that one DetNet flow, DetNet flow A, stops. On some 251 output port through which DetNet flow A was passing, when the 252 transmission opportunity for one of DetNet flow A's packets comes up, 253 the DetNet relay node must either output nothing, or output a packet 254 belonging to some other DetNet flow B. If it outputs a packet from 255 DetNet flow B, then in the long term, it is exceeding the normal rate 256 for DetNet flow B, and runs the risk of overflowing the queues for 257 DetNet flow B in the next hop. With sufficient analysis, it may be 258 possible to determine the limits for how much excess data in DetNet 259 flow B, or DetNet flow C, from this and from other ports feeding the 260 next hop, can be accommodated before causing an overflow. 262 However, this analysis is very difficult. DetNet avoids the analysis 263 by transmitting nothing (or transmitting a non-DetNet packet) when it 264 has nothing to transmit for a given DetNet flow. This leads to 265 DetNet making the following requirement for DetNet relay nodes: 267 For every DetNet flow traversing a DetNet relay node, sufficient data 268 is buffered in that a DetNet relay node to ensure that a transmission 269 opportunity for that DetNet flow is never missed, unless the source 270 of the DetNet flow slows or stops. That is, for every DetNet flow, 271 over some finite time scale, the input rate equals the output rate. 273 5. Queuing model 275 5.1. Queuing data model 277 Sophisticated QoS mechanisms are available in Layer 3 (L3), see, 278 e.g., [RFC7806] for an overview. In general, we assume that "Layer 279 3" queues, shapers, meters, etc., are instantiated hierarchically 280 above the "Layer 2" queuing mechanisms, among which packets compete 281 for opportunities to be transmitted on a physical (or sometimes, 282 logical) medium. These "Layer 2 queuing mechanisms" are not the 283 province solely of bridges; they are an essential part of any DetNet 284 relay node. As illustrated by numerous implementation examples, the 285 "Layer 3" some of mechanisms described in documents such as [RFC7806] 286 are often integrated, in an implementation, with the "Layer 2" 287 mechanisms also implemented in the same system. An integrated model 288 is needed in order to successfully predict the interactions among the 289 different queuing mechanisms needed in a network carrying both DetNet 290 flows and non-DetNet flows. See Section 6 for a more complete 291 discussion of the expanded model. 293 Figure 2 shows the (very simple) model for the flow of packets 294 through the queues of an IEEE 802.1Q bridge. Packets are assigned to 295 a class of service. The classes of service are mapped to some number 296 of physical FIFO queues. IEEE 802.1Q allows a maximum of 8 classes 297 of service, but it is more common to implement 2 or 4 queues on most 298 ports. 300 | 301 +--------------V---------------+ 302 | Class of Service Assignment | 303 +--+-------+---------------+---+ 304 | | | 305 +--V--+ +--V--+ +--V--+ 306 |Class| |Class| |Class| 307 | 0 | | 1 | . . . | n | 308 |queue| |queue| |queue| 309 +--+--+ +--+--+ +--+--+ 310 | | | 311 +--V-------V---------------V--+ 312 | Transmission selection | 313 +--------------+--------------+ 314 | 315 V 317 Figure 2: IEEE 802.1Q Queuing Model: Data flow 319 Some relevant mechanisms are hidden in this figure, and are performed 320 in the "Class n queue" box: 322 o Discarding packets because a queue is full. 324 o Discarding packets marked "yellow" by a metering function, in 325 preference to discarding "green" packets. 327 The Class of Service Assignment function can be quite complex, since 328 the introduction of [IEEE802.1Qci]. In addition to the Layer 2 329 priority expressed in the 802.1Q VLAN tag, a bridge can utilize any 330 of the following information to assign a packet to a particular class 331 of service (queue): 333 o Input port. 335 o Selector based on a rotating schedule that starts at regular, 336 time-synchronized intervals and has nanosecond precision. 338 o MAC addresses, VLAN ID, IP addresses, Layer 4 port numbers, DSCP. 339 (Work items expected to add MPC and other indicators.) 341 o The Class of Service Assignment function can contain metering and 342 policing functions. 344 The "Transmission selection" function decides which queue is to 345 transfer its oldest packet to the output port when a transmission 346 opportunity arises. 348 5.2. Queuing Data Model with Preemption 350 Figure 2 must be modified if the output port supports preemption 351 ([IEEE8021Qbu] and [IEEE8023br]). This modification is shown in 352 Figure 3. 354 | 355 +------------------------------V------------------------------+ 356 | Class of Service Assignment | 357 +--+-------+-------+-------+-------+-------+-------+-------+--+ 358 | | | | | | | | 359 +--V--+ +--V--+ +--V--+ +--V--+ +--V--+ +--V--+ +--V--+ +--V--+ 360 |Class| |Class| |Class| |Class| |Class| |Class| |Class| |Class| 361 | a | | b | | c | | d | | e | | f | | g | | h | 362 |queue| |queue| |queue| |queue| |queue| |queue| |queue| |queue| 363 +--+--+ +--+--+ +--+--+ +--+--+ +--+--+ +--+--+ +--+--+ +--+--+ 364 | | | +-+ | | | | 365 | | | | | | | | 366 +--V-------V-------V------+ +V-----V-------V-------V-------V--+ 367 | Interrupted xmit select | | Preempting xmit select | 802.1 368 +-------------+-----------+ +----------------+----------------+ 369 | | ====== 370 +-------------V-----------+ +----------------V----------------+ 371 | Preemptible MAC | | Express MAC | 802.3 372 +--------+----------------+ +----------------+----------------+ 373 | | 374 +--------V-----------------------------------V----------------+ 375 | MAC merge sublayer | 376 +--------------------------+----------------------------------+ 377 | 378 +--------------------------V----------------------------------+ 379 | PHY (unaware of preemption) | 380 +--------------------------+----------------------------------+ 381 | 382 V 384 Figure 3: IEEE 802.1Q Queuing Model: Data flow with preemption 386 From Figure 3, we can see that, in the IEEE 802 model, the preemption 387 feature is modeled as consisting of two MAC/PHY stacks, one for 388 packets that can be interrupted, and one for packets that can 389 interrupt the interruptible packets. The Class of Service (queue) 390 determines which packets are which. In Figure 3, the classes of 391 service are marked "a, b, ..." instead of with numbers, in order to 392 avoid any implication about which numeric Layer 2 priority values 393 correspond to preemptible or preempting queues. Although it shows 394 three queues going to the preemptible MAC/PHY, any assignment is 395 possible. 397 5.3. Transmission Selection Model 399 In Figure 4, we expand the "Transmission selection" function of 400 Figure 3. 402 Figure 4 does NOT show the data path. It shows an example of a 403 configuration of the IEEE 802.1Q transmission selection box shown in 404 Figure 2 and Figure 3. Each queue m presents a "Class m Ready" 405 signal. These signals go through various logic, filters, and state 406 machines, until a single queue's "not empty" signal is chosen for 407 presentation to the underlying MAC/PHY. When the MAC/PHY is ready to 408 take another output packet, then a packet is selected from the one 409 queue (if any) whose signal manages to pass all the way through the 410 transmission selection function. 412 +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ 413 |Class| |Class| |Class| |Class| |Class| |Class| |Class| |Class| 414 | 1 | | 0 | | 4 | | 5 | | 6 | | 7 | | 2 | | 3 | 415 |Ready| |Ready| |Ready| |Ready| |Ready| |Ready| |Ready| |Ready| 416 +--+--+ +--+--+ +--+--+ +-XXX-+ +--+--+ +--+--+ +--+--+ +--+--+ 417 | | | | | | | 418 | +--V--+ +--V--+ +--+--+ +--V--+ | +--V--+ +--V--+ 419 | |Prio.| |Prio.| |Prio.| |Prio.| | |Sha- | |Sha- | 420 | | 0 | | 4 | | 5 | | 6 | | | per| | per| 421 | | PFC | | PFC | | PFC | | PFC | | | A | | B | 422 | +--+--+ +--+--+ +-XXX-+ +-XXX-+ | +--+--+ +-XXX-+ 423 | | | | | 424 +--V--+ +--V--+ +--V--+ +--+--+ +--+--+ +--V--+ +--V--+ +--+--+ 425 |Time | |Time | |Time | |Time | |Time | |Time | |Time | |Time | 426 | Gate| | Gate| | Gate| | Gate| | Gate| | Gate| | Gate| | Gate| 427 | 1 | | 0 | | 4 | | 5 | | 6 | | 7 | | 2 | | 3 | 428 +--+--+ +-XXX-+ +--+--+ +--+--+ +-XXX-+ +--+--+ +-XXX-+ +--+--+ 429 | | | 430 +--V-------+-------V-------+--+ | 431 |802.1Q Enhanced Transmission | | 432 | Selection (ETS) = Weighted | | 433 | Fair Queuing (WFQ) | | 434 +--+-------+------XXX------+--+ | 435 | | 436 +--V-------+-------+-------+-------+-------V-------+-------+--+ 437 | Strict Priority selection (rightmost first) | 438 +-XXX------+-------+-------+-------+-------+-------+-------+--+ 439 | 440 V 442 Figure 4: 802.1Q Transmission Selection 444 The following explanatory notes apply to Figure 4 446 o The numbers in the "Class n Ready" boxes are the values of the 447 Layer 2 priority that are assigned to that Class of Service in 448 this example. The rightmost CoS is the most important, the 449 leftmost the least. Classes 2 and 3 are made the most important, 450 because they carry DetNet flows. It is all right to make them 451 more important than the priority 7 queue, which typically carries 452 critical network control protocols such as spanning tree or IS-IS, 453 because the shaper ensures that the highest priority best-effort 454 queue (7) will get reasonable access to the MAC/PHY. Note that 455 Class 5 has no Ready signal, indicating that that queue is empty. 457 o Below the Class Ready signals are shown the Priority Flow Control 458 gates (IEEE Std 802.1Qbb-2011 Priority-based Flow Control, now 459 [IEEE8021Q] clause 36) on Classes of Service 1, 0, 4, and 5, and 460 two 802.1Q shapers, A and B. Perhaps shaper A conforms to the 461 IEEE Std 802.1Qav-2009 (now [IEEE8021Q] clause 34) credit-based 462 shaper, and shaper B conforms to [IEEE8021Qcr] Asynchronous 463 Traffic Shaper. Any given Class of Service can have either a PFC 464 function or a shaper, but not both. 466 o Next are the IEEE Std 802.1Qbv time gates ([IEEE8021Qbv]). Each 467 one of the 8 Classes of Service has a time gate. The gates are 468 controlled by a repeating schedule that restarts periodically, and 469 can be programmed to turn any combination of gates on or off with 470 nanosecond precision. (Although the implementation is not 471 necessarily that accurate.) 473 o Following the time gates, any number of Classes of Service can be 474 linked to one ore more instances of the Enhanced Transmission 475 Selection function. This does weighted fair queuing among the 476 members of its group. 478 o A final selection of the one queue to be selected for output is 479 made by strict priority. Note that the priority is determined not 480 by the Layer 2 priority, but by the Class of Service. 482 o An "XXX" in the lower margin of a box (e.g. "Prio. 5 PFC" 483 indicates that the box has blocked the "Class n Ready" signal. 485 o IEEE 802.1Qch Cyclic Queuing and Forwarding [IEEE802.1Qch] is 486 accomplished using two or three queues (e.g. 2 and 3 in the 487 figure), using sophisticated time-based schedules in the Class of 488 Service Assignment function, and using the IEEE 802.1Qbv time 489 gates [IEEE8021Qbv] to swap between the output buffers. 491 6. Extending the queuing model 493 6.1. Complex delay models 495 Using the model of Section 4, we can model any system, even one that 496 is very complex, including separate line cards, MAC/PHY modules, mid- 497 planes, backplanes, control/forwarding boards, etc. However, in a 498 complex case, the variations in the processing delay (4) may become 499 so large as to make any latency or buffer requirement analysis 500 relatively useless. 502 If a DetNet node is sufficiently complex that simply assigning a 503 minimum and maximum to the some delay (typically, the processing 504 delay, 4) results in insufficiently accurate computations for latency 505 or buffer requirements, the DetNet node can be modeled as a 506 federation of DetNet relay nodes, each conforming to the model. 508 In the simplest example, system with input queues on each port could 509 be modeled having a two-port DetNet relay node inserted into each 510 input port, each with some number of output queues (which model the 511 input queues). 513 6.2. Extending the 802.1Q model to routers 515 Extending the models described in Section 5 to routers requires a 516 number of steps: 518 1. The Class of Service Assignment function of Figure 2 needs 519 extension to the DetNet flow identification techniques use in 520 [I-D.ietf-detnet-dp-alt]. 522 2. Some applications will require more than 8 Classes of Service 523 (queues). 525 3. The Layer 3 queues, such as are defined in [RFC7806], must be 526 integrated with the 802.1Q queues. In some cases, this means 527 identifying an [RFC7806] queue with an 802.1Q CoS queue, and 528 having it compete with the other queues as shown in Figure 4. In 529 other cases, the [RFC7806] queues may form a unit, as in Figure 2 530 that is separate from any specific port, and feeds a forwarding 531 engine. Alternatively, some number of [RFC7806] queues can feed 532 one of the Figure 2 queues. 534 A QoS architecture integrating both Layer 3 and Layer 2 features is 535 necessary to exploit the benefits provided by the different layers if 536 a DetNet network includes link(s) or sub-network(s) equipped with TSN 537 features. For instance, it can be crucial for a time-critical DetNet 538 flow to leverage TSN features in a Layer 2 sub-network in order to 539 meet the DetNet flow's requirements, which may be spoiled otherwise. 541 Figure 5 provides a theoretical illustration for the integration of 542 the Layer 3 and Layer 2 QoS architecture. The figure only shows the 543 queuing after the routing decision. The figure also illustrates 544 potential implementation dependent borders (Brdr). The borders shown 545 in the figure are critical in the sense that the high priority DetNet 546 flows may, in some implementations, have to be transferred via a 547 different Service Access Points (SAPs) through these borders than the 548 low priority (background) flows. Having a single SAP for these very 549 different traffic types may result in possible QoS degradation for 550 the DetNet flows because packets of other flows could delay the 551 transmission of DetNet packets. For instance, different SAPs are 552 needed for the DetNet flows and other flows when they get to Layer 3 553 queuing after the routing decision via Brdr-d. Furthermore, a 554 different SAP may be needed for DetNet packets than other packets 555 when they get to Layer 2 queuing from Layer 3 queuing via Brdr-c. 557 Certainly, in the 802.1/802.3 model, different SAPs are needed for 558 the express and for the preemptible frames when they get to the MAC 559 layer from Layer 2 queuing via Brdr-b, which is provided by the IEEE 560 802.1Q architecture as shown in Figure 3. It depends on the 561 implementation whether or not Brdr-a exists. 563 | 564 +---------------V-----------+ 565 | Forwarding | 566 +--------+----------+--+----+ 567 | | | === Brdr-d 568 +--------V--------+ | | 569 | CoS Assignment | | | 570 +-----------------+ | | 571 |Que-|Que-|..|Que-| | | Layer 3 queuing 572 | ue | ue |..| ue | | | and shaping 573 +-----------------+ | | (optional) 574 | Xmit selection | | | 575 +--------+----+---+ | | 576 | | | | === Brdr-c 577 +-V----V-----V--V-+ 578 | CoS Assignment | 579 +-----------------+ Layer 2 queuing 580 |Que-|Que-|..|Que-| and shapng 581 | ue | ue |..| ue | (always present) 582 +-----------------+ 583 | Xmit selection | 584 +--+-----------+--+ 585 | | === Brdr-b 586 +------V----+ +---V-------+ 587 |Preemptible| | Express | 588 | MAC | | MAC | 589 +------+----+ +----+------+ 590 | | === Brdr-a 591 +------V------------V------+ 592 | PHY | 593 +------------+-------------+ 594 | 595 V 597 Figure 5: Combined L2/L3 Queueing Data Model 599 7. References 600 7.1. Normative References 602 [I-D.ietf-detnet-architecture] 603 Finn, N. and P. Thubert, "Deterministic Networking 604 Architecture", draft-ietf-detnet-architecture-00 (work in 605 progress), September 2016. 607 [I-D.ietf-detnet-dp-alt] 608 Korhonen, J., Farkas, J., Mirsky, G., Thubert, P., 609 Zhuangyan, Z., and L. Berger, "DetNet Data Plane Protocol 610 and Solution Alternatives", draft-ietf-detnet-dp-alt-00 611 (work in progress), October 2016. 613 [I-D.ietf-detnet-use-cases] 614 Grossman, E., Gunther, C., Thubert, P., Wetterwald, P., 615 Raymond, J., Korhonen, J., Kaneko, Y., Das, S., Zha, Y., 616 Varga, B., Farkas, J., Goetz, F., Schmitt, J., Vilajosana, 617 X., Mahmoodi, T., Spirou, S., Vizarreta, P., Huang, D., 618 Geng, X., Dujovne, D., and M. Seewald, "Deterministic 619 Networking Use Cases", draft-ietf-detnet-use-cases-13 620 (work in progress), September 2017. 622 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 623 Requirement Levels", BCP 14, RFC 2119, 624 DOI 10.17487/RFC2119, March 1997, 625 . 627 [RFC2212] Shenker, S., Partridge, C., and R. Guerin, "Specification 628 of Guaranteed Quality of Service", RFC 2212, 629 DOI 10.17487/RFC2212, September 1997, 630 . 632 [RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private 633 Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February 634 2006, . 636 [RFC6658] Bryant, S., Ed., Martini, L., Swallow, G., and A. Malis, 637 "Packet Pseudowire Encapsulation over an MPLS PSN", 638 RFC 6658, DOI 10.17487/RFC6658, July 2012, 639 . 641 [RFC7806] Baker, F. and R. Pan, "On Queuing, Marking, and Dropping", 642 RFC 7806, DOI 10.17487/RFC7806, April 2016, 643 . 645 7.2. Informative References 647 [IEEE802.1Qch] 648 IEEE, "IEEE Std 802.1Qch-2017 IEEE Standard for Local and 649 metropolitan area networks - Bridges and Bridged Networks 650 Amendment 29: Cyclic Queuing and Forwarding (amendment to 651 802.1Q-2014)", 2017, 652 . 654 [IEEE802.1Qci] 655 IEEE, "IEEE Std 802.1Qci-2017 IEEE Standard for Local and 656 metropolitan area networks - Bridges and Bridged Networks 657 - Amendment 30: Per-Stream Filtering and Policing", 2017, 658 . 660 [IEEE8021Q] 661 IEEE 802.1, "IEEE Std 802.1Q-2014: IEEE Standard for Local 662 and metropolitan area networks - Bridges and Bridged 663 Networks", 2014, . 666 [IEEE8021Qbu] 667 IEEE, "IEEE Std 802.1Qbu-2016 IEEE Standard for Local and 668 metropolitan area networks - Bridges and Bridged Networks 669 - Amendment 26: Frame Preemption", 2016, 670 . 673 [IEEE8021Qbv] 674 IEEE 802.1, "IEEE Std 802.1Qbv-2015: IEEE Standard for 675 Local and metropolitan area networks - Bridges and Bridged 676 Networks - Amendment 25: Enhancements for Scheduled 677 Traffic", 2015, . 680 [IEEE8021Qcr] 681 IEEE 802.1, "IEEE P802.1Qcr: IEEE Draft Standard for Local 682 and metropolitan area networks - Bridges and Bridged 683 Networks - Amendment: Asynchronous Traffic Shaping", 2017, 684 . 686 [IEEE8021TSN] 687 IEEE 802.1, "IEEE 802.1 Time-Sensitive Networking (TSN) 688 Task Group", . 690 [IEEE8023] 691 IEEE 802.3, "IEEE Std 802.3-2015: IEEE Standard for Local 692 and metropolitan area networks - Ethernet", 2015, 693 . 696 [IEEE8023br] 697 IEEE 802.3, "IEEE Std 802.3br-2016: IEEE Standard for 698 Local and metropolitan area networks - Ethernet - 699 Amendment 5: Specification and Management Parameters for 700 Interspersing Express Traffic", 2016, 701 . 704 Authors' Addresses 706 Norman Finn 707 Huawei Technologies Co. Ltd 708 3101 Rio Way 709 Spring Valley, California 91977 710 US 712 Phone: +1 925 980 6430 713 Email: norman.finn@mail01.huawei.com 715 Balazs Varga 716 Ericsson 717 Konyves Kalman krt. 11/B 718 Budapest 1097 719 Hungary 721 Email: balazs.a.varga@ericsson.com 723 Janos Farkas 724 Ericsson 725 Konyves Kalman krt. 11/B 726 Budapest 1097 727 Hungary 729 Email: janos.farkas@ericsson.com