| rfc8703xml2.original.xml | rfc8703.xml | |||
|---|---|---|---|---|
| <?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 radi | ||||
| o 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 t | ||||
| he 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 ap | ||||
| pear 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 Des | ||||
| tination | ||||
| 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> termin | ||||
| ate 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 Re | ||||
| sponse | ||||
| 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 prope | ||||
| rties 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 publ | ||||
| ic 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 vali | ||||
| d 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</bc | ||||
| p14> 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 o | ||||
| f 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 Addr | ||||
| ess,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 ro | ||||
| uter | ||||
| 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 termina | ||||
| te the DLEP | ||||
| session; rather, it <bcp14>SHOULD</bcp14> use a combination of DLEP Sessi | ||||
| on 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 M | ||||
| AC 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" re | ||||
| gistry | ||||
| 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/referen | ||||
| ce.RFC.2119.xml"/> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | ||||
| ce.RFC.8174.xml"/> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | ||||
| ce.RFC.8175.xml"/> | ||||
| </references> | ||||
| <references> | ||||
| <name>Informative References</name> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | ||||
| ce.RFC.8126.xml"/> | ||||
| </references> | ||||
| </references> | ||||
| </back> | ||||
| </rfc> | ||||
| End of changes. 1 change blocks. | ||||
| lines changed or deleted | 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/ | ||||