<?xml version='1.0' encoding='utf-8'?> <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent"> <rfc number="8703" consensus="true" xmlns:xi="http://www.w3.org/2001/XInclude" category="std" ipr="trust200902" docName="draft-ietf-manet-dlep-lid-extension-06" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" symRefs="true" sortRefs="true" version="3"> <!-- xml2rfc v2v3 conversion 2.35.0 --> <front> <title abbrev="DLEP Link Identifier Extension"> Dynamic Link Exchange Protocol (DLEP) Link Identifier Extension</title> <seriesInfo name="RFC" value="8703"/> <author initials="R." surname="Taylor" fullname="Rick Taylor"> <organization>Airbus Defence & Space</organization> <address> <postal> <extaddr>Quadrant House</extaddr> <extaddr>Celtic Springs</extaddr> <extaddr>Coedkernew</extaddr> <city>Newport</city> <code>NP10 8FZ</code> <country>United Kingdom</country> </postal> <email>rick.taylor@airbus.com</email> </address> </author> <author fullname="Stan Ratliff" initials="S." surname="Ratliff"> </author> <date month="February" year="2020"/> <area>Routing</area> <workgroup>Mobile Ad hoc Networks Working Group</workgroup> <keyword>DLEP</keyword> <keyword>MANET</keyword> <keyword>Link-Aware</keyword> <keyword>Radio-Aware</keyword> <abstract> <t>The Dynamic Link Exchange Protocol (DLEP) is a protocol for modems to advertise the status of wireless links between reachable destinations to attached routers. The core specification of the protocol (RFC 8175) assumes that every modem in the radio network has an attached DLEP router and requires that the Media Access Control (MAC) address of the DLEP interface on the attached router be used to identify the destination in the network, for purposes of reporting the state and quality of the link to that destination. </t> <t>This document describes a DLEP extension that allows modems that do not meet the strict requirement above to use DLEP to describe link availability and quality to one or more destinations reachable beyond a device on the Layer 2 domain. </t> </abstract> </front> <middle> <section anchor="introduction" toc="default" numbered="true"> <name>Introduction</name> <t>The Dynamic Link Exchange Protocol (DLEP) is a protocol for modems to advertise the status of wireless links between reachable destinations to attached routers. The core specification of the protocol <xref target="RFC8175"/> assumes that every modem in the radio network has an attached DLEP router and requires that the MAC address of the DLEP interface on the attached router be used to identify the destination in the network, for purposes of reporting the state and quality of the link to that destination. </t> <t>This document describes a DLEP extension that allows modems that do not meet the strict requirement above to use DLEP to describe link availability and quality to one or more destinations reachable beyond a device on the Layer 2 domain. </t> <t>As with core DLEP <xref target="RFC8175"/>, a router can use this knowledge to influence any routing or flow-control decisions regarding traffic to this destination, understanding that such traffic flows via Layer 3. </t> <section anchor="terminology" toc="default" numbered="true"> <name>Terminology</name> <dl newline="false" spacing="normal"> <dt>Local Layer 2 domain:</dt> <dd>The Layer 2 domain that links the router and modem participants of the current DLEP session. </dd> <dt>Layer 3 DLEP Destination:</dt> <dd>A DLEP Destination that is not directly addressable within the local Layer 2 domain but is reachable via a node addressable within the local Layer 2 domain. </dd> <dt>Gateway Node:</dt> <dd>The last device with a MAC address reachable in the local Layer 2 domain on the path from the DLEP router participant towards the Layer 3 DLEP Destination. This device is commonly the DLEP peer modem but could be another DLEP Destination in the Layer 2 domain. </dd> </dl> </section> <section anchor="applicability" toc="default" numbered="true"> <name>Applicability</name> <t>This extension was designed primarily to address the following use cases: </t> <ol spacing="normal" type="1"> <li>A radio system that does not operate in Layer 2 bridge mode but instead provides Layer 3 connectivity between destinations, often using its own embedded Layer 3 routing function. </li> <li>A point-to-multipoint tunnel system, such as a software-defined wide-area network (SD-WAN) deployment, where the tunnel provider acts as a modem that has knowledge of the characteristics of the underlay network and provides that information as availability and metrics between tunnel endpoints in the overlay network. </li> <li>A modem that provides connectivity to a remote wide-area network via a wireless link, but the concept of a Layer 2 reachable remote router does not apply. An example of such a modem would be an LTE device or 802.11 station that provides variable connectivity to the Internet. </li> </ol> <t>This list of use cases is not exhaustive, and this extension may well be applicable to future, currently unforeseen, use cases. </t> </section> <section anchor="requirements" toc="default" numbered="true"> <name>Requirements Language</name> <t> The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here. </t> </section> </section> <section anchor="operation" toc="default" numbered="true"> <name>Operation</name> <t>To refer to a Layer 3 DLEP Destination, the DLEP session participant adds a Link Identifier Data Item (<xref target="lid_di" format="default"></xref>) to the relevant Destination Message and (as usual) includes a MAC Address Data Item. When paired with a Link Identifier Data Item, the MAC Address Data Item <bcp14>MUST</bcp14> contain the MAC address of the Gateway Node. </t> <t>As only modems are initially aware of Layer 3 DLEP Destinations, Link Identifier Data Items referring to a new link <bcp14>MUST</bcp14> first appear in a DLEP Destination Up Message from the modem to the router. Once a link has been identified in this way, Link Identifier Data Items may be used by either DLEP participant during the lifetime of a DLEP session. Because of this, a router <bcp14>MUST NOT</bcp14> send a DLEP Destination Announce Message containing a Link Identifier Data Item referring to a link that has not been mentioned in a prior DLEP Destination Up Message. If a modem receives such a message, it <bcp14>MUST</bcp14> terminate the session by issuing a Session Termination Message containing a Status Data Item with status code set to 131 ('Invalid Destination') and transition to the Session Termination state. If a router receives a Destination Up Message specifying a Link Identifier that has already been used, the router <bcp14>MUST</bcp14> respond with a Destination Up Response Message containing a Status Data Item with status code set to 130 ('Invalid Data') and transition to the Session Termination state. </t> <t>Because the MAC address associated with any DLEP Destination Message containing a Link Identifier Data Item is not the Layer 2 address of the final destination, all DLEP Destination Up Messages containing a Link Identifier Data Item <bcp14>MUST</bcp14> contain Layer 3 information. In the case of modems that provide Layer 3 wide area network connectivity between devices, this means one or more IPv4 or IPv6 Address Data Items providing the Layer 3 address of the final destination. When referring to some upstream backbone network infrastructures, this means one or more IPv4 or IPv6 Attached Subnet Data Items, for example: '0.0.0.0/0' or '::/0'. This mechanism allows the DLEP peer router to understand the properties of the link to those routes. The address or addresses in the IPv4 or IPv6 Address Data Items <bcp14>MUST</bcp14> be the addresses in use on the public side of any Network Address Translation. </t> <t>When the DLEP peer router wishes to route packets to the Layer 3 DLEP Destination, the MAC address associated with the Gateway Node <bcp14>MUST</bcp14> be used as the Layer 2 destination of the packet if it wishes to use the modem network to forward the packet. </t> <t>As routers populate their Routing Information Base with the IP address of the next-hop router towards a destination, implementations supporting this extension <bcp14>SHOULD</bcp14> announce at least one valid IPv4 or IPv6 addresses of the Gateway Node; this removes the need for the router to use an additional IP address resolution protocol before adding the route to its Routing Information Base. </t> <section anchor="identifier-restrictions" toc="default" numbered="true"> <name>Identifier Restrictions</name> <t>A Link Identifier is, by default, 4 octets in length. If a modem wishes to use a Link Identifier of a different length, it <bcp14>MUST</bcp14> be announced using the Link Identifier Length Data Item (<xref target="lid_len_di" format="default"></xref>) contained in the DLEP Session Initialization Response Message sent by the modem to the router.</t> <t>During the lifetime of a DLEP session, the length of Link Identifiers <bcp14>MUST</bcp14> remain constant, i.e., the Length field of the Link Identifier Data Item <bcp14>MUST NOT</bcp14> differ between destinations. </t> <t>The method for generating Link Identifiers is a modem implementation matter and out of scope of this document. Routers must not make any assumptions about the meaning of Link Identifiers or how Link Identifiers are generated. </t> <t>Within a single DLEP session, all Link Identifiers <bcp14>MUST</bcp14> be unique per MAC address. This means that a Layer 3 DLEP Destination is uniquely identified by the pair: {MAC Address,Link Identifier}. </t> <t>Link Identifiers <bcp14>MUST NOT</bcp14> be reused, i.e., a {MAC Address,Link Identifier} pair that has been used to refer to one Layer 3 DLEP Destination <bcp14>MUST NOT</bcp14> be used again within the lifetime of a single DLEP peer-to-peer session. </t> </section> <section anchor="negotiation" toc="default" numbered="true"> <name>Negotiation</name> <t>To use this extension, as with all DLEP extensions, the extension <bcp14>MUST</bcp14> be announced during DLEP session initialization. A router advertises support by including the value 3 ('Link Identifiers') (<xref target="tbd" format="default"></xref>), in the Extension Data Item within the Session Initialization Message. A modem advertises support by including the value 3 ('Link Identifiers') in the Extension Data Item within the Session Initialization Response Message. If both DLEP peers advertise support for this extension, then Link Identifier Data Items can be included in DLEP Messages. </t> <t>If a modem requires support for this extension in order to describe destinations and the router does not advertise support, then the modem <bcp14>MUST NOT</bcp14> include a Link Identifier Data Item in any DLEP Message. However, the modem <bcp14>SHOULD NOT</bcp14> immediately terminate the DLEP session; rather, it <bcp14>SHOULD</bcp14> use a combination of DLEP Session Messages and DLEP Attached Subnet Data Items to provide general information. </t> </section> </section> <section anchor="new-data-items" toc="default" numbered="true"> <name>New Data Items</name> <t>This extension introduces two new DLEP Data Items: 1) the Link Identifier Length Data Item (<xref target="lid_len_di" format="default"></xref>) used to announce the length of Link Identifiers at session initialization and 2) the Link Identifier Data Item (<xref target="lid_di" format="default"></xref>) used to identify a Layer 3 link at or beyond a destination. </t> <section anchor="lid_len_di" toc="default" numbered="true"> <name>Link Identifier Length Data Item</name> <t>The Link Identifier Length Data Item is used by a DLEP modem implementation to specify the length of Link Identifier Data Items. If the router advertised support by including the value 3 ('Link Identifiers') in the Extension Data Item inside the Session Initialization Message, this Data Item <bcp14>MAY</bcp14> be used in the Session Initialization Response Message if the specified length is not the default value of 4 octets. If the router did not specify support by including the value 3 ('Link Identifiers') in the Extension Data Item, this Data Item <bcp14>MUST NOT</bcp14> be sent. </t> <artwork name="" type="" align="left" alt=""><![CDATA[ 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link Identifier Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ]]></artwork> <dl newline="false" spacing="normal"> <dt>Data Item Type:</dt> <dd> 26 (see <xref target="tbd"></xref>) </dd> <dt>Length:</dt> <dd>2 </dd> <dt>Link Identifier Length:</dt> <dd>The length, in octets, of Link Identifiers used by the DLEP modem for this session. </dd> </dl> <t>A Link Identifier Length Data Item that specifies a Link Identifier Length of 4 octets (the default) is valid, even if it has no effect. </t> </section> <section anchor="lid_di" toc="default" numbered="true"> <name>Link Identifier Data Item</name> <t>The Link Identifier Data Item <bcp14>MAY</bcp14> be used wherever a MAC Address Data Item is defined as usable in core DLEP <xref target="RFC8175"/>. </t> <artwork name="" type="" align="left" alt=""><![CDATA[ 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link Identifier... : +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ]]></artwork> <dl newline="false" spacing="normal"> <dt>Data Item Type:</dt> <dd> 27 (see <xref target="tbd"></xref>) </dd> <dt>Length:</dt> <dd>The length of the Data Item, by default 4, but may be different if a Link Identifier Length Data Item (<xref target="lid_len_di"></xref>) has been announced during session initialization.</dd> <dt>Link Identifier:</dt> <dd>The unique identifier of the Layer 3 DLEP Destination. This Link Identifier has no implicit meaning and is only used to discriminate between multiple links. </dd> </dl> </section> </section> <section anchor="security-considerations" toc="default" numbered="true"> <name>Security Considerations</name> <t>As an extension to core DLEP <xref target="RFC8175"/>, the security considerations of that protocol apply to this extension. This extension adds no additional security mechanisms or features. </t> <t>None of the features introduced by this extension require extra security considerations by an implementation. </t> </section> <section anchor="tbd" toc="default" numbered="true"> <name>IANA Considerations</name> <t>IANA has assigned the following value to the "Extension Type Values" registry within the "Dynamic Link Exchange Protocol (DLEP) Parameters" registry. This new value is in the range with the "Specification Required" <xref target="RFC8126"/> policy. </t> <table anchor="iana1" align="left"> <name>Addition to the Extension Type Values Registry</name> <thead> <tr> <th>Code</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>3</td> <td>Link Identifiers</td> </tr> </tbody> </table> <t>IANA has assigned two new values to the "Data Item Type Values" registry within the "Dynamic Link Exchange Protocol (DLEP) Parameters" registry. These new values are in the range with the "Specification Required" <xref target="RFC8126"/> policy. </t> <table anchor="iana2" align="left"> <name>Additions to the Data Item Type Values Registry</name> <thead> <tr> <th>Type Code</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>26</td> <td>Link Identifier Length</td> </tr> <tr> <td>27</td> <td>Link Identifier</td> </tr> </tbody> </table> </section> </middle> <back> <references> <name>References</name> <references> <name>Normative References</name> <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/> <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/> <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8175.xml"/> </references> <references> <name>Informative References</name> <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8126.xml"/> </references> </references> </back> </rfc>