<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">

<?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 rfcedstyle="yes" ?>

<rfc number="7187" category="std" submissionType="IETF" consensus="yes"
  ipr="trust200902" updates="7181">

<front>

<title abbrev="OLSRv2 Routing MPR Optimization">
Routing Multipoint Relay Optimization for the&nbsp;Optimized&nbsp;Link&nbsp;State&nbsp;Routing&nbsp;Protocol&nbsp;Version&nbsp;2&nbsp;(OLSRv2)
</title>

<author initials="C.M." surname="Dearlove" fullname="Christopher Dearlove">
<organization abbrev="BAE Systems ATC">BAE Systems Advanced Technology Centre</organization>
<address>
<postal>
<street>
West Hanningfield Road
</street>
<city>
Great Baddow, Chelmsford
</city>
<country>
United Kingdom
</country>
</postal>
<phone>+44 1245 242194</phone>
<email>chris.dearlove@baesystems.com</email>
<uri>http://www.baesystems.com/</uri>
</address>
</author>
<author initials="T.H." surname="Clausen" fullname="Thomas Heide Clausen">
<organization>LIX, Ecole Polytechnique</organization>
<address>
<phone>+33 6 6058 9349</phone>
<email>T.Clausen@computer.org</email>
<uri>http://www.ThomasClausen.org/</uri>
</address>
</author>

<date/>
<area/>
<workgroup>Mobile Ad hoc Networking (MANET)</workgroup>
<keyword>MANET</keyword>
<keyword>OLSRv2</keyword>
<keyword>link metric</keyword>

<abstract>
<t>
This specification updates the Optimized Link State Routing Protocol version 2 (OLSRv2) with an optimization to improve the selection of
routing multipoint relays. The optimization retains full interoperability between implementations of OLSRv2 with and without this optimization.
</t>
</abstract>

</front>

<middle>
<section title="Introduction">

  <t>
    The Optimized Link State Routing Protocol version 2 <xref target="RFC7181"/>
    is a proactive link state routing protocol designed for use in mobile ad hoc
    networks (MANETs) <xref target="RFC2501"/>. This document improves one area
    of the OLSRv2 specification.
  </t>

  <t>
  One improvement included in OLSRv2, compared to its predecessor described in
<xref target="RFC3626" />, is the use of link metrics, rather than minimum-hop routing.  A
rationale for how link metrics were included in OLSRv2 is documented in
<xref target="RFC7185" />.  However, one aspect of the use of link metrics described in
<xref target="RFC7185" />, the removal of some unnecessarily selected routing multipoint relays
(MPRs), was not included in <xref target="RFC7181" />.  This specification updates OLSRv2 to
include this optimization. 
  </t>
  <t>
   Note that this optimization does not impact interoperability:
   implementations that do and do not implement this optimization will
   interoperate seamlessly.
  </t>

</section>
<section title="Terminology" anchor="terminology">

  <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="RFC2119"/>.
  </t>

  <t>
    Additionally, this document uses the terminology of
    <xref target="RFC7181"/>.
  </t>

</section>
<section title="Applicability Statement">

  <t>
    This specification updates <xref target="RFC7181"/>. As such, it is
applicable to all implementations of this protocol. The optimization presented
in this specification is simply permissive; it allows an additional
optimization, and there is no requirement for any implementation to include
it. However, inclusion of this optimization is advised; it can, in some cases,
create smaller and fewer messages, without ever having the opposite effect. 
  </t>

  <t>
    <xref target="RFC7181"/> defines the properties for the selection of
routing MPRs from among a router's symmetric 1-hop
neighbors.  The properties are
<list style="symbols">
<t>the selected MPRs must consist of a set of symmetric 1-hop 
neighbors that cover all the symmetric 2-hop neighbors, and </t>
<t>the selected MPRs must do so retaining a minimum distance route (1-hop, if
present, or 2-hop) to each symmetric 2-hop neighbor. </t>
</list>
The discussion
in the latter part of Section 6.2 of <xref target="RFC7185"/> indicates that
this requirement is overly prescriptive for routing MPR selection. 
The update  to
<xref target="RFC7181"/> described in this specification permits a router to
use the described optimization, while still being considered compliant with OLSRv2.
  </t>
  <t>
  	Note that whether or not a router is considered compliant, a router
that implements the optimization described in this specification will
interoperate successfully with routers that are not implementing this optimization. 
  </t>

</section>
<section title="Routing MPR Selection">

  <t>
    A set of routing MPRs created as specified in <xref target="RFC7181"/> MAY be optimized in the following manner. Note that this uses the notation of Section 18.2 of <xref target="RFC7181"/>:
    <list style="numbers">
      <t>
        If there is a sequence x_0, ..., x_n of elements of N1 such that:
        <list style="symbols">
          <t>
            x_0 is a routing MPR,
          </t>
          <t>
            x_1, ... , x_n have corresponding elements y_1, ..., y_n of N2, and
          </t>
          <t>
            d1(x_0) + d2(x_0,y_1) + ... + d2(x_m-1,y_m) &lt; d1(x_m) for m = 1, ... , n,
          </t>
        </list>
        then x_1 to x_n may be removed from the set of routing MPRs, if selected.
      </t>
    </list>
    Note that "corresponding elements" in N1 and N2 means that these elements represent the same router. All of this information is available from information gathered by NHDP <xref target="RFC6130"/>.
  </t>

</section>

<section title="Security Considerations" anchor="Security">

  <t>
	The update to OLSRv2 <xref target="RFC7181"/> does not introduce any new
protocol signals, nor does it change the processing of any received protocol signals. 
  </t>
  <t>
	This update to OLSRv2 <xref target="RFC7181"/> permits an
implementation that is compliant with OLSRv2 to (potentially) eliminate some
unneeded routers from the routing MPR sets generated as described in <xref
target="RFC7181"/>, which also eliminates the need to include the corresponding
information in generated Topology Control (TC) messages.
Because this information is not used when included, this update to OLSRv2 <xref
target="RFC7181"/> does not present any additional security considerations,
beyond those described in <xref target="RFC7181"/>.

  </t>

</section>
<section title="Acknowledgments">


  <t>
  	The authors would like to gratefully acknowledge Philippe Jacquet (Alcatel-Lucent) for intense technical discussions and comments.
  </t>
</section>
</middle>

<back>
<references title="Normative References">

  <reference anchor="RFC2119">
	<front>
	  <title abbrev="RFC Key Words">Key words for use in RFCs to Indicate Requirement Levels</title>
	  <author initials="S." surname="Bradner" fullname="Scott Bradner">
	    <organization>Harvard University</organization>
	  </author>
	  <date year="1997" month="March"/>
	</front>
	<seriesInfo name="BCP" value="14"/>
	<seriesInfo name="RFC" value="2119"/>
  </reference>


  <reference anchor="RFC6130">
	<front>
	  <title>Mobile Ad Hoc Network (MANET) Neighborhood Discovery Protocol (NHDP)</title>
	  <author initials="T.H." surname="Clausen" fullname="Thomas Heide Clausen">
		<organization abbrev="X">Ecole Polytechnique, France</organization>
	  </author>
	  <author initials="J.W." surname="Dean" fullname="Justin W. Dean">
	    <organization abbrev="NRL">Naval Research Laboratory, USA</organization>
	  </author>
	  <author initials="C.M." surname="Dearlove" fullname="Christopher Dearlove">
		<organization>BAE Systems Advanced Technology Centre, UK</organization>
	  </author>
	  <date month="April" year="2011"/>
	</front>
	<seriesInfo name="RFC" value="6130" />
  </reference>

<!-- draft-ietf-manet-olsrv2-19 -->
  <reference anchor="RFC7181">
	<front>
	  <title>The Optimized Link State Routing Protocol version 2</title>
	  <author initials="T." surname="Clausen"/>
	  <author initials="C." surname="Dearlove"/>
	  <author initials="P." surname="Jacquet"/>
	  <author initials="U." surname="Herberg"/>
	  <date month="March" year="2014" />
	</front>
	<seriesInfo name="RFC" value="7181"/>
  </reference>

</references>

<references title="Informative References">

  <reference anchor="RFC2501">
    <front>
      <title>Mobile Ad hoc Networking (MANET): Routing Protocol Performance Issues and Evaluation Considerations</title>
      <author initials="J." surname="Macker" fullname="Joseph Macker">
        <organization abbrev="NRL">Naval Research Laboratory</organization>
      </author>
      <author initials="S." surname="Corson" fullname="Scott Corson">
        <organization abbrev="University of Maryland">University of Maryland</organization>
      </author>
      <date month="January" year="1999"/>
    </front>
    <seriesInfo name="RFC" value="2501"/>
  </reference>

  <reference anchor="RFC3626">
    <front>
      <title>The Optimized Link State Routing Protocol</title>
      <author initials="T.H." surname="Clausen" fullname="Thomas Heide Clausen (ed.)">
        <organization abbrev="PCRI">Ecole Polytechnique, France</organization>
      </author>
      <author initials="P." surname="Jacquet" fullname="Philippe Jacquet (ed.)">
        <organization abbrev="INRIA">Project Hipercom, INRIA Rocquencourt, France</organization>
      </author>
      <date month="October" year="2003"/>
    </front>
    <seriesInfo name="RFC" value="3626"/>
  </reference>

<!-- draft-ietf-manet-olsrv2-metrics-rationale-04 -->
  <reference anchor="RFC7185">
    <front>
      <title>Rationale for the Use of Link Metrics in the Optimized Link State Routing Protocol Version 2 (OLSRv2)</title>
      <author initials="T." surname="Clausen"/>
	<author initials="C." surname="Dearlove"/>
	<author initials="P." surname="Jacquet"/>
      <date year='2014' month='March'/>
    </front>
    <seriesInfo name='RFC' value='7185'/>
  </reference>


</references>
</back>

</rfc>
