Strip Interoperability for Wireless Ad Hoc Routing ... - IEEE Xplore

2 downloads 0 Views 506KB Size Report
Institut Mines-Télécom/Télécom SudParis. CNRS UMR 5157 SAMOVAR. 9, rue Charles Fourier. 91011 Evry Cedex, France. stephane.maag@telecom-sudparis.
2014 IEEE 13th International Symposium on Network Computing and Applications

Strip Interoperability for Wireless Ad hoc Routing Protocols Marco Antonio To and Gerardo Morales

Stephane Maag

RLICT Universidad Galileo 7a. Av. Final, Calle Dr. Eduardo Suger Cofi˜no Zona 10, Guatemala, Guatemala. {marcoto, gmorales}@galileo.edu

Institut Mines-T´el´ecom/T´el´ecom SudParis CNRS UMR 5157 SAMOVAR. 9, rue Charles Fourier 91011 Evry Cedex, France. [email protected]

management: each node has to know the particular MANET it belongs to. Handling domain-level topology changes: the MANET routing protocol has to be able to provide a mechanism to resolve topology changes, so communications between its nodes is constant. No Boundaries: because of the use of wireless interfaces, no clear physical boundaries can be defined between networks. Routing Between Networks: information from one MANET has to be able to be disseminated to other nearby MANETs.

Abstract Wireless Ad hoc Networks are rapidly growing in popularity because of their flexibility and wide range of applications (Indoor Communications, Intelligent Transportation, Emergency Operations, Public Safety, etc.). However, while it becomes easier to set up such networks, one of the main constraints is the heterogeneity of the nearby devices (or nodes). Moreover, it is still very difficult to make them communicate if these nodes use different routing protocols. In this paper, we present a novel approach that makes use of layer 3 protocols to guarantee interoperability between networks. We introduce the notion of Strip Interoperability, a new mechanism that aims to address this problem by creating a bridge between heterogeneous wireless ad hoc networks. An implementation of our approach through a real case study is shown to illustrate the applicability of our mechanism. Index Terms—Ad hoc networks, Wireless networks, Next generation networking, Interoperability, IPv6.

The main contributions of this paper are: •



I. I NTRODUCTION •

Much progress has been made in Wireless Networks due to the benefits these can provide [1], [2]. Wireless Ad hoc networks are composed by a set of nodes that communicate with each other without relying on Access Points (APs). A sub-group is known as Mobile ad hoc Networks (MANETs) defined as “a self-organizing and self-configuring multi-hop wireless network, where the network structure changes dynamically due to member mobility.” [3]. In this paper we study the problem of Interoperability between different wireless ad hoc routing protocols. Interoperability has been discussed in the literature as a communication mechanism that spans across various heterogeneous MANETs [4]. A broad range of applications (Intelligent Transportation, Emergency Operations, Public Safety, among others [1], [5]) could benefit greatly from these types of networks. Though interoperability between heterogeneous MANETs is of high interest [2], we also must take under consideration the following inherent challenges in working with them. Addressing: routing is based on a node’s IP address, so each node has to have a unique address in order to be reached properly by a specific routing protocol. Membership 978-1-4799-5393-6/14 $31.00 © 2014 IEEE DOI 10.1109/NCA.2014.9

The introduction of Strip Interoperability. A novel mechanism that creates a bridge between heterogeneous wireless ad hoc networks using well known layer 3 protocols without the need for translation. An approach, based on Internet Protocol version 6 (IPv6) [6], that is agnostic to which routing protocol is running on top. The implementation of a real case study processing OLSR and BMX6.

This paper is organized as follows. Section II presents the state of the art in this area, emphasizing on the notions of inter and intra domain routing [7]. Also, it details our approach and illustrates the relevance for wireless ad hoc routing protocols. Section III defines the concept of interoperability and the notion of strip interoperability. In Section IV, we show the applicability of our approach through a real case study. Finally, We conclude and give Future Work in Section V. II. R ELATED W ORK Interoperability has seen many approaches over time, to name a few are [4], [8]–[10]. Plutarch [4] and Turfnet [10] propose new Internet Architectures with the translation of different naming spaces and protocols, relying on gateways that have a global view of different networks. [9] does some comparisons between routing protocols under the assumption that all nodes can be considered as gateways. Chandrashekar et al. [8] propose a pre-defined set of nodes responsible for broadcasting beacons handling the interoperability between 32

MANETs. Although these works set a solid foundation for ours, the use of gateways is still an open question. Lee et al. provide some insightful work for interoperability [11] proposing a new routing protocol (InterMR) that uses some notions of the Border Gateway Protocol (BGP). InterMr separates inter and intra domain routing as of Chandrashekar et al. [8]. Domains in the literature is another name for heterogeneous MANETs. These approaches also use gateways for communication between MANETs. A gateway in these scenarios has the task of translating between one routing protocol to another while maintaining partial or global routing tables. A more recent work by Gerla and Dressler [7] proposes a solution using Ant Colony Optimization (ACO) algorithms in order to provide interoperability between MANETs. This is done by using the Virtual Cord Protocol (VCP), ACO and Dynamic Hash Tables (DHTs). This approach manages a virtualized addressing scheme using an indirection-based approach. Indirection based routing needs some nodes acting as Moderators that play a very similar role to Route Reflectors in BGP. If this Moderator goes down, all communications could suffer because nodes will not be able to refresh their routing tables. Their solution addresses this problem by using a “VCP replication technique” [7] under the strong assumption that all Moderators will always have time to replicate their information to neighbouring Moderators. Interoperability between MANETs by means of a new protocol on top of current routing protocols could increase complexity in the communication. Moreover, most approaches rely on gateways and their ability to translate and maintain global routing tables. Our approach does not translate between MANET routing protocols and provides interoperability with small impact on node resources.

Fig. 1. IPv6 Header [6]

Fig. 2. Ex. IPv6 Extension Header [6]

communications is possible. Strip Interoperability is defined based on Internet Protocol version 6 (IPv6) [6]. A. IPv6 Protocol Advantages IPv6 [12] is the next generation of the Internet Protocol, which is widely supported in modern operating systems. IPv6 has several improvements over IPv4, being the first major advantage the larger address space, increasing from 232 in IPv4 to 2128 in IPv6. Also, newer mechanisms for packet delivery and address management are also important. Describing all the functionalities of IPv6 are out of scope of this work, but we will emphasize the protocols we are going to use in order to define our concept of strip interoperability and to achieve interoperability between MANETs. We must look at IPv6 as a collection of protocols that work together. For our work, we will use the IPv6 global prefix, the Link Local (LL) address and IPv6 Header fields, along with the advantage that nodes running IPv6 can have more than one address per Network Interface Card (NIC). We will also take advantage of the IPv6 header and its extension headers [6]. IPv6 introduces a new modular mechanism for header management. Figure 1 shows an IPv6 header in detail, where we can notice the Next Header field. This field tells a host that an extension has been appended, as shown in Figure 2. Also, we will use the Traffic Class (TC) field in order to differentiate regular packets from interoperability packets. And finally, we will use the IPv6 Destination Options Header. This extension header is added after the code 60 is set in the Next Header field and will serve as a container for moving Global IPv6 addresses from neighbour MANETs.

III. I NTEROPERABILITY F RAMEWORK Interoperability is an interesting and active subject of research, where communications can extent across various heterogeneous MANETs [4]. Networked Applications can benefit from this notion in order to reach other nodes, even though they may be running different routing protocols. Existing layer 3 protocols, which are available on most devices, lead to an interesting and simpler way of MANET interoperability. In this paper we introduce new mechanisms that have to be followed in order to overcome the interoperability challenges, without adding a new protocol on top of the network layer. Our approach proposes algorithms and policies within the network layer in order to achieve our goal. This leads to a simple and elegant way for interoperability, with the added advantage of being agnostic to the wireless ad hoc routing protocol being utilized.

B. Strip Interoperability 1) Description: Strip Interoperability will manage interdomain communication using subtle changes at nodes (hosts) on which they will be able to take action depending on incoming IPv6 packets. We also assume that all nodes of the MANET will use the same Layer 1 and Layer 2 standard for wireless communications (PHY/MAC), an IPv6 capable operating system, and a wireless ad hoc routing protocol with IPv6 support. If desired, all communications between nodes can be secured using 802.11i [13]. Each node will have at least two IPv6 addresses on the same wireless NIC. First, a

We introduce the notion of Strip Interoperability. Strip interoperability creates a direct communication with adjacent nodes, using only layer 3 protocols, stripping out the MANET routing protocol. Because all nodes have already embedded layer 3 protocols in their operating systems, peer-to-peer

33

Global IPv6 address with a Classless Inter-domain Routing (CIDR) [14] prefix. This prefix will also be used as MANET Identification (ID) in order to differentiate from other nearby MANETs. Second, a Link Local (LL) IPv6 address. Intradomain communication will be performed through Global IPv6 addresses and Inter-domain communication will be done through LL IPv6 addresses.

Fig. 4. Message Sequence Chart for interoperability

(e) R1 receives the message from S2 and performs the Receiving function. If the TC field carries the value for interoperability, it will forward the message through its Global IPv6 address. This forces the use of MANET’s B routing protocol. The message is then disseminated to the rest of the nodes of MANET B. The Message Sequence Chart (MSC) [15] in Figure 4 shows a detailed message exchange for nodes S1 , S2 , R1 and R2 based on the example scenario of Figure 3. It is to be noticed that interoperability is possible between S2 and R1 because they are within each other’s range. S1 is outside the range of R1 or any other node in MANET B so it will limit itself to forward the message to nodes in its own MANET. 3) Strip Interoperability Details: As mentioned in the previous sub-section, Strip Interoperability can be achieved using IPv6 and some novel mechanisms proposed by this work. The Sending function broadcasts a message to all nodes in its MANET and also to neighbouring MANETs. The same node will dispatch a message through its Global IPv6 address which will disseminate the information through its MANET routing protocol. This message will be tagged with a unique value in the TC field of the IPv6 header. If a node wants to send a message to all nodes in its MANET and also to neighbour MANETs, then the node will broadcast a message to all nodes in its routing table with Global IPv6 prefix(es). This message will also have a distinct tag in the IPv6 header. The tag will be done changing the value of the Traffic Type field to 0x0f (in hexadecimal notation). All nodes will call their Receiving function and check if the message has the TC field with value 0x0f. If the previous is a match, then it will trigger the the next step in the interoperability mechanism. Nodes will construct a special Link Local (LL) table, which will store only the LL IPv6 addresses of neighbouring MANETs. This procedure will discover all LL IPv6 addresses through a message sent to a standardized IPv6 Multicast address (FF02::1) [6]. This procedure forces all nodes sharing a physical link to respond. The replies from the echo requests sent to the address FF02::1 will append a Destination Options extension header. This extension header will bring in its Message Data field the IPv6 Global address prefix of the node which belongs to the neighbour MANET. This way, it will only forward the message

Fig. 3. Strip Interoperability

2) Illustrative Example: Suppose a sample scenario like the one in Figure 3, where we have two distinct MANETs, MANET A and MANET B, each with a different wireless ad hoc routing protocol over IPv6. Node S1 wants to send a message to all nodes in MANET A and also to all nodes in MANET B, but due to the different routing protocols, an interoperability mechanism is needed if we want to reach all nodes. Our Strip Interoperability mechanism differentiates two functions (Sending and Receiving) which nodes perform in the framework as follows: (a) Node S1 belongs to MANET A with the goal to send the first message to all nodes in its network. S1 starts the communication with other nodes in MANET A by sending a tagged message, so nodes can differentiate if the message needs to be forwarded to a neighbour MANET (if any are reachable). This tagged message has a unique TC value in the IPv6 header. Next, S1 will have to perform step (b) as any other node which got the message. (b) Node S2 receives the tagged message from S1 . S1 and S2 will transmit a message to a special IPv6 Multicast Address, which forces any node sharing a physical link to respond. (c) S1 and S2 , with the information gathered in the previous step, will construct a special Link Local table with (i) only the nodes that are reachable through LL IPv6 addresses and (ii) belong to a different MANET, in this case MANET B. In Figure 3 is showed that both S1 and S2 construct their LL tables, but only S2 is in range of MANET B through R1 . S2 ’s table will show the LL IPv6 address of R1 . Also, S1 ’s table should be empty, due to the fact that S1 is not in range of any nodes belonging to MANET B. S1 will halt his mechanism for interoperability. (d) When S2 is within reach of R1 , it will forward the message using its LL IPv6 address and also using a unique TC value in its IPv6 header.

34

to reachable nodes which belong to a different MANET. The destination node (in neighbour MANET) will get the message through its LL IPv6 address and then will forward it through its Global IPv6 address. Finally, the routing protocol of the neighbour MANET will take care of the dissemination of the message throughout the other nodes. Algorithms 1 and 2 describe the Sending and Receiving functions done by nodes. Algorithm 1 Sending function if IPv6 msg header field TC = 0x0f then Regular message Leave decision to MANET protocol end if if First msg to all nodes in own MANET and neighbours then - Check MANET routing table entries - Forward msg to nodes in own MANET with Global Prefix and Tag TC = 0x0f - Discover all reachable nodes and filter LL addresses from own MANET - Construct Special LL Address Table - Forward msg to all nodes using LL Address and TC = 0x0f end if if Msg arrives from Global address and TC = 0x0f then - Discover all reachable nodes and filter LL addresses from own MANET - Construct Special LL Address Table - Forward to all nodes using LL Address end if

Fig. 5. Case Study Layout

WUSB54GC 802.11b/g wireless USB dongle. MANET A processes OLSR and MANET B BMX6. We have assigned Global IPv6 prefixes acting also as MANET IDs for each protocol. MANET A uses the network 2800:1a0:1::/64 and MANET B uses the network 2800:1a0:2::/64. We have developed an application using Python 2.7.3. The application sends strings of plain text in order to corroborate that the data is in fact spanning between MANETs. In order to test the mechanism, our application will send a series of messages from a source node S to all nodes in its own network (MANET A) and also to all nodes in the neighbouring network (MANET B) if possible. Then we will measure some variables in node R as showed in Figure 5. We have defined four different test sets, each containing 1,000 UDP messages. The payload sizes for each test set are 64 bytes (B), 100B, 500B and 750B. The case study will log one way end-to-end delay, jitter and packet loss.

Algorithm 2 Receiving function if IPv6 Message header field TC = 0x0f then - Regular message leave decision to MANET protocol end if if Source = LL and TC = 0x0f and ICMPv6 echo request then - Send echo reply with dst. opts. header with own’s Global IPv6 address in Message Data end if if Source = LL prefix and TC = 0x0f then - Check for nodes in MANET routing table - Forward packet to nodes in own MANET end if

2) Case Study Results Tables I, II and III summarize the results gathered from all 4 test sets of the case study. First and foremost, our approach has achieved the success expected; data sent from node S was received by node R in most of the cases. Also, our approach has showed little impact on the hosts’ hardware resources, using less than 0.01% of their CPUs and 0.05% of their available RAM. Table I shows the averages for end-to-end delay and jitter for each test set. We must take under consideration that our mechanism is relying on various protocols from different layers (physical, data link, network, MANET routing and transport) on which any of them can have an impact on the metrics showed. Due to the fact that UDP was used as a layer 4 protocol for sending data, a percentage of packet loss was present in all test cases as showed in Table II. Note that TCP was also tested as the transport layer protocol. When using TCP, packet loss was close to zero percent, due to its connection oriented nature.

IV. C ASE S TUDY In order to illustrate the mechanisms of our approach, we have developed a case study with wireless ad hoc routing protocols running on Linux based Operating Systems (OSs). Our case study uses the Optimized Link State Routing (OLSR) [16] and BatMan-eXperimental for IPv6 (BMX6) [17] protocols. Both are proactive (table-driven) wireless ad hoc routing protocols with support for IPv6. 1) Case Study Layout The case study is based on the scenario shown in Figure 5. We have deployed 10 nodes running Linux Ubuntu 12.04 LTS as Virtual Machines (VMs). Each Linux VM has 1 virtual processor (vCPU) with 1 GB of RAM. Out of the ten computers, five are running OLSR (OLSRd v0.6.6.1) and five are running BatMan eXperimental for IPv6 (BMX6 v2014.03.01). Nodes for each MANET are virtualized using VMWare Workstation v10 on PC’s running Windows 7 x64 OS. Each node has been provided with a Linksys

TABLE II PACKET LOSS

Packet Loss (%)

35

64B

100B

500B

750B

13

20

14

10

Our perspective is to continue research with layer 3 protocols and interoperability between wireless ad hoc routing protocols, moving to performance metrics and scalability. Newer experiments will be based on simulation and emulation with the gained experience. Future works may introduce notions of Delay Tolerant Networks (DTN), which also disseminate routing information through nodes moving across geographical areas and opportunistic traffic exchange.

TABLE I AVERAGE ONE WAY DELAY AND JITTER

64B

100B

500B

750B

Average Delay (ms)

5.16

4.18

4.43

4.33

Average Jitter (ms)

2.68

3.02

2.53

2.36

TABLE III AVERAGE DELAY AND JITTER WITH P VALUE

R EFERENCES

= 0.01

64B

100B

500B

750B

Average Delay (ms)

5.43

4.46

4.68

4.54

Average Jitter (ms)

2.90

3.25

2.74

2.36

[1] C.-K. Chau, J. Crowcroft, K.-W. Lee, and S. H. Wong, “Inter-domain routing for mobile ad hoc networks,” in Proceedings of the 3rd international workshop on Mobility in the evolving internet architecture, ser. MobiArch ’08. New York, NY, USA: ACM, 2008, pp. 61–66. [2] S. Maag and C. Grepet, “Interoperability testing of a manet routing protocol using a node self-similarity approach,” in Proceedings of the 2008 ACM Symposium on Applied Computing, ser. SAC ’08. New York, NY, USA: ACM, 2008, pp. 1908–1912. [Online]. Available: http://doi.acm.org/10.1145/1363686.1364148 [3] X. Hong, K. Xu, and M. Gerla, “Scalable routing protocols for mobile ad hoc networks,” Netwrk. Mag. of Global Internetwkg., vol. 16, no. 4, pp. 11–21, 2002. [4] J. Crowcroft, S. Hand, R. Mortier, T. Roscoe, and A. Warfield, “Plutarch: an argument for network pluralism,” SIGCOMM Comput. Commun. Rev., vol. 33, no. 4, pp. 258–266, Aug. 2003. [5] A. Cavalli, S. Maag, and E. M. de Oca, “A passive conformance testing approach for a manet routing protocol,” in Proceedings of the 2009 ACM Symposium on Applied Computing, ser. SAC ’09. New York, NY, USA: ACM, 2009, pp. 207–211. [Online]. Available: http://doi.acm.org/10.1145/1529282.1529326 [6] S. Deering and R. Hinden, “Internet Protocol, Version 6 (IPv6) Specification,” RFC 2460 (Draft Standard), Internet Engineering Task Force, Dec. 1998, updated by RFCs 5095, 5722, 5871, 6437, 6564, 6935, 6946, 7045, 7112. [7] F. Dressler and M. Gerla, “A framework for inter-domain routing in virtual coordinate based mobile networks,” ACM/Springer Wireless Networks (WINET), vol. 19, no. 7, pp. 1611–1626, October 2013. [8] K. Chandrashekar, R. Morera, A. McAuley, and J. Baras, “Domain based hierarchical routing for large heterogeneous manets,” in Military Communications Conference, 2005. MILCOM 2005. IEEE, 2005, pp. 1284–1290 Vol. 2. [9] W. Ma and M.-C. Chuah, “Comparisons of inter-domain routing schemes for heterogeneous ad hoc networks,” in World of Wireless Mobile and Multimedia Networks, 2005. WoWMoM 2005. Sixth IEEE International Symposium on a, 2005, pp. 368–373. [10] S. Schmid, L. Eggert, M. Brunner, and J. Quittek, “Turfnet: An architecture for dynamically composable networks,” in Autonomic Communication, ser. Lecture Notes in Computer Science, M. Smirnov, Ed. Springer Berlin Heidelberg, 2005, vol. 3457, pp. 94–114. [11] S.-H. Lee, S. Wong, C.-K. Chau, K.-W. Lee, J. Crowcroft, and M. Gerla, “Intermr: Inter-manet routing in heterogeneous manets,” in Mobile Adhoc and Sensor Systems (MASS), 2010 IEEE 7th International Conference on, 2010, pp. 372–381. [12] T. Narten, E. Nordmark, and W. Simpson, “Neighbor Discovery for IP Version 6 (IPv6),” Internet Engineering Task Force, RFC 2461, Dec. 1998. [13] “IEEE 802.11-2007, wireless LAN medium access control (MAC) and physical layer (PHY) specifications, june 2007.” Jun. 2007. [14] V. Fuller and T. Li, “Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan,” RFC 4632 (Best Current Practice), Internet Engineering Task Force, Aug. 2006. [15] ITU, Recommendation Z.120: Message Sequence Chart (MSC). o` Haugen (ed.), 1996. [16] T. Clausen and P. Jacquet, “Optimized Link State Routing Protocol (OLSR),” RFC 3626 (Experimental), Internet Engineering Task Force, Oct. 2003. [17] A. Neumann, E. Lopez, and L. Navarro, “An evaluation of bmx6 for community wireless networks,” in Wireless and Mobile Computing, Networking and Communications (WiMob), 2012 IEEE 8th International Conference on, Oct 2012, pp. 651–658.

Table III shows the delay and jitter with a p value = 0.01. The p value represents the level of statistical significance for the results given in Table I. In this case, we can provide with a 99.9% confidence that our results will not have a higher value than the ones showed in Table III (restricted to our case study). The previous results are of high importance, due to the fact that we have not added complexity on top of MANET routing protocols, nor we have used gateways for protocol translation as compared to other approaches in the past, but instead we have achieved interoperability using our mechanism within layer 3 protocols (IPv6) that are available in most modern operating systems. Also, we wanted to prove further on real world implementations with MANET routing protocols. Although we could log the behavior of our experiments with several nodes in a simulator or emulator, we also wanted to test how our mechanism interacts with real world OSs, their IPv6 stack, the implementation of MANET routing protocols and 802.11 wireless NICs, giving us a richer set of data compared to simulated networks. With the experience gained through this case study, we observed that many defined MANET routing protocols don’t support IPv6 in real world environments or the implementations available only work on outdated operating systems. We noticed also in our research that many MANET routing protocols mentioned in the literature, a.) don’t have real world implementations in modern OSs and b.) they have only being tested in simulators, as compared to our prototype. V. C ONCLUSION AND F UTURE W ORK In this paper we have presented a novel mechanism for interoperability between heterogeneous wireless ad hoc routing protocols. Based on IPv6 and related protocols, we have provided a new approach to allow communications between nodes that run different MANET routing protocols. The interoperability mechanism has been implemented through a prototype embedded in real MANET nodes. Two protocols, OLSR and BMX6, have been deployed within a case study. Encouraging results have been provided showing the success of our approach and its promising evolution.

36