## 3 LOADng Protocol Overview
### LOAng Control Messages and Information Base  
The process of route discovery is performed with the use of control messages inspired by AODV. RREQ messages are always used to request the creation of a route to a destination when a node needs to send a data message and the path to the destination is unknown. RREP messages are used by the destination that receives the RREQ as an answer to the request for route creation. An RREP message may, optionally, require an acknowledgment. In this case, the route reply acknowledgment (RREP_ACK) message is used to answer a received RREP. When a node fails at the moment of data message forwarding, a route error (RERR) message can be used to inform the data message originator of the problem detected. The RERR can also be used when the data message destination is unknown by the intermediate node. Table 1 summarizes the control messages of LOADng and presents its fields with a brief description. In the process of route discovery, control messages are used in conjunction with an Information Base maintained by each network node. According to the content of the control messages, the Information Set of nodes are fed and updated. The main elements of the Information Base are the following: Routing Set, Blacklisted Neighbor Set, and Pending Acknowledgment Set. The Routing Set is composed by route tuples entries that store data about the neighbor nodes. Based on the Routing Set, a node can verify the existence of a path to a destination or the necessity of starting a new route discovery process. The Blacklisted Neighbor Set is responsible for storing the addresses of nodes with possible communication inconsistencies that make the bidirectional linkage unavailable. The Pending Acknowledgment Set records information about the RREP messages sent with the field ackrequired defined as true. Table 2 presents the fields and the descriptions of the main components of the Information Set. \begin{table}
\begin{tabular}{c c} \hline \hline
**RREQ Message** & \\ \hline
**Field** & **Description** \\ \hline addr-length & Defines the length of the addresses used by originator and destination nodes \\  & Indicates the sequence number that uniquely identifies each message \\   seq-num & generated by the originator node \\   metric-type & Determines the type of metric used by the message originator node \\   route-metric & Defines the value of the route metric of the path \\   hop-count & Indicates the number of hops that the message has traversed \\   hop-limit & Indicates the maximum number of times that a message can be forwarded \\   originator & Specifies the address of the message originator \\   destination & Specifies the address of the message destination \\ \hline \hline
**RREP Message** & \\ \hline
**RREP\_ACK Message** & \\ \hline
**Field** & **Description** \\ \hline addr-length & Defines the length of the addresses used by originator and destination nodes \\   seq-num & Indicates the sequence number of the RREP messages that was triggered \\   destination & the generation of the RREP\_ACK \\   destination & Specifies the address of the message destination \\ \hline \hline
**RERR Message** & \\ \hline
**Field** & **Description** \\ \hline addr-length & Defines the length of the addresses used by originator and destination nodes \\   errorcode & Indicates the error code of the message \\   unreachableAddress & Specifies the address of the node unable to be reached \\   originator & Specifies the address of the message originator \\   destination & Specifies the address of the message destination \\   hop-limit & Indicates the maximum number of times that a message can be forwarded \\ \hline \hline \end{tabular}
\end{table} 
Table 1: LOADng Control Messages.