idnits 2.17.1 draft-ietf-manet-dlep-pause-extension-05.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 (March 11, 2019) is 1872 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-06 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: September 12, 2019 L. Berger, Ed. 6 LabN Consulting, L.L.C. 7 March 11, 2019 9 DLEP Control Plane Based Pause Extension 10 draft-ietf-manet-dlep-pause-extension-05 12 Abstract 14 This document defines an extension to the DLEP protocol that enables 15 a modem to use DLEP messages to pause and resume data traffic coming 16 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 September 12, 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 . . . . . . . . . . . . . . . . . . . . . . . . . . 7 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, see [RFC2475], flow control. The extension defined 87 in this document is referred to as "Control Plane Based Pause". Note 88 that this mechanism only controls traffic that is to be transmitted 89 on the modem's attached data channel and not to DLEP control messages 90 themselves. 92 This document defines a new DLEP Extension Type Value in Section 2 93 which is used to indicate the use of the extension, and three new 94 DLEP Data Items in Section 3. 96 1.1. Key Words 98 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 99 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 100 "OPTIONAL" in this document are to be interpreted as described in BCP 101 14 [RFC2119] [RFC8174] when, and only when, they appear in all 102 capitals, as shown here. 104 2. Extension Usage and Identification 106 The use of the Control Plane Based Pause Extension SHOULD be 107 configurable. To indicate that the Control Plane Based Pause 108 Extension is to be used, an implementation MUST include the Control 109 Plane Based Pause Extension Type Value in the Extensions Supported 110 Data Item. The Extensions Supported Data Item is sent and processed 111 according to [RFC8175]. 113 The Control Plane Based Pause Extension Type Value is TBA1, see 114 Section 5. 116 3. Extension Data Items 118 Three data items are defined by this extension. The Queue Parameters 119 Data Item is used by a modem to provide information on the DSCPs it 120 uses in forwarding. The Pause Data Item is used by a modem to 121 indicate when a router should cease sending packets and the Restart 122 Data Item is used by a modem to indicate when a router can resume 123 sending packets. 125 3.1. Queue Parameters 127 The Queue Parameters Data Item is used by a modem to indicate DSCP 128 values that may be independently paused. This data item MUST be 129 included in a Session Initialization Response Message that also 130 contains the Control Plane Based Pause Extension Type Value in the 131 Extensions Supported Data Item. Updates to these parameters MAY be 132 sent by a modem by including the data item in Session Update 133 Messages. 135 The Queue Parameters Data Item identifies DSCPs based on groups of 136 logical queues, each of which is referred to via a "Queue Index". 137 The number of logical queues, or queue indexes, is variable as is the 138 number of DSCPs associated with each queue. A queue size (in bytes) 139 is provided for informational purposes. Queue Indexes are numbered 140 sequentially from zero, where queue index zero is a special case 141 covering DSCPs which are not otherwise associated with Queue Index. 143 An implementation that does not support DSCPs would indicate 1 queue 144 with 0 DSCPs, and the number of bytes that may be in its associated 145 link transmit queue. Additional logical queues are represented in a 146 variable series of Queue Parameter sub data items. 148 The format of the Queue Parameters Data Item is: 150 0 1 2 3 151 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 152 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 153 | Data Item Type | Length | 154 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 155 | Num Queues | Scale | Reserved | 156 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 157 | Reserved | Queue Size Q0 | 158 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 159 | Queue Parameter Sub Data Item 1 | 160 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 161 : ... : 162 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 163 | Queue Parameter Sub Data Item n | 164 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 166 Data Item Type: TBA2 168 Length: Variable 170 Per [RFC8175] Length is the number of octets in the data item, 171 excluding the Type and Length fields. 173 Num Queues: 175 An 8-bit unsigned integer indicating the number of queues 176 represented in the data item. This field MUST contain a value of 177 at least one (1), and is equal to one greater than the number of 178 included Queue Parameter Sub Data Items. 180 Scale: 182 An 4-bit unsigned integer indicating the scale used in the Queue 183 Size fields. The valid values are: 185 Value Scale 186 ------------ 187 0 B - Bytes (Octets) 188 1 KB - Kilobytes (B/1024) 189 2 MB - Megabytes (KB/1024) 190 3 GB - Gigabytes (MB/1024) 192 Reserved: 194 MUST be set to zero by the sender (a modem) and ignored by the 195 receiver (a router). 197 Queue Size Q0: 199 A 24-bit unsigned integer representing the size, in the octet 200 scale indicated by the Scale field, of queue index zero. 202 3.1.1. Queue Parameter Sub Data Item 204 Queue Parameter Sub Data Items are an unordered list composed of sub 205 data items with a common format. The first sub data item is assigned 206 a Queue Index value of 1, and subsequent data items are numbered 207 incrementally. The format of the Queue Parameter Sub Data Item is 208 patterned after the standard DLEP data item format, see [RFC8175] 209 Section 11.3. Any errors or inconsistencies encountered in parsing 210 Sub Data Items are handled in the same fashion as any other Data Item 211 parsing error encountered in DLEP. 213 The format of the Queue Parameter Sub Data Item is: 215 0 1 2 3 216 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 217 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 218 | Sub Data Item Type (1) | Length | 219 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 220 | Value... | 221 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 223 and Value has the format: 225 0 1 2 3 226 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 227 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 228 | Queue Index | Queue Size Qn | 229 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 230 | Num DSCPs Qn | DS Field Qn | ... : 231 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 232 : ... | DS Field Qn | 233 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 235 Sub Data Item Type: 237 A 16-bit unsigned integer that indicates the type and 238 corresponding format of the Sub Data Item's Value field. Sub Data 239 Item Types are scoped within the Data Item in which they are 240 carried, i.e., the Sub Data Item Type field MUST be used together 241 with the Queue Parameters Data Item Type to identify the format of 242 the Sub Data Item. This field MUST be set to one (1) for the 243 Queue Parameter Sub Data Item. 245 Length: Variable 247 Length is the number of octets in the sub data item, excluding the 248 Type and Length fields. 250 Queue Index: 252 An 8-bit field indicating the queue index of the queue parameter 253 represented in the sub data item. Only the first instance of a 254 particular Queue Index value is meaningful. Subsequent sub data 255 items containing the same Queue Index values, if present, MAY be 256 logged via a management interface and MUST otherwise be ignored. 258 Queue Size Qn: 260 A 24-bit unsigned integer representing the size, in the octet 261 scale indicated by the Scale field, of the queue supporting 262 traffic with the DSCPs associated with the queue index. 264 Num DSCPs Qn: 266 An 8-bit unsigned integer indicating the number of DSCPs 267 associated with the queue index associated with the sub data item. 268 This field MUST contain a value of at least one (1). 270 DS Field Qn: 272 The data item contains a sequence of 8 bit DS Fields. The 273 position in the sequence identifies the associated queue index. 274 The number of DS Fields present MUST equal the sum of all Num 275 DSCPs field values. 277 The DS Field structure is the same as [RFC2474]. 279 0 1 2 3 4 5 6 7 280 +---+---+---+---+---+---+---+---+ 281 | DSCP | CU | 282 +---+---+---+---+---+---+---+---+ 284 DSCP: differentiated services codepoint 285 CU: currently unused, MUST be zero 287 3.2. Pause 289 The Pause Data Item is used by a modem to indicate to its peer that 290 traffic is to be suppressed. An example of when a modem might send 291 this data item is when an internal queue length exceeds a particular 292 threshold. 294 A modem can indicate that traffic is to be suppressed on a device 295 wide or destination specific basis. An example of when a modem might 296 use device wide indications is when output queues are shared across 297 all destinations, and destination specific might be used when per 298 destination queuing is used. To indicate that suppression applies to 299 all destinations, a modem MUST send the Pause Data Item in a Session 300 Update Message. To indicate that suppression applies to a particular 301 destination a modem MUST send the Pause Data Item in a Destination 302 Update Message. 304 Each Pause Data Item identifies the traffic to be suppressed by the 305 Queue Index defined by Section 3.1, which in turn indicates a set of 306 traffic identified by DSCPs. The special value of 255 is used to 307 indicate that all traffic is to be suppressed. 309 While there is no restriction on the number of Messages containing 310 Pause Data Item that may be sent by a modem, a modem SHOULD include 311 multiple queue indexes in the same message when possible. 313 A router which receives the Pause Data Item MUST cease sending the 314 identified traffic to the modem. This may of course translate into 315 the router's queues exceeding their own thresholds. If a received 316 Pause Data Item contains a Queue Index value other than 0, 255, or a 317 queue index established by a Session Initialization or Session Update 318 Message, the router MUST terminate the session with a Status Data 319 Item indicating Invalid Data. 321 The format of the Pause Data Item is: 323 0 1 2 3 324 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 325 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 326 | Data Item Type | Length | 327 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 328 | Queue Index | ... : 329 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 330 : ... | Queue Index | 331 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 333 Data Item Type: TBA3 334 Length: Variable 336 Per [RFC8175] Length is the number of octets in the data item, 337 excluding the Type and Length fields. It will equal the number of 338 Queue Index fields carried in the data item. 340 Queue Index: 342 One or more 8-bit fields used to indicate a queue index defined by 343 a Queue Parameters Data Item. The special value of 255 indicates 344 all traffic is to be suppressed to the modem, when the data item 345 is carried in a Session Update Message, or a destination, when the 346 data item is carried in Destination Update Message. 348 3.3. Restart 350 The Restart Data Item is used by a modem to indicate to its peer that 351 transmission of previously suppressed traffic may be resumed. An 352 example of when a modem might send this data item is when an internal 353 queue length drops below a particular threshold. 355 The sending of this data item parallels the Pause Data Item, see the 356 previous section, and follows the same rules. This includes that to 357 indicate that transmission can resume to all destinations, a modem 358 MUST send the Restart Data Item in a Session Update Message. It also 359 includes that to indicate that transmission can resume to a 360 particular destination a modem MUST send the Pause Restart Item in a 361 Destination Update Message. Finally, the same rules apply to queue 362 indexes. 364 A router which receives the Restart Data Item SHOULD resume 365 transmission of the identified traffic to the modem. 367 The format of the Restart Data Item matches the Pause Data Item and 368 is: 370 0 1 2 3 371 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 372 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 373 | Data Item Type | Length | 374 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 375 | Queue Index | ... : 376 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 377 : ... | Queue Index | 378 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 380 Data Item Type: TBA4 381 Length: See Section 3.2. 383 Queue Index: See Section 3.2. 385 4. Security Considerations 387 The extension introduces a new mechanism for flow control between a 388 router and modem using the DLEP protocol. The extension does not 389 inherently introduce any additional threats above those documented in 390 [RFC8175]. The approach taken to Security in that document applies 391 equally when running the extension defined in this document. 393 Note that this extension does allow a compromised or impersonating 394 modem to suppress transmission by the router, but this is not a 395 substantively different threat by such a compromised modem simply 396 dropping all traffic destined to, or sent by a router. [RFC8175] 397 defines the use of TLS to protect against the impersonating attacker. 399 5. IANA Considerations 401 This document requests the assignment of 4 values by IANA. All 402 assignments are to registries defined by [RFC8175]. 404 5.1. Extension Type Value 406 This document requests 1 new assignment to the DLEP Extensions 407 Registry named "Extension Type Values" in the range with the 408 "Specification Required" policy. The requested value is as follows: 410 +------+---------------------------+ 411 | Code | Description | 412 +------+---------------------------+ 413 | TBA1 | Control Plane Based Pause | 414 +------+---------------------------+ 416 Table 1: Requested Extension Type Value 418 5.2. Data Item Values 420 This document requests 3 new assignments to the DLEP Data Item 421 Registry named "Data Item Type Values" in the range with the 422 "Specification Required" policy. The requested values are as 423 follows: 425 +-----------+------------------+ 426 | Type Code | Description | 427 +-----------+------------------+ 428 | TBA2 | Queue Parameters | 429 | | | 430 | TBA3 | Pause | 431 | | | 432 | TBA4 | Restart | 433 +-----------+------------------+ 435 Table 2: Requested Data Item Values 437 5.3. Queue Parameters Sub Data Item Values 439 Upon approval of this document, IANA is requested to create a new 440 DLEP registry, named "Queue Parameters Sub Data Item Type Values". 442 The following table provides initial registry values and the 443 [RFC8126] defined policies that should apply to the registry: 445 +-------------+------------------------+ 446 | Type Code | Description/Policy | 447 +-------------+------------------------+ 448 | 0 | Reserved | 449 | | | 450 | 1 | Queue Parameter | 451 | | | 452 | 2-65407 | Specification Required | 453 | | | 454 | 65408-65534 | Private Use | 455 | | | 456 | 65535 | Reserved | 457 +-------------+------------------------+ 459 Table 3 461 6. References 463 6.1. Normative References 465 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 466 Requirement Levels", BCP 14, RFC 2119, 467 DOI 10.17487/RFC2119, March 1997, 468 . 470 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 471 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 472 May 2017, . 474 [RFC8175] Ratliff, S., Jury, S., Satterwhite, D., Taylor, R., and B. 475 Berry, "Dynamic Link Exchange Protocol (DLEP)", RFC 8175, 476 DOI 10.17487/RFC8175, June 2017, 477 . 479 6.2. Informative References 481 [I-D.ietf-manet-dlep-da-credit-extension] 482 Cheng, B., Wiggins, D., and L. Berger, "DLEP DiffServ 483 Aware Credit Window Extension", draft-ietf-manet-dlep-da- 484 credit-extension-06 (work in progress), August 2018. 486 [RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, 487 "Definition of the Differentiated Services Field (DS 488 Field) in the IPv4 and IPv6 Headers", RFC 2474, 489 DOI 10.17487/RFC2474, December 1998, 490 . 492 [RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z., 493 and W. Weiss, "An Architecture for Differentiated 494 Services", RFC 2475, DOI 10.17487/RFC2475, December 1998, 495 . 497 [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for 498 Writing an IANA Considerations Section in RFCs", BCP 26, 499 RFC 8126, DOI 10.17487/RFC8126, June 2017, 500 . 502 Appendix A. Acknowledgments 504 The sub data item format was inspired by Rick Taylor's "Data Item 505 Containers" idea. 507 Authors' Addresses 509 Bow-Nan Cheng 510 MIT Lincoln Laboratory 511 Massachusetts Institute of Technology 512 244 Wood Street 513 Lexington, MA 02421-6426 515 Email: bcheng@ll.mit.edu 516 David Wiggins 517 MIT Lincoln Laboratory 518 Massachusetts Institute of Technology 519 244 Wood Street 520 Lexington, MA 02420-9108 522 Email: David.Wiggins@ll.mit.edu 524 Lou Berger (editor) 525 LabN Consulting, L.L.C. 527 Email: lberger@labn.net