An efficient routing protocol for wireless networks
Summary (4 min read)
1 { Introduction
- The routing protocols used in multihop packet-radio networks implemented in the past [2, 3, 11] were based on shortest-path routing algorithms that have been typically based on the distributed Bellman-Ford algorithm (DBF) [4].
- This problem is usually called the counting-to-in nity problem.
- OSPF [12] relies on broadcasting complete topology information among routers, and organizes an internet hierarchically to cope with the overhead incurred with topology broadcast.
- This is a destination-oriented protocol in which separate versions of the algorithm run independently for each destination.
- The following sections show that the protocol is correct (i.e., that it produces correct routing tables within a nite time after topology changes) and compares its performance with that of DBF, DUAL and an ideal link state algorithm (ILS) which uses Dijkstra's shortest path algorithm.
2.1 { Overview
- Each node represents a router and is a computing unit involving a processor, local memory and input and output queues with unlimited capacity.
- All messages received by a node are put in an input queue and are processed in FIFO order.
- A link is assumed to exist between two nodes only if there is radio connectivity between the two nodes and they can exchange update messages reliably with a certain probability of success.
- To ensure that connectivity with a neighbor still exists when there are no recent transmissions of routing table updates or ACKs, periodic update messages without any routing table changes (null update messages) are sent to the neighbors.
- The time interval between two such null update messages is the HelloInterval.
Procedure Message
- The link-cost table of node i lists the cost of relaying information through each neighbor k, and the number of periodic update periods that have elapsed since node i received any error-free messages from k.
- The way in which costs are assigned to links is beyond the scope of this speci cation.
- The list of updates sent in the update message Node i retransmits the list of updates in an update message when the retransmission counter of the corresponding entry in the MRL reaches zero.
2.3 { Information Exchanged among Nodes
- In WRP, nodes exchange routing-table update messages (which the authors call \update messages" for brevity) that propagate only from a node to its neighbors.
- An update message contains the following information: A sequence number assigned by the sending node.
- An example of this event can be the case in which a node identi es a new neighbor and sends its entire routing table.
- The response list of the update message is used to avoid the situation in which a neighbor is asked to send multiple ACKs to the same update message, simply because some other neighbor of the node sending the update did not acknowledge.
2.4 { Routing-Table Updating
- Figures 1 and 2 specify important procedures of WRP used to update the routing and distance tables.
- In contrast, all previous path- nding algorithms [5, 10, 15] check the consistency of the predecessor only for the neighbor associated with the input event.
- Whenever node i sends a new update message, it must Decrement the retransmission counter of all the existing entries in the MRL Delete the updates in existing entries in the MRL that are included in the new update message.
- An in nite distance to all destinations through node k is assumed, with the exception of node k itself and those destinations reported in node k's updates, if the message received from k was an update message.
- This information can be transmitted in one or multiple update messages that only node k needs to acknowledge.
2.5 { Example
- The following example illustrates the working of WRP.
- Consider a four node network shown in Figure 3(a).
- Each update will be acknowledged by an ACK message from the neighbor.
- Also, when i gets node k's update message, i updates its distance table entry through neighbor k and checks for the possible paths to destination j through any other neighboring nodes.
- This illustrates how the method used in WRP to update a node's distance table (Step (2) in Procedure DT) helps in the reduction of the formation of temporary loops in the explicit paths.
3 { Correctness of WRP
- The authors show that the basic routing algorithm used in WRP is correct.
- The following assumptions are made on the behavior of links and routers for the working of WRP.
- A lower-level protocol is responsible for maintaining the status of the link.
- Link lengths are always positive and a failed link has an in nite length.
- For simplicity, the following proof assumes that all update messages sent over an operational link are received correctly.
Proof
- There are four possible situations involving the shortest path from i to j.
- (n;m) is on the shortest path and its length does not change enough to modify the shortest path (although the length of the shortest path changes).
- In Case (2), router is aware of the change in the link cost along the shortest path after a delay not exceeding the number of links on the new shortest path.
- Each of these neighbors will update their table entries and the change in the link cost propagates.
- This process continues until a stable router which does not change its successor is encountered.
4 { Complexity Analysis
- WRP's time complexity is O(h) in the worst-case, where h is the height of the routing tree.
- Time complexity is de ned as the largest time that can elapse between the moment T when the last topology change occurs and the moment at which all the routers have nal shortest path and distances to all other routers.
- The weight of the links are as indicated.
- This reduces the number of update messages required.
5 { Simulation Results
- To gain insight into the average-case performance of WRP in a dynamic environment, the authors have simulated its operation using an actor-based, discrete-event simulation language called Drama [17], together with a network simulation library.
- The library provides a standard input syntax and a framework for constructing simulations consisting of routers attached to each other via links.
- Link failures and recoveries are simulated by sending link status message to the nodes at the end points of the appropriate links.
- The message count obtained from the simulation runs is not the exact number of updates and acknowledgments sent by each protocol, but accurately re ects the relative di erences among protocols.
- The authors chose these topologies to compare the performance of routing algorithms for well-known cases given that they cannot sample a large enough number of networks to make statistically justi able statements about how an algorithm scales with network parameters.
5.1 { Total Response to a Single Resource Change
- The graphs in Figures 5 and 6 depict the number of messages exchanged and the number of steps required before PFA, DBF, DUAL, and ILS converge for every link failing and recovering in the ARPANET topology.
- The authors focus more on the results for the ARPANET topology, because of its larger size.
- Similar graphs for every node failing and recovering are given in Figures 7 and 8 respectively.
- All topology changes are performed one at a time and the algorithms were allowed to converge after each such change before the next resource change occurs.
- For a single resource failure, PFA outperforms DUAL.
5.2 { Dynamics with Mobile Nodes
- The authors modeled mobility in the simulation by making the links fail and come back up arbitrarily at random points in time.
- Node failure is simulated as all the links associated with that node going down at the same time.
- The links are chosen at random from the set of all the existing links in the fully connected network.
- In all cases, the average number of messages for DBF and DUAL are more than that of WRP.
- ILS sends maximum number of messages since the complete topology information has to be exchanged between neighbors every time the topology changes.
6 { Conclusion
- A new routing protocol, WRP, for a wireless network has been presented.
- This protocol is based on a path- nding algorithm which substantially reduces the number of cases in which routing loops can occur.
- A mechanism has been proposed for the reliable exchange of update messages as part of WRP.
- The basic algorithm used in WRP has been proved to be correct and WRP's complexity has been analyzed.
- The results indicate that WRP is an excellent alternative for routing in wireless networks.
Did you find this useful? Give us your feedback
Citations
4,278 citations
2,211 citations
Cites methods from "An efficient routing protocol for w..."
...Additionally, like GB and LMR, it has no explicit reaction to link additions further reducing its complexity relative to ILS, DUAL and WRP....
[...]
...To further complicate the problem, good parameter selection will likely be dependent on the networking environment (i.e. the size of the network, rate of topological change, etc.) While WRP is described as providing only single path routing, nodes maintain sufficient information to perform multipath routing....
[...]
...Some existing algorithms which have been developed for this environment include the following: the GafniBertsekas (GB) algorithms [10], the Lightweight Mobile Routing (LMR) protocol [11], the Destination-Sequenced Distance Vector (DSDV) routing protocol [12], the Wireless Routing Protocol (WRP) [13], and the Dynamic Source Routing (DSR) protocol [14]....
[...]
...The complexities of TORA, along with an Ideal Link-state (ILS) algorithm, the DUAL family of algorithms, the GB full reversal algorithm, the LMR protocol, the DSDV protocol, and the WRP protocol are shown in Table 1....
[...]
2,128 citations
Cites background from "An efficient routing protocol for w..."
...Some proactively search for routes to all other nodes [26, 29], while others only look for a path when a message needs to be delivered [30, 15]....
[...]
1,885 citations
1,830 citations
Cites background from "An efficient routing protocol for w..."
...Some other routing algorithms in mobile wireless networks can be found in [15], [12], [9], [14], which, as the majority of routing protocols in mobile ad-hoc networks do, use shortest-path routing where the number of hops is the path length....
[...]
References
[...]
6,991 citations
"An efficient routing protocol for w..." refers methods in this paper
...The routing protocols used in multihop packet-radio networks implemented in the past [2,3,11] were based on shortest-path routing algorithms that have been typically based on the distributed Bellman-Ford Algorithm (DBF) [4]....
[...]
6,877 citations
2,832 citations
"An efficient routing protocol for w..." refers background in this paper
...BGP [16] exchanges distance vectors that specify complete paths to destinations....
[...]
[...]
2,413 citations
1,085 citations
Related Papers (5)
Frequently Asked Questions (12)
Q2. How do routers respond to messages delivered from the input queue?
Routers send packets over links by using the function-call interface to the link's actors, but they receive packets by responding to messages delivered from the input queue.
Q3. What is the common type of routing protocol used in multihop packet-radio networks?
The routing protocols used in multihop packet-radio networks implemented in the past [2, 3, 11] were based on shortest-path routing algorithms that have been typically based on the distributed Bellman-Ford algorithm (DBF) [4].
Q4. What is the correctness proof of a link?
In terms of the correctness proof, the e ect of retransmissions is that of added delay in the delivery of an update message to a neighbor, and a link fails when a given number of retransmissions have been attempted.
Q5. What is the function that recomputes the distances and predecessors of a?
When a link fails or a link-cost changes, node i recomputes the distances and predecessors to all a ected destinations, and sends to all its neighbors an update message for all destinations whose distance or predecessor have changed.
Q6. What does a node i send to a neighbor?
When the retransmission counter for a retransmission entry m in the MRL expires, node i sends an update message with a new sequence number, an update list containing the list of updates of the retransmission entry, and a response list specifying those neighbors who did not acknowledge the update message earlier (i.e., every neighbor k for whom aikm = 1).
Q7. What is the purpose of the shortest path algorithm?
a number of distributed shortest-path algorithms have been proposed [5, 7, 9, 10, 15] that utilize information regarding the length and second-to-last hop (predecessor) of the shortest path to each destination to eliminate the counting-to-in nity problem of DBF.
Q8. What are the features of the protocols that were common to all?
To reduce the complexity of the simulation, the authors have eliminated those features of the protocols that were common to all; these features concern the reliable transmission of updates over unreliable links, and the identi cation of neighbors.
Q9. What is the detailed proof of correctness?
A detailed proof of correctness is presented and its performance is compared by simulation with the performance of the distributed Bellman-Ford algorithm (DBF), DUAL (a loop-free distance-vector algorithm) and an ideal link-state algorithm (ILS), which represent the state of the art of internet routing.
Q10. How are link failures and recoveries simulated?
Link failures and recoveries are simulated by sending link status message to the nodes at the end points of the appropriate links.
Q11. How many acknowledgements are received for a single update?
under the assumption that no errors or collisions occur in the network channel, counting the number of acknowledgments received for a single update broadcast to all neighbors is much the same as counting the number of updates sent by a node to its neighbors on a point-to-point basis and with no acknowledgments|the two counts di er only by one.
Q12. How is the cost of a link extracted from the routing table?
By de nition 1, the cost of the link can be extracted from the routing table as (Dvj D v i ), the predecessor p v j = i and the successor svi = k, from the function RT Update.