# A Survey on Parameters Affecting MANET Performance
## 2 Routing in MANETs
### OLSR Routing Protocol  
OLSR is a proactive routing protocol that is based on the periodic exchange of control packages to maintain the network topology [24]. Routes to neighbor nodes should be available when needed. OLSR reduces the control packet data rate by only declaring a subset of the neighbors [25]. MPR nodes in most cases are neighbor nodes that are only two hops away with bidirectional links. Multipoint relays can only re-transmit the received broadcast messages, and this technique reduces the useless broadcast messages' re-transmission. Nodes that are not MPR normally process the received messages but do not re-transmit the broadcast messages in MANETs.  
In OLSR, a node periodically broadcasts a hello message with all information about the node's neighbors. This hello message allows the neighbors to know the one-hop neighbors and their link state to create the neighbor's table [26]. Additionally, using the information contained in the hello messages, they learn the two hops' neighbors to form the MPR selector table.  
To be able to identify the whole network topology and have better scalability, each node periodically transmits another control message (TC) along with the periodic hello messages. A TC message contains the MPR selector list of the transmitter, and this allows network nodes to create their topology table. TC messages are only sent when a node senses a change in its MPR table that needs to be advertised to other nodes with constraints on time between two consecutive TC message transmissions. After receiving a TC message, the receiver should maintain its topology table, either by creating a new entry record or by maintaining an existing node record. Figure 5 covers the OLSR routing protocol mechanism.  
\begin{table}
\begin{tabular}{c c} \hline \hline
**DSR Parameter** & **Default Value** \\ \hline DiscoveryHopLimit & 1 hop \\ BroadcastJitter & 10 ms \\ RouteCacheTimeout & 300 ms \\ SendBufferTimeout & 30 s \\ MaxRequestPeriod & 10 s \\ RetransmitBufferSize & 50 packet \\ MaxMaintenanceRetransmit & 2 times \\ \hline \hline \end{tabular}
\end{table}
Table 3: DSR parameters’ default values.  
To be able to control the OLSR performance, some configuration parameters are used below [27]:  
* Willingness: Willingness is a configuration parameter that specifies the node's willingness to forward traffic packets to other network nodes [28]. A node may change the willingness during run-time based on conditions such as resource constraints and power limitations. Willingness is an integer value with a range between 0 and 7. WILL_NEVER = 0' is the lowest willingness value where this node must not be selected as a MPR for any node. WILL_ALWAYS = 7' is the highest willingness for a node to advertise its willingness to forward traffic on behalf of other network nodes. The default willingness value for a node is 'WILL_DEFAULT_UT = 3'.
* Hello interval: Hello interval is the set periodic time between two consecutive hello messages in seconds. The default value is 2 s.  
Figure 5: The OLSR routing protocol flowchart.  
* TC interval: This is the interval time in seconds between two consecutive topology control messages that carry the connectivity information. The TC interval default value is 5 s.
* Refresh interval: Each node must cooperate in the network by sending a periodic hello message before the refresh interval period reaches a timeout. A hello interval must be smaller than or equal to the refresh interval. The default value for the refresh interval parameter is 2 s.
* Neighbor hold time: Defines the link expiry time before declaring it as a broken link [29]. The neighbor hold time default value is 6 s.
* Topology hold time: This is the timeout for the entries in the topology table before being deleted [29]. The topology hold time default value is 15 s.  
Table 4 summarizes the default values of OLSR configuration parameters.