Network Working Group B. Cheng
Internet-Draft MIT Lincoln Laboratory
Intended status: Standards Track L. Berger, Ed.
Expires: November 6, 2019 LabN Consulting, L.L.C.
May 5, 2019

Dynamic Link Exchange Protocol (DLEP) Multi-Hop Forwarding Extension
draft-ietf-manet-dlep-multi-hop-extension-07

Abstract

This document defines an extension to the Dynamic Link Exchange Protocol (DLEP) that enables the reporting and control of Multi-Hop Forwarding by DLEP capable modems.

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 https://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 November 6, 2019.

Copyright Notice

Copyright (c) 2019 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 (https://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.


Table of Contents

1. Introduction

The Dynamic Link Exchange Protocol (DLEP) is defined in [RFC8175]. It provides the exchange of link related control information between 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.

Some modem technologies support mobile ad hoc network (MANET) forwarding where connectivity to destinations is provided via forwarding in intermediate modems. This document refers to forwarding by intermediate modems as 'multi-hop forwarding'. DLEP Destination messages can be used to report such reachable destinations, see [RFC8175], but do not provide any information related to the number or capacity of the hops. The extension defined in this document enables modems to inform routers when multi-hop forwarding is being used, and routers to request that modems change multi-hop forwarding behavior. The extension defined in this document is referred to as "Multi-Hop Forwarding", where each modem that transmits/sends data to reach a particular destination is counted as a hop.

It is important to note that the use of the hop control mechanism defined in this document can result in connectivity changes and even loss of the ability to reach one or more destinations. The defined mechanism will report such connectivity changes, but the details of what a router does or how it reacts to such are out scope of this document.

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 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

2. Extension Usage and Identification

The use of the Multi-Hop Forwarding Extension SHOULD be configurable. Per [RFC8175], to indicate that the extension is to be used, an implementation includes the Multi-Hop Forwarding Extension Type Value in the Extensions Supported Data Item. The Extensions Supported Data Item is sent and processed according to [RFC8175].

The Multi-Hop Forwarding Extension Type Value is TBA1, see Section 5.

3. Extension Data Items

Three data items are defined by this extension. The Hop Count Data Item is used by a modem to provide the number of modem hops traversed to reach a particular destination. The Hop Control Data Item is used by a router to request that a modem alter connectivity to a particular destination. The Suppress Forwarding Data Item is used by a router to request that a modem disable multi-hop forwarding on either a device or destination basis.

3.1. Hop Count

The Hop Count Data Item is used by a modem to indicate the number of modems that transmit/send data to reach a particular destination, i.e., hops, between the modem and a specific destination. In other words, each hop represents a transmission and the number of hops is equal to the number of transmissions required to go from a router connected modem to the destination's connected modem. The minimum number of hops is 1, which represents transmission to destinations that are directly reachable via the router's locally connected modem.

The data item also contains an indication of when a destination which currently has a hop count of greater than one (1) could be made directly reachable by a modem, e.g., by re-aiming an antenna.

The Hop Count Data Item SHOULD be carried in the Destination Up, Destination Update, Destination Announce Response, and Link Characteristics Response Messages when the Hop Count to a destination is greater than one (1).

A router receiving a Hop Count Data Item can use this information in its forwarding and routing decisions, and specific use is out of scope of this document. When using this extension, the absence of the Hop Count Data Item MUST be interpreted by the router as a Hop Count value of one (1).

The format of the Hop Count 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                        |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |P|  Reserved   |   Hop Count   |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Data Item Type:
TBA2
Length:
2
P:


The P-bit indicates that a destination is potentially directly reachable. When the P-bit is set, the router MAY request a direct link to the associated destination using the Hop Control Data Item described below. This field MUST be ignored when the value contained in the Hop Count field is one (1).
Reserved:


MUST be set to zero by the sender (a modem) and ignored by the receiver (a router).
Hop Count:


An unsigned 8-bit integer indicating the number of modem hops required (i.e., number of times a packet will be transmitted) to reach the destination indicated in the message. The special value of 255 (0xFF) is used to indicate that the number of hops is an unknown number greater than one (1). This field MUST contain a value of at least one (1) if the associated destination is reachable.

A value of zero (0) is used to indicate that processing of a Hop Control action, see Section 3.2, has resulted in the destination no longer being reachable. A zero value MUST NOT be used in any message other than a Link Characteristics Response Message.

3.2. Hop Control

The Hop Control Data Item is used by a router to request a change in connectivity to a particular destination, or in multi-hop processing on a device wide basis. A router can request that a multi-hop reachable destination be changed to a single hop. A router can also indicate that the modem terminates a previous direct connectivity request to a particular destination.

The Hop Control Data Item MAY be carried in a Session Update Message sent by a router when the control applies to the whole device, or a Link Characteristics Request Message when the control applies to a particular destination.

A modem that receives the Hop Control Data Item in a Link Characteristics Request Message SHOULD take whatever actions are needed to make the change indicated by the data item for the associated destination MAC address. Once the change is made, fails or is rejected, the modem MUST respond with a Link Characteristics Response Message containing an updated Hop Count Data Item. Note that other destinations can be impacted as a result of the change and such changes are reported in Destination Down and Destination Update Messages. The modem MUST notify the router of each destination that is not identified in the Link Characteristics Response Message and is no longer reachable via a Destination Down Message. The modem MUST also notify the router of each impacted destination that is not identified in the Link Characteristics Response Message via a Destination Update Message.

Failures may occur for multiple reasons, for example, the transmission characteristics of the link don't support the one-hop connection at the time of the request. Requests can be rejected by local policy.

A modem that receives the Hop Control Data Item in a Session Update Message SHOULD take whatever actions are needed to make the change indicated by the data item for all known destinations. Once the change is made, or fails or is rejected, the modem MUST respond with a Session Update Response Message with an appropriate Status Code. Destination specific impact resulting from the processing of a Hop Control Data Item in a Session Update Message is provided via Destination Down and Destination Update Messages. The modem MUST notify the router of each destination that is no longer reachable via a Destination Down Message. The modem MUST notify the router of any changes in Hop Counts via Destination Update Messages.

The format of the Hop Control 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                        |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |       Hop Control Actions     |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Data Item Type:
TBA3
Length:
2
Hop Control Actions:


An unsigned 16-bit value with the following meaning:

Hop Control Actions Values
Value Action
0 Reset
1 Terminate
2 Direct Connection
3 Suppress Forwarding

3.2.1. Reset

The Reset Action requests that the default behavior be restored. When received in a Session Update Message message, a modem MUST clear all control actions that have previously been processed on a device wide basis, and revert to its configured behavior. When received in a Link Characteristics Request Message, a modem MUST clear all control actions that have previously been processed for the destination indicated in the message.

3.2.2. Terminate

The Terminate Action is only valid on a per destination basis and MUST NOT be sent in a Session Update Message message. It indicates that a direct connection is no longer needed with the destination identified in the message. This request has no impact for multi-hop destinations and may fail even in a single hop case, i.e. can result in the Hop Count to the destination not being impacted by the processing of the request.

3.2.3. Direct Connection

The Direct Connection Action is only valid on a per destination basis and MUST NOT be sent in a Session Update Message message. It indicates that the modem SHOULD attempt to establish a direct connection with the destination identified in the message. This action SHOULD only be sent for destinations for which the Hop Count is greater than 1 and has the P-Bit set in the previously received Hop Count Data Item. Results of the request for the destination identified in the message are provided as described above.

3.2.4. Suppress Forwarding

The Suppress Forwarding Action is used by a router to indicate to its peer that multi-hop forwarding performed by the modem is to be suppressed. A router can request that multi-hop forwarding may be suppressed on a device wide or destination specific basis.

A modem that receives the Suppress Forwarding Data Item in a Session Update Message MUST suppress multi-hop forwarding on a device wide basis. This means that data traffic originating from the modem's peer router SHALL only be sent by the modem to destinations that are one modem hop away, and that any data traffic received by the modem from another modem that is not destined to the peer router SHALL be dropped. Impact to destination hop counts are provided to the router by the modem as described above.

A modem that receives the Suppress Forwarding Data Item in a Link Characteristics Request Message MUST suppress multi-hop forwarding for only the destination indicated in the message. This means that data traffic originating from the modem's peer router SHALL be sent by the modem to the destination indicated in the Link Characteristics Request Message only when it is one modem hop away. Notably, data traffic received by the modem from another modem can be forwarded by the modem per its normal processing. Results are provided as described above.

4. Security Considerations

The extension enables the reporting and control of forwarding information by DLEP capable modems. The extension does not inherently introduce any additional vulnerabilities above those documented in [RFC8175]. The approach taken to Security in that document applies equally when running the extension defined in this document.

This extension does define one mechanism that is worth particular note. This extension includes a Hop Control mechanism, see Section 3.2, that is similar to the Link Characteristics Request Message defined in [RFC8175] in that it can impact the set of destinations reported as reachable. With the Link Characteristics Request Message, this risk is implicit. With the Hop Control mechanism defined in this document it is more likely. From a security perspective, implementations should be aware of this increased risk and may choose to implement additional configuration control mechanisms to ensure that the Hop Control mechanism is only used under conditions intended by the network operator.

Implementations of the extension defined in this document MUST support configuration of TLS usage, as describe in [RFC8175], in order to protect configurations where injection attacks are possible, i.e., when the link between a modem and router is not otherwise protected.

Note that this extension does allow a compromised or impersonating modem to suppress transmission by the router or a switch that interconnects the modem and router. Similar attacks are generally possible base DLEP, for example an impersonating modem may cause a session reset or a compromised modem simply can drop all traffic destined to, or sent by a router. [RFC8175] defines the use of TLS to protect against the impersonating attacker.

5. IANA Considerations

This document requests the assignment of 3 values by IANA. All assignments are to registries defined by [RFC8175]. It also requests creation of one new registry.

5.1. Extension Type Value

This document requests 1 new assignment to the DLEP Extensions Registry named "Extension Type Values" in the range with the "Specification Required" policy. The requested value is as follows:

Requested Extension Type Value
Code Description
TBA1 Multi-Hop Forwarding

5.2. Data Item Values

This document requests 2 new assignments to the DLEP Data Item Registry named "Data Item Type Values" in the range with the "Specification Required" policy. The requested values are as follows:

Requested Data Item Values
Type Code Description
TBA2 Hop Count
TBA3 Hop Control

5.3. Hop Control Actions Registry

Upon approval of this document, IANA is requested to create a new DLEP registry, named "Hop Control Actions Values". The following table provides initial registry values and the [RFC8126] defined policies that should apply to the registry:

Hop Control Actions Values
Value Action/Policy
0 Reset
1 Terminate
2 Direct Connection
3 Suppress Forwarding
4-65519 Specification Required
65520-65534 Private Use
65535 Reserved

6. References

6.1. Normative References

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017.
[RFC8175] Ratliff, S., Jury, S., Satterwhite, D., Taylor, R. and B. Berry, "Dynamic Link Exchange Protocol (DLEP)", RFC 8175, DOI 10.17487/RFC8175, June 2017.

6.2. Informative References

[RFC8126] Cotton, M., Leiba, B. and T. Narten, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 8126, DOI 10.17487/RFC8126, June 2017.

Appendix A. Acknowledgments

Helpful comments were received from members of the MANET working grouping, including Henning Rogge, Victoria Pritchard and David Wiggins.

Authors' Addresses

Bow-Nan Cheng MIT Lincoln Laboratory Massachusetts Institute of Technology 244 Wood Street Lexington, MA 02421-6426 EMail: bcheng@ll.mit.edu
Lou Berger (editor) LabN Consulting, L.L.C. EMail: lberger@labn.net