<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.35 (Ruby 3.0.2) -->
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-lou-manet-sturp-01" category="exp" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.17.4 -->
  <front>
    <title abbrev="STURP">Sloppy Topology Updates for ad-hoc Routing Protocols (STURP)</title>
    <seriesInfo name="Internet-Draft" value="draft-lou-manet-sturp-00"/>
    <author initials="D." surname="Lou" fullname="Zhe Lou">
      <organization abbrev="Huawei">Huawei Technologies</organization>
      <address>
        <postal>
          <street>Riesstrasse 25</street>
          <city>Munich</city>
          <code>80992</code>
          <country>Germany</country>
        </postal>
        <email>zhe.lou@huawei.com</email>
      </address>
    </author>
    <author initials="L." surname="Iannone" fullname="Luigi Iannone">
      <organization abbrev="Huawei">Huawei Technologies France S.A.S.U.</organization>
      <address>
        <postal>
          <street>18, Quai du Point du Jour</street>
          <city>Boulogne-Billancourt</city>
          <code>92100</code>
          <country>France</country>
        </postal>
        <email>luigi.iannone@huawei.com</email>
      </address>
    </author>
    <author initials="D." surname="Trossen" fullname="Dirk Trossen">
      <organization abbrev="Huawei">Huawei Technologies Dusseldorf GmbH.</organization>
      <address>
        <postal>
          <street>Riesstrasse 25</street>
          <city>Munich</city>
          <code>80992</code>
          <country>Germany</country>
        </postal>
        <email>dirk.trossen@huawei.com</email>
      </address>
    </author>
    <author initials="Z." surname="Shi" fullname="Zhaochen Shi">
      <organization abbrev="Huawei">Huawei Technologies</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <code>100095</code>
          <country>China</country>
        </postal>
        <email>shizhaochen@huawei.com</email>
      </address>
    </author>
    <date/>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 76?>

<t>This memo describes an approach to updating topologies in typical MANET-like environments, relying on what is termed 'sloppy updates' in the remainder of this document. Key to the approach is that updates are only initiated if existing communication relations may be effect by non-synchronized topology information, otherwise using the topology information as it exists. This 'sloppy' nature of the approach reduces the needed updates and the associated communication for them, thus increases efficiency as well as performance from a user perspective.</t>
    </abstract>
  </front>
  <middle>
    <?line 80?>

<!--
A third contribution that half fits the IETF scope
3. L2 Neighbor discovery & Routing association.
-->

<!--AP-DOT: review the introduction to better match the new title "STURP"-->

<section anchor="SEC_intro">
      <name>Introduction</name>
      <t>The penetration of smart devices like smart phones, pads, smart watches, cameras, speakers and TVs, etc. has led to the increasing proliferation of mobile ad-hoc networks and communications, as shown in <xref target="Fig_MANET-SD"/>. A key characteristic of those environments is the minimization or entire absence of dedicated network infrastructure involved in such networks. For instance, a smart watch can pair with a smart phone via bluetooth to exchange contacts and takes over phone calls. It can further talk to a speaker connected to the home WiFi network via the smart phone. When the smart phone is absent, a tablet may take over the role to bridge the link between the smart watch and the speaker. Common to those scenarios is the need for a self organized network, with a dynamic topology comprised of the currently participating devices in that network.</t>
      <t>Looking more closely at those environments, we can recognize that devices may join or leave the network depending on the application, location, and their own status. In the presence of such dynamicity, proactive network formation is desired to enable any to any as well as instant device communication, while ensuring the Quality of Experience (QoE) of any such communication.</t>
      <t>As a key aspect in a routing and communication protocol for such environments, it is required that all devices in the network are able to create and periodically refresh the network topology information, including node addresses and link information. For instance, the Ad hoc On-Demand Distance Vector (AODV) routing protocol defined in <xref target="RFC3561"/> enables dynamic, self-starting, multi-hop routing between network nodes to establish and maintain ad hoc networks. However, it is a reactive routing protocol, creating a relatively higher end-to-end delay due to route discovery (<xref target="SHARMA16"/>, <xref target="SHANKAR16"/>), which impacts the QoE of the communication. The Optimized Link State Routing (OLSR) protocol defined in <xref target="RFC3626"/> and further optimized by <xref target="RFC7181"/>, was developed as a proactive protocol for mobile ad-hoc networks to exchange and update the network topology periodically. It reduces the end-to-end latency and improves the QoE. Although a set of Multi-Point Relays (MPR) is selected by each node to reflect control traffic efficiently, thus avoiding flooding the overall network, the frequent periodic refreshing leads to higher power consumption, which is not desirable for battery enabled devices. RPL <xref target="RFC6550"/> (Routing Protocol for Low-Power and Lossy Networks) targets wireless networks with low power consumption, with the main target being many-to-one communication over IEEE 802.15.4, and thus possibly not providing the desired QoE in different use cases. Its routing based on a proactive distance vector approach. The Babel routing protocol, also based on a distance vector approach,  has been designed to be robust and efficient on both wireless mesh networks and wired networks <xref target="RFC8966"/>, and has been chosen by the Homenet WG as mandatory to implement. It includes various mechanisms to avoid loops, which however may lead to slow topology updates (still, preserving connectivity), which may hinder QoE. Babel does focus on energy efficiency for realizing its topology update.</t>
      <t>Having identified the topology and service updates in such dynamic environment as a key contributing factor to the overall QoE, this memo introduces a mechanism we term 'sloppy topology updates for ad-hoc routing protocols' (STURP) for improving on topology updates. This is achieved through a proactive mechanism that limits updates for topology changes, e.g., through nodes joining or leaving, only to those cases where ongoing communication relations would be affected. As a consequence, full topology updates are postponed to regular intervals instead, while ongoing communication may continue, using partially correct topology information only. Through this, our approach strikes a balance between reducing the power consumption (and memory footprint) while keeping the QoE thanks to the proactiveness of its mechanism.</t>
      <t>It is important to note that STURP does constitute a routing protocol per se, but merely addresses the crucial component for providing topology update. As such, we target the integration of STURP with existing routing protocols, improving thus the efficacy of those existing protocols.</t>
      <t>In the remainder of this document, we first provide an overview of the protocol in <xref target="SEC_overview"/>, followed by the protocol interactions in <xref target="SEC_interactions"/>.</t>
      <figure anchor="Fig_MANET-SD">
        <name>Mobile Ad-Hoc Network for Smart Devices.</name>
        <artwork><![CDATA[
                         +----------+    
                         | WIFI AP0 |          
                         +----------+  
                          /        \
                         / --PLC--  \
               +----------+       +----------+  
               | WiFi AP1 |       | WiFi AP2 |           
               +----------+       +----------+  
               /    \                /     \     
              / WiFi \              / WiFi  \
        +-----+  +-------+      +----+    +----+  
        | Pad |  | Phone |      | TV |    | PC |  
        +-----+  +-------+      +----+    +----+  
                   /   \                     |
                  / BLE \                    | BLE   
           +---------+  +-----+         +---------+
           | Watch A |  | Pod |         | Speaker |     
           +---------+  +-----+         +---------+

]]></artwork>
      </figure>
    </section>
    <section anchor="SEC_terminology">
      <name>Terminology</name>
      <t>This memo uses the terms defined in the MANET Neighborhood Discovery Protocol (NHDP) <xref target="RFC6130"/>, the Generalized MANET Packet/Message Format <xref target="RFC5444"/>, the TLVs specified in <xref target="RFC5497"/>, the Optimized Link State Routing protocol (OLSR) <xref target="RFC3626"/>, and the Optimized Link State Routing protocol Version 2 (OLSRv2) <xref target="RFC7181"/>. This document assumes that the reader is familiar with the aforementioned MANET protocols and algorithms.</t>
    </section>
    <section anchor="requirements-language">
      <name>Requirements Language</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 BCP 14 <xref target="RFC2119"/> and <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>
    </section>
    <section anchor="SEC_overview">
      <name>Protocol Overview</name>
      <t>The CLSR protocol operates as table driven, distance vector, proactive routing protocol exchanging topology information regularly with neighbors for mobile ad-hoc networks (MANETs). It works in a completely distributed manner without any centralized control entity. Every node in the network stores the overall network topology information in local table(s) in order to route packets hop-by-hop. Routes are immediately available when needed.</t>
      <t>Network nodes periodically send Hello Messages, as shown in <xref target="Fig_MsHello"/>, to their 1-hop neighbors to establish/maintain the neighbor relationship. After receiving the address and link information from a neighbor, the node will update its Neighbor Information Table (NIT). Each node furthermore maintains a sequence number for each neighbor to track historical progress of communication with the respective neighbors.</t>
      <t>Furthermore, the hello message is used to check whether the topology information is synchronized between several neighbors or not. For this, a 'topology hash' is transmitted, calculated over ALL NITs available at a node. Consequently, receiving the same hash value from a neighbor indicates that the receiving node's topology information is in sync with this sending neighbor, while the usage of a single hash value reduces the size of the message and communication power consumption since no full topology information is sent in the hello message. As another advantage of the compact size of hello messages in our STURP (due to the avoidance of exchanging full topology information), they may be carried in the payload of link layer broadcast messages (e.g. BLE, Zigbee, WIFI) as an optimization, further improving the energy efficiency of the system.</t>
      <t>Key to the 'sloppy updates' mentioned in the introduction, a 'Sync Radius' is introduced to reflect which part of the network is fully synchronized with respect to topology information. A sync radius value N indicates that all nodes within N hops from the current node share the same topology information; the calculation of the sync radius is described in more detail in section <xref target="SEC_interactions_TopologySync"/>. As a consequence, a packet can be routed to any node within this 'radius'. With this, the sync radius value provides an easy and efficient manner to determine whether there is a need to perform a network topology refresh before launching an application/service.</t>
      <t>In other words, if existing service/application communication happens within the sync radius, it is concluded that the service is not affected and thus no flooding of the network is required. Instead, the neighbor nodes merely update their own NITs, topology information and topology hash values, while the overall topology refreshing is triggered either in the next freshing cycle, or by a launch of new applications/services.</t>
    </section>
    <section anchor="SEC_interactions">
      <name>Protocol Interactions</name>
      <t>The protocol functionality specifies the behavior of a node participating in the network and running CLSR as a routing protocol. It covers neighbor acquisition, topology refreshing and route calculation.</t>
      <section anchor="neighbor-acquisition">
        <name>Neighbor Acquisition</name>
        <t>When a node receives a hello message, it records the IP address of the neighbor into its NIT, as shown in <xref target="Tab_NeighborInfo"/>. The NIT of a node contains the neighbor router IDs, the addresses of 1-hop neighbors, the type and cost of the link. The <xref target="Tab_NeighborInfo"/> provides an example illustrating that node A has 2 neighbors, B and C. The link between node A and B is bluetooth, while the link between A and C is WiFi. The cost of the link is defined based on the bandwidth capacity. For instance the cost of WiFi will be lower than the cost of bluetooth, as WiFi could provide bigger bandwidth than bluetooth.</t>
        <!--DL: The cost of the link should be defined clearly. Otherwise remove it-->

<table anchor="Tab_NeighborInfo">
          <name>Neighbor Information Table</name>
          <thead>
            <tr>
              <th align="left">Neighbor Router ID</th>
              <th align="left">Neighbor Address</th>
              <th align="left">Link Type</th>
              <th align="left">Cost</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">B</td>
              <td align="left">Address B</td>
              <td align="left">BLE</td>
              <td align="left">X</td>
            </tr>
            <tr>
              <td align="left">C</td>
              <td align="left">Address C</td>
              <td align="left">WiFi</td>
              <td align="left">X</td>
            </tr>
          </tbody>
        </table>
        <t>Via neighbor detection, each node obtains the information of a list of 1-hop neighbors which it can communicate directly, stored in the NIT of this node.</t>
        <t>Besides the NIT, each node contains a Topology Information Database (TIDB). After the exchange of the hello message, a node checks whether there is any update in the NIT table. Any change in the "Neighbor Address" column indicates a change in  the local neighborhood.
If it detects a new node joining, it will further exchange with the new node the created/updated NIT in order to synchronize the TIDB. The synchronization of the TIDBs between 2 neighbors will be done by exchanging the Topology Synchronization Message (TSM). The format of TSM is depicted in section <xref target="SEC_MessageEncoding_TopologySM"/>. Once the synchronization is done, the node will update the Topology Hash Value (THV) accordingly. If it detects a node depart, it will only update the topology hash without exchanging the TSM.</t>
        <t>The workflow of the neighbor detection and topology exchange is shown in the <xref target="Fig_NeighborDect"/></t>
        <figure anchor="Fig_NeighborDect">
          <name>Neighbor Detection and Topology Exchange Workflow.</name>
          <artwork><![CDATA[
  Node A                                Node B
  |----+                                  |----+
  |    | 1. node startup                  |    | 1. node startup
  |<---+                                  |<---+  
  |          2. Hello Message             |
  |-------------------------------------->|
  | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+       |    
  | | Addr A| Hash(0)| Sync R.(0) |       |    
  | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+       |    
  |<--------------------------------------|
  |       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |    
  |       | Addr B| Hash(0)| Sync R.(0) | |    
  |       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |    
  |                                       |    
  | 3. Create NIT A                       | 3. Create NIT B
  | +-+-+-+-+-+-+-+-+-+-+-+               | +-+-+-+-+-+-+-+-+-+-+-+
  | |N. addr| Link | Cost |               | |N. addr| Link | Cost |
  | +-+-+-+-+-+-+-+-+-+-+-+               | +-+-+-+-+-+-+-+-+-+-+-+
  | |Addr B | BLE  |  XXX |               | |Addr A | BLE  |  XXX |
  | +-+-+-+-+-+-+-+-+-+-+-+               | +-+-+-+-+-+-+-+-+-+-+-+
  |                                       |    
  | 4. Create TIDB A                      | 4. Create TIDB B
  | +-+-+                                 | +-+-+
  | | A |                                 | | B |   
  | +-+-+                                 | +-+-+
  |                                       |
  |       5. Topology Sync Message        |
  |<------------------------------------->|
  |                                       |
  | 6. Update TIDB A                      | 6. Update TIDB B   
  | +-+-+                                 | +-+-+
  | | A |                                 | | A |   
  | +-+-+                                 | +-+-+
  | | B |                                 | | B |   
  | +-+-+                                 | +-+-+
  |                                       |
  |          7. Hello Message             |
  |-------------------------------------->|
  | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+       |    
  | | Addr A| Hash(X)| Sync R.(0) |       |    
  | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+       |    
  |<--------------------------------------|
  |       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |    
  |       | Addr B| Hash(X)| Sync R.(0) | |    
  |       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |    
  |                                       |  
  | 8. Update Sync Radius                 | 8. Update Sync R.
  | Sync R. = 1                           | Sync R. = 1
  |                                       |  
]]></artwork>
        </figure>
        <t>step 1, node A and B start up.
 step 2, node A and B exchange hello messages. As there is no topology and sync radius information, both values are set to zero.
 step 3, upon receiving the hello message from each other, node A and B create their NITs.
 step 4, based on the newly created neighbor information tables, node A and B create their TIDBs. At this stage, the topology information database only contains their own addresses.
 step 5, node A and B exchange topology sync message...
 step 6, upon receiving the topology sync message from each other, node A and B updated their TIDBs. Now both TIDBs are identical, leading to the same THV.
 step 7, node A and B exchange hello messages with the same topology hash value Hash(X) in the next period. Since the hash values are identical, both update their sync radius to 1.</t>
      </section>
      <section anchor="SEC_interactions_TopologySync">
        <name>Topology Synchronization</name>
        <t>The periodical exchange of the hello message updates the NIT and TIDB between 1-hop neighbors. A node 2-hops away gets informed of the topology change via the THV it received. However, it may not trigger the overall network topology synchronization as long as it doesn't impact on existing applications and services. Compared with neighbor detection, the network topology synchronization is performed periodically as well, but in much slower sync cycles. When it get triggered, the nodes broadcast hello messages to exchange their THVs. The ones receive different THVs (comparing with their own) will send unicast topology sync messages (request) to all neighbors with different THV values, which respond back with their own TIDB in the form of TSM, as shown in <xref target="Fig_TopologyR"/>.</t>
        <t>All nodes update their TIDBs and calculate new THVs based on received TSM messages. Hello messages will be then broadcasted with updated THVs. If the THV alters, the node continues sending unicast TSM (request) to all neighbors with different THV values until all THVs stay the same.</t>
        <figure anchor="Fig_TopologyR">
          <name>The Topology Refreshing Procedure.</name>
          <artwork><![CDATA[
+----------------------------------+
|     Start Topology Refreshing    |
+----------------------------------+
                 |
                 V
   +--------------------------+
   |  Broadcast Hello Message |
   |  to all neighbors        |<------------------+
   +--------------------------+                   |
                 |                                |
                 V                                |
   +-------------------------+       +--------------------------+  
  /                           \  No  | Unicast TSM to neighbors |
 |  THV(received) == THV(own)  | --> |  with different THVs     |
  \                           /      +--------------------------+
   +-------------------------+          
                 |  Yes                                   
                 V                                       
           +------------+
           |    END     |
           +------------+
]]></artwork>
        </figure>
        <t>Then hello messages will be sent out to compute the sync radius value, as shown in <xref target="Fig_SyncR"/> depends on the THV. Assuming node A has K neighbors (N1, N2,..., Nk), the THV is Hash(A) and the sync radius is R(A).</t>
        <figure anchor="Fig_SyncR">
          <name>Sync Radius Calculation.</name>
          <artwork><![CDATA[
+-----------------+
|     R(A) = 0    |
+-----------------+
         |
         V
+------------------+
| Exchange TIDB&THV|
| with neighbors   |<---------------+
+------------------+                |
         |                          |
         V                          |
 +-------------------+    No   +----------+  
/ for i = (1, 2...K)  \ -----> | R(A) = 0 |
\ Hash(A) = Hash(Ni)? /        +----------+
 +-------------------+          
         |  Yes                                   
         V                                       
+----------------------------------------+                              
| R(A) = min[R(N1), R(N2),...,R(Nk)] + 1 |
+----------------------------------------+                              
        |
        V
  +------------+
  |    END     |
  +------------+
]]></artwork>
        </figure>
        <t>From <xref target="Fig_SyncR"/>, one can see that the calculation of the sync radius value can be accomplished by exchanging TIDB&amp;THV only with neighbors without involving &gt;2 hops communication.</t>
        <t>The network topology synchronization can be triggered by application launch as well. A node can launch an application as long as it meets the following 2 conditions:
- Its THV equals the THV from one of the neighbors
- Its sync radius value is larger or equal to the number of hops between the source and the destination
Otherwise, TSMs will be flooded to synchronize the network topology.</t>
      </section>
      <section anchor="routing-table-calculation-and-configuration">
        <name>Routing Table Calculation and Configuration</name>
        <t>Each node maintains a routing table which allows it to route data, destined for the other nodes in the network. The routing table is based on the information contained in the TIDB. If the TIDB is updated, the routing table is recalculated to update the route information about each destination in the network. The route entries are recorded in the routing table in the following format:</t>
        <artwork><![CDATA[
     1.  Dest_addr, Next_addr, Link
     2.  Dest_addr, Next_addr, Link
     3.      ,,         ,,       ,,
]]></artwork>
        <t>Each entry in the table consists of Dest_addr, Next_addr and Link.  Such entry specifies that for a specific application routing towards the Dest_addr, the enxt hop is Next_addr that is reachable through the media "Link". Entries are recorded in the routing table for each destination in the network for which a route is known.  All the destinations, for which a route is broken or only partially known, are not recorded in the table.</t>
      </section>
    </section>
    <section anchor="SEC_MessageEncoding">
      <name>Message Encodings</name>
      <section anchor="hello-message">
        <name>Hello Message</name>
        <t>A node periodically exchanges the hello message with its neighbors to create/maintain the NIT. The format of the hello message is as follows:</t>
        <figure anchor="Fig_MsHello">
          <name>Hello Message Format.</name>
          <artwork><![CDATA[
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                        Router Id                              |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Topology Hash                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Reserved                        |   Sync Radius   |       
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <ul spacing="normal">
          <li>Router ID: Unique router identifier. Could be the address of the node.</li>
          <li>Topology Hash: It is a 32-bit hash value of the topology compromising of all NITs stored locally.</li>
          <li>Reserved: Field reserved for future use. MUST be set to zero on transmission and MUST be ignored on reception.</li>
          <li>Sync Radius: The 1-byte sync radius N indicates that all nodes within N hops share the same topology information at the moment. The sync radius of a node changes as the network topology alters.</li>
        </ul>
      </section>
      <section anchor="SEC_MessageEncoding_TopologySM">
        <name>Topology Synchronization Message</name>
        <figure anchor="Fig_TSM">
          <name>Topology Sync Message Format.</name>
          <artwork><![CDATA[
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Version     |     Type      |          Reserved             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                        Router ID                              |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           Nonce                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|        No. of Records         |            Reserved           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             Record 1                          |       
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             .......                           |       
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             Record N                          |       
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <ul spacing="normal">
          <li>Version: This 8-bit field is assigned to the version of this protocol. Implementations of the specifications in this document MUST use the value 1.</li>
          <li>Type: This 8-bit field shows the type of the message (1 = Request; 2 = Response).</li>
          <li>Reserved: Field reserved for future use. MUST be set to zero on transmission and MUST be ignored on reception.</li>
          <li>Router ID: Unique router identifier. Could be the address of the node.</li>
          <li>Nonce: This is an 4-octet random value created by the sender of the request This nonce will be returned in the corresponding reply. The nonce is used as an index to identify the corresponding request when a reply message is received. The nonce MUST be generated by a properly seeded pseudo-random source; for example, see <xref target="RFC4086"/>.</li>
          <li>No. of Records: It shows the number of records in the TIDB attached to this message.</li>
          <li>Reserved: Field reserved for future use. MUST be set to zero on transmission and MUST be ignored on reception.</li>
          <li>Record 1..N: The appended records from the TIDB. Each records represents a neighbor information advertisement message.</li>
        </ul>
        <t>The format of the Record is as follows:</t>
        <figure anchor="Fig_NITA">
          <name>Neighbor Information Table Advertisement Message Format.</name>
          <artwork><![CDATA[
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      Type     |   Length      |No.of Neighbors|   Reserved    |    
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                          Node ID                              |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           Reserved             |     Sequence Number          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          Neighbors                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          Extension                            |       
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <ul spacing="normal">
          <li>Type: This 8-bit field indicates the type of NITA.
<!--DL: like TLV-->
          </li>
          <li>Length: It indicates the length of this NITA message in bytes.</li>
          <li>No. of Neighbors: It indicates the number of neighbors of the node.</li>
          <li>Reserved: Field reserved for future use. MUST be set to zero on transmission and MUST be ignored on reception.</li>
          <li>Node ID: The unique identifier of the node, could be the address of the node.</li>
          <li>Reserved: Field reserved for future use. MUST be set to zero on transmission and MUST be ignored on reception.</li>
          <li>Sequence Number: It is a self-incremental value, starting from a random number. A bigger number indicates a more recent version of the NIT.</li>
          <li>Neighbors: The neighbor information message, as defined in <xref target="Fig_LMF"/>, a 12-byte message illustrating the type and cost of the link, as well as the address of the neighbor.</li>
          <li>Extension: The extension field can be filed with addtional application layer node information so that it can be spread throughout the network along with the routing information, in order to improve the overall messaging efficiency. For instance, inserting the service capabilities onto the extension field enable the node to directly find the services in the local routing information database, instead of looking up services across the network using mDNS and DNS-SD protocol. Integrating the public key onto the extension field enables secure communicate without explicit key exchange.</li>
        </ul>
        <figure anchor="Fig_LMF">
          <name>Link Message Format.</name>
          <artwork><![CDATA[
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Destination Address                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Destination Address                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Type               |            Cost                 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <ul spacing="normal">
          <li>Destination Address: It is the IP address of the node at the other side of the link.</li>
          <li>Type: It refers the type of the link, e.g. WiFi, Ethernet, Bluetooth, etc..</li>
          <li>Cost: The cost of the link, defined as follows:??</li>
        </ul>
      </section>
    </section>
    <section anchor="conclusions">
      <name>Conclusions</name>
      <t>TBD.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TBD.
# IANA Considerations</t>
      <t>TBD.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC3561">
          <front>
            <title>Ad hoc On-Demand Distance Vector (AODV) Routing</title>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <author fullname="E. Belding-Royer" initials="E." surname="Belding-Royer"/>
            <author fullname="S. Das" initials="S." surname="Das"/>
            <date month="July" year="2003"/>
            <abstract>
              <t>The Ad hoc On-Demand Distance Vector (AODV) routing protocol is intended for use by mobile nodes in an ad hoc network.  It offers quick adaptation to dynamic link conditions, low processing and memory overhead, low network utilization, and determines unicast routes to destinations within the ad hoc network.  It uses destination sequence numbers to ensure loop freedom at all times (even in the face of anomalous delivery of routing control messages), avoiding problems (such as "counting to infinity") associated with classical distance vector protocols.  This memo defines an Experimental Protocol for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3561"/>
          <seriesInfo name="DOI" value="10.17487/RFC3561"/>
        </reference>
        <reference anchor="RFC3626">
          <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="RFC7181">
          <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>
        <reference anchor="RFC6550">
          <front>
            <title>RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks</title>
            <author fullname="T. Winter" initials="T." role="editor" surname="Winter"/>
            <author fullname="P. Thubert" initials="P." role="editor" surname="Thubert"/>
            <author fullname="A. Brandt" initials="A." surname="Brandt"/>
            <author fullname="J. Hui" initials="J." surname="Hui"/>
            <author fullname="R. Kelsey" initials="R." surname="Kelsey"/>
            <author fullname="P. Levis" initials="P." surname="Levis"/>
            <author fullname="K. Pister" initials="K." surname="Pister"/>
            <author fullname="R. Struik" initials="R." surname="Struik"/>
            <author fullname="JP. Vasseur" initials="JP." surname="Vasseur"/>
            <author fullname="R. Alexander" initials="R." surname="Alexander"/>
            <date month="March" year="2012"/>
            <abstract>
              <t>Low-Power and Lossy Networks (LLNs) are a class of network in which both the routers and their interconnect are constrained.  LLN routers typically operate with constraints on processing power, memory, and energy (battery power).  Their interconnects are characterized by high loss rates, low data rates, and instability.  LLNs are comprised of anything from a few dozen to thousands of routers.  Supported traffic flows include point-to-point (between devices inside the LLN), point-to-multipoint (from a central control point to a subset of devices inside the LLN), and multipoint-to-point (from devices inside the LLN towards a central control point).  This document specifies the IPv6 Routing Protocol for Low-Power and Lossy Networks (RPL), which provides a mechanism whereby multipoint-to-point traffic from devices inside the LLN towards a central control point as well as point-to-multipoint traffic from the central control point to the devices inside the LLN are supported.  Support for point-to-point traffic is also available. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6550"/>
          <seriesInfo name="DOI" value="10.17487/RFC6550"/>
        </reference>
        <reference anchor="RFC8966">
          <front>
            <title>The Babel Routing Protocol</title>
            <author fullname="J. Chroboczek" initials="J." surname="Chroboczek"/>
            <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
            <date month="January" year="2021"/>
            <abstract>
              <t>Babel is a loop-avoiding, distance-vector routing protocol that is robust and efficient both in ordinary wired networks and in wireless mesh networks.  This document describes the Babel routing protocol and obsoletes RFC 6126 and RFC 7557.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8966"/>
          <seriesInfo name="DOI" value="10.17487/RFC8966"/>
        </reference>
        <reference anchor="RFC6130">
          <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="RFC5444">
          <front>
            <title>Generalized Mobile Ad Hoc Network (MANET) Packet/Message Format</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"/>
            <author fullname="C. Adjih" initials="C." surname="Adjih"/>
            <date month="February" year="2009"/>
            <abstract>
              <t>This document specifies a packet format capable of carrying multiple messages that may be used by mobile ad hoc network routing protocols. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5444"/>
          <seriesInfo name="DOI" value="10.17487/RFC5444"/>
        </reference>
        <reference anchor="RFC5497">
          <front>
            <title>Representing Multi-Value Time in Mobile Ad Hoc Networks (MANETs)</title>
            <author fullname="T. Clausen" initials="T." surname="Clausen"/>
            <author fullname="C. Dearlove" initials="C." surname="Dearlove"/>
            <date month="March" year="2009"/>
            <abstract>
              <t>This document describes a general and flexible TLV (type-length-value structure) for representing time-values, such as an interval or a duration, using the generalized Mobile Ad hoc NETwork (MANET) packet/ message format.  It defines two Message TLVs and two Address Block TLVs for representing validity and interval times for MANET routing protocols. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5497"/>
          <seriesInfo name="DOI" value="10.17487/RFC5497"/>
        </reference>
        <reference anchor="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">
          <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="RFC4086">
          <front>
            <title>Randomness Requirements for Security</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <author fullname="J. Schiller" initials="J." surname="Schiller"/>
            <author fullname="S. Crocker" initials="S." surname="Crocker"/>
            <date month="June" year="2005"/>
            <abstract>
              <t>Security systems are built on strong cryptographic algorithms that foil pattern analysis attempts. However, the security of these systems is dependent on generating secret quantities for passwords, cryptographic keys, and similar quantities. The use of pseudo-random processes to generate secret quantities can result in pseudo-security. A sophisticated attacker may find it easier to reproduce the environment that produced the secret quantities and to search the resulting small set of possibilities than to locate the quantities in the whole of the potential number space.</t>
              <t>Choosing random quantities to foil a resourceful and motivated adversary is surprisingly difficult. This document points out many pitfalls in using poor entropy sources or traditional pseudo-random number generation techniques for generating such quantities. It recommends the use of truly random hardware techniques and shows that the existing hardware on many systems can be used for this purpose. It provides suggestions to ameliorate the problem when a hardware solution is not available, and it gives examples of how large such quantities need to be for some applications. 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="106"/>
          <seriesInfo name="RFC" value="4086"/>
          <seriesInfo name="DOI" value="10.17487/RFC4086"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="SHANKAR16">
          <front>
            <title>Performance Comparison of AODV, DSR, DSDV and OLSR MANET Routing Protocols</title>
            <author fullname="Akshay Shankar" initials="A." surname="Shankar">
              <organization/>
            </author>
            <author fullname="Lavanya Chelle" initials="L." surname="Chelle">
              <organization/>
            </author>
            <author>
              <organization/>
            </author>
            <date month="October" year="2016"/>
          </front>
          <seriesInfo name="International Journal of Engineering Research and" value="vol. V5, no. 10"/>
          <seriesInfo name="DOI" value="10.17577/ijertv5is100173"/>
        </reference>
        <reference anchor="SHARMA16">
          <front>
            <title>Performance comparison and detailed study of AODV, DSDV, DSR, TORA and OLSR routing protocols in ad hoc networks</title>
            <author fullname="Ashutosh Sharma" initials="A." surname="Sharma">
              <organization/>
            </author>
            <author fullname="Rajiv Kumar" initials="R." surname="Kumar">
              <organization/>
            </author>
            <date year="2016"/>
          </front>
          <seriesInfo name="2016 Fourth International Conference on Parallel, Distributed and Grid Computing" value="(PDGC)"/>
          <seriesInfo name="DOI" value="10.1109/pdgc.2016.7913218"/>
        </reference>
      </references>
    </references>
    <?line 452?>
<!--

~~~~~~~~~~   
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  Node A      Node B                                Node C
  |    ...     |                                       |- - - -+
  |    ...     |                                       |    | 1) node startup
  |            |                                       |<- - -+  
  |            |          2) Hello Message             |
  |<- - - - - - - - - ->|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ->|
  |            | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+       |    
  |            | | Addr B| Hash(X)| Sync R.(1) |       |    
  |            | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+       |    
  |            |<- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
  |            |       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |    
  |            |       | Addr C| Hash(0)| Sync R.(0) | |    
  |            |       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |    
  |            |                                       |    
  |            | 3) Update NIT B                       | 3) Create NIT C
  |            | +-+-+-+-+-+-+-+-+-+-+-+-+             | +-+-+-+-+-+-+-+-+-+-+-+-+
  |            | |S. addr| D. addr| link |             | |S. addr| D. addr| link |
  |            | +-+-+-+-+-+-+-+-+-+-+-+-+             | +-+-+-+-+-+-+-+-+-+-+-+-+
  |            | | Addr B| Addr A | BLE  |             | | Addr C| Addr B | WIFI |
  |            | +-+-+-+-+-+-+-+-+-+-+-+-+             | +-+-+-+-+-+-+-+-+-+-+-+-+
  |            | | Addr B| Addr C | WIFI |             |
  |            | +-+-+-+-+-+-+-+-+-+-+-+-+             |
  |            |                                       |    
  |            | 4) Update TID B                       | 4) Create TID C
  |            | +-+-+-+-+                             | +-+-+-+-+
  |            | | NIT A |                             | | NIT C |   
  |            | +-+-+-+-+                             | +-+-+-+-+
  |            | | NIT B |                             |    
  |            | +-+-+-+-+                             |  
  |            |                                       |
  |            |            5) NITA Message            |
  |            |<- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  - - - - - - >|
  |            |                                       |
  |            | 6) Update TID B                       | 6) Update TID C   
  |            | +-+-+-+-+                             | +-+-+-+-+
  |            | | NIT A |                             | | NIT A |   
  |            | +-+-+-+-+                             | +-+-+-+-+
  |            | | NIT B |                             | | NIT B |   
  |            | +-+-+-+-+                             | +-+-+-+-+
  |            | | NIT C |                             | | NIT C |   
  |            | +-+-+-+-+                             | +-+-+-+-+
  |            |                                       |
  |            |          7) Hello Message             |
  |<- - - - - - - - - ->|<- - - - - - - - - - - - - - - - - - - - - - - - - - -  - - - - - - - - - ->|
  |            | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+       |    
  |            | | Addr B| Hash(Y)| Sync R.(0) |       |    
  |            | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+       |    
  |            |<- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  - - - - - - - -|
  |            |       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |    
  |            |       | Addr C| Hash(Y)| Sync R.(1) | |    
  |            |       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |    
  |            |                                       |  
  |            | 8) Network Topology Synchronization   | Update Sync Radius                 | 8) Update Sync R.
  | Sync R.= 0 | Sync R. = 0                           | Sync R. = 1
  |            |                                       |  
  |            |                                       |  
  |            |                                       |  
~~~~~~~~~~
{: #Fig:xxx title="xxx"}

-->



  </back>
  <!-- ##markdown-source:
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
h01646iDAAA=

-->

</rfc>
