Table of Content Mobile Ad Hoc Network
Table of Content Mobile Ad Hoc Network
Chapter 1
Chapter 2
MANET ROUTING
2.1 routing in ad hoc wireless network
2.2 Protocols
Chapter 3
INTRODUCTION TO AODV
3.1 Introduction to AODV
INTRODUCTION TO OLSR
4.1 Introduction to OLSR
Chapter 5
5.9 Overview
Chapter 6
6.4 Overview
6.6 Mobility
6.8 Conclusion
References
Chapter 1
For route maintenance one has two main approaches in MANETs, reactive and proactive. Reactive
routing protocols set up traffic routes on-demand, whilst proactive protocols attempt to dynamically
maintain a full understanding of the topology.
1.1: A traditional base station scheme compared to an ad-hoc multi-hop network.
Infrastructure mode: The wireless network consists of at least one access point and a set of
wireless nodes. This configuration is called a Basic Service Set (385). An Extended service Set is a set of
two or more BSS (multiple cells).
Ad- hoc mode: This is a peer-to-peer mode. These configurations called Independent Basic Service
Set (1888), and are useful for establishing a network where nodes must be able to communicate directly
and without any centralized access point.
The Ad-hoc mode is obviously the mode to use when setting up a MANET, but it lacks one basic
requirement: multi hop. Traffic is only transmitted to neighbors within radio range when using the ad-
hoc mode, therefore there is a need for MANET routing protocols to set up and maintain traffic paths.
Node in an ad hoc network are responsible for dynamically discover which other nodes they can directly
communicate with.
Medium access scheme: The medium access protocol (MAP) needs to be designed to allow for certain
characteristics of wireless networks. Typical for wireless networks the nodes moves about, and this
leads to hidden terminal problem. Also, fair access to the medium, and minimize collisions, must be
taken into account. The MAP protocol should be able to adjust the power used for transmissions,
because, for an example, reducing transmission power at a node cause a decrease in interference at
neighboring nodes, and increase frequency reuse.
Routing Traditional routing protocols are not designed for rapid changing environments such as ad hoc
networks. Therefore, customized routing protocols are needed. Examples of such protocols are AODV
and OLSR. Routing is further discussed below.
Security Due to the fact that the nodes in a wireless ad hoc network communicate on a shared
medium, security becomes an important issue. This, in combination with the lack of any central
coordination, makes the network more vulnerable to attack than wired networks. There are different
ways of compromising wireless networks, including:
Denial of service An attacker makes services unavailable to others by keeping the service provider busy.
Resource consumption Battery power of critical nodes is depleted because of unnecessary processing
caused by an attacker, or the attacker causes buffer overflow which may lead to important data packets
being dropped.
Host impersonation as the name suggests, a compromised node may impersonate a host, and thereby
cause wrong route entries in routing tables elsewhere in the network.
Quality of service providing quality of service (Q08) in a wireless ad hoc network is a difficult task to
overcome. Nodes in such a network usually act both as clients and service providers, making, contrary to
most networks, the boundary between network and host less clear. Hence, to achieve QOS, a better
coordination between the nodes is required. Furthermore, wireless communication usually implies
limited resources, and this, in addition to the lack of central coordination, exacerbate the problem.
Parameters Different applications have different QOS parameter requirements. Whereas multimedia
applications require high bandwidth and low delay, availability is the primary requirement for search-
and rescue operation applications.
Routing to make sure that applications are provided with the services they request, QOS parameters
should be considered for route decisions. Throughput, packet loss rate, and reliability are examples of
such parameters.
Networks are identified by using an IP address and a subnet mask, and routes to single hosts are rarely
setup. When a packet is to be forwarded, the routing table is consulted and the packet is transmitted on
the interface registered with a route containing the best match for the destination. If no network
matches are found, a default route is used if one exists.
When configuring a network interface with an IP address, a route to the network the address is a
member of is usually registered on the interface automatically. This route is not set up with a gateway
(the next hop along the path to the host) since hosts with addresses within this network are assumed to
be reachable directly from this interface. This shows that the traditional IP routing maintains an idea of
all hosts within the same subnet being on the same link. This means that all hosts in a subnet are
available on a single one hop network segment, typically via routers or switches. When working on
wireless multi-hop networks this is not the case. One needs to redefine the idea of nodes being available
on the link. In MANETs nodes routes traffic by retransmitting packets on the interface it arrived. This
approach breaks with the wired on-link way of thinking.
MANET requires a different mindset when it comes to routing. Aggregation is not used in MANETs, all
routing is host based. This means that for all destinations within the MANET, a sender has a specific
route. In a wired network this is not necessary due to the fact that all nodes in the local network are
considered available on the link.
A wide diversity of protocols have been proposed, but as of this writing, only three protocols are
accepted as experimental Request For Comments (RFC), namely Ad hoc On-Demand Distance Vector
(AODV) Optimized Link State Routing (OLSR)[10], and Topology Dissemination Based on Reverse-Path
Forwarding (TBRPF). The Dynamic Source Routing Protocol (DSR) is to be accepted as a RFC in a near
future.
Wireless LANs use electromagnetic airwaves (radio or infrared) to communicate. The airwaves
propagate through space (even in a vacuum).
Different frequencies have different qualities: The higher the electromagnetic frequency, the more
information can be transmitted per second. However, lower frequencies are easy to generate, can travel
long distances, and can penetrate buildings easily. Radio waves operate on lower frequencies than
infrared waves, making it more suitable for most wireless networks.
Frequency hopping spread spectrum (FHSS) and direct sequence spread spectrum (DSSS) are the two
radio transmission schemes supported in IEEE 802.11. The idea behind FHSS is that the transmitter hops
from frequency to frequency hundreds of times per second. The hop pattern is known to both the
sender and receiver, and to other receivers not aware of the pattern, the transmission is hard to detect.
DSSS, on the other hand, does not hop from one frequency to another, but distributes the signal over
the entire frequency band at once.
Hidden terminals
As Illustrated in Figure 1.2, node A and node C are in range for communicating with node B, but not with
each other. Both may try to communicate with node B simultaneously, and might not detect any
interference on the wireless medium. Thus the signals collide at node B. which will not be able to
receive the transmissions from either node.
The typical solution for this so called Hidden terminal problem is that the nodes coordinate
transmissions themselves by asking and granting permission to send and receive packets. This scheme is
often called RTS/CTS (Request To Send/Clear to Send). The basic idea is to capture the channel by
notifying other nodes about an upcoming transmission. This is done by stimulating the receiving node to
outputting a short home so that nearby nodes can detect that a transmission is going to take place. The
nearby nodes are then expected to avoid transmitting for the duration of the upcoming (large) data
frame. The scheme is illustrated in Figure 4 on the following page.
Exposed Terminals
Consider a topology similar to the figure 1.3 but added a node D only reachable from node C.
Furthermore, suppose node B communicate with node C wants to transmit a packet to node D. During
the transmission between node B and the node D, even though both the transmission.
Figure 1.3 A request to send (RTS) and clear to send (CTS) scheme. First, A and C transmits a packet
simultaneously, causing a packet collision at B. Then A retransmits the packet before C does, thus
capturing the channel.
Chapter 2
MANET ROUTING
2.1 MANET
A mobile ad hoc network (MANET) consists of wireless nodes that communicate with each other in the
absence of a fixed wireless network infrastructure. Nodes cooperate to forward data packets with each
other, thus a node can communicate with another node by multi-hop. In the mobile ad hoc network,
node mobility causes unpredictable topology change, the design of quality of service (QOS) routing
protocol is more complicated than traditional networks. The ability to provide QOS support is
dependent on how well the channel resources are managed by the protocol at the MAC layer. MAC
protocols can be classified into two categories: contention-based MAC protocols and scheduled-based
MAC protocols.
Proactive Routing
Proactive protocols rely upon maintaining routing tables of known destinations, this reduces the amount
of control traffic overhead that proactive routing generates because packets are forwarded immediately
using known routes, however routing tables must be kept up-to-date; this uses memory and nodes
periodically send update messages to neighbors, even when no traffic is present, wasting bandwidth
[10]. Proactive routing is unsuitable for highly dynamic networks because routing tables must be
updated with each topology change, this leads to increased control message overheads which can
degrade network performance at high loads.
Reactive Routing
Reactive Protocols use a route discovery process to flood the network with route query requests when
a packet needs to be routed using source routing or distance vector routing.
Source routing uses data packet headers containing routing information meaning nodes don’t need
routing tables; however this has high network overhead. Distance vector routing uses next hop and
destination addresses to route packets, this requires nodes to store active routes information until no
longer required or an active route timeout occurs, this prevents stale routes.
Hybrid Routing
Hybrid protocols combine features from both reactive and proactive routing protocols, typically
attempting to exploit the reduced control traffic overhead from proactive systems whilst reducing the
route discovery delays of reactive systems by maintaining some form of routing table. The two survey
papers successfully collect information from a wide range of literature and provide detailed and
extensive reference material for attempting to deploy a MANET, both papers reach the conclusion that
no single MANET routing protocol is best for every situation meaning analysis of the network and
environmental requirements is essential for selecting an effective protocol. Whilst these papers contain
functionality details for many of the protocols available, performance information for the different
protocols is very limited and no details of any testing methodologies is provided, because of this the
validity of some claims made cannot be verified.
The proactive DSDV protocol was proposed by and is based upon the Bellman-Ford algorithm to
calculate the shortest number of hops to the destination. Each DSDV node maintains a routing table
which stores; destinations, next hop addresses and number of hops as well as sequence numbers;
routing table updates are sent periodically as incremental dumps limited to a size of 1 packet containing
only new information.
The reactive DSR Protocol was developed by , operation of the DSR protocol is broken into two stages;
route discovery phase and route maintenance phase, these phases are triggered on demand when a
packet needs routing. Route discovery phase floods the network with route requests if a suitable route
is not available in the route. DSR uses a source routing strategy to generate a complete route to the
destination, this will then be stored temporarily in nodes route cache.
Mobility Models
The performance of DSR and DSDV using simulations against 4 different mobility models; these are
mathematic models which control the motion of nodes around the simulation; this allows researchers to
measure the effect of mobility upon the routing protocols performance. Various mobility models are
used to simulate different situations such as high speed vehicular networks or lower mobility ad-hoc
conference users, however research by reveals that many studies perform protocol evaluation almost
exclusively using the random waypoint mobility model. This research is supported by findings from who
claim that the random waypoint model is the most widely used mobility model, however discrepancies
were identified between the models behavior and real world scenarios where users typically move in
groups, due to this the model may not be appropriate for exclusive testing.
Fig 2.1 shows how request are generates and get response in MANET
CHAPTER 3
INTRODUCTION TO AODV
Ad-hoc on-Demand Distance Vector
In AODV, every node maintains a table, containing information about which neighbor to send the
packets to in order to reach the destination.
Sequence numbers, which is one of the key features of AODV, ensures the freshness of routes.
Data packets waiting to be transmitted (i.e. the packets that initiated the RREQ) should be buffered
locally and transmitted by a FIFO principal when a route is set.
RREP- A route reply message is uncased back to the originator of a RREQ if the receiver is either the
node using the requested address, or it has a valid route to the requested address. The reason one can
uncast the message back is that every route forwarding a RREQ caches a route back to the originator.
RERR- Nodes monitor the link status of next hops in active routes. When a link breakage in an active
route is detected, a KERR message is used to notify other nodes of the loss of the link.
In order to enable this reporting mechanism, each node keeps a precursor list", containing the IP
Address fox each its neighbors that are likely to use it as a next hop towards each destination.
Figure 3.1 illustrates an AODV route lockup session. Node A wishes to initiate traffic to node J for winch
it has no route .A broadcasts a RREQ which is flooded to all nodes in the network.
Sequence numbers
AODV differs from other on-demand routing protocols in that are uses sequence numbers to determine
an up-to date path to a destination. Every entry in the routing table is associated with a queue: number.
The sequence number act as a route timestamp, ensuring freshness of the route. Upon receiving a RRBQ
packet, an intermediate node compares its sequence number with the sequence number in the RREQ
packet if the sequence number already registered is greater than that m the pocket the existing route is
more up-to date.
Counting to infinity
The use of sequence numbers for every route also helps AODV avoid the count to infinity problem. The
core of the problem, as Tanenbaum put it, is that when X tells Y that it has a path somewhere, Y has no
way of knowing whether it itself is on the pat . So if Y detects that the link to, say, Z is down, but X says
it have a valid path, Y assumes X in fact does have a path, thus registering X as the next neighbor toward
Z. Then, if the path X assumed valid is through Y, X and Y will start updating each other in a loop.
Route discovery is initiated by issuing a RREQ message. The route is established when a RREP message is
received. However, multiple RREP messages may be received, each suggesting different routes to the
destination. The source only updates its path information if the RREP holds information about a more
up-to-date route than already registered. Thus, every incoming
When a intermediate node receives either a RREQ or a RREP packet, information about the previous
node from which the packet was received is stored. This way, next time a packet following that route is
received; the node knows which node is the next hop toward the source or destination, depending on
which end node originated the packet.
Consider the ad hoc network of Figure 3.1. In this example, node A wants to send a packet to node F.
Suppose A has no table entry for F. A need to discover a route to F. In our example, we assume that
neither of the nodes knows where F is.
Node A broadcasts a special ROUTE REQUEST packet on the network. The format of the ROUTE
REQUEST (RREQ) packet is shown in figure 3.1. Upon receiving the RREQ packet, B, C and E checks to see
if this RREQ packet is a duplicate, and discards it if it is. If not, they precede to checks their tables for a
valid route to F. If a valid route is found, a ROUTE REPLY (RREP) packet is sent back to the source. In case
of the destination sequence number in the table being less than the destination sequence number in the
RREQ, the route is not considered up-to date, and thus no RREP packet is sent. Since they don t know
where F is, they increment the RREQ packet s hop count, and rebroadcasts it. In order to construct a
route back to the source in case of a reply, they also make an entry in their reverse route tables
containing A s address.
Now, D and G receive the RREQ. These goes through the same process as B, C and E. Finally, the RREQ
reaches F, which builds a RRBP packet and uncast it back to A.
When a RERR packet is received by intermediate nodes, their cached route entries are removed.
Advantages:
Routes are established on demand and destination sequence numbers are used to find the
latest route to the destination.
Lower delay for connection setup.
Disadvantage:
INTRODUCTION TO OSLR
4.1 Optimized Link State Routing
The Optimized Link State Routing (OLSR) is a table-driven, proactive routing protocol developed for
MANETs. It is an optimization of pure link state protocols in that it reduces the size of control packet as
well as the number of control packets transmission required.
OLSR reduces the control traffic overhead by using Multipoint Relays (MPR), which is the key idea
behind OLSR. A MPR is a node's one-hop neighbor which has been chosen to forward packets. Instead of
pure flooding of the network packets are just forwarded by a node s MPRs. This delimits the network
overhead, thus being more efficient than pure link state routing protocols.
OLSR is well suited to large and dense mobile networks. Because of the use of MPRs, the larger and
more dense a network, the more optimized link state routing is achieved.
MPRs help providing the shortest path to a destination. The only requirement is that all MPRs declare
the link information for their MPR selectors (i.e., the nodes who has chosen them as (MPRs).
The network topology information is maintained by periodically exchange link state information.
If more reactivity to topological changes is required, the time interval for exchanging of link state
information can be reduced.
A Hello message is sent periodically to all of a node s neighbors. Hello messages contain information
about a nodes neighbor, the nodes it has chosen as MPRs.
HELLO
Every node periodically Hoods, using the multipoint relying mechanism, the network with a TC message.
This message contains the node s MPR Selector set.
A MID message is used for announcing that a node is running OLSR on more than one interface.
Upon receiving a packet, a node checks it's MPR selector set to see if the sender has chosen the node as
a MPR. If so, the packet is forwarded, else the packet is processed and discarded.
HELLO message in which it s address is found, it registers the link to the source node as symmetric.
As an example of how this protocol works, consider two nodes A and B which not yet have established
links with each other. First, A broadcasts an empty HELLO message. When B receives this message and
does not find its own address in it, it registers in the routing table that the link to A is asymmetric. Then
B broadcasts a HELLO message declaring A as an asymmetric neighbor. Upon receiving this message and
finding its own address in it, A registers the link to B as symmetric. A then broadcasts a HELLO message
declaring B as a symmetric neighbor, and B registers A as a symmetric neighbor upon reception of this
message.
Upon receiving a HELLO message in which the node s address is not contained, the node registers in the
routing table that the link to the source node is asymmetric. The node then sends a HELLO message
containing the source node s address, and when the source node receives this message and finds its
own address in it, it registers
To calculate the routing table, information is taken from the neighbor set and the topology set. The
calculation is an iterative process, in which route entries are added starting from one-hop neighbors,
increasing the hop count each time through.
The Optimized Link State routing (OLSR) is described in RFC3626. It is a table-driven active protocol. As
the name suggests, it uses the link-state scheme in an optimized manner to diffuse topology
information. In a classic link state algorithm, link-state information is flooded throughout the network.
OLSR uses this approach as well, but since the protocol runs in wireless multi-hop scenarios the message
flooding in OLSR is optimized to preserve bandwidth. The optimization is based on a technique called
Multi Point Relaying.
Being a table-driven protocol, OLSR Operation mainly consists of updating and maintaining information
in a variety of tables. The data in these tables is based on received control traffic, and control traffic is
generated based on information retrieved from these tables. The route calculation itself is also driven by
the tables.
Three basic types of control messages
HELLO. HIELLO messages are transmitted to all neighbors. These messages are used for neighbor sensing
and MPR calculation.
T C .Topology Control messages are the link state signaling done by OLSR. This messaging u optimized in
several ways using MPRs.
MID Multiple Interface Declaration messages are transmitted by nodes running OLSR on more than one
interface. These messages list all IP addresses used by a node.
Advantages:
OLSR does not need central administrative system to handle its routing process
The link is reliable for the control messages. Since the messages are sent periodically and
The delivery does not have to be sequential.
OLSR is suitable for high density networks.
It does not allow long delays in the transmission of packets.
Disadvantages:
OLSR protocol periodically sends the updated topology information throughout the entire
network.
It allows high protocol bandwidth usage.
Chapter 5
OSLR CORE FUNCTIONALITY
Core Functionality of OLSR
The Optimized Link State Routing Protocol (OLSR) is developed for mobile ad hoc networks. The protocol
is documented in the experimental Request for Comment (RFC) 3626. OLSR is table driven and pro-
active and utilizes an optimization called Multipoint Relaying for control traffic flooding.
RFC3626 modularizes OLSR into core functionality, which is always required for the protocol to operate,
and a set of auxiliary functions. This chapter presents the core functionality of OLSR. The core
functionality specifies, in its own right, a protocol able to provide routing in a standalone MANET. Each
auxiliary function provides additional functionality, which may be applicable in specific scenarios. e.g., in
case a node is providing connectivity between the MANET and another routing domain. All auxiliary
functions are compatible, to the extent where any auxiliary function may be implemented with the core.
Furthermore, the protocol is said to allow heterogeneous nodes, i.e., nodes which implement different
subsets of the auxiliary functions, to coexist in the network.
As we shall later, this is not the case for all auxiliary functions.
It is important to understand that OLSR does not route traffic. It is not in any way responsible for the
actual process of routing traffic. OLSR could rather be described as route maintenance Protocol in that it
is responsible for maintaining the routing table used for routing packages. But such protocols are usually
referred to as routing protocols.
OLSR can be used both with 1 Version 4(1Pv4) and version 6(va6). In an OLSR context the differences
between IPv4 and IPv6 is the size of the IP addresses transmitted in control messages, the minimum size
of messages and the address to use as destination for control traffic.
Information repositories
As a derivate of the classical link-state algorithm, OLSR maintains state by keeping a variety of databases
of information. These information repositories are updated upon processing received control messages
and the information stored is used when generating such messages. Here follows a brief look at the
different information repositories used in core OLSR.
This dataset contains information about nodes using more than one communication interface. All
interface addresses of such nodes are stored here.
Link Set
This repository is maintained to calculate the state of links to neighbors. This is the only database that
operates on non-main-addresses as it works on specific interface-to-interface links.
Neighbor Set
All registered one-hop neighbors are recorded here. The data is dynamically updated based on
information in the link set. Both symmetric and asymmetric neighbors are registered.
All nodes, not including the local node, that can be reached via an one hop neighbor IS registered here.
Notice that the two hop neighbor set can contain nodes registered in the neighbor set as well.
MPR Set
All MPRs selected by the local node is registered 111 this repository. The MPR concept is explained in
section 5.4.
All neighbors that have selected this node as a MPR are recorded in this repository.
Topology Information Base
This repository contains information of all link-state information received from nodes in the OLSR
muting domain.
Duplicate set
This database contains information about recently processed and forwarded messages.
5.2.1 Timeouts
Most information kept in these repositories is registered with a timeout. This is a value indicating for
how long the registered information is to be considered valid. This value is set according to a validity
time fetched from the message from which the data was last updated. The use of such a distributed
validity time allows for individual message emission intervals for all nodes in the network. All database
entries are removed when no longer valid according to the registered timeout. Such entries are said to
be timed out.
All OLSR control traffic is to be transmitted over UDP on port 698. This port is assigned to OLSR by the
Internet Assigned Numbers Authority (IANA). The RFC states that this traffic is to be broadcasted when
using IPv4, but no broadcast address is specified. When using IPv6 broadcast addresses does not exist,
so even though it is not specified in the RFC. It is implicit understood that one must use a multicast
address in this case.
All OLSR traffic is sent in OLSR packets. These packets consist of a OLSR packet header and a body as
displayed in fig 5.1.
The fields in OLSR packet header are:
Packet Length - The length in bytes of the entire packet, including the header.
Packet Sequence Number - A sequence numberincrementedby one each time a new OLSR
message is transmitted by this host. A separate Packet Sequence Number is maintained for each
interface so that packets transmitted over an interface are sequentially enumerated.
An OLSR packet body consists of one or more OLSR messages. OLSR messages use a header as Shown in
fig 5.1. All OLSR messages must respect this header. The fields in the header are:
Message type - An integer identifying the type of this message. Message types of 0-127 are
reserved by OLSR while the 128-255 space is considered private" and can be used for custom
extensions of the protocol.
V Time - This field indicates for how long alter reception a node will consider the information
contained in the message as valid. The time interval is represented in a mantissa-exponent
format.
Message Size - The size of this message, including message header, counted in bytes.
Originator Address - Main address of the originator of this message.
Time To Live - The maximum number of hops this message can be forwarded. Using this held
one can control the radius of flooding.
Hop Count - The number of times the message has been forwarded.
Message Sequence Number - A sequence number in cemented by one each time a new OLSR
packet is transmitted by this host.
The core functionality of OLSR defines tree message types, which will all be described in detail later. All
core functionality of OLSR is based on processing and generation of these messages. However, the OLSR
protocol packet format allows for a wide variety of custom packets to be transmitted and flooded to the
needs of the designer.
OLSR will forward unknown packet types according to the default forwarding rule as explained later. The
MPR optimization used in OLSR makes this possibility for message flooding a great asset to anyone in
need of net wide broadcasting of traffic in the ad hoc network.
5.2: Flooding a packet in a wireless multi-hop network. The arrows show all Transmissions.
5.4 Multipoint Relaying
OSLR uses flooding of packets to diffuse topology information throughout the network. To avoid loops, a
sequence is usually carried in such packets. This sequence number is registered by receiving nodes 0
assure that a packet is only retransmitted once. If a node receives a packet with a sequence number
lower or equal to the last registered retransmitted packet from the sender, the packet is n0t
retransmitted. 0n wired networks other optimizations are usually added such as no retransmission 0n
the interface on which a packet arrived.
On a wireless multi-hop network however, it is essential that nodes retransmits packets on the same
interface that it arrived, since this is the very nature of wireless multi-hop networks. This again causes
every retransmitted to actually receive a duplicate Packet from every symmetric neighbor that
retransmits the packet. A wireless flooding scenario is depicted in 3.2. One can see that every
transmission leads to a reception of the same packet. The originator of the flood could be any node in
the figure.
The number of retransmissions using traditional flooding is n l where n is the number of nodes in the
network. In our case (figure 5.2) it will be 24.
This flooding technique can clearly benefit from some sort of optimization.
FIGURE 5.4 Flooding a packet in a wireless multihop network. The arrows show the way information
is passed not all transmission.
FIGURE 5.5: Flooding a packet in a wireless multihop network from the center node using MPRs (BLACK).
The arrows show the way information is passed, not all transmissions. OLSR lets nodes announce their
own willingness to act as MPRs for neighbors. 8 levels of willingness are defined from the lowest (0),
which indicates that this node must never be chosen as a MFR. to the highest (7), which Mates that this
node should always be chosen as a MPR. The willingness is spread through HELLO messages and this
information must be considered when calculating MPRs.
Finding the optimal MPR set has been proved to be a NP -complete problem in RFC 3626 propose a
rather simple heuristic for MPR calculation. The MPR scheme has been further studied and analyzed in
amongst others, and in this thesis the MPR technique is not further analyzed.
1. If the link on which the message arrived is not considered symmetric, the message is silently
discarded. To check the link status the link set is queried.
2. If the TTL carried in the message header is 0, the message is silently discarded.
3. If this message has already been forwarded the message is discarded. To check for already forwarded
messages the duplicate set is queried.
4. If the last hop sender of the message, not necessarily the originator, has chosen this node as a MPR,
then the message is forwarded. If not, the message is discarded. To check this MPR selector set is
queried.
5. If the message is to be forwarded, the 'ITL of the message is reduced by one and the hop-count of the
message is increased by one before broadcasting the message on all interfaces.
FIGURE 5.6 Node A has selected the BLACK nodes its MPRs.
The fact that all received unknown message types are forwarded using this approach makes flooding of
special message-types possible even if these message-types are only known to a subset of the nodes.
Figures 5.4 and 5.5 shows the paths information is passed when being spread, first using regular
flooding, then using MPR flooding. The number of retransmissions in a MPR scenario highly depends on
the network topology and the MPR calculation algorithm. Using the same topology as in fig 5.2, a
possible MPR calculation could lead to the black nodes in fig 5.3 being chosen as MPRs by the center
node. As one can see, if the center node is to flood a message throughout the network, 4
retransmissions are done using MPR as opposed to 24 using traditional flooding.
To be able to check if a message has already been retransmitted, a cache of recently processed and
forwarded messages is maintained. The data stored is the minimum needed to identify the message.
This means that the actual message content is not stored, but rather just originator address, message
type and sequence number. This data is cached for a constant time of suggested to be 30seconds in the
RFC.
Every received message that is processed by the local node is registered in the duplicate set. If the
message is forwarded, the duplicate-entry representing this message is updated accordingly; registering
on what interfaces the message has been forwarded. Based on querying the duplicate set, a node can
then keep interface basis.
Forward jitter
To avoid radio collisions due to synchronized forwarding, a jitter is introduced to the message
forwarding. This is a random small time interval for which the message is to be cached in the node more
forwarding it.
When using forwarding jitter, piggybacking of messages will often occur since multiple message that are
to be forwarded might arrive within the buffer period. When this happens, messages are stacked within
the same OLSR packet.
An OLSR routed network. The gray nodes are chosen as MPRs by one or more neighbor.
Information to calculate shortest path routes to all hosts. The default OLSR setting is that a node only
floods link-state messages if it is chosen as MPR by at least one neighbor and it only announces its MPR
selectors in these messages. In a topology as illustrated in figure 5.7 only throes nodes selected as MPRs
(gray nodes) by one or more neighbors will transmit link-state messages.