idnits 2.17.1 draft-ietf-manet-dlep-pause-extension-06.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 : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (April 3, 2019) is 1849 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) == Outdated reference: A later version (-16) exists of draft-ietf-manet-dlep-da-credit-extension-07 Summary: 0 errors (**), 0 flaws (~~), 2 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group B. Cheng 3 Internet-Draft D. Wiggins 4 Intended status: Standards Track MIT Lincoln Laboratory 5 Expires: October 5, 2019 L. Berger, Ed. 6 LabN Consulting, L.L.C. 7 April 3, 2019 9 DLEP Control Plane Based Pause Extension 10 draft-ietf-manet-dlep-pause-extension-06 12 Abstract 14 This document defines an extension to the Dynamic Link Exchange 15 Protocol (DLEP) that enables a modem to use DLEP messages to pause 16 and resume data traffic coming from its peer router. 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 October 5, 2019. 35 Copyright Notice 37 Copyright (c) 2019 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 1.1. Key Words . . . . . . . . . . . . . . . . . . . . . . . . 3 54 2. Extension Usage and Identification . . . . . . . . . . . . . 3 55 3. Extension Data Items . . . . . . . . . . . . . . . . . . . . 3 56 3.1. Queue Parameters . . . . . . . . . . . . . . . . . . . . 3 57 3.1.1. Queue Parameter Sub Data Item . . . . . . . . . . . . 5 58 3.2. Pause . . . . . . . . . . . . . . . . . . . . . . . . . . 6 59 3.3. Restart . . . . . . . . . . . . . . . . . . . . . . . . . 8 60 4. Security Considerations . . . . . . . . . . . . . . . . . . . 9 61 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 62 5.1. Extension Type Value . . . . . . . . . . . . . . . . . . 9 63 5.2. Data Item Values . . . . . . . . . . . . . . . . . . . . 9 64 5.3. Queue Parameters Sub Data Item Values . . . . . . . . . . 10 65 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 66 6.1. Normative References . . . . . . . . . . . . . . . . . . 10 67 6.2. Informative References . . . . . . . . . . . . . . . . . 11 68 Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 11 69 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 71 1. Introduction 73 The Dynamic Link Exchange Protocol (DLEP) is defined in [RFC8175]. 74 It provides the exchange of link related control information between 75 DLEP peers. DLEP peers are comprised of a modem and a router. DLEP 76 defines a base set of mechanisms as well as support for possible 77 extensions. This document defines one such extension. 79 The base DLEP specification does not include any data plane flow 80 control capability. Various flow control methods are possible, e.g., 81 see [I-D.ietf-manet-dlep-da-credit-extension]. The extension defined 82 in this document supports flow control of data traffic based on 83 explicit messages sent via DLEP by a modem to indicate when a router 84 should hold off sending traffic, and when it should resume. The 85 extension also optionally supports DSCP (differentiated services 86 codepoint) aware flow control. For general background on 87 Differentiated Services see [RFC2475]. The extension defined in this 88 document is referred to as "Control Plane Based Pause". Note that 89 this mechanism only applies to traffic that is to be transmitted on 90 the modem's attached data channel and not to DLEP control messages 91 themselves. 93 This document defines a new DLEP Extension Type Value in Section 2 94 which is used to indicate the use of the extension, and three new 95 DLEP Data Items in Section 3. 97 1.1. Key Words 99 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 100 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 101 "OPTIONAL" in this document are to be interpreted as described in BCP 102 14 [RFC2119] [RFC8174] when, and only when, they appear in all 103 capitals, as shown here. 105 2. Extension Usage and Identification 107 The use of the Control Plane Based Pause Extension SHOULD be 108 configurable. To indicate that the implementation supports use of 109 the Control Plane Based Pause Extension, an implementation MUST 110 include the Control Plane Based Pause Extension Type Value in the 111 Extensions Supported Data Item. The Extensions Supported Data Item 112 is sent and processed according to [RFC8175]. 114 The Control Plane Based Pause Extension Type Value is TBA1, see 115 Section 5. 117 3. Extension Data Items 119 Three data items are defined by this extension. The Queue Parameters 120 Data Item is used by a modem to provide information about the DSCPs 121 it uses in forwarding. The Pause Data Item is used by a modem to 122 indicate when a router should cease sending packets and the Restart 123 Data Item is used by a modem to indicate when a router can resume 124 sending packets. 126 3.1. Queue Parameters 128 The Queue Parameters Data Item is used by a modem to indicate DSCP 129 values that may be independently paused. This data item MUST be 130 included in a Session Initialization Response Message that also 131 contains the Control Plane Based Pause Extension Type Value in the 132 Extensions Supported Data Item. Updates to these parameters MAY be 133 sent by a modem by including the data item in Session Update 134 Messages. 136 The Queue Parameters Data Item groups DSCPs into logical queues, each 137 of which is identified by a "Queue Index". The number of logical 138 queues, or queue indexes, is variable as is the number of DSCPs 139 associated with each queue. A queue size (in bytes) is provided for 140 informational purposes. Queue Indexes are numbered sequentially from 141 zero, where queue index zero is a special case covering DSCPs which 142 are not otherwise associated with Queue Index. 144 An implementation that does not support DSCPs would indicate 1 queue 145 with 0 DSCPs, and the number of bytes that may be in its associated 146 link transmit queue. Additional logical queues are represented in a 147 variable series of Queue Parameter sub data items. 149 The format of the Queue Parameters Data Item is: 151 0 1 2 3 152 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 153 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 154 | Data Item Type | Length | 155 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 156 | Num Queues | Scale | Reserved | 157 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 158 | Queue Parameter Sub Data Item 1 | 159 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 160 : ... : 161 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 162 | Queue Parameter Sub Data Item n | 163 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 165 Data Item Type: TBA2 167 Length: Variable 169 Per [RFC8175] Length is the number of octets in the data item, 170 excluding the Type and Length fields. 172 Num Queues: 174 An 8-bit unsigned integer indicating the number of queues 175 represented in the data item. This field MUST contain a value of 176 at least one (1), and is equal to one greater than the number of 177 included Queue Parameter Sub Data Items. 179 Scale: 181 An 4-bit unsigned integer indicating the scale used in the Queue 182 Size fields. The valid values are: 184 Value Scale 185 ------------ 186 0 B - Bytes (Octets) 187 1 KiB - Kilobytes (1024 B) 188 2 MiB - Megabytes (1024 KiB) 189 3 GiB - Gigabytes (1024 MiB) 191 Reserved: 193 MUST be set to zero by the sender (a modem) and ignored by the 194 receiver (a router). 196 3.1.1. Queue Parameter Sub Data Item 198 Queue Parameter Sub Data Items are an unordered list composed of sub 199 data items with a common format. The format of the Queue Parameter 200 Sub Data Item is patterned after the standard DLEP data item format, 201 see [RFC8175] Section 11.3. Any errors or inconsistencies 202 encountered in parsing Sub Data Items are handled in the same fashion 203 as any other Data Item parsing error encountered in DLEP. 205 The format of the Queue Parameter Sub Data Item is: 207 0 1 2 3 208 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 209 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 210 | Sub Data Item Type (1) | Length | 211 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 212 | Value... | 213 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 215 and Value has the format: 217 0 1 2 3 218 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 219 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 220 | Queue Index | Queue Size Qn | 221 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 222 | Num DSCPs Qn | DS Field Qn | ... : 223 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 224 : ... | DS Field Qn | 225 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 227 Sub Data Item Type: 229 A 16-bit unsigned integer that indicates the type and 230 corresponding format of the Sub Data Item's Value field. Sub Data 231 Item Types are scoped within the Data Item in which they are 232 carried, i.e., the Sub Data Item Type field MUST be used together 233 with the Queue Parameters Data Item Type to identify the format of 234 the Sub Data Item. This field MUST be set to one (1) for the 235 Queue Parameter Sub Data Item. 237 Length: Variable 239 Length is the number of octets in the sub data item, excluding the 240 Type and Length fields. 242 Queue Index: 244 An 8-bit field indicating the queue index of the queue parameter 245 represented in the sub data item. Only the first instance of a 246 particular Queue Index value is meaningful. Subsequent sub data 247 items containing the same Queue Index values, if present, MAY be 248 logged via a management interface and MUST otherwise be ignored. 249 Note that the value 255 is reserved and MUST NOT be used in this 250 field. 252 Queue Size Qn: 254 A 24-bit unsigned integer representing the size, in the octet 255 scale indicated by the Scale field, of the queue supporting 256 traffic with the DSCPs associated with the queue index. 258 Num DSCPs Qn: 260 An 8-bit unsigned integer indicating the number of DSCPs 261 associated with the queue index associated with the sub data item. 262 This field MUST contain a value of at least one (1). 264 DS Field Qn: 266 The data item contains a sequence of 8 bit DS Fields. The number 267 of DS Fields present MUST equal the sum of all Num DSCPs field 268 values. 270 The DS Field structure is the same as [RFC2474]. 272 0 1 2 3 4 5 6 7 273 +---+---+---+---+---+---+---+---+ 274 | DSCP | CU | 275 +---+---+---+---+---+---+---+---+ 277 DSCP: differentiated services codepoint 278 CU: currently unused, MUST be zero 280 3.2. Pause 282 The Pause Data Item is used by a modem to indicate to its peer that 283 traffic is to be suppressed. The motivating use case is for this 284 data item is when a modem's internal queue length exceeds a 285 particular threshold. Other use cases are possible, e.g., when there 286 a non queue related congestion points within a modem, but such are 287 not explicitly described in this document. 289 A modem can indicate that traffic is to be suppressed on a device- 290 wide or destination-specific basis. An example of when a modem might 291 use device wide indications is when output queues are shared across 292 all destinations, and destination specific might be used when per 293 destination queuing is used. To indicate that suppression applies to 294 all destinations, a modem MUST send the Pause Data Item in a Session 295 Update Message. To indicate that suppression applies to a particular 296 destination a modem MUST send the Pause Data Item in a Destination 297 Update Message. 299 Each Pause Data Item identifies the traffic to be suppressed by the 300 Queue Index defined by Section 3.1, which in turn indicates a set of 301 traffic identified by DSCPs. The special value of 255 is used to 302 indicate that all traffic is to be suppressed. 304 While there is no restriction on the number of Messages containing 305 Pause Data Item that may be sent by a modem, a modem SHOULD include 306 multiple queue indexes in the same message when possible. 308 A router which receives the Pause Data Item MUST cease sending the 309 identified traffic to the modem. This may of course translate into 310 the router's queues exceeding their own thresholds. If a received 311 Pause Data Item contains a Queue Index value other than 255, or a 312 queue index established by a Session Initialization or Session Update 313 Message, the router MUST terminate the session with a Status Data 314 Item indicating Invalid Data. 316 The format of the Pause Data Item is: 318 0 1 2 3 319 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 320 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 321 | Data Item Type | Length | 322 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 323 | Queue Index | ... : 324 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 325 : ... | Queue Index | 326 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 328 Data Item Type: TBA3 330 Length: Variable 332 Per [RFC8175] Length is the number of octets in the data item, 333 excluding the Type and Length fields. It will equal the number of 334 Queue Index fields carried in the data item. 336 Queue Index: 338 One or more 8-bit fields used to indicate a queue index defined by 339 a Queue Parameters Data Item. The special value of 255 indicates 340 all traffic is to be suppressed to the modem, when the data item 341 is carried in a Session Update Message, or is to be suppressed to 342 a destination, when the data item is carried in Destination Update 343 Message. 345 3.3. Restart 347 The Restart Data Item is used by a modem to indicate to its peer that 348 transmission of previously suppressed traffic may be resumed. An 349 example of when a modem might send this data item is when an internal 350 queue length drops below a particular threshold. 352 The sending of this data item parallels the Pause Data Item, see the 353 previous section, and follows the same rules. As above, to indicate 354 that transmission can resume to all destinations, a modem MUST send 355 the Restart Data Item in a Session Update Message. It also includes 356 that to indicate that transmission can resume to a particular 357 destination a modem MUST send the Pause Restart Item in a Destination 358 Update Message. Finally, queue indexes are interpreted in the same 359 way as in the Pause Data Item.. 361 A router which receives the Restart Data Item SHOULD resume 362 transmission of the identified traffic to the modem. 364 The format of the Restart Data Item matches the Pause Data Item and 365 is: 367 0 1 2 3 368 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 369 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 370 | Data Item Type | Length | 371 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 372 | Queue Index | ... : 373 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 374 : ... | Queue Index | 375 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 377 Data Item Type: TBA4 379 Length: See Section 3.2. 381 Queue Index: See Section 3.2. 383 4. Security Considerations 385 The extension introduces a new mechanism for flow control between a 386 router and modem using DLEP. The extension does not inherently 387 introduce any additional vulnerabilities above those documented in 388 [RFC8175]. The approach taken to Security in that document applies 389 equally when running the extension defined in this document. 391 Note that this extension does allow a compromised or impersonating 392 modem to suppress transmission by the router, but this is not a 393 substantively different attack by such a compromised modem simply 394 dropping all traffic destined to, or sent by a router. [RFC8175] 395 defines the use of TLS to protect against the impersonating attacker. 397 5. IANA Considerations 399 This document requests the assignment of 4 values by IANA. All 400 assignments are to registries defined by [RFC8175]. 402 5.1. Extension Type Value 404 This document requests 1 new assignment to the DLEP Extensions 405 Registry named "Extension Type Values" in the range with the 406 "Specification Required" policy. The requested value is as follows: 408 +------+---------------------------+ 409 | Code | Description | 410 +------+---------------------------+ 411 | TBA1 | Control Plane Based Pause | 412 +------+---------------------------+ 414 Table 1: Requested Extension Type Value 416 5.2. Data Item Values 418 This document requests 3 new assignments to the DLEP Data Item 419 Registry named "Data Item Type Values" in the range with the 420 "Specification Required" policy. The requested values are as 421 follows: 423 +-----------+------------------+ 424 | Type Code | Description | 425 +-----------+------------------+ 426 | TBA2 | Queue Parameters | 427 | | | 428 | TBA3 | Pause | 429 | | | 430 | TBA4 | Restart | 431 +-----------+------------------+ 433 Table 2: Requested Data Item Values 435 5.3. Queue Parameters Sub Data Item Values 437 Upon approval of this document, IANA is requested to create a new 438 DLEP registry, named "Queue Parameters Sub Data Item Type Values". 440 The following table provides initial registry values and the 441 [RFC8126] defined policies that should apply to the registry: 443 +-------------+------------------------+ 444 | Type Code | Description/Policy | 445 +-------------+------------------------+ 446 | 0 | Reserved | 447 | | | 448 | 1 | Queue Parameter | 449 | | | 450 | 2-65407 | Specification Required | 451 | | | 452 | 65408-65534 | Private Use | 453 | | | 454 | 65535 | Reserved | 455 +-------------+------------------------+ 457 Table 3 459 6. References 461 6.1. Normative References 463 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 464 Requirement Levels", BCP 14, RFC 2119, 465 DOI 10.17487/RFC2119, March 1997, 466 . 468 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 469 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 470 May 2017, . 472 [RFC8175] Ratliff, S., Jury, S., Satterwhite, D., Taylor, R., and B. 473 Berry, "Dynamic Link Exchange Protocol (DLEP)", RFC 8175, 474 DOI 10.17487/RFC8175, June 2017, 475 . 477 6.2. Informative References 479 [I-D.ietf-manet-dlep-da-credit-extension] 480 Cheng, B., Wiggins, D., and L. Berger, "DLEP DiffServ 481 Aware Credit Window Extension", draft-ietf-manet-dlep-da- 482 credit-extension-07 (work in progress), March 2019. 484 [RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, 485 "Definition of the Differentiated Services Field (DS 486 Field) in the IPv4 and IPv6 Headers", RFC 2474, 487 DOI 10.17487/RFC2474, December 1998, 488 . 490 [RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z., 491 and W. Weiss, "An Architecture for Differentiated 492 Services", RFC 2475, DOI 10.17487/RFC2475, December 1998, 493 . 495 [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for 496 Writing an IANA Considerations Section in RFCs", BCP 26, 497 RFC 8126, DOI 10.17487/RFC8126, June 2017, 498 . 500 Appendix A. Acknowledgments 502 The sub data item format was inspired by Rick Taylor's "Data Item 503 Containers" idea. 505 Authors' Addresses 507 Bow-Nan Cheng 508 MIT Lincoln Laboratory 509 Massachusetts Institute of Technology 510 244 Wood Street 511 Lexington, MA 02421-6426 513 Email: bcheng@ll.mit.edu 514 David Wiggins 515 MIT Lincoln Laboratory 516 Massachusetts Institute of Technology 517 244 Wood Street 518 Lexington, MA 02420-9108 520 Email: David.Wiggins@ll.mit.edu 522 Lou Berger (editor) 523 LabN Consulting, L.L.C. 525 Email: lberger@labn.net