Chapter 1
Introduction to wireless networking

In wireless networks [10245], computers are connected and communicate with each other not by a visible medium, but by emissions of electromagnetic energy in the air.

The most widely used transmission support is radio waves. Wireless transmissions utilize the microwave spectre: the available frequencies are situated around the 2.4 GHz ISM (Industrial, Scientific and Medical) band for a bandwidth of about 83 MHz, and around the 5 GHz U-NII (Unlicensed-National Information Infrastructure) band for a bandwidth of about 300 MHz divided into two parts. The exact frequency allocations are set by laws in the different countries; the same laws also regulate the maximum allotted transmission power and location (indoor, outdoor). Such a wireless radio network has a range of about 10–100 meters to 10 Km per machine, depending on the emission power, the data rate, the frequency, and the type of antenna used. Many different models of antenna can be employed: omnis (omnidirectional antennas), sector antennas (directional antennas), yagis, parabolic dishes, or waveguides (cantennas).

The other type of transmission support is the infrared. Infrared rays cannot penetrate opaque materials and have a smaller range of about 10 meters. For these reasons, infrared technology is mostly used for small devices in WPANs (Wireless Personal Area Networks), for instance to connect a PDA to a laptop inside a room.

1.1 Standards

There are presently three main standards for wireless networks: the IEEE 802.11 family, HiperLAN, and Bluetooth.

1.1.1 IEEE 802.11

IEEE 802.11 [108] is a standard issued by the IEEE (Institute of Electrical and Electronics Engineers). From the point of view of the physical layer, it defines three non-interoperable techniques: IEEE 802.11 FHSS (Frequency Hopping Spread Spectrum) and IEEE 802.11 DSSS (Direct Sequence Spread Spectrum), which use both the radio medium at 2.4 GHz, and IEEE 802.11 IR (InfraRed). The achieved data rate is 1–2 Mbps. This specification has given birth to a family of other standards:

IEEE 802.11a
[71] (marketed as Wi-Fi5) operates in the 5 GHz U-NII band using the OFDM (Orthogonal Frequency Division Multiplexing) transmission technique, and has a maximum data rate of 54 Mbps. IEEE 802.11a is incompatible with 802.11b, because they use different frequencies.
IEEE 802.11b
[72] (marketed as Wi-Fi) is the de facto standard in wireless networking, and operates in the 2.4 GHz ISM band. The data rate is 1, 2, 5 or 11 Mbps, automatically adjusted depending on signal strength. The transmission range depends on the data rate, varying from 50 meters indoor (200 meters outdoor) for 11 Mbps, to 150 meters indoor (500 meters outdoor) for 1 Mbps; the transmission range is also proportional to the signal power.
IEEE 802.11g
[73] operates in the 2.4 GHz band and has a data rate of up to 20 Mbps. It uses both OFDM and DSSS to ensure compatibility with the IEEE 802.11b standard.

Another standard currently under development, IEEE 802.16 [75] (marketed as WiMAX), is designed for WMANs (Wireless Metropolitan Area Networks) and therefore to overcome the range limitations of IEEE 802.11. It operates on frequencies from 10 to 66 GHz, and should ensure network coverage for several square Km. From the IEEE 802.16 standard derives IEEE 802.16a, that operates on the 2-11 GHz band and should solve the line-of-sight problems deriving from using the 10-66 GHz band.

Channel access techniques

The crucial point in channel access techniques for wireless networks is that it is not possible to transmit and to sense the carrier for packet collisions at the same time. Therefore there is no way to implement a CSMA/CD (Carrier Sense Multiple Access / Collision Detection) protocol such as in the wired Ethernet.

IEEE 802.11 uses a channel access technique of type CSMA/CA, which is meant to perform Collision Avoidance (or at least to try to). The CSMA/CA protocol states that a node, upon sensing that the channel is busy, must wait for an interframe spacing before attempting to transmit, then choose a random delay depending on the Contention Window.

The reception of a packet is acknowledged by the receiver to the sender. If the sender does not receive the acknowledgement packet, it waits for a delay according to the binary exponential backoff algorithm, which states that the Contention Window size is doubled at each failed try.

Unicast data packets are sent using a more reliable mechanism. The source transmits a RTS (Request To Send) packet for the destination, which replies with a CTS (Clear To Send) packet upon reception. If the source correctly receives the CTS, it sends the data packet.

1.1.2 HiperLAN

HiperLAN (High Performance Radio LAN) is a standard issued by the ETSI (European Telecommunications Standard Institute), and a competitor of IEEE 802.11. It defines two kinds of networks:

HiperLAN 1
[42] uses the 5 GHz band and offers a data rate of 10–20 Mbps.
HiperLAN 2
[4443] uses the 5 GHz band and offers a data rate up to 54 Mbps.

A related standard is HiperMAN, rival of IEEE 802.16 and aimed at providing metropolitan area coverage. It operates in the 2–11 GHz band.

1.1.3 Bluetooth

Bluetooth1 is a standard designed by a consortium of private companies such as Agere, Ericsson, IBM, Intel, Microsoft, Motorola, Nokia and Toshiba. Bluetooth operates in the 2.4 GHz band using FHSS and has a short range of action of about 10 meters. For such characteristics and its low cost, Bluetooth is fit for small WPANs and is also employed to connect peripherals such as keyboards, printers, or mobile phone headsets. Bluetooth radio technology works in a master-slave fashion, and each device can operate as master or as slave. Communications are organized in small networks called piconets, each piconet being composed of a master and 1–7 active slaves. Multiple piconets can overlap to form a scatternet.

1.2 Architecture

A wireless network can be structured to function in either BSS (Basic Service Set) or IBSS (Independent Basic Service Set) mode. The two modes affect the topology and the mobility capabilities of the machines (nodes) that compose the network.

1.2.1 BSS mode

In BSS mode, also called infrastructure mode, a number of mobile nodes are wirelessly connected to a non-mobile Access Point (AP), as in Figure 1.1. Nodes communicate via the AP, which may also provide connectivity with an external wired network e.g. the Internet. Several BSS networks may be joined to form an ESS (Extended Service Set).

PIC

Figure 1.1: BSS mode: an Access Point and its network cell.

1.2.2 IBSS mode

The IBSS mode, also called peer to peer or ad hoc mode, allows nodes to communicate directly (point-to-point) without the need for an AP, as in Figure 1.2. There is no fixed infrastructure. Nodes need to be in range with each other in order to communicate.

PIC

Figure 1.2: IBSS mode.

1.2.3 Ad hoc network

An ad hoc network, or MANET (Mobile Ad hoc NETwork), is a network composed only of nodes, with no Access Point. Messages are exchanged and relayed between nodes. In fact, an ad hoc network has the capability of making communications possible even between two nodes that are not in direct range with each other: packets to be exchanged between these two nodes are forwarded by intermediate nodes, using a routing algorithm.2 Hence, a MANET may spread over a larger distance, provided that its ends are interconnected by a chain of links between nodes (also called routers in this architecture). In the ad hoc network shown in Figure 1.3, node A can communicate with node D via nodes B and C, and vice versa.

PIC

Figure 1.3: An ad hoc network.

A sensor network is a special class of ad hoc network, composed of devices equipped with sensors to monitor temperature, sound, or any other environmental condition. These devices are usually deployed in large number and have limited resources in terms of battery energy, bandwidth, memory, and computational power.

1.3 Advantages and disadvantages

A wireless network offers important advantages with respect to its wired homologue:

On the other hand, there are some drawbacks that need to be pondered:

1.4 Routing protocols for ad hoc networks

In ad hoc networks, to ensure the delivery of a packet from sender to destination, each node must run a routing protocol and maintain its routing tables in memory.

Routing protocols can be classified into the following categories: reactive, proactive, and hybrid. There exists nowadays almost one hundred routing protocols, many standardized by the IETF (Internet Engineering Task Force) and others still at the stage of Internet-Draft. This section gives, for each category, an overview of the most important ones.

1.4.1 Reactive protocols

Under a reactive (also called on-demand) protocol, topology data is given only when needed. Whenever a node wants to know the route to a destination node, it floods the network with a route request message. This gives a reduced average control traffic, with bursts of messages when packets need being routed, and an additional delay due to the fact that the route is not immediately available.

1.4.2 Proactive protocols

In opposition, proactive (also called periodic or table driven) protocols are characterized by periodic exchange of topology control messages. Nodes periodically update their routing tables. Therefore, control traffic is more dense but constant, and routes are instantly available.

1.4.3 Hybrid protocols

Hybrid protocols have both the reactive and proactive nature. Usually, the network is divided into regions, and a node employs a proactive protocol for routing inside its near neighborhood’s region and a reactive protocol for routing outside this region.

1.4.4 The Optimized Link State Routing protocol

The Optimized Link State Routing (OLSR) protocol [317929] is a proactive link state routing protocol for ad hoc networks.

The core optimization of OLSR is the flooding mechanism for distributing link state information, which is broadcast in the network by selected nodes called Multipoint Relays (MPR). As a further optimization, only partial link state is diffused in the network. OLSR provides optimal routes (in terms of number of hops) and is particularly suitable for large and dense networks.

Specifications of the protocol were first described in an Internet-Draft in February 2000, and were finalized in RFC 3626 [31] in October 2003; there is also a draft for the version 2 of the protocol [27]. Several implementations exist at this day: OOLSR (the original, object-oriented implementation of OLSR by INRIA HIPERCOM), nlrolsrd (by the U.S. Naval Research Laboratory), OLSR_Niigata (by Niigata University), Qolyester (a Quality-of-Service enhanced version by LRI), OLSR11win (by the GRC, Universitat Politècnica de València), the olsr.org OLSR daemon (by UniK, University of Oslo), H-OLSR (by Hitachi, Ltd.), and CRC OLSR (by the Communication Research Centre in Canada). A multicast extension [95] has been proposed and is the object of an Internet-Draft (MOLSR) [80].

OLSR message and packet format

OLSR control messages are communicated using a transport protocol defined by a general packet format, given in Figure 1.5. Each packet encapsulates several control messages into one transmission.

       0                   1                   2                   3  
       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  
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
      |         Packet Length         |    Packet Sequence Number     |  
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
      |  Message Type |     Vtime     |         Message Size          |  
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
      |                      Originator Address                       |  
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
      |  Time To Live |   Hop Count   |    Message Sequence Number    |  
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
      |                                                               |  
      :                            MESSAGE                            :  
      |                                                               |  
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
      |  Message Type |     Vtime     |         Message Size          |  
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
      |                      Originator Address                       |  
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
      |  Time To Live |   Hop Count   |    Message Sequence Number    |  
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
      |                                                               |  
      :                            MESSAGE                            :  
      |                                                               |  
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
      :                                                               :


Figure 1.5: OLSR packet format.

Control traffic in OLSR is exchanged through two different types of messages: HELLO and TC (Topology Control) messages. HELLO messages, shown in Figure 1.6, are exchanged periodically among neighbor nodes, in order to detect links to neighbors and to signal MPR selection. TC messages, shown in Figure 1.7, are periodically flooded to the entire network, in order to diffuse link state information to all nodes.

The other OLSR control messages are MID (Multiple Interface Declaration) and HNA (Host and Network Association). MID and HNA messages are emitted only by nodes that have multiple interfaces. To avoid collisions, the OLSR protocol adds an amount of jitter to the interval at which all control messages are generated.

While messages may potentially be broadcast to the entire network, packets are transmitted only between neighbor nodes. The unit of information subject to being forwarded is a “message”. An individual OLSR control message can be uniquely identified by its Originator Address and Message Sequence Number (MSN), both from the message header. The Originator Address field specifies the originator of a message, and does not change as the message is relayed around the network; the address contained in this field is different (except at the first hop, when the message is created) from the IP header source address, which is changed at each hop to the address of the retransmitting node.

A node may receive the same message several times. Therefore, to avoid processing and sending multiple times the same message, a node records information about each received message. This information is stored in a tuple consisting of the message’s originator address, the MSN, a boolean value indicating whether the message has already been retransmitted, the list of interfaces on which the message has been received, and the tuple’s expiration time. All tuples are maintained in the Duplicate Set (also known as Duplicate Table) of the node.

The common packet format allows individual messages to be piggybacked and transmitted together in one emission, if allowed by the MTU size. Therefore different kind of control messages can be emitted together, although processed and forwarded differently in each node; e.g. HELLO messages are not forwarded while all other control messages are.

OLSR does not handle unicast communications: a message from a node is either transmitted to all its neighbors or to all nodes in the network.

HELLO messages
contain a list of neighbors from which control traffic has been heard (but with which bidirectional communication is not yet confirmed), a list of neighbors with which bidirectional communication has been established, and a list of neighbors that have been selected to act as a Multipoint Relay for the originator of the HELLO message. Each Neighbor Interface Address field contains the address of an advertised neighbor, and the relevant Link Code field contains its link status as a combination of Link Type and Neighbor Type. Table 1.1 lists the constants’ values for this last field, as specified by the protocol documentation [31].



Link Types




UNSPEC_LINKNo information
ASYM_LINK Link is asymmetrical, i.e. neighbor is heard
SYM_LINK Link is symmetrical
LOST_LINK Link has been lost




Neighbor Types




SYM_NEIGH Neighbor is symmetric
MPR_NEIGH Neighbor has been selected as MPR
NOT_NEIGH Node is no longer / not yet symmetric neighbor



Table 1.1: Constants for the Link Code field in a HELLO.

Upon receiving a HELLO message, a node examines the lists of addresses. If its own address is included in the addresses encoded in the HELLO message, bidirectional communication is possible (symmetrical link) between the originator and the recipient of the HELLO message, i.e. the node itself.

In addition to information about neighbor nodes, periodic exchange of HELLO messages allows each node to maintain information describing the links between neighbor nodes and nodes which are two hops away. This information is recorded in a nodes 2-hop neighbor set and is utilized for MPR optimization.

HELLO messages are exchanged periodically between neighbor nodes only, and are not forwarded further.

       0                   1                   2                   3  
       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  
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
      |          Reserved             |     Htime     |  Willingness  |  
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
      |   Link Code   |   Reserved    |       Link Message Size       |  
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
      |                  Neighbor Interface Address                   |  
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
      |                  Neighbor Interface Address                   |  
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
      :                             . . .                             :  
      :                                                               :  
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
      |   Link Code   |   Reserved    |       Link Message Size       |  
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
      |                  Neighbor Interface Address                   |  
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
      |                  Neighbor Interface Address                   |  
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
      :                                                               :


Figure 1.6: HELLO message format.

TC messages
have the purpose to diffuse link state information, and more precisely information about the “last hop”, to the entire network. A TC message contains a set of symmetric neighbors (i.e. neighbors which have at least one symmetrical link with the originator of the TC message) [28], each one contained in a Advertised Neighbor Main Address field. TC messages are periodically flooded to the entire network, exploiting the MPR optimization. Only nodes which have been selected as an MPR generate (and relay) TC messages.

The TC message bears an ANSN field which contains the Advertised Neighbor Sequence Number. This number is associated with the node’s advertised neighbor set, and is incremented each time the node detects a change in this set.

       0                   1                   2                   3  
       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  
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
      |              ANSN             |           Reserved            |  
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
      |               Advertised Neighbor Main Address                |  
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
      |               Advertised Neighbor Main Address                |  
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
      |                             . . .                             |  
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


Figure 1.7: TC message format.

MID messages
are emitted only by a node with multiple OLSR interfaces, in order to announce information about its interface configuration to the network. A MID message contains a list of addresses, each address belonging to an OLSR interface of the sending node.
HNA messages
are emitted only by a node with multiple non-MANET interfaces, and have the purpose of providing connectivity from a OLSR network to a non-OLSR network. The gateway sends HNA messages containing a list of addresses of the associated networks and their netmasks.
Multipoint Relay selection and signaling

The OLSR backbone for message flooding is composed of Multipoint Relays. Each node must select MPRs from among its symmetric neighbor nodes such that a message emitted by a node and repeated by the MPR nodes will be received by all nodes two hops away. In fact, in order to achieve a network-wide broadcast, a broadcast transmission needs only be repeated by just a subset of the neighbors: this subset is the MPR set of the node. Hence only MPR nodes relay TC, MID, and HNA messages.

Figure 1.8 shows the node in the center, with neighbors and 2-hop neighbors, broadcasting a message. In (a) all nodes retransmit the broadcast, while in (b) only the MPRs of the central node retransmit the broadcast.

PIC

Figure 1.8: Pure flooding and MPR flooding.

The MPR set of a node is computed heuristically [129]. MPR selection is performed based on the 2-hop neighbor set received through the exchange of HELLO messages, and is signaled through the same mechanism. Each node maintains an MPR selector set, describing the set of nodes that have selected it as MPR.

Security considerations

The standard OLSR specification document does not take account of security measures. It enumerates possible vulnerabilities to which OLSR is subject. These vulnerabilities include breach of confidentiality, breach of integrity, non-relaying, replay, and interaction with an insecure external routing domain.

We give in Chapter 2 a brief overview on system security, and in Chapter 3 a detailed description of the attacks against OLSR and against the routing protocols in general. A mechanism designed to secure the OLSR protocol is presented in Chapter 5.


Security Schemes for the OLSR Protocol for Ad Hoc Networks        Daniele Raffo        PhD Thesis, Université Paris 6       15 SEP 2005