<?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.7.17 (Ruby 3.0.2) -->
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-lou-manet-sturp-02" category="exp" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.21.0 -->
  <front>
    <title abbrev="STURP">Sloppy Topology Updates for ad-hoc Routing Protocols (STURP)</title>
    <seriesInfo name="Internet-Draft" value="draft-lou-manet-sturp-02"/>
    <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>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 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  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>
            <t>Router ID: Unique router identifier. Could be the address of the node.</t>
          </li>
          <li>
            <t>Topology Hash: It is a 32-bit hash value of the topology compromising of all NITs stored locally.</t>
          </li>
          <li>
            <t>Reserved: Field reserved for future use. MUST be set to zero on transmission and MUST be ignored on reception.</t>
          </li>
          <li>
            <t>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.</t>
          </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>
            <t>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.</t>
          </li>
          <li>
            <t>Type: This 8-bit field shows the type of the message (1 = Request; 2 = Response).</t>
          </li>
          <li>
            <t>Reserved: Field reserved for future use. MUST be set to zero on transmission and MUST be ignored on reception.</t>
          </li>
          <li>
            <t>Router ID: Unique router identifier. Could be the address of the node.</t>
          </li>
          <li>
            <t>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"/>.</t>
          </li>
          <li>
            <t>No. of Records: It shows the number of records in the TIDB attached to this message.</t>
          </li>
          <li>
            <t>Reserved: Field reserved for future use. MUST be set to zero on transmission and MUST be ignored on reception.</t>
          </li>
          <li>
            <t>Record 1..N: The appended records from the TIDB. Each records represents a neighbor information advertisement message.</t>
          </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>
            <t>Type: This 8-bit field indicates the type of NITA.
<!--DL: like TLV-->
            </t>
          </li>
          <li>
            <t>Length: It indicates the length of this NITA message in bytes.</t>
          </li>
          <li>
            <t>No. of Neighbors: It indicates the number of neighbors of the node.</t>
          </li>
          <li>
            <t>Reserved: Field reserved for future use. MUST be set to zero on transmission and MUST be ignored on reception.</t>
          </li>
          <li>
            <t>Node ID: The unique identifier of the node, could be the address of the node.</t>
          </li>
          <li>
            <t>Reserved: Field reserved for future use. MUST be set to zero on transmission and MUST be ignored on reception.</t>
          </li>
          <li>
            <t>Sequence Number: It is a self-incremental value, starting from a random number. A bigger number indicates a more recent version of the NIT.</t>
          </li>
          <li>
            <t>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.</t>
          </li>
          <li>
            <t>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.</t>
          </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>
            <t>Destination Address: It is the IP address of the node at the other side of the link.</t>
          </li>
          <li>
            <t>Type: It refers the type of the link, e.g. WiFi, Ethernet, Bluetooth, etc..</t>
          </li>
          <li>
            <t>Cost: The cost of the link, defined as follows:??</t>
          </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 anchor="sec-normative-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 anchor="sec-informative-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"/>
          <refcontent>ESRSA Publications Pvt. Ltd.</refcontent>
        </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"/>
          <refcontent>IEEE</refcontent>
        </reference>
      </references>
    </references>
    <?line 446?>
<!--

~~~~~~~~~~   
 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:
H4sIAAAAAAAAA+U9aXPbOLLf9SuwSdXGKkuK5dyeY59sORPv2I7X1mRmdmdr
ixIhC2uK1BKkHU3s99tfHwAIUtSRe7aeUhXTFI5Go+9uwO12uzFKQhVf7ok8
G7efN673xKNGI1NZJPfEvYsomc3mYpDMkii5nIufZmGQSS3GSSqCsD1JRuI8
yTPoL87SJEtGSaTF1sXgp/Oz5r1GIxgOU3mN4+Cbe40wGcXBFAYO02CctaMk
b0+DWGZtneXprL2z2xjB8JdJOt8T8u2sobNUBtM9cXQ4eNm4f5OkV5dpks/2
xEnv9HAgfv6hcSXn8DqEJnEmUxyqj0M3GmqW7okszXW2u7PzAkZGwPfEu35v
cHgHAwdx+K8gSmJ4N5e6MVN74h8Af0voJIVZxxqe5lN+ALCnwWwGq/wnrCnP
Jkm612g3hFCx3hP9jjhOcviNl/b3iTS/Jylg9VUe3EglBnI0iRGHCiYTwiKG
v4UXuFKZ7Ylz+B6eA62l2H0CX4xUBsg4yWM1muCvSR5niJ4fZAqom9OrEKZ9
8HznxYvdB/C7nAYq2hO/T2QHEPw/E5qiM0qmBcjHHXEUxDGs3oF9nKtL5b1d
Brx4mQbxSIqLTq9z0fmpU7eY+yJNkHxkqLIk9VbXfd4Sf8sDJcJcnCUqzvDh
r0meuoXuJznME8v2vooimAi+y/xl8+zFql/sdnd2vFVHuIyO4mXUrh22a5Am
gN/Yrb2v0ivv5dKl93NoEYVJOhY/TIev3m/tn25nQwC3kzG4tUv8e0dcTJRH
kUEymsjYvHwfsly2mmK/pPo38IUP/8FExUEBPezPzosnHvh6on43EPnQNxr3
z+VYphL2V38Dv8YJ4CFT13IPuDkee78J+Fy86p3+2DvvPoXte33U6e50us+e
PHv28Oivh+eDN0+OLmDe7rNHrvH5Sc9v29158fCs/8NBZ3en+7Tz7EX30W73
eaPRbrcBCbhNI5Ahg4nSYiqniQilHqVqCDQQxAJEQZoEo4nIEpGjQETxl7GI
RDJRscjmMzUKIpZT7UhdSSHja5Um8VTGGYiUVEZz7JbE4mYSZAImAvk1laF4
oFnm5ixqH9BwIFNSRF8cylQkY3gBHUAs5ThcR/wo5wgMNnPA4Yg4shlHBKmE
2aI5jKcyBa9CocYgZZUm+GELpkiKsBqACcCjB1h+MBdDgH48lqNMDOcCGKut
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

-->

</rfc>
