RFC 8629
Dynamic Link Exchange Protocol (DLEP) Multi-Hop Forwarding Extension
Dynamic Link Exchange Protocol (DLEP) Multi-Hop Forwarding Extension β¨
RFC 8629 π published July 2019 by the IETF, as a Standards Track document (ISSN 2070-1721).
- Authors: B. Cheng (MIT Lincoln Laboratory) and L. Berger, Ed. (LabN Consulting, L.L.C.)
- Category: Standards Track, so this is an official Internet Standards Track document π
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
okay so this is an Internet Standards Track document π
It's a product of the Internet Engineering Task Force (IETF), and it represents the consensus of the IETF community. It got public review and was approved for publication by the Internet Engineering Steering Group (IESG). If you want more on Internet Standards, check out Section 2 of RFC 7841 πΈ
Info about the current status of this document, any errata, and how to give feedback is 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. Please read these carefully, because they describe your rights and restrictions for 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 they're 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 π
DLEP is defined in [RFC8175]. It's the protocol that swaps link-related control info between a modem and a router. DLEP has a base set of mechanisms plus support for possible extensions, and this document defines one of those extensions π§
Some modem technologies support mobile ad hoc network (MANET) forwarding, where you reach destinations by having intermediate modems forward your traffic. This document calls that forwarding by intermediate modems "multi-hop forwarding" β¨ DLEP Destination Messages can report these reachable destinations (see [RFC8175]), but they don't tell you anything about how many hops there are or how much capacity they have, which is lowkey a problem π
So this extension lets modems tell routers when multi-hop forwarding is in use, and lets routers ask modems to change how they forward. It's called "Multi-Hop Forwarding", and every modem that transmits or sends data to reach a destination counts as a hop π
β οΈ Heads up, bestie: using the Hop Control mechanism from this document can change connectivity, and it can even make one or more destinations unreachable. The mechanism reports those changes, but what a router does about them, or how it reacts, is out of scope for this document. π
This document defines a new DLEP Extension Type Value in Section 2, which signals that the extension is being used. It also defines 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 read as described in BCP 14 [RFC2119] [RFC8174], but only when they show up in all capitals, just like they do here π
2. Extension Usage and Identification π¦
The Multi-Hop Forwarding Extension SHOULD be configurable. πΈ
To say that the extension is in use, an implementation puts the Multi-Hop Forwarding Extension Type Value in the Extensions Supported Data Item, per [RFC8175]. The Extensions Supported Data Item gets sent and processed according to [RFC8175] too β¨
The Multi-Hop Forwarding Extension Type Value is 1 (see Section 5) π
3. Extension Data Items π
This extension defines three data items π§
- The Hop Count Data Item is how a modem tells you how many modem hops it took to reach a particular destination.
- The Hop Control Data Item is how a router asks a modem to change connectivity to a particular destination.
- The Suppress Forwarding Data Item is how a router asks a modem to turn off multi-hop forwarding, either per device or per destination.
3.1. Hop Count π
The Hop Count Data Item is how a modem indicates the number of modems that transmit or send data to reach a particular destination (aka hops) between the modem and a specific destination. Basically, every hop is one transmission, so the number of hops equals the number of transmissions needed to go from a router's connected modem to the destination's connected modem π The minimum is 1, which covers destinations you can reach directly through the router's locally connected modem.
The data item also says when a destination with a hop count greater than one (1) could be made directly reachable by a modem, like 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 whenever the Hop Count to a destination is greater than one (1). β¨
A router that gets a Hop Count Data Item can use it in forwarding and routing decisions, but the specific use is out of scope for this document. When this extension is in use, a router MUST interpret the absence of the Hop Count Data Item as a Hop Count value of one (1). π
Here's the format of the Hop Count Data Item π
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: 21Length: 2P: This is the P-bit. It says a destination is potentially directly reachable. When the P-bit is set, a router MAY ask for a direct link to that destination using the Hop Control Data Item (described in Section 3.2). If the value in theHop Countfield is one (1), thePfield MUST be ignored. πReserved: The sender (a modem) MUST set this to zero, and the receiver (a router) MUST ignore it. πΈHop Count: This is an unsigned 8-bit integer that gives the number of modem hops needed to reach the destination in the message. That's the number of times a packet will be transmitted. The special value 255 (0xFF) means the number of hops is unknown but greater than one (1). If the associated destination is reachable, this field MUST contain a value of at least one (1). β¨
A value of zero (0) means the Hop Control action (see Section 3.2) left the destination unreachable. A zero value MUST NOT be used in any message other than a Link Characteristics Response Message. π
(Part 2 is coming next, bestie. Stay tuned π¦)
3.2. Hop Control π¦
okay bestie, the Hop Control Data Item is how a router asks for a change in connectivity to one particular destination, or asks for multi-hop processing across the whole device π . A router can ask for a multi-hop-reachable destination to become a single-hop destination β¨. It can also say 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. It can also ride in a Link Characteristics Request Message when the control applies to a particular destination π.
When a modem gets the Hop Control Data Item in a Link Characteristics Request Message, it SHOULD do whatever is needed to make the change for the associated destination Media Access Control (MAC) address π§. Once the change is made, fails, or gets rejected, the modem MUST send back a Link Characteristics Response Message that has an updated Hop Count Data Item π¬. Note that other destinations can get affected by the change too π. Those changes get reported in Destination Down and Destination Update Messages. The modem MUST tell the router, via a Destination Down Message, about each destination that isn't in the Link Characteristics Response Message and is no longer reachable π. The modem MUST ALSO tell the router, via a Destination Update Message, about each impacted destination that isn't in the Link Characteristics Response Message π«Ά.
Failures can happen for lots of reasons, like the link's transmission characteristics not supporting the one-hop connection when the request comes in π‘. Requests can also get rejected by local policy π ββοΈ.
When a modem gets the Hop Control Data Item in a Session Update Message, it SHOULD do whatever is needed to make the change for all known destinations π. Once the change is made, fails, or gets rejected, the modem MUST send back 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 shared through Destination Down and Destination Update Messages π. The modem MUST tell the router about each destination that is no longer reachable via a Destination Down Message π. The modem MUST tell the router about any changes in Hop Counts via Destination Update Messages π§.
Here's the format of the Hop Control Data Item π:
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
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 π
Reset is basically the "take me back to normal" button π. The Reset Action requests that the default behavior be restored. When a modem gets it in a Session Update Message, the modem MUST clear all control actions that were previously processed on a device-wide basis, and go back to its configured behavior β¨. When a modem gets it in a Link Characteristics Request Message, the modem MUST clear all control actions that were previously processed for the destination named in the message π .
3.2.2. Terminate πͺ
Terminate is only valid per destination, and it MUST NOT be sent in a Session Update Message π ββοΈ. It says that a direct connection is no longer needed with the destination named in the message. This request has no impact on multi-hop destinations πΈ. It may also fail even in a single-hop case. In other words, it can end up with the Hop Count to the destination not being impacted by processing the request π« .
3.2.3. Direct Connection π€
Direct Connection is also only valid per destination, and it MUST NOT be sent in a Session Update Message π«. It says the modem SHOULD try to set up a direct connection with the destination named in the message β¨. This action SHOULD only be sent for destinations where the Hop Count is greater than 1 AND has the P-Bit set in the previously received Hop Count Data Item π. Results for the destination named in the message are shared the same way as described above π.
3.2.4. Suppress Forwarding π
Suppress Forwarding is how a router tells its peer that the multi-hop forwarding done by the modem should be shut down π. A router can ask for multi-hop forwarding to be suppressed on a device-wide basis or for a specific destination π.
When a modem gets the Suppress Forwarding Data Item in a Session Update Message, it MUST suppress multi-hop forwarding device-wide π€. That means data traffic from the modem's peer router SHALL only be sent by the modem to destinations that are one modem hop away π§. It also means any data traffic the modem gets from another modem that isn't destined for the peer router SHALL be dropped ποΈ. The impact on destination hop counts gets reported to the router by the modem, as described above π.
When a modem gets the Suppress Forwarding Data Item in a Link Characteristics Request Message, it MUST suppress multi-hop forwarding for ONLY the destination named in the message π―. That means data traffic from the modem's peer router SHALL be sent by the modem to the destination named in the Link Characteristics Request Message only when that destination is one modem hop away π«Ά. Notably, data traffic the modem gets from another modem can still be forwarded by the modem per its normal processing πββοΈ. Results get reported as described above π.
4. Security Considerations π¨
Okay this part is serious bestie, so read it carefully π₯Ί. The extension defined in this document enables reporting and control of forwarding information by DLEP-capable modems π‘. It does not inherently add any vulnerabilities beyond the ones documented in [RFC8175] π. The security approach taken in that document applies just as much when you run the extension defined in this document π‘οΈ.
The extension does define one mechanism that's worth special attention π. It includes a Hop Control mechanism (see Section 3.2) that's similar to the Link Characteristics Request Message defined in [RFC8175], because it can change 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's more likely π©. From a security perspective, implementations should be aware of this increased risk, and they may choose to add extra configuration controls so the Hop Control mechanism is only used under conditions the network operator intends π§.
Implementations of the extension defined in this document MUST support configuring TLS usage, as described in [RFC8175], so they can protect configurations where injection attacks are possible π. That's the case when the link between a modem and a router isn't otherwise protected π.
Note that this extension does allow a compromised or impersonating modem to suppress transmission by the router, or by a switch that interconnects the modem and router π±. Similar attacks are generally possible for DLEP too. For example, an impersonating modem may cause a session reset, or a compromised modem may 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 it has 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, which lives 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, which lives 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 table below gives the 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 π
Last stop, bestie! Here's who wrote this and how to slide into their inbox π«Ά
Bow-Nan Cheng from MIT Lincoln Laboratory π
Bow-Nan Cheng
MIT Lincoln Laboratory
Massachusetts Institute of Technology
244 Wood Street
Lexington, MA 02421-6426
Email: bcheng@ll.mit.edu
And Lou Berger, the editor who kept everything together π
Lou Berger (editor)
LabN Consulting, L.L.C.
Email: lberger@labn.net
π¦ where this page comes from
- ietf: rfc8629 2019-07
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms