<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY filename "draft-dearlove-manet-olsrv2-responsive-03">
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std"
     docName="&filename;" ipr="trust200902"
     updates="7181" obsoletes="" submissionType="IETF"
     xml:lang="en" tocInclude="true" tocDepth="3"
     symRefs="true" sortRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.21.0 -->

  <front>
    <title abbrev="Responsive Use of OLSRv2">
Responsive Use of the Mobile Ad Hoc Network (MANET) Routing Protocol OLSRv2
</title>
    <seriesInfo name="Internet-Draft" value="&filename;"/>
    <author initials="C." surname="Dearlove" fullname="Christopher Dearlove">
      <address>
        <email>christopher.dearlove@cantab.net</email>
      </address>
    </author>
    <date/>
    <area/>
    <workgroup>Mobile Ad hoc Networking (MANET)</workgroup>
    <keyword>MANET</keyword>
    <keyword>OLSRv2</keyword>
    <keyword>NHDP</keyword>
    <abstract>
      <t>
    This specification describes an optional Topology Control (TC) message that
    can be sent by an OLSRv2 router. This is permitted, but not suggested, by
    the existing protocol, but is here recommended for use in some networks. The
    original motivation for this message came from the circumstances of a mostly
    stable network, in the most extreme case updated only by messages responding
    to the arrival and departure of routers, in which case the additional TC
    message is not just recommended but required. However, the additional
    message could be useful in reducing the routing convergence time in any
    network in which messages are sent at lengthy intervals.
      </t>
      <t>
    This specification updates RFC 7181 "The Optimized Link State Routing
    Protocol version 2 (OLSRv2)".
      </t>
    </abstract>
  </front>

  <middle>
    <section numbered="true" toc="default">
      <name>Introduction</name>
      <t>
    The Optimized Link State Routing Protocol version 2 (OLSRv2) <xref
    target="RFC7181" format="default"/> is a proactive routing protocol for use
    in mobile ad hoc networks (MANETs).
      </t>
      <t>
    This specification considers TC (Topology Control) messages that are sent by
    instances of OLSRv2, but there is also reference to HELLO messages. HELLO
    messages are formally sent by the NeighborHood  Discovery Protocol (NHDP)
    specified in <xref target="RFC6130" format="default"/>, but are then
    modified by OLSRv2. For simplicity, this document describes both as sent by
    OLSRv2.
      </t>
      <t>
    <xref target="RFC7181" format="default"/> permits a wide range of behaviours
    by routers. This is intended to allow other approaches than its usual
    behavior. For example, OLSRv2 permits a router to set and change its message
    intervals, constrained only by administrative rules that are outside the
    scope of <xref target="RFC7181" format="default"/>. This can be used, for
    example, to allow a router to "back off" (typically exponentially) message
    intervals when a network appears to be stable, reverting to more frequent
    messages if any changes are observed. Such behavior is not directly
    considered in this specification, but can be combined with the sending of
    other responsive messages, i.e., any messages sent in response to a change
    in circumstances rather than on a periodic schedule.
      </t>
      <t>
    This specification was motivated by the design of OLSRv2 that permits the
    sending of HELLO messages, and subsequently TC messages if required, in
    response to changes in the local neighborhood. These messages can be sent in
    addition to periodically scheduled messages, their aim being to accelerate
    routing table convergence. The extreme case of such behavior would be to
    only send such responsive message, with no periodic messages sent at all.
    This extreme case, and variants of it, is considered further in
    <xref target="appendix" format="default"/>. This case was the motivation for
    this specification, because in it sending some additional TC messages
    that are permitted but not suggested by
    <xref target="RFC7181" format="default"/>, is required for the protocol to
    be fully functional. These additional messages are thus required in those
    circumstances, should they ever occur, by this specification.
      </t>
      <t>
    However, the primary purpose of this specification is to recommend, but
    not require, sending such additional messages in networks that, while not
    fully responsive, are generally stable and thus use longer message
    intervals, possibly due to being backed off, as well as sending messages
    responding to local neighborhood changes. In such networks the additional
    messages recommended by this specification can further improve the routing
    table convergence time across the network.
      </t>
      <t>
    This specification thus modifies the behavior of the protocol, but only by
    making an optional behavior - sending an additional, but standard format, TC
    message - recommended in some cases, and required in some further cases. The
    circumstances in which this additional message is required, not just
    recommended, are not expected to be encountered in most practical networks,
    but represent a limiting case of those in which the message is recommended.
    In addition, in the circumstances when the message is required the existing
    protocol would not produce a fully functioning network, and thus there is no
    interoperability issue introduced by requiring the additional message in
    those circumstances.
      </t>
      <t>
    All OLSRv2 routers, whether or not using this specification, can process
    these additional TC messages, and can thus fully interoperate in all
    circumstances. This specification is thus in practice, fully interoperable
    with all routers in functional OLSRv2 networks.
      </t>
      <t>
    Whether or not such additional messages are sent is, as with all details of
    message sending, including but not limited to message intervals and validity
    times, and any variation thereof, set by administrative configuration, for
    example using <xref target="RFC6779" format="default"/> and
    <xref target="RFC7184" format="default"/>.
      </t>
    </section>
    <section anchor="terminology" numbered="true" toc="default">
      <name>Terminology</name>
      <t>
    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
    <xref target="BCP14" format="default"/>.
      </t>
      <t>
    Additionally, this document uses the terminology of <xref
    target="RFC6130" format="default"/> and <xref target="RFC7181"
    format="default"/>.
      </t>
    </section>
    <section numbered="true" toc="default">
      <name>Applicability Statement</name>
      <t>
    This specification updates <xref target="RFC7181" format="default"/> by
    indicating circumstances in which an otherwise optional, but not suggested,
    additional TC message sending is recommended or required due to the
    reduction or elimination of periodic message sending in a network that is
    largely stable.
      </t>
      <t>
    This change has no effect on the interoperability of routers using
    <xref target="RFC7181" format="default"/>, because such additional messages
    are always permitted, and the only circumstances in which the additional
    messages are required are ones in which the network will not properly
    function without them.
      </t>
    </section>
    <section numbered="true" toc="default">
      <name>Analysis</name>
      <t>
    This section considers the implications of a mostly or fully responsive
    network and why the responsive messages indicated in
    <xref target="RFC7181" format="default"/> are not sufficient in this case.
    The solution proposed, which is necessary if operating fully responsively,
    is not limited to this case, but this case is useful to develop it.
      </t>
      <section numbered="true" toc="default">
        <name>Overview</name>
        <t>
      The main reason for considering the responsive use of OLSRv2 is to reduce
      the number of messages sent and received by the protocol, while still
      responding to changes. When using this approach, the protocol loses the
      resilience to message loss that is provided by the sending of periodic
      messages. For discussion of this and other practical issues arising in a
      fully, or largely, responsive network, see
      <xref target="appendix" format="default"/>. This analysis assumes that
      all messages are, by one means or another, successfully received by the
      intended recipients, and considers whether these messages are sufficient.
        </t>
      </section>
      <section numbered="true" toc="default">
        <name>Router Arrival</name>
        <t>
      When a router is first activated, it sends a HELLO message that announces
      its own identity, but no other significant information. This is recognised
      by other routers that send new, modified, HELLO messages that in due
      course stabilise. This can be using any combination of periodic and
      responsive HELLO messages. If acting purely responsively, after
      stabilisation no further HELLO messages would be required until any later
      local change to the network.
        </t>
        <t>
      At this point all routers within two hops of the new router will have
      updated their relevant Information Bases and computed new MultiPoint
      Relays (MPRs) that are included in their HELLO messages. (This is the
      modification to the HELLO messages defined in
      <xref target="RFC6130" format="default"/> that was introduced by
      <xref target="RFC7181" format="default"/>.) From this, these local
      routers update their MPR selectors and thus some or all of them will send
      new TC messages, with a new Advertised Neighbor Sequence Number (ANSN)
      that replaces the information recorded from previous TC messages.
        </t>
        <t>
      This process updates all necessary information recorded at each
      pre-existing router, in particular its routing table. However, the new
      router will lack routing information from routers beyond its 2-hop
      neighborhood, and from any routers within its 2-hop neighborhood that do
      not change their advertised neighbors. In normal use, this missing
      information will, in due course, be provided by the periodic sending of
      TC messages by all routers that advertise any neighbors. However, that
      would not occur in a fully responsive network.
        </t>
        <t>
      A solution to this problem is that when a router recognises a new router
      added to the network it sends a responsive TC message, if it has not
      already done so. The arrival of a new router can be recognised by the
      addition of a new tuple to the Advertising Remote Router Set. This new
      form of responsiveness - to a remote event rather than to a local event -
      ensures that the new router learns all the information that it requires
      even without periodic messages.
        </t>
        <t>
      In the usual case where responsive messages supplement periodic messages,
      which may thus have a longer interval, this will provide the new router
      with its required information without waiting for a periodic message, thus
      accelerating routing table convergence.
        </t>
      </section>
      <section numbered="true" toc="default">
        <name>An Alternative Approach</name>
        <t>
      A faster approach to a new router joining the network would be for one or
      more of its new neighbors to provide the complete network topology to it.
      This would require new protocol messages and is not included in this
      specification. A suggestion as to how to achieve this for what is now
      considered version 1 of OLSR, <xref target="RFC3626" format="default"/>,
      was described in <xref target="Clausen2004" format="default"/>. It has not
      been suggested here as it is a non-compatible change to the protocol if it
      is relied on. (If it is supplementary then it could simply be ignored,
      failing to achieve its purpose of speeding up convergence, but not doing
      any harm.)
        </t>
      </section>
    </section>
    <section numbered="true" toc="default">
      <name>Changes to OLSRv2</name>
      <t>
    This specification makes a single normative change to
    <xref target="RFC7181" format="default"/>.  A complete TC message MAY be
    sent, according to that specification, at any time.  One such time - not
    considered in that specification - is the addition of an Advertising Remote
    Router Tuple to the Advertising Remote Router Set. This specification
    defines circumstances in which that OPTIONAL sending is instead RECOMMENDED
    or REQUIRED. Note that this behavior on recognising these circumstances is
    administratively configured, not recognised from message exchange; it is a
    companion to administrative configuration of the protocol parameters, for
    example using <xref target="RFC6779" format="default"/> and
    <xref target="RFC7184" format="default"/>.
      </t>
      <t>
    When a router adds an Advertising Remote Router Tuple to the Advertising
    Remote Router Set it is RECOMMENDED that a complete TC message is sent if
    the router has not already sent a TC message in response to the same change
    (which can occur if the sending router is within two hops of the new router)
    and there would be a significant delay before such a message would be sent
    periodically. The decision as to what constitutes a significant delay is an
    administrative issue, but, as a guideline, delays in excess of the default
    value of TC_INTERVAL are likely to be considered as significant.
      </t>
      <t>
    When a router adds an Advertising Remote Router Tuple to the Advertising
    Remote Router Set it is REQUIRED that a complete TC message is sent if
    the router has not already sent a TC message in response to the same change
    and no TC messages are currently scheduled, or if the maximum possible TC
    message interval is used as an effective equivalent to that.
      </t>
      <t>
    Such sending of a TC message is subject to the usual constraints on sending
    such messages, in particular the setting of the parameter TC_MIN_INTERVAL,
    and SHOULD be jittered as described in
    <xref target="RFC5148" format="default"/> according to the guidelines as to
    its use in <xref target="RFC7181" format="default"/>. Note that even if the
    parameter TC_INTERVAL is currently set to a long time, the parameter
    TC_MIN_INTERVAL should usually be kept to its default value or another
    smaller value.
      </t>
    </section>
    <section anchor="IANA" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>
	This document has no actions for IANA.
      </t>
      <t>
    [This section may be removed by the RFC Editor.]
      </t>
    </section>
    <section anchor="security" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>
    This update to <xref target="RFC7181" format="default"/> recommends, under
    the circumstances indicated, additional messages that are already permitted.
    As such, this protocol introduces no new integrity considerations to an
    implementation of <xref target="RFC7181" format="default"/>, which is
    usually expected to use <xref target="RFC7182" format="default"/> for this
    purpose. If responsive behaviour is used in a network that it is unsuited
    for, then there will be a loss of network availability. However, this is
    another case of the existing consideration that any use of OLSRv2 with
    unsuitable parameters will produce a badly or non- functioning network. In
    any already functioning network this change will improve, rather than
    reduce, availability, that being its purpose.
      </t>
    </section>
    <section numbered="true" toc="default">
      <name>Acknowledgments</name>
      <t>
    The author would like to thank Thomas Clausen (Ecole Polytechnique) for his
    comments on the first version of this Internet Draft.
      </t>
    </section>
  </middle>

  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <referencegroup anchor="BCP14" target="https://www.rfc-editor.org/info/bcp14" xml:base="https://bib.ietf.org/public/rfc/bibxml-rfcsubseries/reference.BCP.14.xml">
          <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
            <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">
            <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>
        </referencegroup>
        <reference anchor="RFC6130" target="https://www.rfc-editor.org/info/rfc6130" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6130.xml">
          <front>
            <title>Mobile Ad Hoc Network (MANET) Neighborhood Discovery Protocol (NHDP)</title>
            <author fullname="T. Clausen" initials="T." surname="Clausen"/>
            <author fullname="C. Dearlove" initials="C." surname="Dearlove"/>
            <author fullname="J. Dean" initials="J." surname="Dean"/>
            <date month="April" year="2011"/>
            <abstract>
              <t>This document describes a 1-hop and symmetric 2-hop neighborhood discovery protocol (NHDP) for mobile ad hoc networks (MANETs). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6130"/>
          <seriesInfo name="DOI" value="10.17487/RFC6130"/>
        </reference>
        <reference anchor="RFC7181" target="https://www.rfc-editor.org/info/rfc7181" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7181.xml">
          <front>
            <title>The Optimized Link State Routing Protocol Version 2</title>
            <author fullname="T. Clausen" initials="T." surname="Clausen"/>
            <author fullname="C. Dearlove" initials="C." surname="Dearlove"/>
            <author fullname="P. Jacquet" initials="P." surname="Jacquet"/>
            <author fullname="U. Herberg" initials="U." surname="Herberg"/>
            <date month="April" year="2014"/>
            <abstract>
              <t>This specification describes version 2 of the Optimized Link State Routing Protocol (OLSRv2) for Mobile Ad Hoc Networks (MANETs).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7181"/>
          <seriesInfo name="DOI" value="10.17487/RFC7181"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC3626" target="https://www.rfc-editor.org/info/rfc3626" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3626.xml">
          <front>
            <title>Optimized Link State Routing Protocol (OLSR)</title>
            <author fullname="T. Clausen" initials="T." role="editor" surname="Clausen"/>
            <author fullname="P. Jacquet" initials="P." role="editor" surname="Jacquet"/>
            <date month="October" year="2003"/>
            <abstract>
              <t>This document describes the Optimized Link State Routing (OLSR) protocol for mobile ad hoc networks. The protocol is an optimization of the classical link state algorithm tailored to the requirements of a mobile wireless LAN. The key concept used in the protocol is that of multipoint relays (MPRs). MPRs are selected nodes which forward broadcast messages during the flooding process. This technique substantially reduces the message overhead as compared to a classical flooding mechanism, where every node retransmits each message when it receives the first copy of the message. In OLSR, link state information is generated only by nodes elected as MPRs. Thus, a second optimization is achieved by minimizing the number of control messages flooded in the network. As a third optimization, an MPR node may chose to report only links between itself and its MPR selectors. Hence, as contrary to the classic link state algorithm, partial link state information is distributed in the network. This information is then used for route calculation. OLSR provides optimal routes (in terms of number of hops). The protocol is particularly suitable for large and dense networks as the technique of MPRs works well in this context.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3626"/>
          <seriesInfo name="DOI" value="10.17487/RFC3626"/>
        </reference>
        <reference anchor="RFC5148" target="https://www.rfc-editor.org/info/rfc5148" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5148.xml">
          <front>
            <title>Jitter Considerations in Mobile Ad Hoc Networks (MANETs)</title>
            <author fullname="T. Clausen" initials="T." surname="Clausen"/>
            <author fullname="C. Dearlove" initials="C." surname="Dearlove"/>
            <author fullname="B. Adamson" initials="B." surname="Adamson"/>
            <date month="February" year="2008"/>
            <abstract>
              <t>This document provides recommendations for jittering (randomly modifying timing) of control traffic transmissions in Mobile Ad hoc NETwork (MANET) routing protocols to reduce the probability of transmission collisions. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5148"/>
          <seriesInfo name="DOI" value="10.17487/RFC5148"/>
        </reference>
        <reference anchor="RFC6779" target="https://www.rfc-editor.org/info/rfc6779" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6779.xml">
          <front>
            <title>Definition of Managed Objects for the Neighborhood Discovery Protocol</title>
            <author fullname="U. Herberg" initials="U." surname="Herberg"/>
            <author fullname="R. Cole" initials="R." surname="Cole"/>
            <author fullname="I. Chakeres" initials="I." surname="Chakeres"/>
            <date month="October" year="2012"/>
            <abstract>
              <t>This document defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes objects for configuring parameters of the Neighborhood Discovery Protocol (NHDP) process on a router. The MIB module defined in this document, denoted NHDP-MIB, also reports state, performance information, and notifications about NHDP. This additional state and performance information is useful to troubleshoot problems and performance issues during neighbor discovery. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6779"/>
          <seriesInfo name="DOI" value="10.17487/RFC6779"/>
        </reference>
        <reference anchor="RFC7182" target="https://www.rfc-editor.org/info/rfc7182" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7182.xml">
          <front>
            <title>Integrity Check Value and Timestamp TLV Definitions for Mobile Ad Hoc Networks (MANETs)</title>
            <author fullname="U. Herberg" initials="U." surname="Herberg"/>
            <author fullname="T. Clausen" initials="T." surname="Clausen"/>
            <author fullname="C. Dearlove" initials="C." surname="Dearlove"/>
            <date month="April" year="2014"/>
            <abstract>
              <t>This document revises, extends, and replaces RFC 6622. It describes general and flexible TLVs for representing cryptographic Integrity Check Values (ICVs) and timestamps, using the generalized Mobile Ad Hoc Network (MANET) packet/message format defined in RFC 5444. It defines two Packet TLVs, two Message TLVs, and two Address Block TLVs for affixing ICVs and timestamps to a packet, a message, and one or more addresses, respectively.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7182"/>
          <seriesInfo name="DOI" value="10.17487/RFC7182"/>
        </reference>
        <reference anchor="RFC7184" target="https://www.rfc-editor.org/info/rfc7184" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7184.xml">
          <front>
            <title>Definition of Managed Objects for the Optimized Link State Routing Protocol Version 2</title>
            <author fullname="U. Herberg" initials="U." surname="Herberg"/>
            <author fullname="R. Cole" initials="R." surname="Cole"/>
            <author fullname="T. Clausen" initials="T." surname="Clausen"/>
            <date month="April" year="2014"/>
            <abstract>
              <t>This document defines the Management Information Base (MIB) module for configuring and managing the Optimized Link State Routing Protocol version 2 (OLSRv2). The OLSRv2-MIB module is structured into configuration information, state information, performance information, and notifications. This additional state and performance information is useful for troubleshooting problems and performance issues of the routing protocol. Two levels of compliance allow this MIB module to be deployed on constrained routers.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7184"/>
          <seriesInfo name="DOI" value="10.17487/RFC7184"/>
        </reference>
        <reference anchor="RFC7859" target="https://www.rfc-editor.org/info/rfc7859" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7859.xml">
          <front>
            <title>Identity-Based Signatures for Mobile Ad Hoc Network (MANET) Routing Protocols</title>
            <author fullname="C. Dearlove" initials="C." surname="Dearlove"/>
            <date month="May" year="2016"/>
            <abstract>
              <t>This document extends RFC 7182, which specifies a framework for (and specific examples of) Integrity Check Values (ICVs) for packets and messages using the generalized packet/message format specified in RFC 5444. It does so by defining an additional cryptographic function that allows the creation of an ICV that is an Identity-Based Signature (IBS), defined according to the Elliptic Curve-Based Certificateless Signatures for Identity-Based Encryption (ECCSI) algorithm specified in RFC 6507.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7859"/>
          <seriesInfo name="DOI" value="10.17487/RFC7859"/>
        </reference>
        <reference anchor="Clausen2004">
          <front>
            <title>OSPF-Style Database Exchange and Reliable Synchronization in the Optimized Link-State Routing Protocol</title>
            <author initials="T." surname="Clausen" fullname="Thomas Clausen">
      </author>
            <author initials="E." surname="Baccelli" fullname="Emmanuel Baccelli">
      </author>
            <author initials="P." surname="Jacquet" fullname="Philippe Jacquet">
      </author>
          </front>
          <refcontent>
      First Annual IEEE Communications Society Conference on Sensor and Ad Hoc Communications and Networks, 2004.
      IEEE SECON 2004., Santa Clara, CA, USA, 2004, pp. 227-234, doi: 10.1109/SAHCN.2004.1381921
          </refcontent>
        </reference>
      </references>
    </references>
    <section anchor="appendix" toc="default">
        <name>Fully Responsive Networks"</name>
        <t>
      This appendix considers some details of how a network that only sends
      responsive messages could operate. As noted, this is the limiting case of
      possible behavior, and unlikely to be fully realised, as while is expected
      that while some networks may rely more on responsive messages, none are
      expected to rely fully on them. However, these comments may also apply, in
      whole or part, to such more (but not fully) responsive networks.
        </t>
      <section numbered="true" toc="default">
        <name>Network Dynamism and Message Loss</name>
        <t>
      In considering these networks, note that although the word "mobile" is
      part of the expansion of the acronym MANET, and networks with mobility are
      the most important use case for OLSRv2, ad hoc networks need not include
      mobility, but can be dynamic in other ways, including cases such as
      changes in the physical medium. An important case is where the principal,
      or even only, dynamism is the introduction of new routers to the network,
      or the departure - voluntarily or otherwise - of routers from the network.
      Such a network can be considered to be stable between such arrivals and
      departures.
        </t>
        <t>
      If only single messages - whether HELLO messages or TC messages - are
      sent, the loss of even a single message could mean that some connectivity
      that is present is not used. This might be acceptable in a dense network,
      or one in which message loss is unusual, possibly due to the behavior of
      the data link layer in use. However, it is also important to maintain
      connectivity to any routers that have local hosts from or to which data
      traffic may be sent, even if these are not essential for routing.
        </t>
        <t>
      When maintaining the connectivity of a router that is not sending messages
      periodically, one approach to improve the situation is to send more than
      one copy of each message, separated by at least the appropriate minimum
      message interval, which must be set appropriately for this case. This is
      similar to the suggestion in <xref target="RFC7181" format="default"/>
      that, when sending messages following an increase in message interval,
      more than one message can be sent using the old interval before changing
      to the new interval.
        </t>
      </section>
      <section numbered="true" toc="default">
        <name>Router Arrival</name>
        <t>
      A newly arrived router in a fully responsive network will send HELLO
      messages and, due to its new neighbors hearing those messages, realising
      that their neighborhood has changed, and sending their own responsive
      HELLO messages, the new router will become fully integrated into its
      neighborhood (assuming no message loss). It will also then send TC
      messages including its advertised neighbors.
        </t>
        <t>
      In this way, remote routers - those beyond two hops of the new router -
      will learn of the new router. But the converse is not so. The new router
      will only learn of remote routers if they send TC messages. Those messages
      are the subject of this specification, described outside this appendix.
      But note that in a fully responsive network, these TC messages are
      essential to the new router fully joining the network, and hence why these
      TC messages from remore routers are required in this case.
        </t>
      </section>
      <section numbered="true" toc="default">
        <name>Router Departure</name>
        <t>
      There are two possible cases of router departure, depending on whether the
      router can recognise its upcoming departure, or loss, in time to take
      action, or not. An example of where this recognition might be possible is
      when that loss is due to battery exhaustion, but by monitoring the battery
      that exhaustion can be anticipated. In this case the router can opt out of
      the network by sending a HELLO message reporting all of its neighbours as
      lost using a LINK_STATUS TLVs with all neighbour addresses having value
      LOST, and, if necessary, a complete TC message with a new ANSN containing
      no advertised neighbors.
        </t>
        <t>
      However, in other circumstances this loss might occur unpredictably. In
      that case it is necessary for the lost router's neighbors to recognise the
      loss. If that can be done by some means other than using OLSRv2 messages
      that would be advantageous, but it is expected that the only source for
      this is to use OLSRv2 messages.
        </t>
        <t>
      That a router is present and correct is signalled by HELLO messages. In
      principle, in an otherwise purely responsive network it would be possible
      to restrict these to being empty, and neighbors to recognise that a router
      is lost by the cessation of these simple "heartbeat" messages. But that is
      not how NHDP is defined, and would require a change to its operation, and
      is not part of this specification.
        </t>
        <t>
      However, although in this case periodic HELLO messages are required, this
      does not mean that periodic TC messages are required. TC messages can be,
      in this instance, limited to the initial long validity time messages sent
      by a new router. To show this, consider what happens if a router is lost
      in this case. Because the lost router was sending HELLO messages that have
      now ceased, neighbor routers can recognise that the router is lost and
      remove it from all Information Bases.
        </t>
        <t>
      However, if TC messages have effectively infinite validity times, and if
      a router is lost without warning, the information it has previously sent
      in its TC messages will remain in the Information Bases of all other
      routers in the network. This is undesirable in that it occupies memory and
      might increase the time required to access wanted information.  However,
      as the analysis below shows, that unwanted information is never used, and
      thus there is no major harm in its continued presence.
        </t>
        <t>
      Once a router is recognised as lost by its neighbors, they will remove it
      from their Neighbor Information Bases. This will leave no local links to
      the lost router based on messages from those neighbors. However, links
      using the lost router will persist in the Topology Information Bases of
      other routers based on received TC messages. However, all of those links
      will be outgoing from the lost router, there will be no incoming links to
      that lost router still recorded, and thus that lost router will not be
      included in any routes. This is because although a TC message can -
      because there is no prohibition on doing so - include incoming links as
      well as the required outgoing links, those incoming links are not
      processed using <xref target="RFC7181" format="default"/> as the required
      processing in Section 16.3.3.2 relies on having a known associated metric
      value, and that value is defined in Section 16.3.2 as being an outgoing
      meighbor metric value.
        </t>
        <t>
      One approach that could be used to remove unwanted information in a
      network with both router gains and losses, but is not part of this
      specification, is that when a router recognises a router gain, as
      described in the previous section, as well as sending a TC message it
      expects to receive similar TC messages from other routers. To rely on
      this would require all routers to send TC messages in this circumstance,
      even if they have no advertised neighbors. Because the sending of such TC
      messages, especially in the latter case, cannot be assumed, this is not
      part of this specification, which aims at backward compatibility. However,
      were a guarantee of such TC messages to be implemented in a network then
      failure to receive any such TC messages would suggest that a router that
      is represented in the Advertising Remote Router Set, but from which no
      such TC message is received, might be lost. One or more such occurrences
      could then be used to remove the corresponding Advertising Remote Router
      Tuple.
        </t>
        <t>
      Retaining periodic HELLO messages, but not periodic TC messages, loses
      some of the advantages of responsive use of the protocol, such as possible
      covertness. However, it reduces message sending and processing, thus
      economising battery use. Note also that in a large network, it is the
      periodic TC messages, that here are not being sent, that can create some
      scalability problems for the protocol, as periodic TC messages impose an
      overhead on each router that depends on the overall network size, whereas
      periodic HELLO messages introduce an overhead on each router that only
      depends on the local neighborhood size.
        </t>
        <t>
      The unwanted information based on TC messages from a lost router could
      also be removed if a neighbor that has recognised its loss sent a
      cancelling TC message that is created as if from the lost router. This
      could be sent as if forwarded and thus would appear to be genuine.
      However, this is undesirable from a security viewpoint, and some forms of
      message integrity check values (ICVs) as defined in
      <xref target="RFC7182" format="default"/>, in particular the
      identity-based ICV described in
      <xref target="RFC7859" format="default"/>, could not be created.
      Consequently this approach, although possible in some circumstances, such
      as the use of a single shared key for all ICVs, is also not part of this
      specification.
        </t>
      </section>
    </section>
  </back>
</rfc>
