<?xml version='1.0' encoding='utf-8'?>
<?xml-model href="rfc7991bis.rnc"?>
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" docName="draft-ietf-manet-dlep-channel-utilization-04" ipr="trust200902" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" tocDepth="4" symRefs="true" sortRefs="true" version="3" consensus="true">
  <front>
    <title abbrev="DLEP Channel Utilization">DLEP Radio Channel Utilization Extension</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-manet-dlep-channel-utilization-04"/>
    <author fullname="Henning Rogge" initials="H.R." surname="Rogge">
      <organization>Fraunhofer FKIE</organization>
      <address>
        <postal>
          <street>Fraunhofer Strasse 20</street>
          <city>Wachtberg</city>
          <region/>
          <code>53343</code>
          <country>DE</country>
        </postal>
        <email>henning.rogge@fkie.fraunhofer.de</email>
      </address>
    </author>
    <date year="2026"/>
    <area>Routing</area>
    <workgroup>Manet</workgroup>
    <keyword>DLEP</keyword>
    <keyword>PHY</keyword>
    <keyword>TLV</keyword>
    <abstract>
      <t>This document defines an extension to the Dynamic Link Exchange Protocol (DLEP) to provide the utilization of a radio channel.</t>
    </abstract>
  </front>
  <middle>
    <section numbered="true" toc="default">
      <name>Introduction</name>
      <t>The Dynamic Link Exchange Protocol (DLEP) is defined in
        <xref target="RFC8175" format="default"/>.
        It provides the exchange of link-related control information
        between DLEP peers. DLEP peers are comprised of 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.
        
        Radio channel utilization provides a packet/frame independent measurement
        how a radio channel is used and how much resources are still available.
        While incoming and outgoing traffic can be easily measured on the router, the
        amount of airtime used by management traffic of the radio is invisible to the
        router, as is unicast traffic between two adjacent radios (unless the radio
        supports promiscous mode). This could present the a fully utilized radio channel
        to the router as totally empty.
        Getting a direct radio level information how much time on the radio channel has
        been used up by incoming or outgoing data or control frames allows a router to
        calculate a better routing metric or allows management
        agents to detect a channel being unusable for communication because of
        external jamming.</t>
      <section numbered="true" toc="default">
        <name>Requirements Language</name>
        <t>In many IETF documents, several words, when they are in all capitals
          as shown below, are used to signify the requirements in the
          specification.  These capitalized words can bring significant clarity
          and consistency to documents because their meanings are well defined.
          This document defines how those words are interpreted in IETF
          documents when the words are in all capitals.</t>
        <ul>
          <li>These words can be used as defined here, but using them is not
            required.  Specifically, normative text does not require the use
            of these key words.  They are used for clarity and consistency
            when that is what's wanted, but a lot of normative text does not
            use them and is still normative.</li>
          <li>The words have the meanings specified herein only when they are in
            all capitals.</li>
          <li>When these words are not capitalized, they have their normal
            English meanings and are not affected by this document.</li>
        </ul>
        <t>Authors who follow these guidelines should incorporate this phrase
          near the beginning of their document:</t>
        <ul empty="true">
          <li>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 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
            appear in all capitals, as shown here.</li>
        </ul>
      </section>
    </section>
    <section numbered="true" toc="default">
      <name>Extension Usage and Identification</name>
      <t>The use of the Channel Utilization Extension SHOULD be
        configurable. To indicate that the Channel Utilization Extension
        is to be used, an implementation MUST include the Radio Channel Utilization Extension ID in the Extensions Supported Data Item. The Extensions Supported Data Item is sent and processed according to
        <xref target="RFC8175" format="default"/>.</t>
      <t>The Channel Utilization TLVs can be used by the router to improve the tracking of channel usage by different radios and give a more exact estimate how much free capacity the channel has currently.
        This information can be used for adjusting timing intervals between automatically generated data, e.g. HELLO messages of the local routing protocol.</t>
      <t>All four Data Items are 64 bit unsigned integers time measurements in nanoseconds since an arbitrary starting point, e.g. the radio bootup. Each value monotonically increases for the entire duration of the DLEP session; they are never reset.</t>
      <t>Each of the four data items tracks the time the radio is in a certain type of operation.</t>
      <table>
        <name>Channel utilization data types</name>
        <thead>
          <tr>
            <td>Type</td>
            <td>Description</td>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>Active</td>
            <td>Time the radio has been operational and able to interact with the channel</td>
          </tr>
          <tr>
            <td>Busy</td>
            <td>Time the radio channel was blocked for an arbitrary reason</td>
          </tr>
          <tr>
            <td>RX</td>
            <td>Time the radio was receiving data</td>
          </tr>
          <tr>
            <td>TX</td>
            <td>Time the radio was transmitting data</td>
          </tr>
        </tbody>
      </table>
      <t>A radio that doesn't track the time for receiving (RX) and transmitting (TX) data explicitly MUST add all time intervals the radio channel is not free into the Radio Channel Busy Data Item.</t>
      <t>The time the radio channel has been free can be calculated by substracting the values of Busy, Rx and Tx from the value provided by the Radio Active Channel Data Item. By tracking these values over time the router can calculate the channel usage statistics for routing metrics or report the received value to a management layer.</t>
      <t>A radio that is using independent channel resources for each neighbor (e.g. by beam forming) can also track and report channel usage time for each DLEP neighbor.</t>
    </section>
    <section numbered="true" toc="default">
      <name>Data Items</name>
      <t>All four Data Items of this extension can be used both as Session specific and Destination specific metrics. If the radio is only tracking channel usage on the interface level, the Data Items are used in SessionInitResponse and SessionUpdate messages. If the radio also is tracking channel usage for each Destination, they are also used in DestinationUp, DestinationUpdate and DestinationAnnounceResponse messages.</t>
      <t>All four Data Items contain a single 64 bit unsigned integer time interval measured in nanoseconds as the TLV value.</t>
      <section numbered="true" toc="default">
        <name>Radio Channel Active Data Item</name>
        <t>Radio Channel Active Item contains information how long the radio channel has been active. This provides the router with a reference to interpret the values provided by the other three Data Items. Because of this the value in this item must be larger than the values in the other three Data Items this extensions defines together.</t>
        <t>This Data Item is mandatory for SessionInitResponse messages.</t>
        <t>The format of the Radio Channel Active Data Item is:</t>
        <figure anchor="channel_active">
          <artwork align="left" name="" type="" 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                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
+                          Active Time                          +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          ]]></artwork>
        </figure>
        <dl>
          <dt>Data Item Type:</dt>
          <dd>TBD1</dd>
          <dt>Length:</dt>
          <dd>8</dd>
          <dt>Active Time:</dt>
          <dd>Time in nanoseconds since the channel has been in use.</dd>
        </dl>
      </section>
      <section numbered="true" toc="default">
        <name>Radio Channel Busy Data Item</name>
        <t>Radio Channel Busy Item contains information how much time the radio channel has been busy, not including the time provided in the Channel Rx and Chanel Tx Data Item.</t>
        <t>The format of the Radio Channel Busy Data Item is:</t>
        <figure anchor="channel_busy">
          <artwork align="left" name="" type="" 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                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
+                           Busy Time                           +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          ]]></artwork>
        </figure>
        <dl>
          <dt>Data Item Type:</dt>
          <dd>TBD2</dd>
          <dt>Length:</dt>
          <dd>8</dd>
          <dt>Busy Time:</dt>
          <dd>Time in nanoseconds the channel was busy during its active time.</dd>
        </dl>
      </section>
      <section numbered="true" toc="default">
        <name>Radio Channel Rx Data Item</name>
        <t>Radio Channel Rx Item contains information how much time the local radio has been receiving data from other radios.</t>
        <t>The format of the Radio Channel Rx Data Item is:</t>
        <figure anchor="channel_rx">
          <artwork align="left" name="" type="" 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                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
+                            Rx Time                            +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          ]]></artwork>
        </figure>
        <dl>
          <dt>Data Item Type:</dt>
          <dd>TBD3</dd>
          <dt>Length:</dt>
          <dd>8</dd>
          <dt>Rx Time:</dt>
          <dd>Time in nanoseconds the local radio has received data from other radios during its active time.</dd>
        </dl>
      </section>
      <section numbered="true" toc="default">
        <name>Radio Channel Tx Data Item</name>
        <t>Radio Channel Tx Item contains information how much time the local radio has been transmitting data to other radios.</t>
        <t>The format of the Radio Channel Tx Data Item is:</t>
        <figure anchor="channel_tx">
          <artwork align="left" name="" type="" 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                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
+                            Tx Time                            +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          ]]></artwork>
        </figure>
        <dl>
          <dt>Data Item Type:</dt>
          <dd>TBD4</dd>
          <dt>Length:</dt>
          <dd>8</dd>
          <dt>Tx Time:</dt>
          <dd>Time in nanoseconds the local radio has transmitted data to other radios during its active time.</dd>
        </dl>
      </section>
    </section>
    <section numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>The extension introduces a new Data Item for DLEP.
        The extension does not inherently introduce any additional
        vulnerabilities above those documented in
        <xref target="RFC8175" format="default"/>.
        The approach taken to security in that document applies
        equally when running the extension defined in this document.</t>
    </section>
    <section numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>As described below, IANA has assigned two values per this document.
        Both assignments are to registries defined by
        <xref target="RFC8175" format="default"/>.</t>
      <section numbered="true" toc="default">
        <name>Extension Type Value</name>
        <t>IANA has assigned the following value in the "Extension Type Values"
          registry within the "Dynamic Link Exchange Protocol (DLEP)
          Parameters" registry.  The new value is in the range with the
          "Specification Required" <xref target="RFC8126" format="default"/> policy:</t>
        <table>
          <name>New Extension Type Value</name>
          <thead>
            <tr>
              <td>Code</td>
              <td>Description</td>
              <td>Reference</td>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>TBD5</td>
              <td>Radio Channel Utilization</td>
              <td>This document</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section numbered="true" toc="default">
        <name>Data Item Value</name>
        <t>IANA has assigned the following value in the "Data Item Type
          Values" registry within the "Dynamic Link Exchange Protocol
          (DLEP) Parameters" registry.  The new value is in the range
          with the "Specification Required"
          <xref target="RFC8126" format="default"/>
          policy:</t>
        <table>
          <name>New Data Item Value</name>
          <thead>
            <tr>
              <td>Type Code</td>
              <td>Description</td>
              <td>Reference</td>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>TBD1</td>
              <td>Radio Channel Active</td>
              <td>This document</td>
            </tr>
            <tr>
              <td>TBD2</td>
              <td>Radio Channel Busy</td>
              <td>This document</td>
            </tr>
            <tr>
              <td>TBD3</td>
              <td>Radio Channel Rx</td>
              <td>This document</td>
            </tr>
            <tr>
              <td>TBD4</td>
              <td>Radio Channel Tx</td>
              <td>This document</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>Normative References</name>
      <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date month="March" year="1997"/>
          <abstract>
            <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <date month="May" year="2017"/>
          <abstract>
            <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
      <reference anchor="RFC8175" target="https://www.rfc-editor.org/info/rfc8175" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8175.xml">
        <front>
          <title>Dynamic Link Exchange Protocol (DLEP)</title>
          <author fullname="S. Ratliff" initials="S." surname="Ratliff"/>
          <author fullname="S. Jury" initials="S." surname="Jury"/>
          <author fullname="D. Satterwhite" initials="D." surname="Satterwhite"/>
          <author fullname="R. Taylor" initials="R." surname="Taylor"/>
          <author fullname="B. Berry" initials="B." surname="Berry"/>
          <date month="June" year="2017"/>
          <abstract>
            <t>When routing devices rely on modems to effect communications over wireless links, they need timely and accurate knowledge of the characteristics of the link (speed, state, etc.) in order to make routing decisions. In mobile or other environments where these characteristics change frequently, manual configurations or the inference of state through routing or transport protocols does not allow the router to make the best decisions. This document introduces a new protocol called the Dynamic Link Exchange Protocol (DLEP), which provides a bidirectional, event-driven communication channel between the router and the modem to facilitate communication of changing link characteristics.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8175"/>
        <seriesInfo name="DOI" value="10.17487/RFC8175"/>
      </reference>
    </references>
    <references>
      <name>Informative References</name>
      <reference anchor="RFC8126" target="https://www.rfc-editor.org/info/rfc8126" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8126.xml">
        <front>
          <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
          <author fullname="M. Cotton" initials="M." surname="Cotton"/>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <author fullname="T. Narten" initials="T." surname="Narten"/>
          <date month="June" year="2017"/>
          <abstract>
            <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
            <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
            <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="26"/>
        <seriesInfo name="RFC" value="8126"/>
        <seriesInfo name="DOI" value="10.17487/RFC8126"/>
      </reference>
    </references>
  </back>
</rfc>
