draft-ietf-manet-dlep-da-credit-extension-00.txt | draft-ietf-manet-dlep-da-credit-extension-01.txt | |||
---|---|---|---|---|
Network Working Group B. Cheng | Network Working Group B. Cheng | |||
Internet-Draft D. Wiggins | Internet-Draft D. Wiggins | |||
Intended status: Standards Track Lincoln Laboratory | Intended status: Standards Track Lincoln Laboratory | |||
Expires: August 13, 2017 L. Berger | Expires: September 14, 2017 L. Berger | |||
LabN Consulting, L.L.C. | LabN Consulting, L.L.C. | |||
February 9, 2017 | March 13, 2017 | |||
DLEP DiffServ Aware Credit Windowing Extension | DLEP DiffServ Aware Credit Windowing Extension | |||
draft-ietf-manet-dlep-da-credit-extension-00 | draft-ietf-manet-dlep-da-credit-extension-01 | |||
Abstract | Abstract | |||
This document defines an extension to the DLEP protocol that enables | This document defines an extension to the DLEP protocol that enables | |||
a DiffServ aware credit-windowing scheme for destination-specific | a DiffServ aware credit-windowing scheme for destination-specific | |||
flow control. | flow control. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
skipping to change at page 1, line 34 ¶ | skipping to change at page 1, line 34 ¶ | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on August 13, 2017. | This Internet-Draft will expire on September 14, 2017. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2017 IETF Trust and the persons identified as the | Copyright (c) 2017 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
skipping to change at page 2, line 11 ¶ | skipping to change at page 2, line 11 ¶ | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
1.1. Key Words . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1.1. Key Words . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. Extension Overview . . . . . . . . . . . . . . . . . . . . . 3 | 2. Extension Overview . . . . . . . . . . . . . . . . . . . . . 3 | |||
3. Extension Usage and Identification . . . . . . . . . . . . . 4 | 3. Extension Usage and Identification . . . . . . . . . . . . . 4 | |||
4. Extension Messages . . . . . . . . . . . . . . . . . . . . . 4 | 4. Data Plane Considerations . . . . . . . . . . . . . . . . . . 4 | |||
4.1. Credit Control Message . . . . . . . . . . . . . . . . . 4 | 5. Extension Messages . . . . . . . . . . . . . . . . . . . . . 4 | |||
4.2. Credit Control Response Message . . . . . . . . . . . . . 5 | 5.1. Credit Control Message . . . . . . . . . . . . . . . . . 4 | |||
5. Extension Data Items . . . . . . . . . . . . . . . . . . . . 5 | 5.2. Credit Control Response Message . . . . . . . . . . . . . 5 | |||
5.1. Queue Parameters . . . . . . . . . . . . . . . . . . . . 5 | 6. Extension Data Items . . . . . . . . . . . . . . . . . . . . 5 | |||
5.2. DiffServ Aware (DA) Credit Grant . . . . . . . . . . . . 8 | 6.1. Queue Parameters . . . . . . . . . . . . . . . . . . . . 6 | |||
5.3. DiffServ Aware (DA) Credit Window Status . . . . . . . . 10 | 6.2. DiffServ Aware (DA) Credit Grant . . . . . . . . . . . . 8 | |||
5.4. DiffServ Aware (DA) Credit Request . . . . . . . . . . . 11 | 6.3. DiffServ Aware (DA) Credit Window Status . . . . . . . . 10 | |||
6. Compatibility . . . . . . . . . . . . . . . . . . . . . . . . 12 | 6.4. DiffServ Aware (DA) Credit Request . . . . . . . . . . . 12 | |||
7. Security Considerations . . . . . . . . . . . . . . . . . . . 13 | 7. Compatibility . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 | 8. Security Considerations . . . . . . . . . . . . . . . . . . . 13 | |||
8.1. Extension Type Value . . . . . . . . . . . . . . . . . . 13 | 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 | |||
8.2. Message Values . . . . . . . . . . . . . . . . . . . . . 13 | 9.1. Extension Type Value . . . . . . . . . . . . . . . . . . 13 | |||
8.3. Data Item Values . . . . . . . . . . . . . . . . . . . . 14 | 9.2. Message Values . . . . . . . . . . . . . . . . . . . . . 14 | |||
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 | 9.3. Data Item Values . . . . . . . . . . . . . . . . . . . . 14 | |||
9.1. Normative References . . . . . . . . . . . . . . . . . . 14 | 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
9.2. Informative References . . . . . . . . . . . . . . . . . 14 | 10.1. Normative References . . . . . . . . . . . . . . . . . . 15 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 | 10.2. Informative References . . . . . . . . . . . . . . . . . 15 | |||
Appendix A. Open and Resolved Issues . . . . . . . . . . . . . . 15 | ||||
A.1. Merge with [I-D.ietf-manet-credit-window] . . . . . . . . 15 | ||||
A.2. Credit Windows Shared Across Destinations . . . . . . . . 16 | ||||
A.3. Supporting Router Limits . . . . . . . . . . . . . . . . 16 | ||||
A.4. Absolute vs Increment . . . . . . . . . . . . . . . . . . 16 | ||||
A.5. Alternate Format Encoding . . . . . . . . . . . . . . . . 16 | ||||
A.6. Bidirectional Flow | ||||
Control (closed) . . . . . . . . . . . . . . . . . . . . 17 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17 | ||||
1. Introduction | 1. Introduction | |||
The Dynamic Link Event Protocol (DLEP) is defined in | The Dynamic Link Event Protocol (DLEP) is defined in | |||
[I-D.ietf-manet-dlep]. It provides the exchange of link related | [I-D.ietf-manet-dlep]. It provides the exchange of link related | |||
control information between DLEP peers. DLEP peers are comprised of | control information between DLEP peers. DLEP peers are comprised of | |||
a modem and a router. DLEP defines a base set of mechanisms as well | a modem and a router. DLEP defines a base set of mechanisms as well | |||
as support for possible extensions. This document defines one such | as support for possible extensions. This document defines one such | |||
extension. | extension. | |||
skipping to change at page 3, line 7 ¶ | skipping to change at page 3, line 16 ¶ | |||
This document defines a DLEP extension which provides flow control | This document defines a DLEP extension which provides flow control | |||
for DiffServ [RFC2475] traffic sent from a router to a modem. Flow | for DiffServ [RFC2475] traffic sent from a router to a modem. Flow | |||
control is provided for multiple DSCPs (differentiated services | control is provided for multiple DSCPs (differentiated services | |||
codepoint), which are grouped into logical sets of logical queues. | codepoint), which are grouped into logical sets of logical queues. | |||
The extension defined in this document is referred to as "DiffServ | The extension defined in this document is referred to as "DiffServ | |||
Aware Credit Windowing" or, more simply, the "DA Credit" extension. | Aware Credit Windowing" or, more simply, the "DA Credit" extension. | |||
This document defines a new DLEP Extension Type Value in Section 3 | This document defines a new DLEP Extension Type Value in Section 3 | |||
which is used to indicate the use of the extension. Two new messages | which is used to indicate the use of the extension. Two new messages | |||
are defined in Section 4, and four new DLEP Data Items in Section 5. | are defined in Section 5, and four new DLEP Data Items in Section 6. | |||
1.1. Key Words | 1.1. Key Words | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in BCP | |||
14, RFC 2119 [RFC2119]. | 14, RFC 2119 [RFC2119]. | |||
2. Extension Overview | 2. Extension Overview | |||
The DA Credit extension can be used to support credit based flow | The DA Credit extension can be used to support credit based flow | |||
control of traffic sent from a router to a modem. The extension can | control of traffic sent from a router to a modem. The extension can | |||
be used to support DiffServ and non-DiffServ based flow control. | be used to support DiffServ and non-DiffServ based flow control. | |||
Both types of DLEP endpoints, i.e., a router and a modem, negotiate | Both types of DLEP endpoints, i.e., a router and a modem, negotiate | |||
the use of extension during session initialization, see Section 5.2 | the use of extension during session initialization, see Section 5.2 | |||
[I-D.ietf-manet-dlep]. | [I-D.ietf-manet-dlep]. When using this extension, data is allowed to | |||
be sent by the router to the modem only when there are credits | ||||
available. | ||||
When the extension is to be used, a modem passes to a router its | When the extension is to be used, a modem passes to a router its | |||
known DSCPs, if any. DSCPs are grouped by logical queues, each of | known DSCPs, if any. DSCPs are grouped by logical queues, each of | |||
which are given a logical queue index. The queue index zero (0) is | which are given a logical queue index. The queue index zero (0) is | |||
special and is used for any DSCP value, including 0, which is not | special and is used for any DSCP value, including 0, which is not | |||
otherwise identified by the modem. The modem also provides a size, | otherwise identified by the modem. The modem also provides a size, | |||
in bytes, of the logical queue for informative and, potential, future | in bytes, of the logical queue for informative and, potential, future | |||
uses. Currently, only DSCP to logical queue index value mapping is | uses. Currently, only DSCP to logical queue index value mapping is | |||
used in flow control operation. | used in flow control operation. | |||
skipping to change at page 4, line 18 ¶ | skipping to change at page 4, line 31 ¶ | |||
3. Extension Usage and Identification | 3. Extension Usage and Identification | |||
The use of the extension defined in this document SHOULD be | The use of the extension defined in this document SHOULD be | |||
configurable. To indicate that the DiffServ Aware Credit Windowing | configurable. To indicate that the DiffServ Aware Credit Windowing | |||
Extension is to be used, an implementation MUST include the DiffServ | Extension is to be used, an implementation MUST include the DiffServ | |||
Aware Credit Windowing Type Value in the Extensions Supported Data | Aware Credit Windowing Type Value in the Extensions Supported Data | |||
Item. The Extensions Supported Data Item is sent and processed | Item. The Extensions Supported Data Item is sent and processed | |||
according to [I-D.ietf-manet-dlep]. | according to [I-D.ietf-manet-dlep]. | |||
The DiffServ Aware Credit Windowing Extension Type Value is TBA1, see | The DiffServ Aware Credit Windowing Extension Type Value is TBA1, see | |||
Section 8. | Section 9. | |||
4. Extension Messages | 4. Data Plane Considerations | |||
When the use of the extension defined in this document is agreed upon | ||||
per standard DLEP processing, see Section 3, a router MUST NOT send | ||||
data to a modem for forwarding when there are no credits available in | ||||
the associated Credit Window. | ||||
5. Extension Messages | ||||
Two new messages are defined by this extension: the Credit Control | Two new messages are defined by this extension: the Credit Control | |||
and the Credit Control Response message. Sending and receiving both | and the Credit Control Response message. Sending and receiving both | |||
message types MUST be supported by any implementation that advertises | message types MUST be supported by any implementation that advertises | |||
use of this extension per Section 3. | use of this extension per Section 3. | |||
4.1. Credit Control Message | 5.1. Credit Control Message | |||
Credit Control Messages are sent by modems to provide Credit | Credit Control Messages are sent by modems to provide Credit | |||
Increments. For messages sent by modems, only one message per MAC | Increments. For messages sent by modems, only one message per MAC | |||
address can be outstanding at one time. That is, a modem MUST NOT | address can be outstanding at one time. That is, a modem MUST NOT | |||
send a second (or any subsequent) message containing the same MAC | send a second (or any subsequent) message containing the same MAC | |||
Address until a Credit Control Response message is received from its | Address until a Credit Control Response message is received from its | |||
peer router with that MAC address. | peer router with that MAC address. | |||
Credit Control Messages MAY be sent by routers, e.g., to request | Credit Control Messages MAY be sent by routers, e.g., to request | |||
credits or provide window status. No specific response message is | credits or provide window status. No specific response message is | |||
required from a message transaction perspective. | required from a message transaction perspective. | |||
[TBD: Should anything be said about sending, or limiting, multiple | [TBD: Should anything be said about sending, or limiting, multiple | |||
credit requests?] | credit requests?] | |||
The Message Type value in the DLEP Message Header is set to TBA2. | The Message Type value in the DLEP Message Header is set to TBA2. | |||
The message MUST contain a DLEP MAC Address Data Item. | The message MUST contain a DLEP MAC Address Data Item. | |||
A message sent by a modem, MUST contain one or more DiffServ Aware | A message sent by a modem, MUST contain one or more DiffServ Aware | |||
Credit Grant data items as defined below in Section 5.2. A router | Credit Grant data items as defined below in Section 6.2. A router | |||
receiving this message MUST respond with a Credit Control Response | receiving this message MUST respond with a Credit Control Response | |||
Message. | Message. | |||
A message sent by a router, MUST contain the DiffServ Aware Credit | A message sent by a router, MUST contain the DiffServ Aware Credit | |||
Request data item defined below in Section 5.4. A modem receiving | Request data item defined below in Section 6.4. A modem receiving | |||
this message MUST provide a Credit Increment for the indicated MAC | this message MUST provide a Credit Increment for the indicated MAC | |||
address and queue indexes via a new Credit Control Message. | address and queue indexes via a new Credit Control Message. | |||
Specific processing associated with each Credit data item is provided | Specific processing associated with each Credit data item is provided | |||
below. | below. | |||
4.2. Credit Control Response Message | 5.2. Credit Control Response Message | |||
Credit Control Response Messages are sent by routers to report the | Credit Control Response Messages are sent by routers to report the | |||
current Credit Window for a destination. | current Credit Window for a destination. | |||
The Message Type value in the DLEP Message Header is set to TBA3. | The Message Type value in the DLEP Message Header is set to TBA3. | |||
The message MUST contain a DLEP MAC Address Data Item. | The message MUST contain a DLEP MAC Address Data Item. | |||
A message sent by a router, MUST contain one or more DiffServ Aware | A message sent by a router, MUST contain one or more DiffServ Aware | |||
Credit Window Status data items as defined below in Section 5.3. | Credit Window Status data items as defined below in Section 6.3. | |||
Specific processing associated with the DA Credit Window Status data | Specific processing associated with the DA Credit Window Status data | |||
item is provided below. | item is provided below. | |||
5. Extension Data Items | 6. Extension Data Items | |||
Four data items are defined by this extension. The Queue Parameters | Four data items are defined by this extension. The Queue Parameters | |||
Data Item is used by a modem to provide information on the DSCPs it | Data Item is used by a modem to provide information on the DSCPs it | |||
uses in forwarding. The DA Credit Grant is used by a modem to | uses in forwarding. The DA Credit Grant is used by a modem to | |||
provide credits to a router. The DA Credit Request is used by a | provide credits to a router. The DA Credit Request is used by a | |||
router to request additional credits. The DA Credit Window Status is | router to request additional credits. The DA Credit Window Status is | |||
used to advertise the sender's view of number of available credits | used to advertise the sender's view of number of available credits | |||
for synchronization purposes. | for synchronization purposes. | |||
The defined data items and operations are similar to those found in | The defined data items and operations are similar to those found in | |||
[I-D.ietf-manet-credit-window]. One notable difference from this | [I-D.ietf-manet-credit-window]. One notable difference from this | |||
extension is that in this document credits are never provided by the | extension is that in this document credits are never provided by the | |||
router to the modem. | router to the modem. | |||
5.1. Queue Parameters | 6.1. Queue Parameters | |||
The Queue Parameters Data Item is used by a modem to indicate DSCP | The Queue Parameters Data Item is used by a modem to indicate DSCP | |||
values that may be independently controlled. This data item MUST be | values that may be independently controlled. This data item MUST be | |||
included in a Session Initialization Response Message that also | included in a Session Initialization Response Message that also | |||
contains the DiffServ Aware Credit Windowing Extension Type Value in | contains the DiffServ Aware Credit Windowing Extension Type Value in | |||
the Extensions Supported Data Item. Updates to these parameters MAY | the Extensions Supported Data Item. Updates to these parameters MAY | |||
be sent by a modem by including the data item in Session Update | be sent by a modem by including the data item in Session Update | |||
Messages. | Messages. | |||
The Queue Parameters Data Item identifies DSCPs based on groups of | The Queue Parameters Data Item identifies DSCPs based on groups of | |||
skipping to change at page 8, line 13 ¶ | skipping to change at page 8, line 48 ¶ | |||
The DS Field structure is the same as [RFC2474]. | The DS Field structure is the same as [RFC2474]. | |||
0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
+---+---+---+---+---+---+---+---+ | +---+---+---+---+---+---+---+---+ | |||
| DSCP | CU | | | DSCP | CU | | |||
+---+---+---+---+---+---+---+---+ | +---+---+---+---+---+---+---+---+ | |||
DSCP: differentiated services codepoint | DSCP: differentiated services codepoint | |||
CU: currently unused, MUST be zero | CU: currently unused, MUST be zero | |||
5.2. DiffServ Aware (DA) Credit Grant | 6.2. DiffServ Aware (DA) Credit Grant | |||
The DiffServ Aware, or DA, Credit Grant data item is used by a modem | The DiffServ Aware, or DA, Credit Grant data item is used by a modem | |||
to provide credits to a router. One or more DA Credit Grant data | to provide credits to a router. One or more DA Credit Grant data | |||
items MAY be carried in the DLEP Destination Up, Destination Announce | items MAY be carried in the DLEP Destination Up, Destination Announce | |||
Response, Destination Update, and Credit Control messages. Multiple | Response, Destination Update, and Credit Control messages. Multiple | |||
DA Credit Grant data items in a single message are used to indicated | DA Credit Grant data items in a single message are used to indicated | |||
different credit values for different logical queues. | different credit values for different logical queues. | |||
In Destination type messages, this data item provides the total | In Destination type messages, this data item provides the total | |||
number of octets available in the Credit Window to the destination | number of octets available in the Credit Window to the destination | |||
indicated in the message for the specified logical queues. In the | indicated in the message for the specified logical queues. In the | |||
Credit Control message, this data item provides an additional number | Credit Control message, this data item provides an additional number | |||
of octets to be added to the Credit Window to the destination | of octets to be added to the Credit Window to the destination | |||
indicated in the message for the specified logical queues. | indicated in the message for the specified logical queues. | |||
Logical queues are identified using a Queue Index as defined above in | Logical queues are identified using a Queue Index as defined above in | |||
Section 5.1. Multiple Queue Indexes MAY be present to allow for the | Section 6.1. Multiple Queue Indexes MAY be present to allow for the | |||
case where same credit information applies to multiple queues. As | case where same credit information applies to multiple queues. As | |||
mentioned above, multiple DA Credit Grant Data Items MAY be present | mentioned above, multiple DA Credit Grant Data Items MAY be present | |||
to provide different queue-specific credit information in one | to provide different queue-specific credit information in one | |||
message. The special Queue Index value of 255 is used to indicate | message. The special Queue Index value of 255 is used to indicate | |||
that the credit information applies to all queues. | that the credit information applies to all queues. | |||
The format of the DA Credit Grant Data Item is: | The format of the DA Credit Grant Data Item is: | |||
0 1 2 3 | 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 | 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 | |||
skipping to change at page 10, line 5 ¶ | skipping to change at page 10, line 38 ¶ | |||
(0xFFFFFFFFFFFFFFFF). | (0xFFFFFFFFFFFFFFFF). | |||
Independent of the received message, the receiving router MUST send a | Independent of the received message, the receiving router MUST send a | |||
DA Credit Window Status data item or items reflecting the resulting | DA Credit Window Status data item or items reflecting the resulting | |||
Credit Window value of each modified queue index. When the Credit | Credit Window value of each modified queue index. When the Credit | |||
Grant data item is received in a Destination Up message, the DA | Grant data item is received in a Destination Up message, the DA | |||
Credit Window Status data item(s) MUST be sent in the corresponding | Credit Window Status data item(s) MUST be sent in the corresponding | |||
Destination Up Response message. In all other cases, the a Credit | Destination Up Response message. In all other cases, the a Credit | |||
Control message MUST be sent. | Control message MUST be sent. | |||
5.3. DiffServ Aware (DA) Credit Window Status | 6.3. DiffServ Aware (DA) Credit Window Status | |||
The DiffServ Aware, or DA, Credit Window Status data item is used by | The DiffServ Aware, or DA, Credit Window Status data item is used by | |||
a router to report the current Credit Window to its peer modem. One | a router to report the current Credit Window to its peer modem. One | |||
or more DA Credit Window Status data items MAY be carried in a | or more DA Credit Window Status data items MAY be carried in a | |||
Destination Up Response message or a Credit Control Response message. | Destination Up Response message or a Credit Control Response message. | |||
As discussed above, the Destination Up Response message is used when | As discussed above, the Destination Up Response message is used when | |||
the data item is sent in response to a Destination Up message, and | the data item is sent in response to a Destination Up message, and | |||
the Credit Control Response message is sent in response to a Credit | the Credit Control Response message is sent in response to a Credit | |||
Control message. Multiple DA Credit Window Status data items in a | Control message. Multiple DA Credit Window Status data items in a | |||
single message are used to indicated different credit window values | single message are used to indicated different credit window values | |||
for different logical queues. | for different logical queues. | |||
Similar to the DA Credit Grant, logical queues are identified using a | Similar to the DA Credit Grant, logical queues are identified using a | |||
Queue Index as defined above in Section 5.1. Multiple Queue Indexes | Queue Index as defined above in Section 6.1. Multiple Queue Indexes | |||
MAY be present to allow for the case where same credit information | MAY be present to allow for the case where same credit information | |||
applies to multiple queues. Multiple DA Credit Window Status Data | applies to multiple queues. Multiple DA Credit Window Status Data | |||
Items are used to provide different queue-specific credit window | Items are used to provide different queue-specific credit window | |||
information in one message. The special Queue Index value of 255 is | information in one message. The special Queue Index value of 255 is | |||
used to indicate that the Credit Window information applies to all | used to indicate that the Credit Window information applies to all | |||
queues. | queues. | |||
The format of the DA Credit Window Status Data Item is: | The format of the DA Credit Window Status Data Item is: | |||
0 1 2 3 | 0 1 2 3 | |||
skipping to change at page 11, line 30 ¶ | skipping to change at page 12, line 15 ¶ | |||
were sent. If the values significantly differ, i.e., greater than | were sent. If the values significantly differ, i.e., greater than | |||
can be accounted for based on observed data frames, then the modem | can be accounted for based on observed data frames, then the modem | |||
SHOULD send a Destination Update message carrying a DA Credit Grant | SHOULD send a Destination Update message carrying a DA Credit Grant | |||
data item to reset the associated Credit Window(s) to the data item | data item to reset the associated Credit Window(s) to the data item | |||
indicated value. Multiple values and queue indexes SHOULD be | indicated value. Multiple values and queue indexes SHOULD be | |||
combined into a single Destination Update Control message when | combined into a single Destination Update Control message when | |||
possible. Alternatively, and also in cases where there are small | possible. Alternatively, and also in cases where there are small | |||
differences, the modem MAY adjust the values sent in DA Credit Grant | differences, the modem MAY adjust the values sent in DA Credit Grant | |||
data items to account for the reported Credit Window. | data items to account for the reported Credit Window. | |||
5.4. DiffServ Aware (DA) Credit Request | 6.4. DiffServ Aware (DA) Credit Request | |||
The DiffServ Aware, or DA, Credit Request Data Item data item is used | The DiffServ Aware, or DA, Credit Request Data Item data item is used | |||
by a router to request additional credits for a specific destination | by a router to request additional credits for a specific destination | |||
and Queue Index associated Credit window. DA Credit Request data | and Queue Index associated Credit window. DA Credit Request data | |||
items are carried in Credit Control messages, and only one DA Credit | items are carried in Credit Control messages, and only one DA Credit | |||
Request data item SHOULD be present in a message. | Request data item SHOULD be present in a message. | |||
Logical queues are identified using a Queue Index as defined above in | Logical queues are identified using a Queue Index as defined above in | |||
Section 5.1. Multiple Queue Indexes MAY be present to allow for the | Section 6.1. Multiple Queue Indexes MAY be present to allow for the | |||
case where the credit request applies to multiple queues. The | case where the credit request applies to multiple queues. The | |||
special Queue Index value of 255 is used to indicate that a credit | special Queue Index value of 255 is used to indicate that a credit | |||
request is being made across all queues. | request is being made across all queues. | |||
The format of the DA Credit Request Data Item is: | The format of the DA Credit Request Data Item is: | |||
0 1 2 3 | 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 | 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 | Length | | |||
skipping to change at page 12, line 39 ¶ | skipping to change at page 13, line 17 ¶ | |||
One or more 8-bit fields used to indicate a queue index defined by | 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 | a Queue Parameters Data Item. The special value of 255 indicates | |||
that the request applies to all queue indexes. | that the request applies to all queue indexes. | |||
A modem receiving this data item MUST provide a Credit Increment for | A modem receiving this data item MUST provide a Credit Increment for | |||
the indicated MAC address and queue indexes via a DA Credit Grant | the indicated MAC address and queue indexes via a DA Credit Grant | |||
carried in a new Credit Control Message. Multiple values and queue | carried in a new Credit Control Message. Multiple values and queue | |||
indexes SHOULD be combined into a single Credit Control message when | indexes SHOULD be combined into a single Credit Control message when | |||
possible. | possible. | |||
6. Compatibility | 7. Compatibility | |||
Sessions established with both peers identified as supporting the | Sessions established with both peers identified as supporting the | |||
DiffServ Aware Credit Windowing Extension Type, see Section 3, SHOULD | DiffServ Aware Credit Windowing Extension Type, see Section 3, SHOULD | |||
NOT use the [I-D.ietf-manet-credit-window] defined Credit data items. | NOT use the [I-D.ietf-manet-credit-window] defined Credit data items. | |||
If a node supporting the extension defined in this document, receives | If a node supporting the extension defined in this document, receives | |||
a [I-D.ietf-manet-credit-window] defined data item, the recipient | a [I-D.ietf-manet-credit-window] defined data item, the recipient | |||
MUST treat the received credit information as applying to Queue Index | MUST treat the received credit information as applying to Queue Index | |||
zero (0). | zero (0). | |||
7. Security Considerations | 8. Security Considerations | |||
The extension introduces a DiffServ awareness to the mechanisms | The extension introduces a DiffServ awareness to the mechanisms | |||
defined in [I-D.ietf-manet-credit-window]. The extension does not | defined in [I-D.ietf-manet-credit-window]. The extension does not | |||
inherently introduce any additional threats above those documented in | inherently introduce any additional threats above those documented in | |||
[I-D.ietf-manet-dlep]. The approach taken to Security in that | [I-D.ietf-manet-dlep]. The approach taken to Security in that | |||
document and [I-D.ietf-manet-credit-window] apply equally when | document and [I-D.ietf-manet-credit-window] apply equally when | |||
running the extension defined in this document. | running the extension defined in this document. | |||
8. IANA Considerations | 9. IANA Considerations | |||
This document requests the assignment of 5 values by IANA. All | This document requests the assignment of 5 values by IANA. All | |||
assignments are to registries defined by [I-D.ietf-manet-dlep]. | assignments are to registries defined by [I-D.ietf-manet-dlep]. | |||
8.1. Extension Type Value | 9.1. Extension Type Value | |||
This document requests 1 new assignment to the DLEP Extensions | This document requests 1 new assignment to the DLEP Extensions | |||
Registry named "Extension Tyoe Values" in the range with the | Registry named "Extension Tyoe Values" in the range with the | |||
"Specification Required" policy. The requested value is as follows: | "Specification Required" policy. The requested value is as follows: | |||
+------+---------------------------------+ | +------+---------------------------------+ | |||
| Code | Description | | | Code | Description | | |||
+------+---------------------------------+ | +------+---------------------------------+ | |||
| TBA1 | DiffServ Aware Credit Windowing | | | TBA1 | DiffServ Aware Credit Windowing | | |||
+------+---------------------------------+ | +------+---------------------------------+ | |||
Table 1: Requested Extension Type Value | Table 1: Requested Extension Type Value | |||
8.2. Message Values | 9.2. Message Values | |||
This document requests 2 new assignments to the DLEP Message Registry | This document requests 2 new assignments to the DLEP Message Registry | |||
named "Message Values" in the range with the "Specification Required" | named "Message Values" in the range with the "Specification Required" | |||
policy. The requested values are as follows: | policy. The requested values are as follows: | |||
+-----------+-------------------------+ | +-----------+-------------------------+ | |||
| Type Code | Description | | | Type Code | Description | | |||
+-----------+-------------------------+ | +-----------+-------------------------+ | |||
| TBA2 | Credit Control | | | TBA2 | Credit Control | | |||
| | | | | | | | |||
| TBA3 | Credit Control Response | | | TBA3 | Credit Control Response | | |||
+-----------+-------------------------+ | +-----------+-------------------------+ | |||
Table 2: Requested Message Values | Table 2: Requested Message Values | |||
8.3. Data Item Values | 9.3. Data Item Values | |||
This document requests 4 new assignments to the DLEP Data Item | This document requests 4 new assignments to the DLEP Data Item | |||
Registry named "Data Item Values" in the range with the | Registry named "Data Item Values" in the range with the | |||
"Specification Required" policy. The requested values are as | "Specification Required" policy. The requested values are as | |||
follows: | follows: | |||
+-----------+-------------------------+ | +-----------+-------------------------+ | |||
| Type Code | Description | | | Type Code | Description | | |||
+-----------+-------------------------+ | +-----------+-------------------------+ | |||
| TBA4 | Queue Parameters | | | TBA4 | Queue Parameters | | |||
| | | | | | | | |||
| TBA5 | DA Credit Grant | | | TBA5 | DA Credit Grant | | |||
| | | | | | | | |||
| TBA6 | DA Credit Window Status | | | TBA6 | DA Credit Window Status | | |||
| | | | | | | | |||
| TBA7 | DA Credit Request | | | TBA7 | DA Credit Request | | |||
+-----------+-------------------------+ | +-----------+-------------------------+ | |||
Table 3: Requested Data Item Values | Table 3: Requested Data Item Values | |||
9. References | 10. References | |||
9.1. Normative References | 10.1. Normative References | |||
[I-D.ietf-manet-dlep] | [I-D.ietf-manet-dlep] | |||
Ratliff, S., Jury, S., Satterwhite, D., Taylor, R., and (. | Ratliff, S., Jury, S., Satterwhite, D., Taylor, R., and B. | |||
(Unknown), "Dynamic Link Exchange Protocol (DLEP)", draft- | Berry, "Dynamic Link Exchange Protocol (DLEP)", draft- | |||
ietf-manet-dlep-24 (work in progress), July 2016. | ietf-manet-dlep-28 (work in progress), March 2017. | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<http://www.rfc-editor.org/info/rfc2119>. | <http://www.rfc-editor.org/info/rfc2119>. | |||
9.2. Informative References | 10.2. Informative References | |||
[I-D.ietf-manet-credit-window] | [I-D.ietf-manet-credit-window] | |||
Ratliff, S., "Credit Windowing extension for DLEP", draft- | Ratliff, S., "Credit Windowing extension for DLEP", draft- | |||
ietf-manet-credit-window-04 (work in progress), April | ietf-manet-credit-window-07 (work in progress), November | |||
2016. | 2016. | |||
[RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, | [RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, | |||
"Definition of the Differentiated Services Field (DS | "Definition of the Differentiated Services Field (DS | |||
Field) in the IPv4 and IPv6 Headers", RFC 2474, | Field) in the IPv4 and IPv6 Headers", RFC 2474, | |||
DOI 10.17487/RFC2474, December 1998, | DOI 10.17487/RFC2474, December 1998, | |||
<http://www.rfc-editor.org/info/rfc2474>. | <http://www.rfc-editor.org/info/rfc2474>. | |||
[RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z., | [RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z., | |||
and W. Weiss, "An Architecture for Differentiated | and W. Weiss, "An Architecture for Differentiated | |||
Services", RFC 2475, DOI 10.17487/RFC2475, December 1998, | Services", RFC 2475, DOI 10.17487/RFC2475, December 1998, | |||
<http://www.rfc-editor.org/info/rfc2475>. | <http://www.rfc-editor.org/info/rfc2475>. | |||
Appendix A. Open and Resolved Issues | ||||
This section captures issues that are open or have been addressed | ||||
since the document has become a WG draft. This section will be | ||||
removed before submission for publication. | ||||
A.1. Merge with [I-D.ietf-manet-credit-window] | ||||
There has been discussion within the WG that this document should be | ||||
merged with [I-D.ietf-manet-credit-window]. The timing of this is | ||||
TBD. The authors would like to reach closure on some of the | ||||
remaining open issues before embarking on this merge, but are open to | ||||
discussion with the WG and other authors. | ||||
A.2. Credit Windows Shared Across Destinations | ||||
The DA Credit Extension supports credit windows per mac destination. | ||||
Some media technologies share queues across all, or even some set of, | ||||
destinations and supporting an associated set of credit windows isn't | ||||
currently supported. | ||||
Supporting credit windows per modem, i.e., for a single transmit | ||||
channel, is clearly required and needs to be supported. | ||||
Credit windows for sets of mac addresses should also be considered | ||||
and discussed within the working group, both from a requirements and | ||||
support perspective. | ||||
This issue was reported by Stan Ratliff <ratliffstan@gmail.com>. | ||||
A.3. Supporting Router Limits | ||||
Routers may have limits on the number of queues that they can support | ||||
and, perhaps, if per destination queues can even be supported at all. | ||||
There is no current way for a router to communicate these limits to a | ||||
modem or for a router to indicate that the identified queue | ||||
information cannot be supported. Support for these cases clearly | ||||
needs to be addressed. | ||||
This issue was reported by Stan Ratliff <ratliffstan@gmail.com>. | ||||
A.4. Absolute vs Increment | ||||
Stan Ratliff <ratliffstan@gmail.com> suggested an approach to | ||||
simplify credit synchronization and re-synchronization by always | ||||
passing the credit window size rather than credit window increments. | ||||
This is an interesting idea that needs to be explored and perhaps | ||||
experimented with. | ||||
A.5. Alternate Format Encoding | ||||
The format of the Queue Parameters Data Item is a bit cumbersome and | ||||
there has been some discussion of a possible better way of encoding | ||||
lists and optional information elements within Data Items. There has | ||||
been some discussion of developing a generic mechanisms for use by | ||||
DLEP and future DLEP Data Items. Such a definition is beyond the | ||||
scope of this document, but if such becomes available there is every | ||||
reason for this document to leverage this improved encoding. This | ||||
issue will remain open until such a time as there is a such a | ||||
definition within the WG or this document is otherwise ready for | ||||
publication. | ||||
This issue was independently raised by both David Wiggins (co-author) | ||||
and Rick Taylor <rick@tropicalstormsoftware.com>. | ||||
A.6. Bidirectional Flow Control (closed) | ||||
One of the key differences between this draft and | ||||
[I-D.ietf-manet-credit-window] is that this document only supports | ||||
flow control in one direction, i.e., for traffic sent from a router | ||||
to a modem, while the other credit-window draft supports it in both | ||||
directions. | ||||
This was a conscious choice, made out of the desire to keep the | ||||
extension as simple as possible and to provide what is really | ||||
expected to be used. Clearly the reason for being able to control | ||||
traffic that is sent from the router to the modem/radio is pretty | ||||
easily understood. Also, while bidirectional flow control existed in | ||||
pre-dlep solutions, it wasn't really used. There is also no reason | ||||
why router to modem flow control can't be defined at a later time - | ||||
once there is an actual need. | ||||
Based on a brief discussion on the WG list, and the absence of any | ||||
advocates for bidirectional flow control, there is no current plan to | ||||
add bidirectional flow control to this document. | ||||
Authors' Addresses | Authors' Addresses | |||
Bow-Nan Cheng | Bow-Nan Cheng | |||
Lincoln Laboratory | Lincoln Laboratory | |||
Massachusetts Institute of Technology | Massachusetts Institute of Technology | |||
244 Wood Street | 244 Wood Street | |||
Lexington, MA 02420-9108 | Lexington, MA 02420-9108 | |||
Email: bcheng@ll.mit.edu | Email: bcheng@ll.mit.edu | |||
End of changes. 34 change blocks. | ||||
52 lines changed or deleted | 156 lines changed or added | |||
This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |