Mobile Ad hoc Networks Working Group S. Ratliff
Internet-Draft VT iDirect
Intended status: Standards Track March 21, 2016
Expires: September 22, 2016
Credit Windowing extension for DLEP
draft-ietf-manet-credit-window-03
Abstract
This draft describes an extension to the DLEP protocol to provide a
credit-windowing scheme analogous to that in RFC5578 for destination-
specific flow control.
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 September 22, 2016.
Copyright Notice
Copyright (c) 2016 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.
Ratliff Expires September 22, 2016 [Page 1]
Internet-Draft Credit Windowing extension for DLEP March 2016
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
4. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 3
5. DLEP Messages for Credit-Window Extension . . . . . . . . . . 4
6. DLEP Status Codes for Credit-Window Extension . . . . . . . . 5
7. DLEP Data Items for Credit-Window Extension . . . . . . . . . 5
7.1. DLEP Destination Up Message . . . . . . . . . . . . . . . 5
7.2. DLEP Destination Announce Message . . . . . . . . . . . . 6
7.3. DLEP Destination Up Response Message . . . . . . . . . . 6
7.4. DLEP Destination Announce Response Message . . . . . . . 6
7.5. DLEP Destination Update Message . . . . . . . . . . . . . 7
7.6. DLEP Link Characteristics Request Message . . . . . . . . 7
8. Credit Window Data Item Definitions . . . . . . . . . . . . . 7
8.1. Credit Grant . . . . . . . . . . . . . . . . . . . . . . 7
8.2. Credit Window Status . . . . . . . . . . . . . . . . . . 8
8.3. Credit Request . . . . . . . . . . . . . . . . . . . . . 10
9. Security Considerations . . . . . . . . . . . . . . . . . . . 10
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10
10.1. Registrations . . . . . . . . . . . . . . . . . . . . . 10
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 11
12.1. Normative References . . . . . . . . . . . . . . . . . . 11
12.2. Informative References . . . . . . . . . . . . . . . . . 11
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 11
1. Introduction
In the world of radio-based networking, there are modems that need
fine-grained flow control over traffic ingressing from a LAN
connection, bound for transmission over the RF. The need for such
fine-grained control can exist for multiple reasons. For example,
radio devices are typically connected to the network by Ethernet.
The capacity of an Ethernet link is normally far superior to that of
the RF, leading to the possibility of overruns and dropped traffic.
This is exacerbated by the fact that RF link capacity can vary from
moment to moment, for an indeterminate amount of time. Additionally,
the capacity of the link can vary greatly depending on the
destination, due to factors such as obstructions or multipath fading.
Ratliff Expires September 22, 2016 [Page 2]
Internet-Draft Credit Windowing extension for DLEP March 2016
These challenges motivate the requirement for a fine-grained flow
control in radio-based communications - one that can support
different window sizes for each destination accessed across the RF
network. To address this requirement, this document describes an
extension to the Dynamic Link Event Protocol ([DLEP]), allowing for a
Credit windowing scheme to be implemented on a destination-by-
destination basis.
2. Overview
This protocol extension to DLEP describes a credit windowing scheme
analogous to the one documented in [RFC5578]. In this scheme, data
plane traffic flowing between the router and modem is controlled by
the availability of credits. Credits are expressed as if two
unidirectional windows exist between the modem and router. This
document identifies these windows as the 'Modem Receive Window', or
MRW, and the 'Router Receive Window', or RRW. The responsibility of
granting credits lies with the receiver on a window - that is, on the
MRW, the modem is responsible for granting credits to the router,
allowing it (the router) to send data plane traffic to the modem.
Likewise, the router is responsible for granting credits on the RRW,
which allows the modem to send data plane traffic to the router.
Credits represent the number of data plane octets, or an increment in
the number of data plane octets, that can be sent on a given window
at the MAC layer to the receiver.
3. Terminology
In general, the draft uses the same terminology as specified in the
core DLEP draft [DLEP]. In addition, the draft uses the following
terms:
o Modem Receive Window, or MRW. The MRW represents a logical,
unidirectional window for traffic flowing from the router to the
modem.
o Router Receive Window, or RRW. The RRW represents a logical,
unidirectional window for traffic flowing from the modem to the
router.
4. Operation
DLEP peers supporting this extension MUST include a DLEP 'Extensions
Supported' data item, including the value TBD representing this
extension in the appropriate DLEP Session Initialization and Session
Initialization Response messages.
Ratliff Expires September 22, 2016 [Page 3]
Internet-Draft Credit Windowing extension for DLEP March 2016
Credits are managed on a destination-specific basis - separate credit
counts MUST be maintained for each destination requiring the service.
Credits MUST NOT be applied to the DLEP session that exists between
routers and modems; they are applied only to the data plane traffic.
There are no default values for either the initial credit window or
the credit increments.
When DLEP peers desire to employ the credit-windowing extension, the
peer originating the Destination Up or Destination Announce message
MUST supply a Credit Grant data item with an initial, non-zero value
as the increment of the window the originator controls (i.e., the
MRW, or RRW).
When receiving a Credit Grant data item on a Destination Up or
Destination Announce message, the receiver MUST take one of the
following actions:
1. Reject the use of credits for this destination, via the
Destination Up Response or Destination Announce Response message
containing a Status data item with a status code of 'Credit Use
Rejected', or
2. Initialize the appropriate window value of zero, then apply the
increment specified in the Credit Grant data item.
If the initialization completes successfully, the receiver MUST
respond to the Destination Up/Destination Announce message with a
response message that contains a Credit Grant data item, initializing
its receive window.
Data plane traffic would then flow between the DLEP peers, with said
peers accounting for the traffic sent/received by decrementing the
appropriate credit counts.
The number of credits needed for a given transmission is the length
of the data portion of the packet at the MAC layer. When sending
data to a credit enabled peer, the sender MUST decrement the
appropriate window by the size of the data being sent, prior to
encapsulation at the MAC layer. When traffic is received, the
receiver MUST decrement its own window after decapsulation at the MAC
layer.
When the number of available credits to the destination reaches 0,
the sender MUST stop sending data plane traffic to the destination,
until additional credits are granted by the receiver.
5. DLEP Messages for Credit-Window Extension
Ratliff Expires September 22, 2016 [Page 4]
Internet-Draft Credit Windowing extension for DLEP March 2016
The credit-windowing extension does not introduce any additional DLEP
signals or messages.
6. DLEP Status Codes for Credit-Window Extension
The credit-windowing extension introduces two additional DLEP status
code:
+--------------+----------+------------+----------------------------+
| Status Code | Value | Failure | Reason |
| | | Mode | |
+--------------+----------+------------+----------------------------+
| Credit | TBD | Continue | Credit counts are out-of- |
| Window Out | | | sync between sender and |
| of Sync | | | receiver on the |
| | | | destination. |
| Credit Use | TBD | Continue | Credit counts cannot be |
| Rejected | | | used for the destination. |
+--------------+----------+------------+----------------------------+
7. DLEP Data Items for Credit-Window Extension
The extension introduces 3 DLEP data items:
+------------+-------------------------------------+
| Type Code | Description |
+------------+-------------------------------------+
| TBD | Credit Grant (Section 8.1) |
| TBD | Credit Window Status (Section 8.2) |
| TBD | Credit Request (Section 8.3) |
+------------+-------------------------------------+
Descriptions of the data items are included below. The credit-
windowing data items are inserted into DLEP messages as follows:
7.1. DLEP Destination Up Message
If use of credits is required for the destination, then the
Destination Up message MUST contain one Credit Grant (Section 8.1)
data item. The value of the credit increment is at the discretion of
the implementation. The receiver of the Destination Up message MUST
use the value in Credit Grant as the initial value for the
appropriate window.
If the Destination Up message does not contain the Credit Grant data
item, credits MUST NOT be used for that destination.
Ratliff Expires September 22, 2016 [Page 5]
Internet-Draft Credit Windowing extension for DLEP March 2016
7.2. DLEP Destination Announce Message
If use of credits is required for the destination, then the
Destination Announce message MUST contain one Credit Grant
(Section 8.1) data item. The value of the credit increment is at the
discretion of the implementation. The receiver of the Destination
Announce message MUST use the value in Credit Grant as the initial
value for the appropriate window.
If the Destination Announce message does not contain the Credit Grant
data item, credits MUST NOT be used for that destination.
7.3. DLEP Destination Up Response Message
If the corresponding Destination Up message contained a Credit Grant
(Section 8.1) data item, the Destination Up Response message MUST
also contain a Credit Grant (Section 8.1) data item.
Likewise, if the corresponding Destination Up message did not contain
a Credit Grant (Section 8.1) data item, the Destination Up Response
message MUST NOT contain a Credit Grant (Section 8.1) data item.
The receiver of Destination Up Response MUST use the received Credit
Grant value to initialize the appropriate window (e.g., the MRW value
for routers, the RRW value for modems).
When an implementation detects a mismatch in the presence or absence
of credit window data items between the DLEP Destination Up and
Destination Up Response messages, the implementation detecting the
mismatch MUST terminate the session by issuing a Peer Termination
message with a status code of 'Credit Window Out of Sync', and
transition to the Session Termination state.
7.4. DLEP Destination Announce Response Message
If the corresponding Destination Announce message contained a Credit
Grant (Section 8.1) data item, the Destination Announce Response
message MUST also contain a Credit Grant (Section 8.1) data item.
Likewise, if the corresponding Destination Announce message did not
contain a Credit Grant (Section 8.1) data item, the Destination
Announce Response message MUST NOT contain a Credit Grant
(Section 8.1) data item.
The receiver of Destination Announce Response MUST use the received
Credit Grant value to initialize the appropriate window (e.g., the
MRW value for routers, the RRW value for modems).
Ratliff Expires September 22, 2016 [Page 6]
Internet-Draft Credit Windowing extension for DLEP March 2016
When an implementation detects a mismatch in the presence or absence
of credit window data items between the DLEP Destination Announce and
Destination Announce Response messages, the implementation detecting
the mismatch MUST terminate the session by issuing a Peer Termination
message with a status code of 'Credit Window Out of Sync', and
transition to the Session Termination state.
7.5. DLEP Destination Update Message
If the corresponding Destination Up or Destination Announce message
contained the Credit Grant data item, the Destination Update message
MAY contain one of each of the following data items:
o Credit Grant (Section 8.1)
o Credit Window Status (Section 8.2)
o Credit Request (Section 8.3)
DLEP peers supporting the extension MAY format and send a DLEP
Destination Update message solely for the purposes of maintaining the
credit windows. In cases where a peer already has information
requiring a Destination Update message, (e.g., a change in Latency on
the link), the credit data items MAY be included in addition to that
information.
7.6. DLEP Link Characteristics Request Message
If the corresponding Destination Up or Destination Announce message
contained the credit Grant data item, the Link Characteristics
Request message MAY contain the following data item:
o Credit Request (Section 8.3)
DLEP peers supporting the extension MAY format and send a DLEP Link
Characteristics Request message solely for the purposes of
maintaining the credit windows. In cases where a peer already has
information requiring a Link Characteristics Request message, the
Credit Request data MAY be included in addition to that information.
8. Credit Window Data Item Definitions
8.1. Credit Grant
The Credit Grant data item is sent from a DLEP participant to grant
an increment to credits on a window. The Credit Grant data item MAY
appear in the DLEP Destination Up, Destination Announce, and
Destination Update messages. The value in a Credit Grant data item
Ratliff Expires September 22, 2016 [Page 7]
Internet-Draft Credit Windowing extension for DLEP March 2016
represents an increment to be added to any existing credits available
on the window. Upon successful receipt and processing of a Credit
Grant data item, the receiver MUST respond with a message containing
a Credit Window Status data item to report the updated aggregate
values for synchronization purposes, and if initializing a new credit
window, granting initial credits.
The Credit Grant data item contains the following fields:
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Credit Increment |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Credit Increment |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Data Item Type: TBD
Length: 8
Credit Increment: A 64-bit unsigned integer representing the
additional credits, in octets, to be assigned to the credit
window.
Since credits can only be granted by the receiver on a window, the
applicable credit window (either the MRW or the RRW) is derived from
the sender of the grant. The Credit Increment MUST NOT cause the
window to overflow; if this condition occurs, implementations MUST
set the credit window to the maximum value contained in a 64-bit
quantity.
8.2. Credit Window Status
During normal operation, DLEP session peers may disagree about the
number of available credits. Operational credit mismatches can occur
due to packets in transit on the wire. DLEP session peers MAY use
the Credit Window Status data item to maintain synchronization of
credit counts. This data item is informational only; it is used to
inform the receiving peer of the current credit counts for both the
MRW and RRW, from the perspective of the sender.
Upon receipt of a Credit Window Status data item, an implementation
SHOULD compare its own credit counts with that of the originator. If
the receiver of Credit Window Status detects that the local credit
counts are not synchronized with the originator, the receiving
Ratliff Expires September 22, 2016 [Page 8]
Internet-Draft Credit Windowing extension for DLEP March 2016
implementation MAY either: o Attempt resynchronization using an
additional Credit Grant, if applicable, or o Issue a DLEP Destination
Down message, to clear credit counts on the session.
Implementations issuing Destinaton Down MUST supply a DLEP Status
item, with the status code of 'Credit Window Out of Sync', as defined
in this document.
If a DLEP message contains both the Credit Grant (Section 8.1) data
item and the Credit Window Status (Section 8.2) data item,
implementations MUST first apply the Credit Grant (Section 8.1) data
item before comparing the credit counts contained in Credit Window
Status (Section 8.2).
It is recommended that implementations issue a DLEP Destination
Update with a Credit Window Status data item at a configurable
multiple of the DLEP Heartbeat timer, to serve as a continuing check
on synchronization of the credit windows for a destination.
The Credit Window Status data item contains the following fields:
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Modem Receive Window Value :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: Modem Receive Window Value |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router Receive Window Value :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: Router Receive Window Value |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Data Item Type: TBD
Length: 16
Modem Receive Window Value: A 64-bit unsigned integer, indicating
the current number of credits, in octets, available on the Modem
Receive Window, for the destination referred to by the message.
Router Receive Window Value: A 64-bit unsigned integer, indicating
the current number of credits, in octets, available on the Router
Receive Window, for the destination referred to by the message.
Ratliff Expires September 22, 2016 [Page 9]
Internet-Draft Credit Windowing extension for DLEP March 2016
8.3. Credit Request
The Credit Request data item MAY be sent from either DLEP
participant, as a data item in a DLEP Destination Update message, or
a Link Characteristics Request message, to indicate the desire for
the partner to grant additional credits in order for data transfer to
proceed on the session. If the corresponding DLEP Destination Up or
Destination Announce message for this session did not contain a
Credit Grant data item, indicating that credits are to be used on the
session, then receipt of the Credit Request data item MUST be
considered as an error by the receiver, requiring termination of the
DLEP peer session.
The Credit Request data item contains the following fields:
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Data Item Type: TBD
Length: 0
9. Security Considerations
The extension introduces a mechanism for destination-specific flow
control between a router and modem supporting the DLEP protocol. The
extension does not introduce any additional threats above those
documented in [DLEP].
The mitigation strategy documented in that document is sufficient to
secure operation of this extension.
10. IANA Considerations
This section specifies requests to IANA.
10.1. Registrations
This specification defines three (3) new entries in the repository
entitled "Data Item Type Values for the Dynamic Link Event Protocol
(DLEP)". Assignments from that registry are requested for:
o Credit Grant
o Credit Request
Ratliff Expires September 22, 2016 [Page 10]
Internet-Draft Credit Windowing extension for DLEP March 2016
o Credit Window Status
The specification also defines an extension to the DLEP protocol. An
assignment from the repository entitled "Extension Type Values for
the Dynamic Link Event Protocol (DLEP)" is requested for:
o Credit Windowing
In addition, the specification defines two (2) new DLEP status codes.
Assignments from the repository entitled "Status Code Values for the
Dynamic Link Event Protocol (DLEP)" are requested for:
o Credit Window Out of Sync
o Credit Use Rejected
11. Acknowledgements
The author would like to acknowledge and thank the members of the
MANET working group, who have provided valuable insight.
Specifically, the author would like to thank Lou Berger, David
Wiggins, Justin Dean, Brian Amundson, Rick Taylor, John Dowdell,
Shawn Jury, and Darryl Satterwhite.
12. References
12.1. Normative References
[DLEP] Ratliff, S., Jury, S., Satterwhite, D., Taylor, R., and B.
Berry, "Dynamic Link Exchange Protocol (DLEP)", draft-
ietf-manet-dlep-21 IETF draft, March 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>.
12.2. Informative References
[RFC5578] Berry, B., Ed., Ratliff, S., Paradise, E., Kaiser, T., and
M. Adams, "PPP over Ethernet (PPPoE) Extensions for Credit
Flow and Link Metrics", RFC 5578, DOI 10.17487/RFC5578,
February 2010, <http://www.rfc-editor.org/info/rfc5578>.
Author's Address
Ratliff Expires September 22, 2016 [Page 11]
Internet-Draft Credit Windowing extension for DLEP March 2016
Stan Ratliff
VT iDirect
13861 Sunrise Valley Drive, Suite 300
Herndon, VA 20171
USA
Email: sratliff@idirect.net
Ratliff Expires September 22, 2016 [Page 12]