Wireless communication between mobile users is becoming more and more popular as devices and technology is developed. The infrastructure roll out is expanding within both telecom systems and data network systems. Today also the telecom systems are increasingly using packet switched networks and the trend is clear towards this scheme of packet based routing. This system has been used for many years in the data network based systems and thus many standardized routing protocols exist for this purpose. However they are not prepared for rapidly changing network topographies like for instance so called ad hoc networks.
Wireless ad hoc networks do not have the same static nature as an ordinary wired network infrastructure, do not have a centralized control, and are often created in a spontaneous manner. Control is maintained through a decentralized concept. Nodes can be connected or disconnected in an uncontrolled manner as compared to standard fixed network architectures; the nodes may come and go quickly which leads to a dynamically changing network topology. In some cases such ad hoc networks are formed by user/client devices themselves as infrastructure components. These components are then truly mobile in the sense that the users move around, in and out of a network cell, and therefore the infrastructure will move around accordingly. This is an exciting way of building an infrastructure but it sets very high demands on the routing protocol.
Other problems in a wireless environment are due to radio specific questions that will degrade the performance and efficiency of the network flow. There may be fading problems due to the movement of infrastructure nodes or movement of objects in the radio environment, and there may be problems due to interference from other radio sources within range.
These kinds of network topographies have been used in the military environment but are now migrating into the civilian area as well. Wireless systems are now used to rapidly build infrastructure areas for, e.g. wireless broadband access in residential areas or commercial areas. It may be used for temporary infrastructure build up, for example in an emergency situation, in a disaster area, or on the battlefield for military purposes. It could also be used to build up temporary access coverage areas during events like, for example, concerts, conferences, meetings, or seasonal tourist areas. In these kinds of areas, it is not necessary to have coverage all year around but only during specific periods.
Today, several Internet Service Providers (ISP) offers wireless access at public or semi-public areas such as airports, restaurants, coffee shops, and hotels using fixed wireless infrastructure systems. These systems are often referred to as so called hotspots.
As the demand from the users to gain access increases considering coverage and bandwidth, one way of expanding the area of wireless coverage or bandwidth is to install more infrastructure components, however doing this with normal fixed wireless components are expensive and thus the idea to build networks using wireless routers has emerged. In this case ad hoc routing protocols may be used to have a simplified installation procedure.
There are basically two kinds of network usages when discussing ad hoc networks; the first one is the build up of a local area network without any external gateway providing access to an external network, for example Internet. This scheme may be found in installations concerning disaster areas or military installations on the battlefield. The other and probably more common usage is when one or several gateways provide the network with external connections to, for example, an IP based network (private or public, e.g. Internet). In such a network configuration, data packets may take different routes and/or use different gateways depending on, for example, the data traffic type, congestions, or routing cost.
Packet based routing schemes often build there communication network systems around a layered model, for instance the OSI reference model. The communication software or hardware is divided into several smaller sub units, layers, working in a hierarchical manner. Information and communication control parameters are passed up and down locally and between the same layers between the sending and receiving ends. Each such layer is responsible for different tasks in the communication order. In respect to routing the first three layers according to the OSI reference model are the most important.
Layer 1 is responsible for the physical transmission of bits of data; examples of physical means may be, for instance, the wired link in an Ethernet based network or a wireless link in a Wireless Local Area Network (WLAN).
Layer 2 is often called the Link layer or the MAC layer and is responsible of transmitting chunks of data, error detection, and network resource coordination.
Layer 3 is often called the Network layer; it is responsible for enabling communication between any pair of nodes in a network. This layer takes, for example, care of routing calculations and congestion control. For this purpose different routing protocols has been developed depending on the type of network.
Packet routing protocols in the IP-based networks are generally based on routing algorithms using distance vector or link state information to find and maintain a route for each pair of source and destination nodes in the network. In principle, in the distance vector routing algorithms, each router broadcasts the distance to all hosts to its neighbor routers, and each router receiving the information calculates the shortest route to each of the hosts in the network. In the link-state routing algorithms, each router broadcasts the status information of each of its adjacent network links to its neighbor routers, and each router receiving the information maintains the database of the entire picture of the network from the link status information and calculates the shortest route to each host based on the link costs in the database. These routing algorithms are designed for relatively static networks and thus new routing algorithms must be designed for ad hoc networks whose topology changes frequently.
There are basically two categories of existing routing protocols for ad hoc networks. These are “proactive” (table driven) and “reactive” (on-demand) routing protocols. Protocols having combinations of these protocols are also possible.
Proactive routing protocols constantly and periodically calculate a route to all hosts in the ad hoc network, and thus a route is always available when a packet needs to be sent to a particular destination host. The results are kept in routing tables in all nodes.
In order to maintain routes to each host, control messages are exchanged among the routers to notify changes of the network configuration and link status. Distance vector and link state routing protocols are both categorized as proactive protocols. It should be noted that control messages lead to overhead and may result in reduced network efficiency. Also, the proactive protocols may have difficulty in maintaining valid routes when the network topology changes frequently.
DSDV (Destination-Sequenced Distance Vector Routing) is a proactive routing protocol based on the distance vector algorithm, adapting the Routing Information Protocol (RIP) to ad hoc networks. Each node maintains a routing table in which the node stores the next hop node and hop count to each of all the reachable destination hosts. In DSDV, each node broadcasts or multicasts routing updates periodically, or when it detects changes of the network topology. Incremental updates, which update only information about changes since the last update, are also used in order to reduce control traffic.
A reactive protocol only performs control message exchange to find/update a route when there is a data packet to be sent. When a source node wants to send data packets, it initiates the control protocol to find a route by sending a route request message to its neighbor nodes. By this principle, the reactive approach is good in that network resources are not wasted when there are no packets to be transported. However, it takes longer time to send packets when a route has to be formed for the first time. AODV and DSR are representative reactive protocols.
AODV (Ad hoc On-Demand Distance Vector Routing) protocol uses the DSDV algorithm and creates/updates routes on an on-demand basis, that is, only when a source node wants to send a data packet. This leads to reduction of the number of required broadcasts for finding/updating a route.
In AODV, each node maintains a list of detected neighbor nodes. The neighbor list is updated in one of the following three ways: a) when a packet is received from the neighbor node, b) by receiving local advertisement, that is, hello message, from the neighbor node, or c) through feedback from the link layer. Hello messages are broadcasted periodically from each node to its neighboring nodes to inform them about its presence.
In AODV, each node maintains a routing table for all the destinations, each of which the node is either communicating with or forwarding data packets to on behalf of other nodes. For each destination, there is an entry in the routing table that contains information about the destination, such as the IP address, the sequence number for the destination node, hop count to the destination, the next hop node to the destination, and lifetime for the route.
When a node wants to communicate with a destination node, that is, to send data packets to the destination, then the source node initiates a route discovery mechanism, where the source node broadcasts a route request (RREQ) to all detected neighbor nodes. When the neighbor node receives the RREQ message and has the entry for a fresh enough route to that destination in its routing table, then it sends back a route reply (RREP) message to the source node. If the neighbor node does not find a route entry for that destination, then it forwards the RREQ message to its own detected neighbor nodes. When the destination node receives the RREQ, it returns the RREP message to the source node.
In the process of forwarding the RREQ packet, each intermediate node records the IP address of the neighbor node from which the first copy of the broadcast RREQ is received, by which a reverse route is established. The copies of the same RREQ messages received later are all discarded. The intermediate nodes add an entry to their routing table for the destination, where the neighbor node from which the RREP was received is recorded as the next hop node for that destination. The destination sequence number and lifetime of the route are copied from the RREP and recorded in the entry. When the RREP message is returned to the source node finally, a forward route from the source to destination is formed.
When a node detects that a route becomes unavailable by failure of the incident link on the route, it sends a route error (RERR) message to all the neighbor nodes, which use the route. The RERR message is sent on to their neighbor nodes and so on until it reaches the source node. The source node can then decide to either stop sending data packets or initiate a new route discovery.
DSR (Dynamic Source Routing) protocol uses a source routing mechanism in which the source node determines the complete sequence of nodes along the route on an on-demand basis and sets the list of the intermediate nodes in the packet header to indicate the sequence of nodes for the route. In this way, each packet has to carry the overhead for packet routing. However, the intermediate nodes do not need to maintain any information about the route and they can learn routes when delivering data packets.
In DSR, each node stores (caches) the routes it has learned. When a source node wants to send data packets to a destination node and has no entry in the cache for that destination, then it initiates a route discovery mechanism by broadcasting a RREQ message on its link-layer. Each node receiving the RREQ message appends their IP addresses to the RREQ message and then forwards it further. This process is done until the route to the destination is found or another node can provide a route to the destination node. Then a route reply (RREP) message containing the sequence of network hops to the destination node is returned to the source node.
In DSR, when a link failure is detected at a node (i.e. when the package has been retransmitted a maximum number of times), that node removes the link from its routes cache and sends a route error (RERR) message to each of the nodes that have used that link since an acknowledgement was last received. Those nodes have to remove the routes including that link. The retransmission of the data packet from the source node is then handled by upper layers such as the Transmission Control Protocol (TCP).
In ad hoc routing protocols that use link expiration time and traffic load of nodes, the link expiration time is defined as the time interval during which the distance of two specific nodes is kept shorter than or equal to the radio effective distance. In this routing protocol, the metric is used as a cost of each link, and the node tries to find a minimum cost route, expecting that the lifetime of such a route is longer and thus it would reduce the route update frequency and overhead due to control traffic and increase overall throughput of data packet transfer.
In this protocol, traffic load of a node is represented by a busy rate of the node during a given time period. A route that has the least traffic load of the nodes is chosen in a route selection algorithm. It is expected that the algorithm would lead to a better load balancing in the network, that is, it would avoid concentrating traffic to particular nodes in the network.
When conventional ad hoc network routing methods are used in mobile radio communication networks, some problems may arise. One problem is that since the users are mobile they will move around and the system will experience changes in the radio quality due to e.g. fading, propagation-loss, and shadowing. This is true also if the infrastructure system consists of mobile elements, e.g. if the client equipment is part of the infrastructure. Even in a system with fixed wireless infrastructure components such problems may occur, for instance due to vehicles or other objects temporarily blocking the signal path between two infrastructure components, which leads to changes of the radio link quality. The main concerns for these types of problems arise when they change faster than the update frequency of the routing table or routing path changes.
If one tries to solve the above mentioned problems by increasing the update frequency of routing information it will at some point start to degrade the transmission efficiency, due to that the updating of routing information will take up a substantial part of the possible data transmission volume in the medium.
In US patent application 2003/0120809 a system is described that detects interference sources in a network by listening for unauthorized signals in the frequency band of usage, in this case the 2.4 GHz ISM band. In this document there is a main focus on problems arising on the network layer and less on the radio layer. The document only discloses an adaptation to the current status and no relevance is taken on the possibly coming nature of link status. The system tries to adapt the packet route accordingly to reduce the effects of the interference. The solution is focusing on detecting only interference and the problem is solved by adjusting the antenna position and direction of nodes close to the interferer so as to reduce the radio coverage towards the interference source.
In U.S. Pat. No. 5,537,394 a status prediction function is introduced for a fixed network solution. The solution involves large statistical calculations of information from a status monitoring function. The statistical calculations are done for the interpretation of the implications of the entire network system and cannot readily be adjusted for an ad hoc network, and in particular not for a wireless ad hoc network.