[IEEE Proceedings IEEE INFOCOM 2006. 25TH IEEE International Conference on Computer Communications -...

2
H u v P O t w z x Q R y N M L C lusterHead S_1 S_2 D_2 D_1 SourceRouting Loop error Down(u,v) t=0: Unstable(v) t=4T: UP(v)=w Stable(w) t=T: Unstable(w) t=3T: UP(w)=x Stable(w) t=2T: Unstable(x) UP(x)=y Stable(x) Up(v,w) Up(v,w) Up(w,x) Up(v,w) Up(w,x) Up(x,y) RouteMaintenance Select:(2) Diff(STid) Select: (1) Same(STid) H t’ z' C luster Head Border Node Inter-clusterLinks (Cid(H)<>Cid(H’)) Figure 1. The cluster architecture of BGP-GCR+ An Implementation of BGP-GCR+ Routing Architecture for Large-scale Mobile Ad-hoc Networks Quan Le Trung, Advisor: Prof. Gabriele Kotsis Department of Telecooperation Johannes Kepler University Linz, AUSTRIA {quanle, gk}@tk.uni-linz.ac.at Abstract—This paper presents the ongoing researches towards the implementation and the performance evaluation of our proposed BGP-GCR+ routing architecture via simulation in ns-2. BGP-GCR+ consists of three components: (1) a two-level hierarchical, non-overlapped, one-node fault-tolerant routing algorithm for large-scale mobile ad-hoc networks (MANETs), (2) an IPv6-based address stateless auto-configuration scheme, and (3) procedures at Internet gateways between autonomous systems (ASs) to select backup or load-balancing routes through MANETs. We have implemented the first component of BGP- GCR+ into ns-2 for performance evaluation. Simulation results show that the packet delivery ratio in BGP-GCR+ is slightly lower than that in the ad-hoc on-demand distance vector (AODV) for the high-mobility, small-scale (50-150 nodes), but higher for the medium-scale (200 nodes) MANETs. Moreover, the routing overhead is lower in BGP-GCR+ compared with AODV. Keywords-routing; load-balancing; address auto-configuration I. INTRODUCTION The routing component of BGP-GCR+ [1] is developed from gravitational cluster routing (GCR) algorithm [2], which is based on a two-level hierarchy. The cluster of BGP-GCR+ cover the dense areas of mobile nodes in order to increase the stability and the fault-tolerance (one-node failure). The passive duplicate address detection (DAD) [4] and weak DAD [5] schemes have been integrated into BGP-GCR+ for detecting the duplicated clusters and the duplicated addresses within each cluster. To find an external route to another autonomous system (AS) via mobile ad-hoc networks (MANETs), an Internet gateway needs a selection procedure. We have developed the weight and local preference attributes of border gateway protocol (BGP) [3] for this function in BGP-GCR+. II. THE ROUTING COMPONENT OF BGP-GCR+ Fig. 1 shows the architecture of the routing component of BGP-GCR+ [1]. In each cluster with the scope of R max hops, a node with the local maximum degree is elected to be the cluster head and initiates its non-overlapped cluster construction. Each cluster head is responsible for maintaining the newest topological status of its cluster. The proactive routing based on unicast Tree-Links maintained by the cluster head has been adopted inside cluster and the reactive routing based on ad-hoc on-demand distance vector (AODV) [7] outside the clusters. III. THE IMPLEMENTATION OF BGP-GCR+ ROUTING COMPONENT INTO NS-2 Fig. 2 shows the implementation of the routing component of BGP-GCR+ into ns-2 [6] for the performance evaluation. The recv() function handles packets received from the upper and lower layers. If the packet is from the upper layer, it checks its neighbor cache for the destination. If the destination is not in its neighbor cache, it forwards upstream this packet to its cluster head. The cluster head uses the rt_resolve() function to find a route to the destination. If the cluster head can not find any routes, it generates the route request (RREQ) packets using AODV route discovery. The recv() function may find that the packets instead come from the lower layers, i.e. they have been forwarded, and if the packets have BGP-GCR+ type headers, submit the packet to the recvBGPGCR(). The timer handlers trigger actions that will lead to the periodical packet transmission or the scanning and purging of the expired data entries in caches. Currently, the data structures of these caches are double-linked lists. Dijkstra is the shortest-path algorithm used by the cluster head to find routes to any nodes in its cluster, based on the link states in its intra-cluster routing cache developed from dynamic source routing (DSR) link-cache [8]. This work has been fully supported by Austrian Academic Exchange (OEAD) under the PhD research program in Department of Telecooperation - Johannes Kepler University.

Transcript of [IEEE Proceedings IEEE INFOCOM 2006. 25TH IEEE International Conference on Computer Communications -...

Page 1: [IEEE Proceedings IEEE INFOCOM 2006. 25TH IEEE International Conference on Computer Communications - Barcelona, Spain (2006.04.23-2006.04.29)] Proceedings IEEE INFOCOM 2006. 25TH IEEE

H

u

v

PO

t

w z

x

Q

R

y

N

M

L

Cluster Head

S_1S_2

D_2

D_1

Source Routing

Loop

error

Down(u,v)

t=0: Unstable(v)t=4T: UP(v)=wStable(w)

t=T: Unstable(w)t=3T: UP(w)=xStable(w)

t=2T: Unstable(x)UP(x)=yStable(x)

Up(v,w)

Up(v,w)Up(w,x)

Up(v,w)Up(w,x)Up(x,y)

Route Maintenance

Select: (2)Diff(STid)

Select: (1)Same(STid)

H’

t’

z'

Cluster Head

Border

Node

Inter-cluster Links(Cid(H)<>Cid(H’))

Figure 1. The cluster architecture of BGP-GCR+

An Implementation of BGP-GCR+ Routing Architecture for Large-scale Mobile Ad-hoc Networks

Quan Le Trung, Advisor: Prof. Gabriele Kotsis Department of Telecooperation

Johannes Kepler University Linz, AUSTRIA

{quanle, gk}@tk.uni-linz.ac.at

Abstract—This paper presents the ongoing researches towards the implementation and the performance evaluation of our proposed BGP-GCR+ routing architecture via simulation in ns-2. BGP-GCR+ consists of three components: (1) a two-level hierarchical, non-overlapped, one-node fault-tolerant routing algorithm for large-scale mobile ad-hoc networks (MANETs), (2) an IPv6-based address stateless auto-configuration scheme, and (3) procedures at Internet gateways between autonomous systems (ASs) to select backup or load-balancing routes through MANETs. We have implemented the first component of BGP-GCR+ into ns-2 for performance evaluation. Simulation results show that the packet delivery ratio in BGP-GCR+ is slightly lower than that in the ad-hoc on-demand distance vector (AODV) for the high-mobility, small-scale (50-150 nodes), but higher for the medium-scale (200 nodes) MANETs. Moreover, the routing overhead is lower in BGP-GCR+ compared with AODV.

Keywords-routing; load-balancing; address auto-configuration

I. INTRODUCTION The routing component of BGP-GCR+ [1] is developed

from gravitational cluster routing (GCR) algorithm [2], which is based on a two-level hierarchy. The cluster of BGP-GCR+ cover the dense areas of mobile nodes in order to increase the stability and the fault-tolerance (one-node failure). The passive duplicate address detection (DAD) [4] and weak DAD [5] schemes have been integrated into BGP-GCR+ for detecting the duplicated clusters and the duplicated addresses within each cluster. To find an external route to another autonomous system (AS) via mobile ad-hoc networks (MANETs), an Internet gateway needs a selection procedure. We have developed the weight and local preference attributes of border gateway protocol (BGP) [3] for this function in BGP-GCR+.

II. THE ROUTING COMPONENT OF BGP-GCR+ Fig. 1 shows the architecture of the routing component of

BGP-GCR+ [1]. In each cluster with the scope of Rmax hops, a node with the local maximum degree is elected to be the cluster head and initiates its non-overlapped cluster construction. Each cluster head is responsible for maintaining the newest topological status of its cluster. The proactive routing based on unicast Tree-Links maintained by the cluster head has been adopted inside cluster and the reactive routing based on ad-hoc on-demand distance vector (AODV) [7] outside the clusters.

III. THE IMPLEMENTATION OF BGP-GCR+ ROUTING COMPONENT INTO NS-2

Fig. 2 shows the implementation of the routing component of BGP-GCR+ into ns-2 [6] for the performance evaluation. The recv() function handles packets received from the upper and lower layers. If the packet is from the upper layer, it checks its neighbor cache for the destination. If the destination is not in its neighbor cache, it forwards upstream this packet to its cluster head. The cluster head uses the rt_resolve() function to find a route to the destination. If the cluster head can not find any routes, it generates the route request (RREQ) packets using AODV route discovery. The recv() function may find that the packets instead come from the lower layers, i.e. they have been forwarded, and if the packets have BGP-GCR+ type headers, submit the packet to the recvBGPGCR(). The timer handlers trigger actions that will lead to the periodical packet transmission or the scanning and purging of the expired data entries in caches. Currently, the data structures of these caches are double-linked lists. Dijkstra is the shortest-path algorithm used by the cluster head to find routes to any nodes in its cluster, based on the link states in its intra-cluster routing cache developed from dynamic source routing (DSR) link-cache [8].

This work has been fully supported by Austrian Academic Exchange (OEAD) under the PhD research program in Department of Telecooperation - Johannes Kepler University.

Page 2: [IEEE Proceedings IEEE INFOCOM 2006. 25TH IEEE International Conference on Computer Communications - Barcelona, Spain (2006.04.23-2006.04.29)] Proceedings IEEE INFOCOM 2006. 25TH IEEE

05

1015202530354045

1 2 3 4

Number of Nodes: case-1 (50), case-2 (100), case-3 (150), case-4 (200)

Packet Delivery Ratio (%)

BGP-GCR+ (R_max=6) BGP-GCR+ (R_max=3) AODV-Hello

Figure 3. Packet delivery ratio of BGP-GCR+ versus AODV-Hello

0

0,5

1

1,5

2

2,5

1 2 3 4

Number of Nodes: case-1 (50), case-2 (100), case-3 (150), case-4 (200)

Normalized Routing Overhead

BGP-GCR+ (R_max=6) BGP-GCR+ (R_max=3) AODV-Hello

Figure 4. Normalized routing overhead of BGP-GCR+ versus AODV-Hello

Neighbor Discovery (Using NDP IPv6 Neighbor Solicitation Packet)+ recvHello(), sendHello()+ recvGrav(), sendGrav()+ sendJoin(), sendLinkChange()

Intra-Cluster Routing (maintained only by ClusterHead using DSRLink-Cache)+ recvJoin(), recvLinkChange()+ addRoute(), findRoute(), addLink(), delLink(), findLink()+ forward_intra_up(), forward_intra_down()

Inter-Cluster Routing (maintaining only byClusterHead using AODV RREQ)+ sendRREQ(), sendRREP(), sendRRER()+ recvRREQ(), recvRREP(), recvRRER()

Border-Castingbased onUnicast-TreeLinks+ sendRREQ()+ sendRERR()

recv() from LINK/APPLICATION LAYERrecvBGPGCR() from LINK LAYER

recvHello()

rt_resolve()findRoute()recvJoin()recvGrav()

recvLinkChange()

rt_resolve()recvRREQ()recvRREP()recvRERR()

sendHello()sendJoin()sendGrav()sendLinkChange()

forward_intra_up()forward_intra_down()

LINK

LA

YER

sendRREQ()sendRREP()sendRERR()forward()

Tim

erH

andl

erTi

mer

Han

dler

UpdateNeighborCache+ nb_purge()

+ClusterHeadelect+Cluster select+ Neighbor select

HELLO_INTERVAL

Update IntraCache+ sendJoin()+ sendLinkChange()

INTERCACHE_INTERVAL

UpdateInterCache+ rt_purge()

BCAST_ID_CACHETimerHandler BCAST_INTERVAL id_purge()

NEIGHBOR CACHE

INTRA-CLUSTERROUTINGCACHE

(Unicast Tree-Links)

INTER-CLUSTERROUTING CACHE(Next-hop cluster)

Figure 2. Packet flow of the routing component of BGP-GCR+ in ns-2

IV. INITIAL SIMULATION RESULTS Network sizes of 50/100/150/200 nodes are used in the

simulation with high traffic load (30 constant bit rate (CBR) connections, 4 packets/sec, 512-byte data packet size). The very high movement scenario is setup (random waypoint model: mean pause time 30 seconds, mean speed 10m/s). BGP-GCR+ cluster radius (3/6 hops).

Fig. 3 shows a comparison on the packet delivery ratio of BGP-GCR+ versus AODV-Hello, which uses Hello packets broadcasted periodically by each node for its neighbors to detect the link-state changes. For the very high mobility simulated scenarios, the packet delivery ratio of both BGP-GCR+ and AODV-Hello is low. It is at most 45% in all test cases. For the small-scale MANETs (50-150 nodes), the packet delivery ratio of AODV-Hello is slightly better than that of BGP-GCR+. This is due to the overhead in the cluster construction of BGP-GCR+. However, for the medium-scale (200 nodes) MANETs, the packet delivery of BGP-GCR+ is better than that of AODV-Hello. Fig. 4 shows a comparison on the routing overhead of BGP-GCR+ versus AODV-Hello. Results show that the routing overhead of BGP-GCR+ is only one-half that of AODV-Hello in all test cases. The main reason is that there is almost the cluster maintenance overhead in BGP-GCR+ once the cluster hierarchy is established, while in AODV-Hello it is both the route maintenance and route discovery overheads.

V. CONCLUSIONS AND FUTURE WORKS BGP-GCR+ is the routing architecture we have developed

at the network layer of our proposed Arch-InterMANETs [9] framework for internetworking MANETs with the Internet in different scenarios. The implementation of BGP-GCR+ Internet gateway selection procedures into ns-2 to choose the backup or load-balancing routes through MANETs, the mapping of medium access control (MAC)-related metrics into the link stability of the cluster construction in BGP-GCR+, their performance evaluations are subject to our future researches.

REFERENCES [1] Quan Le Trung and Gabriele Kotsis, “BGP-GCR+: An IPv6-based

Routing Architecture for MANETs as Transit Networks of the Internet,” Proceedings of Int’l Conf. on Mobile Ad-hoc and Sensor Networks (MSN2005), LNCS Vol. 3794, pp.337-350, Dec.13-15 2005, Lake View Hotel, Wuhan, CHINA.

[2] C. Y. Chiu and C. Gen-Huey, “A stability aware cluster routing protocol for mobile ad hoc networks,“ Wireless Communications and Mobile Computing 2003; 3:503-515.

[3] Y. Rekhter and T. Li, “A Border Gateway Protocol 4 (BGP-4),” Request for Comments (RFC1771), Mar.1995.

[4] Killian Weniger, “PACMAN: Passive Autoconfiguration for Mobile Ad hoc Networks,“ IEEE Journal on Selected Areas in Communication, March 2005, Vol.23 No.3.

[5] Nitin H. Vaidya, “Weak Duplicate Address Detection in Mobile Ad Hoc Networks,” MOBIHOC’02, June.9-11 2002, EPLF Lausanne, Switzerland.

[6] The Network Simulator ns-2. http://www.isi.edu/nsnam/ns/. [7] C. Perkins, E. Belding-Royer and S. Das, “Ad hoc On-Demand Distance

Vector (AODV) Routing for IP version 6,” draft-perkins-manet-aodv6-01.txt, July 2003.

[8] Yih-Chun Hu and D. B. Johnson, “Caching Strategies in On-Demand Routing Protocols for Wireless Ad Hoc Networks,” MobiCom’00, Aug.6-11 2000, Boston, MA, USA.

[9] Quan Le Trung and Gabriele Kotsis, “Internetworking MANETs with the Internet,” EuroNGI Workshop on QoS and Traffic Control, Dec.07-09, Paris, FRANCE.