Global State Routing 1
Global State Routing 1
Tsu-Wei Chen and Mario Gerla Computer Science Department University of California, Los Angeles { tsuwei,gerla} @ cs .ucla.edu
Abstract
In an ad-hoc environment with no wired communication infrastructure, it is necessary that mobile hosts operate as routers in order to maintain the information about connectivity. Howevel; with the presence of high mobility and low signallinterference ratio (SIR), traditional routing schemes for wired networks are not appropriate, as they either lack the ability to quickly reflect the changing topology, or may cause excessive overhead, which degrades network perjbrmance. Considering these restrictions, we propose a new scheme especially designed for routing in an ad-hoc wireless environments. We call this scheme Global State Routing (GSlt),where nodes exchange vectors of link states among their neighbors during routing information exchange. Based on the link state vectors, nodes maintain a global knowledge of the network topology and optimize their routing decisions locally. The pe~ormance the algorithm, studied in this of paper through a series of simulations, reveals that this scheme provides a better solution than existing approaches in a truly mobile, ad-hoc environment.
work and propose issues for future research in section VI.
I. Introduction
In an ad hoc wireless network where wired infrastructures are not feasible, mobility and bandwidth are two key elements presenting research challenges. Mobility causes the life time of a connection between two hosts to vary greatly; and limited bandwidth makes a network to be easily congested by control signalling. Routing schemes developed for wired networks seldom consider restrictions of this type. Instead, they assume that the network is mostly stable and the overhead for routing messages is negligible. Considering the difference between wireless and wireline network, we believe it is necessary to develop a wireless routing protocol that reacts quickly to changes of network topology but consumes only a reasonable amount of bandwidth for the control traffic. In this paper, we propose a new routing scheme for ad-hoc wireless networks. It is MAC (medium access control) layer efficient because the overhead of control message is kept low. It still provides accurate solutims for finding optimal paths. The rest of this paper is organized as follow. In section 11, we survey the existing wireless routing protocols. Then we propose a new routing scheme in section I11 Section IV presents the complexity analysis of this scheme and compares it with others. To verify the effectiveness, we simulate a mobile environment and the report the performance results in section v. Lastly, we conclude our
A. Network Model
The ad-hoc wireless network is modeled as an undirected graph
G = ( V , E ) ,where V is a set of I I nodes and E is a set of /El V undirected links connecting nodes in V . Each node has a unique
identifier and represents a mobile host with a wireless communication device with transmission range R, and an infinity storage space. Nodes may move around and change their speed and direction independently. An undirected link (i,j ) connecting two nodes i and j is formed when the distance between i and j become less than or equal to R. Link ( i ,j ) is removed from E when node i and j move apart, and out of their transmission ranges. For each node i , one list and three tables are maintained. They are: a neighbor list A,, a topology table TTi, a next hop table NEXTi and a distance table Di. Ai is defined as a set of nodes that are adjacent to node i . Each destination j has an entry in table TTi which contains two parts: TTi.LS(j)and TTi.SEQ(j). TTi.LS(j)denotes the link state information reported by node j , and TTi.SEQ(j)denotes the timestamp indicating the time node j has generated this link state information. Similar, for every destination j , NEXTi(j) denotes the next hop to forward packets destined to j on the shortest path, while Di ( j ) denotes the distances of the shortest path from i to j . Additionally, a weight function, weight: E -+ Zof, is used to compute the distance of a link. Since min-hop shortest path is the only objective in this paper, this weight function simply returns 1 if two nodes have direct connection, otherwise, it returns cm. This weight function may also be replaced with other functions for routing with different metrics. For instance, a bandwidth function can be used to realize a QoS routing.
tects topology changes. GSR doesnt flood the link state packets Instead, nodes in GSR maintain the link state table based on thi up to date information received from neighboring nodes, and peri odically exchange it with their local neighbors only. Informatioi is disseminated as the link state with larger sequence numbers re places the one with smaller sequence numbers. In this respect, it ii similar to DBF (or more precisely, the DSDV [4]) where the valuc of distances is replaced according to the time stamp of sequencc number.
1V. Complexity
In this section, we analyze the complexity of the GSR scheme and compare it with two other routing schemes: DBF and LS. The complexity is studied under five aspects:
B. Algorithm
The details of GSR protocol are listed in Fig. 1. At the beginning, each node i starts with an empty neighbor list Ai, and an empty topology table TTi. After node i initializes its local variables with proper values as described in procedure NodeInit(i), it learns about its neighbors by examining the sender field of each packet in its inbound queue, PktQueue. That is, assuming that all nodes can be heard by i are is neighbors, node i adds all routing packet senders to its neighbor list, Ai. Node i then invokes PktProcess(i) to process the received routing messages, which contain link state information broadcasted by it neighbors. PktProcess(i) makes sure that only the most up to date link state information is used to compute the best route by comparing the embedded sequence number, pkt.SEQ(j),with the ones stored in node i s local storage, for each destination j. If any entry in the incoming message has a newer sequence number regarding destination j , TT;.LS(j)will be replaced by pkt.LS(j),and TT,.SEQ(j)will be replaced by pkt.SEQ(j). After the routing messages are examined, node i rebuilds the routing table based on the newly computed topology table and then broadcasts the new information to its neighbors. Such process is periodically repeated.
1. Computation Complexity (CC): the number of computatior steps for a node to perform a routing computation after an update message is received; 2. Memory Complexity (MC): the memory space required tc store the routing information;
3. Data Complexity (DC): the aggregate size of control packets exchanged by a node in each time slot;
4. Packet Complexity (PC): the average number of routing packets exchanged by a node in each time slot;
5. Convergence Time (CT): the times requires to detect a link change.
C. Information Dissemination
The key difference between our GSR and traditional LS is the way routing information is disseminated. In LS, link state packets are generated and flooded into the network whenever a node de172
Table 1 shows the results of our comparison. In the table, N denotes the number of nodes in network (IVl), denotes the maxD imum hop distance, the diameter, in the network, d and I denote
the degree of node connectivity and the routing update interval, respectively. GSR and LS have same memory complexity and computation complexity as both maintain the topology for the whole network and use Dijkstras algorithm to compute shortest path routes. Dijkstras algorithm requires typically O ( N 2 )steps to compute the shortest paths from one source to all destinations, although it is possible to reduce it to O(NlogN) [12]. O ( N 2 ) memory space is required to store the network topology represented by a connection matrix. As for DBF, it has complexity of O ( N ) for computing and memory, as it only keeps the distance information for each destination, and computes shortest paths in a distributed fashion. For the data complexity, in GSR each node broadcasts information for N x d links on average, and the complexity is divided by I, the update interval. LS, on the other hand, has similar accumulated data size for each link update, but its update interval I may become extremely small when mobility increase. This issue, to be addressed shortly, was verified through simulation. In addition, as LS transmits one short packet for each link update, its packet complexity can be as high as O ( N )when the mobility is high. On the other hand, both GSR and DBF transmit a fixed number of update tables using longer packets to optimize the MAC throughput. Lastly, the convergence time for GSR is also superior than that for DBF. In fact, if shorter update interval is used, GSR can converge as fast as LS.
then the overall routing inaccuracy is computed by averaging Ai, for all i E N , where N , nezti(),hopi(),D are defined in section 111, and nezt2n,() is the next hop table computed by the off-line algorithm.
V. Simulation
Unlike in [5,4, 9, 101, where wireless network is simulated by static network with higher link failure rate, we used a truly mobile environment in our simulator to determine the connectivity among mobile hosts. The simulation is programmed in C++ to simulate an environment of 500 x 5CO unit2. Arbitrary numbers of nodes, representing the mobile hosts, move independently on their own trajectories within this virtual space. The maximum moving speed and the number of nodes are given at run time. Additional assumptions used in our simulations includes: (1) no node failure during si mulation; (2) node number is always constant in the run time of simulation; (3) a time slotted system; (4) radio transmission range is fixed at R, which is specified at the beginning of the simulation; ( 5 ) two nodes can hear each other if they are within the transmission range, that is, open space channel model is used. Three routing schemes: DBF, LS and GSR are used exclusively in the simulation. The DBF and LS are based on the schemes described in [13]. Both DI3F and GSR can be executed with a routing update interval ( I ) specified at run time. By default, I is set to 3 (one update per three time slots), while in LS, nodes flood link state packets whenever they detect changes in their local connectivities. Also, the number of nodes in our simulation is set to 60.
B. Simulation Results
In addition to routing accuracy and control overhead, we also examine the impact to performance due to changes in mobility, update interval and radio transmission range. These results are summarized below.
B.l. Routing Inaccuracy Fig. 2 shows the inaccuracy of different routing schemes at different node speeds. LS performs best at all speed ranges, since it reacts the fastest to the topology changes. GSR performs less accurately than LS since it updates the routing information only every three time slots. However, GSR still performs better than DBF.
A. Performance Measuirements
Two metrics are used to evaluate the routing performances: routing inaccuracy and confrol overhead. Using them, we examine the impact to the performances of different mobility, update
173
B.3. Mobility Impact As Fig. 3 shows, the control overhead for LS increases rapidly as nodes move at higher speeds. An unmanageable flood of packets overwhelms the radio channel and dominates packet queue in each node. On the other hand, mobility has no effect on control overhead for DBF and GSR. This is reasonable because in LS, routing updates are event driven: a node sends a link state packet into the network whenever changes in its neighborhood are detected. And a large amount of these link state packets will then be generated due to the flooding mechanism. The impact of mobility to routing inaccuracy is, however, independent of the impact to control overhead. Overall, higher mobility causes higher inaccuracy for all three schemes. LS performs the best in every mobility value, as indicated by Fig. 2. LS sustains inaccuracy equal to or lower than 15% even at a node speed of 160 units per time slot, while DBF provides poorly acceptable routing solutions. Our GSR performs between DBF and LS; in low speed range, GSR is as accurate as LS; while in high speed range, GSR becomes worse but is still better than DBF.
B.4. Update Interval Update interval also plays an important role for the routing overhead and inaccuracy. As we showed earlier, LS achieves higher routing accuracy because update packets are sent out immediately whenever a node detects topology change. Thus the delay is bounded by the minimum time resolution used by the system. Fig. 4 shows that GSR inaccuracy is degraded or improved by adjusting the routing interval up or down. The same holds for DBF as shown in Fig. 5 , except that the improvement is not very significant as the accuracy is already poor even in the low mobility conditions. As expected, we note that more improvements can be observed when mobility is high.
B.5. Radio Transmission Range The range of radio transmission determines the degree of node connectivity. As shown in Fig. 6, the larger the transmission range the larger the connectivity degree and the larger the control packet size for GSR and LS. Fig. 7 shows the decrease in routing error rate as transmission range increases. Larger transmission range means more nodes can be reached in one hop without requiring routing decision. However, as indicated in [14], the spatial reuse is less efficient when transmission range is large. It is interesting to note that, the worst case doesnt happens when R = 80, which is the smallest range in our simulation. Instead, it happens at about R = 150, regardless of mobility. It is obvious that as transmission range increases, the hop distance between any two nodes also decreases, so less routing error may be formed. On the other hand, as transmission range decreases, the graph will become disjoint. To the extreme, when the transmission range equals zero, no two nodes can talk to each other, and the next hop entries will becomes all empty.
Our future plan includes the evaluation of MAC layer impact to the routing efficiency. This requires enhancements to our simulators with different MAC layers such as MACA, MACAPR and Cluster/TDMA [14]. QoS routing for multimedia support in wireless environment is also considered to be embedded in GSR since it provides higher routing accuracy without sacrificing bandwidth. Besides simulation, implementing GSR in an IP wireless testbed is also in progress.
References
D. Bertsekas and R. Gallager, Routing in Data Networks, chapter 5, Prentice Hall, second edition, 1987. J.M. McQuillan et al., The new routing algorithm for the ARPANET, IEEE Transactionof Communications, vol. 28, no. 5, pp. 71 1,719, May 1980.
S. Murthy and J.J. Garcia-Luna-Aceves, A routing protocol for packet radio networks, in Proc. IEEE Mobicom, Nov. 1995, pp. 86-95.
C.E. Perkins and P. Bhagwat, Highly dynamic destinationsequenced distance-vector routing (DSDV) for mobile computers, in ACM SIGCOMM94, 1994, pp. 234-244.
S. Murthy and J.J. Garcia-Luna-Aceves, A routing protocol for packet radio networks, in Proc. IEEE Mobicom, Nov. 1995, pp. 86-95.
C. Hedrick, Routing Information Protocol, in IETF RFC 1058,1988.
VI. Conclusion
In this paper, we introduce a new routing scheme, the Global State Routing, to provide an efficient routing solution for wireless, mobile networks. The routing accuracy of GSR is comparable to an ideal LS scheme and thus superior to the traditional DBF, although it doesnt require individual link state broadcasting which may cause serious consumption of wireless bandwidth. As a result, GSR is more desirable for a mobile environment where mobility is high and bandwidth is relatively low.
Prentice Hall, 1996. M. Gerla and J. T. Tsai, Multicluster, mobile, multimedia radio network, ACM-Baltzer Journal of Wireless Networks, vol. 1, no. 3 , pp. 255-265, 1995.
174
~rocNode(i) N o d e h i t ( i ); while TRUE - PktQuc:ue # 4 !! packet received if foreach pkt E PktQueue a0 A i t- Ai u {pkt.source} PktFf-ocess( i ,p k t ) od;
fi
=FindSP(i) Dijkstra's shortest-path algorithln P t {i}; D .~) t 0 : ;(i foreachz {j I (j E V ) A ( j # i ) } - z E TTi.LS(i) if then D i ( z ) t weight(i, 2); NEXT.(kl t k :
I
FindSP( 2 ) ;
- ( d o c k s : ) mod Updatelnterval) if Routin,qUpdate(i) ;
=0
od
W P # V d o foreach k E V - P , 1 E P Find ( 1 . k ) such that weighr(1, k) = m i n { D i ( l )+ weight(1, k ) } ; od P t P U{k}; weight(1, k ) ; D i ( k ) t D,(Z) NEXTl(k) t NEXTi(1); od
fi
CheckNeigh hors ( i ) ; T T , . L S ( i )t A ; ;
od
NodeInit(i) = foreachj E V do A ; ( j )t & D , ( j ) t 03; N E X T i ( j ) f- - 1 ; S E Q i ( j ) t -1; od A , t A , U {z I l i n k ( i , z ) T T ' . L S ( i )t A , ; D , ( i )t 0: (i) ' i ; t t i t 0; S E Q i ( i ) c ti;
T T i . L S ( j ) c T T i , . L S ( j u {source}; ) foreachj E V
do
- (j # i ) A ( p k t . S E Q ( j )> T T ; . S E Q ( j ) ) if
NEXT^
then bepin
T T , . S E Q ( j )t p k t . S E Q ( i ) ; TT'.LS(j) t p k t . L S ( i ) ;
end
RoutingUpdate(i) t i t ti + 1; TT;.SEQ(i)t-t i ; T T , . L S ( i )t <5; foreachx E A . do T T i . L S ( i )f- T T < . L S ( iu {z}; ) od message.TT t { i , T T i } ; message.id t i; hroadcasr(j,mcssage) to all j E Ai;
od
~
0.6 60 0.5
*.__*-*-+-+-*-+-~-+-*.*.~.~.*.~~_/
50 0.4 40
---+-*.+.+.+..
,/.-
03 .
3 0 ~
0.2
;5"
20
IO
-/
/ [
ti
0,
o+----
;i'
- ....................
0 0 20
40
120
140
160
50-
40
30 -
"'C
0.1
20
100
150
10
o
0
I
20
.
40
'
,
120
140
160 50
2w
250
300
350
4w
450
500
50
1w
150
200
250
3 0 0
950
400
450
503
TX Range
TX Range
175