Network Working Group B. Cheng
Internet-Draft D. Wiggins
Intended status: Standards Track Lincoln Laboratory
Expires: August 13, 2017 L. Berger, Ed.
LabN Consulting, L.L.C.
February 9, 2017
DLEP Control Plane Based Pause Extension
draft-ietf-manet-dlep-pause-extension-00
Abstract
This document defines an extension to the DLEP protocol that enables
a simple control plane based flow control mechanism.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on August 13, 2017.
Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Cheng, et al. Expires August 13, 2017 [Page 1]
Internet-Draft DLEP Pause Extension February 2017
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Key Words . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Extension Usage and Identification . . . . . . . . . . . . . 3
3. Extension Data Items . . . . . . . . . . . . . . . . . . . . 3
3.1. Queue Parameters . . . . . . . . . . . . . . . . . . . . 3
3.2. Pause . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.3. Restart . . . . . . . . . . . . . . . . . . . . . . . . . 7
4. Security Considerations . . . . . . . . . . . . . . . . . . . 8
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8
5.1. Extension Type Value . . . . . . . . . . . . . . . . . . 8
5.2. Data Item Values . . . . . . . . . . . . . . . . . . . . 8
6. References . . . . . . . . . . . . . . . . . . . . . . . . . 9
6.1. Normative References . . . . . . . . . . . . . . . . . . 9
6.2. Informative References . . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9
1. Introduction
The Dynamic Link Event Protocol (DLEP) is defined in
[I-D.ietf-manet-dlep]. It provides the exchange of link related
control information between DLEP peers. DLEP peers are comprised of
a modem and a router. DLEP defines a base set of mechanisms as well
as support for possible extensions. This document defines one such
extension.
The base DLEP specification does not include any flow control
capability. There are various flow control possible, e.g., see
[I-D.ietf-manet-credit-window]. The extension defined in this
document supports flow control based on explicit messages sent via
DLEP by a modem to indicate when a router should hold off sending
traffic, and when it should resume. The extension also optionally
supports DSCP (differentiated services codepoint) aware, see
[RFC2475], flow control. The extension defined in this document is
referred to as "Control Plane Pause".
This document defines a new DLEP Extension Type Value in Section 2
which is used to indicate the use of the extension, and three new
DLEP Data Items in Section 3.
1.1. Key Words
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP
14, RFC 2119 [RFC2119].
Cheng, et al. Expires August 13, 2017 [Page 2]
Internet-Draft DLEP Pause Extension February 2017
2. Extension Usage and Identification
The use of the Control Plane Pause Extension SHOULD be configurable.
To indicate that the Control Plane Pause Extension is to be used, an
implementation MUST include the Control Plane Pause Extension Type
Value in the Extensions Supported Data Item. The Extensions
Supported Data Item is sent and processed according to
[I-D.ietf-manet-dlep].
The Control Plane Pause Extension Type Value is TBA1, see Section 5.
3. Extension Data Items
Three data items are defined by this extension. The Queue Parameters
Data Item is used by a modem to provide information on the DSCPs it
uses in forwarding. The Pause Data Item is used by a modem to
indicate when a router should cease sending packets and the Restart
Data Item is used by a modem to indicate when a router can resume
sending packets.
3.1. Queue Parameters
The Queue Parameters Data Item is used by a modem to indicate DSCP
values that may be independently paused. This data item MUST be
included in a Session Initialization Response Message that also
contains the Control Plane Pause Extension Type Value in the
Extensions Supported Data Item. Updates to these parameters MAY be
sent by a modem by including the data item in Session Update
Messages.
The Queue Parameters Data Item identifies DSCPs based on groups of
logical queues. The number of logical queues is variable as is the
number of DSCPs associated with each queue. A queue size (in bytes)
is provided for informational purposes. An implementation that does
not support DSCPs would indicate 1 queue with 0 DSCPs, and the number
of bytes that may be in its associated link transmit queue.
The format of the Queue Parameters Data Item is:
Cheng, et al. Expires August 13, 2017 [Page 3]
Internet-Draft DLEP Pause Extension February 2017
0 1 2 3
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data Item Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Num Queues | Scale | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Num DSCPs Q0(0)| Queue Size Q0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Num DSCPs Q1 | Queue Size Q1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Num DSCPs Q2 | Queue Size Q2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: ... :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Num DSCPs Qn | Queue Size Qn |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DS Field Q1 | DS Field Q1 | DS Field Q1 | DS Field Q2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: ... | DS Field Qn |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Data Item Type: TBA2
Length: Variable
Per [I-D.ietf-manet-dlep] Length is the number of octets in the
data item, excluding the Type and Length fields.
Num Queues:
An 8-bit unsigned integer indicating the number of queues
represented in the data item. This field MUST contain a value of
at least one (1). Note that this number is one larger than the
largest queue index value included in the data item.
Scale:
An 4-bit unsigned integer indicating the scale used in the Queue
Size fields. The valid values are:
Value Scale
------------
0 B - Bytes (Octets)
1 KB - Kilobytes (B/1024)
2 MB - Megabytes (KB/1024)
3 GB - Gigabytes (MB/1024)
Cheng, et al. Expires August 13, 2017 [Page 4]
Internet-Draft DLEP Pause Extension February 2017
Reserved:
MUST be set to zero by the sender (a modem) and ignored by the
receiver (a router).
Num DSCPs Qn:
An 8-bit unsigned integer indicating the number of DSCPs
associated with the indexed queue. Other than the special case
covered in the next paragraph, this field MUST contain a value of
at least one (1). Queue indexes start at zero (0) and the maximum
queue index "Qn" is one less than the value carried in the Num
Queues field. Queue indexes are implicit in the position in the
data item.
Queue index zero "Q0" is a special case. It is used for any
traffic that does not carry a DSCP value represented in the data
item. Therefore the value of the Queue index zero field, "Num
DSCPs Q0", field MUST be zero (0).
Queue Size Qn:
A 24-bit unsigned integer representing the size, in the octet
scale indicated by the Scale field, of the queue supporting
traffic with the DSCPs associated with the queue index.
DS Field Qn:
The data item contains a sequence of 8 bit DS Fields. The
position in the sequence identifies the associated queue index.
The number of DS Fields present should equal the sum of all Num
DSCPs field values.
The DS Field structure is the same as [RFC2474].
0 1 2 3 4 5 6 7
+---+---+---+---+---+---+---+---+
| DSCP | CU |
+---+---+---+---+---+---+---+---+
DSCP: differentiated services codepoint
CU: currently unused, MUST be zero
3.2. Pause
The Pause Data Item is used by a modem to indicate to its peer that
traffic is to be suppressed. An example of when a modem might send
Cheng, et al. Expires August 13, 2017 [Page 5]
Internet-Draft DLEP Pause Extension February 2017
this data item is when an internal queue length exceeds a particular
threshold.
A modem may indicate that traffic is to be suppressed on a device
wide or destination specific basis. An example of when a modem might
use device wide indications is when output queues are shared across
all destinations, and destination specific might be used when per
destination queuing is used. To indicate that suppression applies to
all destinations, a modem MAY send the Pause Data Item in a Session
Update Message. To indicate that suppression applies to a particular
destination a modem MAY send the Pause Data Item in a Destination
Update Message.
Each Pause Data Item identifies the traffic to be suppressed by the
Queue Index defined by Section 3.1, which in turn indicates a set of
traffic identified by DSCPs. The special value of 255 is used to
indicate that all traffic is to be suppressed.
While there is no restriction on the number of Messages containing
Pause Data Item that may be sent by a modem, a modem SHOULD include
multiple queue indexes in the same message when possible.
A router which receives the Pause Data Item MUST cease sending the
identified traffic to the modem. This may of course translate into
the router's queues exceeding their own thresholds.
The format of the Pause Data Item is:
0 1 2 3
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data Item Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Queue Index | ... :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: ... | Queue Index |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
[LB note: a list of Queue Indexes is now supported as is special
value 255.]
Data Item Type: TBA3
Length: Variable
Per [I-D.ietf-manet-dlep] Length is the number of octets in the
data item, excluding the Type and Length fields. It will equal
the number of Queue Index fields carried in the data item.
Cheng, et al. Expires August 13, 2017 [Page 6]
Internet-Draft DLEP Pause Extension February 2017
Queue Index:
One or more 8-bit fields used to indicate a queue index defined by
a Queue Parameters Data Item. The special value of 255 indicates
all traffic is to be suppressed to the modem, when the data item
is carried in a Session Update Message, or a destination, when the
data item is carried in Destination Update Message.
3.3. Restart
The Restart Data Item is used by a modem to indicate to its peer that
transmission of previously suppressed traffic may be resumed. An
example of when a modem might send this data item is when an internal
queue length drops below a particular threshold.
The sending of this data item parallels the Pause Data Item, see the
previous section, and follows the same rules. This includes that to
indicate that transmission can resume to all destinations, a modem
MAY send the Restart Data Item in a Session Update Message. It also
includes that to indicate that transmission can resume to a
particular destination a modem MAY send the Pause Restart Item in a
Destination Update Message. Finally, the same rules apply to queue
indexes.
A router which receives the Restart Data Item SHOULD resume
transmission of the identified traffic to the modem.
The format of the Restart Data Item matches the Pause Data Item and
is:
0 1 2 3
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data Item Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Queue Index | ... :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: ... | Queue Index |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Data Item Type: TBA4
Length: See Section 3.2.
Queue Index: See Section 3.2.
Cheng, et al. Expires August 13, 2017 [Page 7]
Internet-Draft DLEP Pause Extension February 2017
4. Security Considerations
The extension introduces a new mechanism for flow control between a
router and modem using the DLEP protocol. The extension does not
inherently introduce any additional threats above those documented in
[I-D.ietf-manet-dlep]. The approach taken to Security in that
document applies equally when running the extension defined in this
document.
5. IANA Considerations
This document requests the assignment of 4 values by IANA. All
assignments are to registries defined by [I-D.ietf-manet-dlep].
5.1. Extension Type Value
This document requests 1 new assignment to the DLEP Extensions
Registry named "Extension Tyoe Values" in the range with the
"Specification Required" policy. The requested value is as follows:
+------+---------------------+
| Code | Description |
+------+---------------------+
| TBA1 | Control Plane Pause |
+------+---------------------+
Table 1: Requested Extension Type Value
5.2. Data Item Values
This document requests 3 new assignments to the DLEP Data Item
Registry named "Data Item Values" in the range with the
"Specification Required" policy. The requested values are as
follows:
+-----------+------------------+
| Type Code | Description |
+-----------+------------------+
| TBA2 | Queue Parameters |
| | |
| TBA3 | Pause |
| | |
| TBA4 | Restart |
+-----------+------------------+
Table 2: Requested Data Item Values
Cheng, et al. Expires August 13, 2017 [Page 8]
Internet-Draft DLEP Pause Extension February 2017
6. References
6.1. Normative References
[I-D.ietf-manet-dlep]
Ratliff, S., Jury, S., Satterwhite, D., Taylor, R., and (.
(Unknown), "Dynamic Link Exchange Protocol (DLEP)", draft-
ietf-manet-dlep-24 (work in progress), July 2016.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
6.2. Informative References
[I-D.ietf-manet-credit-window]
Ratliff, S., "Credit Windowing extension for DLEP", draft-
ietf-manet-credit-window-04 (work in progress), April
2016.
[RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black,
"Definition of the Differentiated Services Field (DS
Field) in the IPv4 and IPv6 Headers", RFC 2474,
DOI 10.17487/RFC2474, December 1998,
<http://www.rfc-editor.org/info/rfc2474>.
[RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z.,
and W. Weiss, "An Architecture for Differentiated
Services", RFC 2475, DOI 10.17487/RFC2475, December 1998,
<http://www.rfc-editor.org/info/rfc2475>.
Authors' Addresses
Bow-Nan Cheng
Lincoln Laboratory
Massachusetts Institute of Technology
244 Wood Street
Lexington, MA 02420-9108
Email: bcheng@ll.mit.edu
Cheng, et al. Expires August 13, 2017 [Page 9]
Internet-Draft DLEP Pause Extension February 2017
David Wiggins
Lincoln Laboratory
Massachusetts Institute of Technology
244 Wood Street
Lexington, MA 02420-9108
Email: David.Wiggins@ll.mit.edu
Lou Berger (editor)
LabN Consulting, L.L.C.
Email: lberger@labn.net
Cheng, et al. Expires August 13, 2017 [Page 10]