RFC 8629 PROPOSED STANDARD DLEP · MANET · ROUTING

Dynamic Link Exchange Protocol (DLEP) Multi-Hop Forwarding Extension

A DLEP extension that lets a modem report how many hops away a destination is, and lets a router steer that forwarding.

On rfc-editor.org ↗
PUBLISHED
July 2019
AUTHORS
B. Cheng, L. Berger
STREAM
IETF
EXTENSION TYPE VALUE
1
HOP COUNT DATA ITEM TYPE
21
HOP CONTROL DATA ITEM TYPE
22
HOP COUNT FIELD
8 bits; 255 means unknown, greater than one
MINIMUM HOP COUNT
1 (directly reachable)
DOI
10.17487/RFC8629

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Internet Engineering Task Force (IETF)                          B. Cheng
Request for Comments: 8629                        MIT Lincoln Laboratory
Category: Standards Track                                 L. Berger, Ed.
ISSN: 2070-1721                                  LabN Consulting, L.L.C.
                                                               July 2019


  Dynamic Link Exchange Protocol (DLEP) Multi-Hop Forwarding Extension

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 is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 7841.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   https://www.rfc-editor.org/info/rfc8629.

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  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Key Words . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Extension Usage and Identification  . . . . . . . . . . . . .   3
   3.  Extension Data Items  . . . . . . . . . . . . . . . . . . . .   3
     3.1.  Hop Count . . . . . . . . . . . . . . . . . . . . . . . .   3
     3.2.  Hop Control . . . . . . . . . . . . . . . . . . . . . . .   5
       3.2.1.  Reset . . . . . . . . . . . . . . . . . . . . . . . .   6
       3.2.2.  Terminate . . . . . . . . . . . . . . . . . . . . . .   7
       3.2.3.  Direct Connection . . . . . . . . . . . . . . . . . .   7
       3.2.4.  Suppress Forwarding . . . . . . . . . . . . . . . . .   7
   4.  Security Considerations . . . . . . . . . . . . . . . . . . .   8
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   8
     5.1.  Extension Type Value  . . . . . . . . . . . . . . . . . .   8
     5.2.  Data Item Values  . . . . . . . . . . . . . . . . . . . .   9
     5.3.  Hop Control Actions Registry  . . . . . . . . . . . . . .   9
   6.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  10
     6.1.  Normative References  . . . . . . . . . . . . . . . . . .  10
     6.2.  Informative References  . . . . . . . . . . . . . . . . .  10
   Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . .  10
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  10

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 allows 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 indicates 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 1 (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's
   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 that
   currently has a hop count of greater than one (1) could be made
   directly reachable by a modem, e.g., by reaiming 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, but 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:  21

   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:

      The Reserved field MUST be set to zero by the sender (a modem) and
      ignored by the receiver (a router).

   Hop Count:

      The Hop Count is 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 the 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 to perform multi-hop
   processing on a device-wide basis.  A router can request that a
   multi-hop-reachable destination be changed to a single-hop
   destination.  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 Media Access Control (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, fails, or is rejected, the modem MUST respond with a
   Session Update Response Message with an appropriate Status Code.  The
   destination-specific impact of processing 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:  22

   Length:  2

   Hop Control Actions:

      The Hop Control Actions field is an unsigned 16-bit value with the
      following meaning:

                      +-------+---------------------+
                      | Value | Action              |
                      +-------+---------------------+
                      | 0     | Reset               |
                      | 1     | Terminate           |
                      | 2     | Direct Connection   |
                      | 3     | Suppress Forwarding |
                      +-------+---------------------+

                    Table 1: Hop Control Actions Values

3.2.1.  Reset

   The Reset Action requests that the default behavior be restored.
   When received in a Session Update 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.  It indicates that a
   direct connection is no longer needed with the destination identified
   in the message.  This request has no impact on multi-hop destinations
   and may fail even in a single-hop case, i.e., it 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.  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 both 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 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.  The impact on 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 defined in this document 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.

   The extension does define one mechanism that is worth particular
   note.  It 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 described 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 for DLEP, for example, an impersonating modem may cause a
   session reset or cause a compromised modem to simply 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

   As described below, IANA has assigned 3 values to registries defined
   by [RFC8175] and created a new registry.

5.1.  Extension Type Value

   IANA has registered the following new value in the Specification
   Required range of the "Extension Type Values" registry within the
   "Dynamic Link Exchange Protocol (DLEP) Parameters" registry.

                      +------+----------------------+
                      | Code | Description          |
                      +------+----------------------+
                      | 1    | Multi-Hop Forwarding |
                      +------+----------------------+

                  Table 2: Requested Extension Type Value

5.2.  Data Item Values

   IANA has registered the following 2 values in the Specification
   Required range of the "Data Item Type Values" registry within the
   "Dynamic Link Exchange Protocol (DLEP) Parameters" registry.

                        +-----------+-------------+
                        | Type Code | Description |
                        +-----------+-------------+
                        | 21        | Hop Count   |
                        | 22        | Hop Control |
                        +-----------+-------------+

                    Table 3: Requested Data Item Values

5.3.  Hop Control Actions Registry

   IANA has created the "Hop Control Actions Values" registry within the
   "Dynamic Link Exchange Protocol (DLEP) Parameters" registry.  The
   following table provides initial registry values and the registration
   procedures [RFC8126] that apply:

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

                    Table 4: Hop Control Actions Values

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,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

   [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,
              <https://www.rfc-editor.org/info/rfc8175>.

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,
              <https://www.rfc-editor.org/info/rfc8126>.

Acknowledgments

   Helpful comments were received from members of the MANET working
   group, 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

AI ELI5

On this page
PROBLEMSome modems forward traffic through intermediate modems, but DLEP destination messages say nothing about the number of hops involved.
MECHANISMThe extension adds a Hop Count data item that modems send, and a Hop Control data item that routers send to request a direct connection, end one, reset, or suppress multi-hop forwarding.
WHY IT MATTERSRouters learn when multi-hop forwarding is in use and can ask the modem to change it, though what a router does with that information is out of scope.

§1Why a Multi-Hop Extension

The Dynamic Link Exchange Protocol (DLEP, RFC 8175) carries link information between a modem and a router, and allows extensions. RFC 8629 defines one extension for modems that support mobile ad hoc network (MANET) forwarding, where destinations are reached through intermediate modems.

DLEP Destination messages can report reachable destinations, but nothing about the number or capacity of the hops. This extension lets a modem tell the router when multi-hop forwarding is in use, and lets the router ask the modem to change that behavior. Each modem that transmits data on the way to a destination counts as one hop.

The RFC warns that Hop Control can change connectivity and even make destinations unreachable. The mechanism reports such changes, but what a router does about them is out of scope.

Sometimes a message hops through several radios to arrive. This extension lets the router find out how many hops, and ask for changes.

§2Turning the Extension On

Use of the Multi-Hop Forwarding extension SHOULD be configurable. To say it is in use, an implementation includes the extension type value in the Extensions Supported data item, which is sent and processed as in RFC 8175. The Multi-Hop Forwarding extension type value is 1.

The extension defines three data items: Hop Count (modem to router), Hop Control (router to modem), and a Suppress Forwarding action carried within Hop Control.

Both sides say they understand this extra feature, just like agreeing on a secret handshake before using it.

§3The Hop Count Data Item

A modem uses the Hop Count data item (type 21, length 2) to give the number of modem transmissions needed to reach a destination. The minimum is 1, meaning the destination is directly reachable through the router's local modem. It SHOULD be carried in Destination Up, Destination Update, Destination Announce Response and Link Characteristics Response messages when the hop count is greater than one. If the item is absent, the router MUST treat the hop count as 1.

The 8-bit Hop Count field holds the number of hops. The value 255 means an unknown number greater than one. Zero means a Hop Control action has left the destination unreachable, and zero MUST NOT be used in any message other than a Link Characteristics Response. A reachable destination MUST have a value of at least 1.

The P bit says a destination is potentially directly reachable, for example by reaiming an antenna. When set, the router MAY request a direct link. The bit MUST be ignored when the hop count is 1. Reserved bits MUST be zero when sent.

It is a counter: how many radios have to pass the message along. One means it goes straight there.

HOP COUNT DATA ITEM
Hop Count data item
FieldNameSizeValueDescription
TYPEData Item Type2 bytes21Set to 21.
LENGTHLength2 bytes2Set to 2.
PP1 bitsDestination is potentially directly reachable.
RESERVEDReserved7 bitsZero when sent, ignored on receipt.
HOPSHop Count1 byteModem hops to the destination; 255 means unknown, greater than one.

§4Hop Control Actions

A router uses the Hop Control data item (type 22, length 2) to change connectivity to one destination or to apply multi-hop processing device-wide. It MAY be carried in a Session Update message (whole device) or a Link Characteristics Request message (one destination). The 16-bit action field has four values.

  • Reset clears earlier control actions, device-wide or for the destination, and restores configured behavior.
  • Terminate says a direct connection is no longer needed. It is per-destination only and MUST NOT be sent in a Session Update.
  • Direct Connection asks the modem to try for a direct link. It is per-destination only, and SHOULD be sent only where the hop count is above 1 and the P bit was set.
  • Suppress Forwarding stops multi-hop forwarding. Device-wide, traffic from the router goes only to destinations one hop away and other modems' traffic not meant for the router is dropped. For one destination, the router's traffic to it is sent only when it is one hop away, while forwarding of traffic from other modems continues as normal.

After a change succeeds, fails or is rejected, the modem MUST respond with a Link Characteristics Response (or Session Update Response) with an updated Hop Count. The modem MUST report newly unreachable destinations with Destination Down and changed ones with Destination Update. Failures can happen, for example when link characteristics cannot support a one-hop connection, and requests can be rejected by local policy.

The router can say: try to go straight there, stop trying, go back to normal, or do not pass other people's messages along.

HOP CONTROL ACTION VALUES
  • 0Reset — Restore default behavior.
  • 1Terminate — Direct connection no longer needed (per destination only).
  • 2Direct Connection — Try to set up a direct link (per destination only).
  • 3Suppress Forwarding — Stop multi-hop forwarding, device-wide or per destination.

§5Security and IANA

The extension adds no vulnerabilities beyond those in RFC 8175, but Hop Control deserves care. It can change which destinations are reachable, and the risk is more likely than with the Link Characteristics Request. Implementations may add configuration controls so Hop Control is used only as the operator intends. Implementations MUST support configuring TLS use as in RFC 8175, to protect setups where injection attacks are possible. A compromised or impersonating modem could suppress transmission by the router or by a switch that connects them.

IANA registered extension type 1 (Multi-Hop Forwarding) and data item types 21 (Hop Count) and 22 (Hop Control). It also created the Hop Control Actions registry: values 0 to 3 are the four actions, 4-65519 is Specification Required, 65520-65534 is Private Use and 65535 is Reserved.

Because the router can change how messages travel, only trusted devices should be allowed to give those orders, and the link should be protected.

§6References