SOFTWARE DEFINED WIRELESS MESH NETWORKS: FROM THEORY TO PRACTICE

A Thesis by

Pinyarash Pinyoanuntapong

Bachelor of Science, Wichita State University, 2016

Submitted to the Department of Electrical Engineering and Computer Science and the faculty of the Graduate School of Wichita State University in partial fulfillment of the requirements for the degree of Master of Science

December 2017 © Copyright 2017 by Pinyarash Pinyoanuntapong

All Rights Reserved SOFTWARE DEFINED WIRELESS MESH NETWORKS: FROM THEORY TO PRACTICE

The following faculty members have examined the final copy of this thesis for form and content, and recommend that it be accepted in partial fulfillment of the requirement for the degree of Master of Science with a major in Computer Networking.

Pu Wang, Committee Chair

Chengzong Pang, Committee Member

Jibo He, Committee Member

iii ACKNOWLEDGEMENTS

I would like to thank my thesis advisor Dr. Pu Wang of the EECS Department at

Wichita State University. Dr. Wang was always available whenever I had a question about my research or ran into trouble. He continuously encouraged me to do the work on my own, but guided me in the right direction whenever I needed and motivated me to pursue PhD degree.

I would also like to acknowledge the committee members: Dr. Chengzong Pang and

Dr. Jibo He as the second reader of this thesis, and I am gratefully indebted for their very valuable comments on this thesis.

I would also like to thank my lab members for their continuous support in validating my results all the time.

Finally, I must express my very profound gratitude to my parents for providing me with unfailing support and continuous encouragement throughout my years of study and through the process of reaching and writing this thesis. This accomplishment would not have been possible without them.

iv ABSTRACT

Wireless mesh network (WMN) integrating with Software Defined Network (SDN) has been considered as a remarkable technology in the communication field since it has the potential to provide broadband access with economical infrastructure. In par- ticular, this thesis demonstrates an experimental deployment of Software Defined Wireless Mesh Network(SD-WMN) equipped with multi (MR), multi channel(MC) – SoftMesh testbed. There are three major challenges that need be addressed in current multi-radio wire- less mesh networks. Due to the limited number of channels in IEEE 802.11 a,b,g,n, there will be tremendous interference in the network. Therefore, using multiple-channels with an effective channel assignment algorithm is imperative to decrease network interference.

Second, when using multi links wtih different bandwidth for data transmission, assigning appropriate weight for each link is required to minimize the total transmission delay. Lastly, traditional Multi-path load-balancing in wired network cannot be directly implemented in

WMN. Therefore, a proper load-balancing and widest path scheme is introduced to improve the overall network capacity. A performance experimental is presented to assess the effectiveness of our proposed algorithm.

SoftMesh – wireless mesh network testbed is deployed in the Jabara Hall building at the Wichita State University.

v TABLE OF CONTENTS

Chapter Page

1 INTRODUCTION ...... 1

1.1 Wireless Mesh Network ...... 1 1.2 SDN ...... 2 1.3 Wireless SDN ...... 3

1.4 Research Objectives and Solutions ...... 3 1.5 Organizations of Thesis ...... 4

2 SOFTWARE DEFINED NETWORKING - A WIRELESS NETWORKING AP-

PROACH ...... 5

2.1 Data Plane ...... 5

2.2 Control Plane ...... 6 2.3 Management Plane ...... 6

2.3.1 Core Functions ...... 6

2.3.2 Core Services ...... 8 2.3.3 Northbound API ...... 9 2.3.4 Southbound API ...... 9

2.3.5 Hypervisor ...... 9

2.4 Challenges ...... 10

3 MULTI RADIO MULTI CHANNEL WMN ...... 12

3.1 Chanel Assignment ...... 14 3.2 Dynamic Load-balance scheme for multi-channels(links) ...... 19

3.3 Multi path multi radio ...... 23

vi TABLE OF CONTENTS (continued)

Chapter Page

4 TESTBED EVALUATION AND RESULTS ...... 26

4.1 Testbed Evaluation of Adaptive Weight Assignment ...... 26 4.2 Simulation of Multipath Multi Radio Routing scheme ...... 29

5 CONCLUSION AND FUTURE WORK ...... 35

REFERENCES ...... 36

vii LIST OF TABLES

Table Page

4.1 Throughput (Mbps) of single channel and aggregate channel for 10 seconds . . 26 4.2 Single Channel Transmission Delay ...... 28

4.3 Two Channels Transmission Delay ...... 28 4.4 Time series throughput of single path and multipath for 10 seconds (Mbps) . . . 32 4.5 Single Path Transmission Delay ...... 33

4.6 Multipath Transmission Delay ...... 33

viii LIST OF FIGURES

Figure Page

2.1 SoftMesh architecture ...... 5 3.1 Virtual Wireless Mesh Backbone with multi-channel ...... 12

3.2 Co-Channel Interference ...... 15 3.3 Self-Interference ...... 16 3.4 Multi-Channel VBB with Channel Assignment ...... 18

3.5 Unbalanced Channel Bandwidth...... 20 3.6 Virtual link...... 24 4.1 Small scale testbed for adaptive assignment...... 27

4.2 Time series throughput of single channel and aggregate channel ...... 28 4.3 Transmission delay of two channels compare to one channel ...... 29 4.4 Topology before apply widest path ...... 30

4.5 Best two paths based on widest path algorithm ...... 31 4.6 Throughput of multipath compare to single path ...... 32 4.7 Transmission Delay of Multipath compare to single path ...... 33

ix CHAPTER 1

INTRODUCTION

In the wireless networking and communications field, two promising technologies that become an outstanding topics in research sector are wireless mesh network and software defined networking [1–5]. WMN is a network which consists of wireless nodes connected in a mesh topology. It is a rich interconnection of mesh clients, mesh routers and gateways.

Wireless mesh architecture offers multiple redundant communication paths in the network. In todays world, software defined networking(SDN) is driving the networking field. The main advantages of SDN includes centralized control, centralized network provisioning, low operating costs, hardware savings and cloud abstraction. SDN concept is now majorly implemented in wired infrastructure. The idea of deploying SDN concept in the field of wireless networking is still in its initial stages. By incorporating the ideas of SDN along with

WMN, a wireless mesh testbed is deployed in 2nd floor Jabara hall. It is being managed by a centralized controller to program the wireless routers. The testbed environment is composed of two kinds of traffic, the Control plane Traffic and the Data plane Traffic. Each type of traffic has a separate network of their own. Both networks share the same physical wireless infrastructure but they work independently (without interfering one another).

1.1 Wireless Mesh Network

A WMN is made up of dedicated wireless nodes called mesh routers, which are config- ured using 802.11 wireless technologies. In a mesh network, mesh routers collect information from local mesh clients and relay this information to Internet gateways or to other nodes depending on the location of the destination host/server. Traffic within the mesh stays in- side the mesh, whereas traffic outside the mesh must pass through Internet gateway. All this makes the networking infrastructure decentralized and simplified because 1) each node need only transmit as far as the next node 2) each node transmits the data from not only

1 the host connected to itself but also from host connected to any other node in the mesh network. The design of WMN has an objective of making the network that is self-healing, self-forming and manages itself with minimal influence of a network administrator. In Soft- Mesh, the testbed uses 802.11S protocol to maintain the mesh connectivity in the network.

Wireless routers in mesh network have several modes of operation. Access Point (AP): This is the most common mode that routers operate on. The acts as a central connection point for the network, this allows wireless clients to connect to the network. Monitor mode:

Monitor mode is a passive-only mode, no packets are transmitted. All the packets in the mesh are handed over to the mesh router completely unfiltered. This mode is useful to see what’s going on the network. Mesh mode: This mode allows routers to communicate on a peer-to-peer basis. Mesh interfaces are used to allow multiple devices to communicate with each other by establishing link between multiple routers dynamically.

1.2 SDN

Software Defined Networking is a new approach in computer networking where the traditional control plane and data plane residing in one hardware are decoupled. The de- coupling of control plane from the hardware reduces the overhead on the switches and they can function more efficiently. SDN typically refers to the following components. Control Plane: It is the brain of the SDN. It analyses the traffic from the switches and programs the switches to forward the data. Openflow is one of the standard languages used for commu- nication between the control plane and data plane. There are many open source controllers for example ONOS, RYU, Floodlight etc. We are using RYU controller in SoftMesh. Data Plane/ Infrastructure layer: It generally includes the hardware responsible for forwarding the data. The decisions are made by controller and it installs rules in the hardware. Whenever a packet comes to the hardware it checks the rule and forwards the data accordingly. We are using Openvswitch enabled wireless devices as the wireless mesh routers. Application

Layer: In this layer, various business applications are developed using the APIs provided by the controller. For example GUI, security apps, traffic engineering apps etc. In general,

2 these apps are developed to be in sync with other apps. For example, GUI app is centralized app which will coordinate security and traffic engineering functionalities.

1.3 Wireless SDN

WMNs are difficult to manage and upgrade because configurations are made manu- ally and are error-prone. It normally takes weeks or even months to provide new services for service activation, test, and assurance. Furthermore, mesh routers work in a self-organizing manner without a global view, leading to poor network resource allocation and low per- formance, especially in large scale networks. To overcome these problems, a new approach called Software Defined Networking(SDN) came into limelight. SDN is an emerging archi- tecture which is dynamic, easily manageable and cost effective, making it ideal for high bandwidth applications. Traffic engineering is a method of optimizing the performance of a telecommunications network by dynamically analyzing, predicting, and regulating the be- havior of data transmitted over that network. The traditional routing is based on routing tables (Source and Destination Address) and shortest paths are congested often. To elim- inate these obstacles, SDN provides an intelligent routing mechanism using dynamic flow tables.

1.4 Research Objectives and Solutions

In this thesis, we first describe the design of our testbed with 3 proposed solutions to improve performance of WMN. First, we explain the overview design of our testbed and then later explain the motivation of establishing MR-MC WMN and solution to improve the performance of SoftMesh testbed. Due to interference and multi-hops of backbone WMN, the network capacity is limited and it is not enough for a large scale network. To accommodate a large scale network, the network bandwidth of WMN has to be increased. In general, WMN is built on single channel which leads to increase in interference to neighbor nodes and also, the network capacity is radically diminished by channel access contention of neighboring nodes.

Therefore, using multiple-channels with an effective channel assignment algorithm is needed

3 to decrease network interference. Assigning appropriate weight for each link is required to minimize the total transmission delay. Lastly, Multi-path with multi radio communication is necessary to increase total bandwidth.

1.5 Organizations of Thesis

The rest of this thesis is organized as follows. In the following Chapters, we elaborate and discuss the related challenges. Chapter2 presents a SD-WMN approach with 5 main components: Core Functions, Core Services, Northbound API, Southbound API and Wireless

Network Hypervisor. Then, we address the challenges of SD-WMN. In Chaper3 will present MR-MC SD-WMN with three proposed solution: Channel Assignment, Adaptive Weight Assignment ,and Multipath Routing scheme to assert the effectiveness of testbed. The motivation and requirements are also discussed in this Chapter. Chapter 4 presents an experimental evaluation of three proposed solution on the testbed and Mininet emulator. Finally, we conclude this thesis in Chapter 5 and Futurework in Chapter 6.

4 CHAPTER 2

SOFTWARE DEFINED NETWORKING - A WIRELESS NETWORKING APPROACH

2.1 Data Plane

Data plane in a software defined network will be a general switching fabric, exposing

API to install, modify or delete a forwarding rule for packet handling [6]. Switching fabric could have multiple ports with unique broadcast domain, MAC address and a port number for identification. Forwarding rules will include a set of MATCH, ACTION and OUTPUT fields. On event of a new packet arrival to the switching fabric, it will look at the forwarding table of the switch which in this case will be called as Openflow Table. If there exists a MATCH entry for the packet header fields, then the corresponding ACTION and OUTPUT will be processed for that packet. If none of the fields has a MATCH entry, then the event

Figure 2.1: SoftMesh architecture

5 will be notified to the SDN Controller responsible for the Openflow Table. SDN Controller will determine the ACTION and OUTPUT for the packet and install them as a openflow rule on the switch that sent the event. Data plane ACTION set includes set of operations such as FORWARD,MODIFY, LOCAL and DROP generally. And corresponding OUTPUT set includes OPENFLOW PORT NO, TABLE ID and QUEUE ID. Openvswitch is one of the widely adopted software switch for SDN deployment.

2.2 Control Plane

Control plane operation is to define levels of controls over data plane. Control plane will primarily interact with SDN controller for different levels of services. At the core, control plane facilitates core operations such as device discovery, link discovery, statistics collections of the underlying network. Device discovery and link discovery are the key technologies for an SDN network. Conventional wired networking employs Logical Link Discovery Protocol (LLDP) for their discovery mechanism.

2.3 Management Plane

Management plane will allow testbed administrators to perform firmware level op- erations such as upgrading the firmware and applying software patches. It could also help in collecting device statistics for testbed monitoring by administrators and also researchers experimental results.

2.3.1 Core Functions

Core functions in our framework will consists of the following modules (1) Spectrum

Database (2) Link Discovery (3) Switch Discovery (4) Host Discovery (5) Flow Cache and (6) Event Handler.

Spectrum Database - Radio interference is an increasing problem in wireless mesh networks. Our spectrum database module will periodically collect radio environment infor- mation from all connected wireless nodes. Spectrum database will also help to analyze the effect of radio environments on different channel conditions. It will help network application

6 developers to evaluate radio aware applications and to observe new insights on the wireless mesh network operation.

Link Discovery - Link discovery plays a key role in deploying a centralized network management. Exisiting SDN controllers make use of the widely adopted Link Layer Discovery

Protocol (LLDP) for discovering the links between SDN wireless nodes. LLDP enabled devices will exchange advertisement packets with their neighbours through physical links. WMNs are typically formed based on logical links created by a single physical link hardware.

This distinguished link establishment technique make LLDP unsuitable for link discovery in Wireless Mesh Networks. To overcome this limitation, we developed a link discovery module which gather neighbor information from wireless MAC link layer using NETLINK kernel space tool.

Switch Discovery - OpenVswitch is the popular software switch for prototype exper- iments in deployment of Software Defined Wireless Mesh Networks (SDWMN). Openflow is one of the protocol for communication between openvswitch and SDN controller. In our SDN framework we employ the same switch discovery mechanism that is employed in wired environment.

Host Discovery - Host discovery in wired environment is based on flooding to identify the exact switch port it is attached to. In wireless network, the same cannot be applied due to single broadcast domain. Hence, our proposed framework will collect the information about host association to access point associated with the Software defined (SD) Backbone router by querying the wireless MAC module for association list. Based on the collective information from all the SD backbone routers, our host discovery module will maintain a database of host location.

Event Handler - Event handler is more like a trigger to a switch which on observ- ing events will perform an action. Both event and action can be defined by the Network

Application Developer.

7 2.3.2 Core Services

On the other hand Core services will be composed of the following modules (1) Wire- less Control (2) Dynamic Routing (3) Shortest Path Routing (4) Statistics Manager (5) Topology Manager and (6) Network Control Decomposition modules.

Wireless Control - Wireless control module is our unique contribution for proposed framework. Wireless control will provide rich set of radio abstraction API’s for the RF front ends connected to the network. If RF fronted is based on IEEE 802.11 compatible router, then our wireless control module will provide API’s to interact with SoftMAC driver. This will enable us to control transmission power, bandwidth, channel and even Contention Window parameters for QoS tunning. On the other hand if the RF fronted consists of

Software Defined Radio, then our wireless control module will provide API’s to interact with computing platform attached to SDR through REST API for tunning frequency, modulation, bandwidth & transmission power.

Dynamic Routing - Our SDN framework provides a routing framework which will act as default routing protocol in case of nothing explicitly defined by the user. Dynamic routing module will take channel condition, interference and bandwidth test results performed on

Layer 3 to identify the best path and push the openflow rules to the corresponding SD backbone routers. Dynamic routing is enforced only for background and email traffic.

Shortest Path Routing - SPR is another routing protocol provided as a default routing module in our SDN controller framework. SPR will take wireless MAC layer bandwidth information to identify the shortest path between a pair of routers and push the openflow rules to the corresponding SD backbone routers. By default, delay sensitive network traffic will be routed using SPR.

Statistics Manager - Statistics manager will be responsible for collecting network statistics from Openvswitch and wireless MAC. Openvswitch statistics will consist of flow port based statistics such as number of packets transmitted/received, flow rule match/hit count and queue statistics relevant to the openflow port. On the wireless statistics part, this

8 module will collect interface statistics including but not limited to transmit power, noise, channel, link quality and bit rate information. The data collection process will be repeated periodically.

Topology Manager - Topology manager will build the network graph with the infor- mation that it collected from link discovery, switch discovery and host discovery modules. Topology manager will also expose the network graph information through Northbound API for network application development. On event of the network application requirement to have specific topology, topology manager will interact with other modules to setup the re- quested changes to the infrastructure.

Network Control Decomposition - Network control decomposition module will decom- pose a centralized network application logic into several subsets that can run of logic that can run locally on individual routers without affecting the overall goal of the application.

2.3.3 Northbound API

Northbound API will facilitate the network application developer to define application logic in userspace by using rich set of API’s that are exposed by modules in core functions and core services. In our framework, we use REST as our webservices based API framework which leverage the user to define his network application logic in any programming language that is compatible with REST services.

2.3.4 Southbound API

Southbound API is comprises of two key protocols Openflow and NETLINK. These two protocols will enable our framework to interact with openflow enabled SDN switches and SoftMAC based SD backbone wireless routers.

2.3.5 Wireless Network Hypervisor

Virtualization has proven to be an effective technology for infrastructure or resourcing among multiple entities reducing CAPEX cost. On the other hand, it also fuels innovation at a rapid scale by providing subset of network resources for deployment and analysis of new

9 technologies in SDN. Wireless Network Hypervisor is a software based virtualization tech- nique to allow multiple users for sharing underlying resource at the same time. Our software framework will enable multiple users or researchers to perform their own set of experiments sharing the same physical infrastructure. Network virtualization in a wired network environ- ment is applied using various technologies such as VLAN, Overlay Network or segmenting the network based on Subnet ID. Network Virtualization in wireless networking provides additional benefits such as spectrum sharing, infrastructure virtualization and radio inter- face interface virtualization. Existing wireless network virtualization technologies focused on virtualizing access networks and cellular networks. In our work we deploy wireless network virtualization for WMN’s backbone networks.

2.4 Challenges

In SD-WMN, the data plane should be a joint framework of wireless MAC and switch- ing fabric. Traditional SDN forwarding data plane consists of physical ports providing iso- lation, bandwidth and transmission guarantee at the given time instant. In case of wireless mesh network, there is no such isolation and guarantee since all wireless links share the same physical medium and channel conditions are prone to vary in time. OpenVSwitch(OVS) is originally designed for wired networking environment and a wireless interface is attached to OVS as an Openflow port, it will still be considered as an wired interface [7, 8]. Due to such behavior, traditional link and device discovery mechanisms adopted by todays SDN

Controllers tends to fail because of the fact that those operations are typically carried by the wireless MAC protocols. The most important concern is that the wireless capacity is incomparable to wired network due to the nature of wireless network.

The wireless capacity can be increased using multiple channels. However, we need to optimally utilize the channels since we have less number of available channels in 2.4 and 5 GHz bands. The wireless capacity can also be increased by adding multiple on the backbone router. This can assist the routers to communicate with multiple neighbors at the same time and also increase the number paths to a destination. Another critical problem

10 that we need to consider in WMN is high transmission delay of the packets among some of the paths. This problem arised because some of the links are over-utilized and some are under utilized. We can solve this problem by dynamically dividing the traffic based on available bandwidth among multiple paths.

11 CHAPTER 3

MULTI RADIO MULTI CHANNEL WMN

This chapter presents the architecture of Multi-Radio Mesh Networks, Channel As- signment based on graph theory, Dynamic weight assignment and Multi path Multi-radio routing scheme.

To relive the bottleneck of wireless physical network, we proposed a solution by en- abling multi-channels to increase total bandwidth of WMNs. We combined a set of backbone routers (BBs) to form a virtual mesh backbone router (VMB) [9]. VMB consists of primary BBs and sub-BBs, which are connected by Ethernet Lan cable to form a virtual node. Each

Figure 3.1: Virtual Wireless Mesh Backbone with multi-channel

12 router can handle two radios with operating frequency of 2.4 GHz and 5.8 GHz range. The primary BB (e.g, BB1-1) is treated as a control router, in which all the rules for data plane traffic are determined. The other sub-BBs are the slave nodes of the primary BB, which can only forward the traffic from the primary BB to their determined outgoing wireless in- terfaces. From this architecture, we can flexibly increase the number of channels and link capacity by adding additional sub-BB as shown in Figure 3.1.

In this thesis, we propose a traffic management solution using OpenFlow protocol[8]

[10]. The bandwidth utilization can be optimized by using the OpenFlow based WBN. To evaluate the performance of the OpenFlow based WBN, we introduce a simple dynamic weight assignment method based on bandwidth of the links.

In this proposed solution, we periodically collect the bandwidth of the available paths to the destination. Based on bandwidth, weights are computed and assigned to the openflow groups. The flow addition script initially registers base flow entries to all openflow nodes.

The base entry consists of rules that make all backbone routers forward flows from the previous hop to the next hop (forward path) and from the next hop to the previous hop (reverse path). Note that, if the destination of the flow is a client device connecting to its virtual backbone router (VBR), the VBR directly delivers the flow to the destination. Thus, all nodes of wireless mesh network have the base entry conducting multi-hop transmission in advance.

When a client device starts a new communication (flow), the openflow router for- wards the traffic to the next-hops based on the predefined weights. As the flows keep on coming, the weight assignment module running in background collects the bandwidth of the links. If bandwidth of any link changes, the module computes the new weights and updates the existing flow groups on the primary backbone routers. The weight assignment will be described in detail in section 3.2. Thus, a low bandwidth link will have less weight compared to high bandwidth link. This method helps in reducing the transmission delay of the flows from client to the destination and optimum utilization of links.

13 The following sections will describe three main challenges and solution of Software

Defined Multi Radio Mesh Network. 3.1 Chanel Assignment

The key challenge of WMN is network capacity. In this thesis, we proposed a solution to increase the network capacity of WMN by enabling multi-radio with different channels. The MR-MC can increase the network bandwidth. However, we also need to consider the drawback of this system such as the limited number of channels in 2.4 and 5 GHz. Consid- ering the real world scenario, for example, SoftMesh WMN is located on 2nd floor of Jabara hall building at Wichita State University. There are 11 available channels in 2.4GHz. But in the building, 3 non-overlapping channels of 2.4GHz are already occupied by the university’s

Access points. Therefore, an effective channel assignment algorithm is needed to effectively minimize the inference and number of channel that we use to assign for mesh network. The efficient channel assignment scheme can be represented as edge coloring problem in graph theory.

In WMN, interference plays an import role to the performance of the network with the increasing of number of radios on each node, resulting in a higher level of interference [11–13].

We have defined the challenges caused by interference of MR mesh network into 3 types, which are Co-Channel Interference, Self-Interference and Adjacent channel Interference [14– 16].

Co-Channel Interference occurs between two communication pairs of nodes that are using the same frequency channel simultaneously within the transmission range as shown in Figure ??.

Let(An,Bn) represents two communication links between two routers (A,B), where n represents the number of wireless interfaces. Consider two pairs(A1,B1 and A2,B2) of communication links between routers A and B sharing same channel. While A1 intends to transmit data to B1, it first listens to the medium of CH1 to see if another transmission is in progress. If the medium or channel is idle, it will transmit the data to B1. If the channel is

14 Figure 3.2: Co-Channel Interference

busy, it will wait for on going transmission to finish. While A1 is sending data to B1 and A2 tries to send data to B2 at the same time, A2 identifies that channel is busy. Therefore, A2 waits for a back-off time and keep sensing the channel until ongoing transmission between

A1 and B1 is finished. When A2 senses the channel is idle, it starts transmitting data to B2.

Self-Interference occurs when two different nodes tried to communicate with the single node with the same channel as shown in Figure 3.3. When A1 and B1 are transmitting to the C1 node, there will be interference at the receiver because both radios are assigned to the same channel. In this case, multi-path routing cannot directly be used in wireless nature, If non-overlapping channels are assigned to links, the multi-path routing can be implemented without interference.

To classify our channel assignment model, we require two constraints to satisfy for channel assignment. First, the maximum number of channels that can be assigned to each edge is limited by IEEE 802.11x architecture. In our testbed, we use IEEE 802.11a/802.11g

15 Figure 3.3: Self-Interference

which has 11 channels available for 2.4 GHz and 18 channels for 5 GHz with 20 MHz per channel. Second, to minimize interference and number of channel for each link, is bounded by number of different links between two nodes(A,B) and adjacent nodes(B,C) with respect to A. Third, each router is equipped with two radio interfaces 2.4 GHz and 5 GHz. Since, we want to utilize the available radio interface resources, the total number of channels between two nodes should be equal in the network graph in order to avoid bottleneck issue and simple to calculate the aggregate bandwidth of virtual link interfaces. For example, if there are 4 links between node(A,B), 2 channels need to be selected from 2.4 GHz and 2 channels from 5GHz or 1 from 2GHz and 3 from 5GHz.

In general, standard edge coloring does not satisfy the second constraint in which it does not consider multiple edges between two vertices. Multi-graph fails to guarantee the third constraint that in every virtual link of two vertices required to have the same number of channels in each frequency. In this subsection, we introduce the modified graph theory,

16 called weighted-multi-edges coloring problem (WME) for channel assignment in multi-radio mesh network. Weighted Multi Edge Coloring is derived based on edge coloring, multi-graph coloring and weight graph coloring. The relationship between channel assignment and graph theory are as follows. First, total number of colors used is the total number of channels used, number of multiple color edges is number of different links between two same node and bandwidth of two radio can be represented as weight of the graph. The objectives are to minimize the total number of channels used in the mesh network in order to efficiency utilize the channel spectrum resources and cost to build a wireless mesh network, and by minimizing the interference, we can increase the network throughput. By assigning a combination of 2.4 GHz and 5GHz channels to have equal bandwidth for all the virtual link in mesh network can prevent the wireless bottleneck issues.

But we cannot directly apply edge coloring problem in Multi-radio WMN case because

MR WMN could have multiple links between two nodes [17]. In order to assign the channel in multi radio WMN, we need to combine the edge coloring with multi-graphs problem. Since multiple parallel edges may connect the same two nodes in which we need to assign unique channel between multi edges and also ensure that multi-edges with adjacent endpoints must have different channel.

In Multi edge graph coloring, we want to color the graph such that each link between two vertices which has multi edges will not have same color. This represents that multiple links between two nodes do not interfere with each other.

Given a set of undirected graph G = (V,E), where each vertex represent a backbone mesh router node with multiple wireless interfaces and each edge between two vertices rep- resent as link of each wireless interfaces. Therefore,in Figure 3.4, there are four vertices with 4 wireless interfaces each, and there are 4 possible edges between two of each vertices. But in this case, we want to find the links which will have least interference to neighbor links. First, we start to assign the color from the node A which is the gateway node. The maximum node degree of A is 2, which implies that the possible channels that we can assign

17 Figure 3.4: Multi-Channel VBB with Channel Assignment

from A to B and A to C is 2. So, we assign four different channels to the four links - 2 from

2.4 GHz and 2 from 5 GHz. For example, we assigned channels 6,40 for links from A to B. Next, we assign the channels (4,11) for the other adjacent links from A to C. The algorithm will consider the first available non-overlapping channels in 2.4GHz and 5GHz frequency bands. In this case, we can assign the next non-overlapping channels which is 6 and 40 for edge(A,C). Then, we repeat the algorithm for all the rest of the nodes. From node B, node A and D are the adjacent nodes. However, channel assignment is already done between (B,A), we only need to assign non-interference channel to (B,D). Since the links from B,D and A,C are in minimal interference range and our algorithm considers to use the least number of channels in mesh topology which is constraint 2, we can reuse the channel that we assigned from (A,C). With this approach from above, we have minimal non-overlapping channel for every links as described Algorithm 1.

The proposed algorithm to minimize number of channel and utilize unused channel in network can be summarized as follows.

18 Algorithm 1 Channel Allocation Model for Multi-Radio Mesh Network Require: Set of Available Channels and number of radios on each node Ensure: 1.) Minimize the overall network interference 2.) Reduce number of channels used in mesh network 3.) Aggregate bandwidth between every pair in the graph should be equal while true do 1) Sorting for available non-overlapping channels and number of radios on each node from WCM. 2) Check the number of adjacent nodes and how many wireless interfaces at gateway node. 3) Find number of possible non-interference channels and links from gateway node to the adjacent nodes. 4) Start channel assignment from gateway node (Gateway is critical area ,where should have least interference), by coloring each edge with different color between adjacent nodes alternatively with 2.4GHz and 5GHz. 5) Continue coloring until the every edge is colored. end while

3.2 Dynamic Load-balance scheme for multi-channels(links)

The most widely used scheme for load-balancing is Equal-Cost-multipath (ECMP)

[18]. ECMP used a flow hashing technique to equally split a flow over a group of next-hops. In Openflow, ECMP distributed the flow uniformly over a group of buckets. When a packet arrives into the switch, the rule tables are optimized based on the hash algorithms. The hash algorithms hashes the flows based on 5-tuple (source IP address/port number, destination IP address/port number and the protocol). The packet header of flows differ by VLAN ID, Mac address, IP adress, Protocols and TCP/UDP port numbers. Hash function will distribute the packet into different ports based on destination.

Many studies only focus on Load-balancing by increasing the total bandwidth of a WMN with multi channels. But as of my knowledge, none of them consider network transmission delay when there is unequal bandwidth of different channels. We show that when the number of channels increases, the bandwidth also increases accordingly. However, some channels have low bandwidth and so, the total transmission delay is longer since it is based on the slowest link. From Figure 3.5, there are 3 channels, the bandwidth of A,B and

19 Figure 3.5: Unbalanced Channel Bandwidth.

C channels are 10, 20 and 30 respectively. The transmission time delay is based on channel

C which has the lowest bandwidth (10 Mbps).

To overcome this challenge, we proposed a load balancing based on weight assignment algorithm to efficiency allocate capacity across multiple links. The overall objective of this method is to minimize transmission delay and maximize the total bandwidth, with network traffic engineering concept in optimal way. To encounter such problem, we proposed a dynamic Load-balancing scheme based on the weight of each link to improve the performance by minimizing the total transmission time delay among different links instead of evenly distributing traffic on multiple links (ECMP).

Weighted-Cost Multi-path (WCMP) or Unequal-Cost Multi-path (UCMP) is used for unequal weigh distribution over group of buckets.

We designed a SDN Weight Assignment algorithm (WAA) for Multi-Radio Mesh

Networks based on WCMP. WAA compute and assign unequal weights into buckets of each group table based on the link capacity of that group.

Group table consists of group entries. Rules in the flow table will point to the groups in group table which will add additional details of forwarding. A group entry consists of group identifier, group type, counters and action buckets. There are 4 group types which are All, Select, Fast fail-over and Indirect. In our case, we only use All and select type. Action buckets specify instruction to forward the packet to the next hop. We use All group type to

20 set up a parent group and select type for child group. Parent group can set and modify the bucket value based on the weight that we calculated from weighted algorithm and set action to the child groups. We set the out going port for child group. We construct child group based on number of available wireless interface or ports in OVS view.

To optimal approximate the weight of each available ports on wireless interfaces, we solve an optimization problem of total transmission delay in WMN.

Variable Definition N Number of aggregates (i=1,...,N) V Incoming traffic size R Bandwidth of each link (i=1,...,N) W Target weight of each link T Transmission time-delay of each link

Incoming traffic is aggregated into flow groups, each of which is distributed among the same set of next hops based on weight assignment.

 W V W V W V  min max 1 , 1 ,..., n (3.1) R1 R1 Rn

subject to : T1 ≥ T2 ≥ ...Tn (3.2) W V W V W V 1 ≥ 1 ≥ ... n (3.3) R1 R1 Rn

0 ≤ Wi ≤ 1 (3.4) n X Wi = 1 (3.5) i=1

Transmission time delay is defined from delay caused by the data-rate of the link. It can be represented by the following formula

V D = T R

21 where

DT is transmission delay in seconds V is the number of bits

R is the rate of transmission (bits per second)

The objective of the traffic engineering is to minimize the transmission time-delay and maximize link utilization. We get the weight by minimizing (3.1) WiV total time-delay by Ri maximizing bandwidth of individual link. At first, the transmission time-delay are uneven. From (3.2), we are trying to make transmission time-delay even for all available path. (3.3) is derived from (3.2) by the transmission delay definition. Weights are determined in such way that the sum of all equal to 1 (3.5).

Adaptive Weight Assignment aims to dynamically improve bandwidth of network with optimum distribution of traffic across multiple paths.

The procedure of adaptive weight assignment in proposed system is described in

Algorithm 2:

Algorithm 2 Adaptive Group Weight Assignment Model Require: The bandwidth of every links Ensure: Maximize total data rates and minimize transmission-time delay Calculate Weight of each link while true do 1)Get number of available wireless links to the destination 2) Collect bandwidth from each wireless link (ports) from database in Wireless Control Module 3) Compute weight for each link by using Equation (3.1). 4) Update the parent group with newly calculated weight from step3 ,using OF com- mands. (Weight = Bucket, group action = out going ports) end while

22 3.3 Multi path multi radio

In this section, we will discuss why we need to enable multi-radio multi-channel for multi-path load balancing in wireless network [19,20]. We also provide an efficient Multi-path Multi-radio routing scheme, which based on the widest path application that we implemented in RYU controller.

In wired network, many researches have proposed load balancing techniques in tra- ditional multi-path networks. We cannot directly apply same principles in wireless network, since the physical wired network is different than wireless network. In wired network, the routers can have different isolated ports for transmission but in wireless network, one single wireless interface share the traffic with multiple neighbor nodes. This create collisions at receiver node. This also will increase the window size in CSMA. Since link capacity of wire- less network is fluctuating, when we send the traffic via multiple paths, packets of each flow might arrive in different time. Consequently, it generates out of order packets, which results in high packet loss. Therefore, we increased number of wireless radio interfaces, so that one node can communicate with different neighbor node without any delay and bottleneck issues.

In the previous section 3.2, We only focus on single hop wireless network. But in this section, we consider the multi-hops network case. To visualize multiple radios in multi-hop networks in a simpler way, Multiple links between two nodes are represented as one single virtual link shown in Figure 3.6. The goal of this method is to find the set of best multi-paths to route network traffic based on the aggregated bandwidth of virtual path.

As we mentioned in chapter2 on SDN, SDN provided us benefits of global view of and programmable. We can easily define our own routing algorithm and run it on controller without modifying hardware like in traditional network.

To alleviate the network load and efficient the network utilization in multi-hop WMN, an efficient routing scheme is required , which can balance the network load. Shortest path and Widest path algorithms are the most common routing algorithm that are being used nowadays. In multi-hop routing mechanism, for example OLSR which is based on SPF

23 Figure 3.6: Virtual link.

algorithm selects the path with minimum number hops [21, 22]. There seem to be couple of drawbacks with this approach in WMN. 1) There are multiple paths in WMN since every nodes can construct a link to each other. There is no reason to use shortest path for routing since every node is connected to each other. 2) There are multiple direct links with low bandwidth which is caused by two nodes being far away from each other (pathloss propagation).

In order to balance the network congestion, the maximum bandwidth should be con- sidered in WMN. Since it can utilize avalible paths in network topology and prevent the usage of low bandwidth direct path link in WMN. The widest path is similar to shortest algorithm but the only difference is that instead of hop count and taking the minimum of all possible paths, the minimum link metric of all possible paths is computed and their maximum is selected.

24 We have implemented a controller app in RYU to route the traffic based on widest path (which has more bandwidth). The pseudo-code is shown below.

Algorithm 3 Multi-path multi-radio routing scheme in wireless mesh network Require: The aggregate bandwidth of each path Ensure: Find the best multi-paths based on maximum capacity path while true do 1) Collect the aggregate bandwidth of each virtual link that we calculated it from section 3.2 2) Identify possible multi-paths in network form GW to client. 3) Apply the Widest path algorithms (WDA) from GW to client. 4) Considering Constraint Based Routing (CBR) to choose the paths that satisfy the certain constraints e.g: aggregate bandwidth of virtual link and transmission time-delay 5) Apply weight assignment algorithm in 3.2)to compute the weight for each path to the destination. 6) Updates new weight based on network capacity of each path every five seconds to achieve real time bandwidth. end while

25 CHAPTER 4

TESTBED EVALUATION AND RESULTS

In this section, we demonstrate the proof concept of practical test bed and simulation.

The testbed configuration for single hop and performance of weight adaptive assignment is described in Section 4.1. The simulation and result of multi-path multi-radio that we tested in mininet is explained in Section 4.2.

4.1 Testbed Evaluation of Adaptive Weight Assignment

In order to evaluate the performance of Adaptive Weight Algorithm, we deployed a small scale single hop test bed with 2 virtual routers, where each virtual router is formed by two physical backbone routers. We use link A for control plane traffic and links B and C for data plane traffic. A server is connected to primary backbone 1 and Host is connected to primary backbone 2 as shown in Figure 4.1.

Throughput Performance Testbed using TCP: In this experiment, two TCP flows are generated from H1 to H2 among 2 links with parallel flag (-P) in Iperf. As for the network capacity, the maximum, average, and minimum of each channel and total throughput for 10 seconds is shown in Table 4.1.

Figure 4.1 shows the aggregate throughput of the setup using 1 channel (B or C) and

2 channels(B and C) together. It clearly indicates that the aggregate throughput will be almost the sum of 2 channels. From the results, we illustrate that the network capacity can

Table 4.1: Throughput (Mbps) of single channel and aggregate channel for 10 seconds

Minmum Average Maximum Channel B 33.3 40.5 43 Channel C 70 78.9 88 Channel B and C 103 119 131

26 Figure 4.1: Small scale testbed for adaptive assignment.

be efficiently improved in accordance with the number of channels used in parallel of our setup.

From algorithm 2, When a client requests to download a large file (200 MBytes) from a server with 2 different channels B and C, note that these 2 channels have different bandwidth since one is operating in 2.4 GHz and 5 GHz. In order to route the traffic from server to client using Openflow, we enable OVS on the primary router and create 3 groups in group table as follows. First, group 1 is a parent group, where we can assign weight to child groups. Group 2 is a child group where the action will forward the packets to link B and group3 will forward to link C. From Wireless Control Databases, the estimate bandwidth of links B and C are obtained(40 Mbps and 80 Mbps). Then, we calculate and assign the weights for group 2 and group 3 in the action of group 1 . The controller will adaptively computes and updates new weights for every 5 seconds based on the bandwidth of each link.

When only one Channel from B(40.5 Mbps) or C(39 Mbps) is selected to transmit

27 Figure 4.2: Time series throughput of single channel and aggregate channel

Table 4.2: Single Channel Transmission Delay

Throughput (Mbps) Transmission delay (s) Channel B 40.5 39 Channel C 80 20

Table 4.3: Two Channels Transmission Delay

Weight Throughput (Mbps) Transmission delay (s) Channel B and C 1:1 64 25 Channel B and C 1:2 120 15

28 Figure 4.3: Transmission delay of two channels compare to one channel

200 MBytes file size, the transmission delay is 39 seconds and 20 seconds respectively as shown in Table 4.2. If proper load balancing is not implemented, the weight is considered as equal splitting (1:1), the aggregate bandwidth will be around 64 Mbps,and transmission delay will be approximately 25 seconds as shown in Table 4.3. When AWA is applied (1:2), it can be clearly seen that the total transmission delay to download a large file using two links is gradually decreased by 10 seconds ,in other words it can download the file faster by 75% as shown in Figure 4.3.

4.2 Simulation of Multipath Multi Radio Routing scheme

In this subsection, we evaluate the performance of Multi path Multi Radio Routing scheme. In order to verify this scheme in the softmesh testbed, 12 more routers(4 virtual node with 3 physical routers per virtual node ) are required. Due to the limited number of routers, we are unable to build the complete topology (which is located in Jabara hall 2nd floor) to verify the performance of this scheme. We use Mininet emulator instead to simulate the real topology with channel assignment approach which is explained in section 3.1 and ensure that

29 Figure 4.4: Topology before apply widest path

our routing algorithm can be applied to the real testbed in the future. In the simulation, we have assumed that hosts, H1 and H2 are only nodes which are taking part in data transmission.The link bandwidth between switch(Virtual BB router in real scenario) and host is assumed as 1 Gbps each and aggregate link bandwidth between connected switches is taken from SoftMesh topology. Once switches are connected to the controller, controller will have a global view of topology. From the topology shown in 4.4, there are 5 possible paths to route traffic from H1 to H2 and vice versa. Path1:from A− > E− > D, Path2:from

A− > B− > D, Path3:A− > D, Path4:A− > C− > D, Path5:A− > F − > D. In order to select the best two paths from H1 to H2, we run the widest path application in controller. It will find the best two paths starting from node A. From Figure 4.5, the output from widest path routing algorithm are path1 and path2. Since they satisfy the bandwidth capacity constraints. Path3 is discarded even though it has only one hop because it has the lowest bandwidth.

30 Figure 4.5: Best two paths based on widest path algorithm

H1 is considered as a server and H2 is considered as client. Iperf tool is used to measure the end-to-end throughput between server and client. Client initiates 4 different TCP flows to server. Traffic will be split among 2 paths. When different paths are selected to route the traffic, the minimum, average and maximum of throughput are shown in Table 4.4. We can see that when using multipath in this case (2 path), the aggregate throughput is almost sum of throughput of two paths. From the Figure 4.6, we can ensure that the total network throughput is improved when the channel assignment and multipath routing schemes have been applied to this topology.

In the above example, we only focus on total throughput. So, we use step 1-4 from

MPMR algorithm to find the set of widest paths. However, it will degrade the performance of file transfer scenario, we need to use all the steps from MPMR routing scheme since the transmission delay constraint need to be considered in this case. From step 5 and 6, it computes and assigns the weights based on the bandwidth of each path accordingly. It

31 Table 4.4: Time series throughput of single path and multipath for 10 seconds (Mbps)

Minimum Average Maximum Path1 7 10 13 Path2 13 15 18 2 path 20 25 27

Figure 4.6: Throughput of multipath compare to single path

32 Table 4.5: Single Path Transmission Delay

Throughput (Mbps) Transmission delay (s) Path1 8 200 Path2 14 114

Table 4.6: Multipath Transmission Delay

Weight Throughput (Mbps) Transmission delay (s) MultiPath 1:1 20 83 MultiPath 1:2 25.8 62

Figure 4.7: Transmission Delay of Multipath compare to single path

follows the weight assignment procedure described in section 3.2. Consequently, traffic will be split among 2 paths based on initial weights and thereafter, the adaptive weight assignment scheme from section 3.2 is repeated.

From Table 4.6 and Figure 4.7, it is shown that if multipath with equal weight is

33 used, the throughput is 20 Mbps and transmission delay is 83 seconds. Once the weight of path2 is increased based on bandwidth, the total throughput is increased to 25.8 Mbps and total transmission delay is reduced to 62 seconds.

34 CHAPTER 5

CONCLUSION AND FUTURE WORK

This thesis introduced SoftMesh testbed as integral approach of SDN and WMN.

It outlined its relation to current promising trends such as SDN. In chapter3, three major challenges of multi-radio wireless mesh network were defined as follows– Channel Assignment, Adaptive Weight assignment among multiple links , and Multipath routing scheme. We formulated and described these problems in detail in section 3. By enabling multi-radio with channel assignment, weight assignment ,and multipath routing based on widest path on our testbed, we were able to significantly enhance the performance of SD-WMN both in real wireless environment and simulation. With our approach, it is possible to decrease the transmission delay by 75% and throughput increased linearly when number of channels are used in parallel.

In the future, the testbed could be extended to cover a large area and run the testbed for long period of time to get historical data of throughput in all possible paths at different point of time. We can introduce a machine learning concept such as reinforcement learning, which can predict the bandwidth, weight and the best path at any instance based on his- torical data, through which we can achieve best performance in adaptive traffic engineering mechanism. Also the design of the network can be modified in order to implement back- pressure routing, where in we get the queue statistics from the backbone routers and run backpressure routing and decide the rate and the corresponding path the traffic needs to be sent. Further this can be extended to implement QOS ,where high priority traffic is given the path which has high throughput, while low priority traffic is given path which does not affect high priority data transfer, thereby increasing overall throughput which will give us a better performance of system.

35 REFERENCES

36 REFERENCES

[1] P. H. Pathak and R. Dutta, “A survey of network design problems and joint design approaches in wireless mesh networks,” IEEE Communications surveys & tutorials, vol. 13, no. 3, pp. 396–428, 2011.

[2] D. Benyamina, A. Hafid, and M. Gendreau, “Wireless mesh networks designa survey,” IEEE Communications surveys & tutorials, vol. 14, no. 2, pp. 299–310, 2012.

[3] E. Alotaibi and B. Mukherjee, “A survey on routing algorithms for wireless ad-hoc and mesh networks,” Computer networks, vol. 56, no. 2, pp. 940–965, 2012.

[4] W. Si, S. Selvakennedy, and A. Y. Zomaya, “An overview of channel assignment meth- ods for multi-radio multi-channel wireless mesh networks,” Journal of Parallel and Dis- tributed Computing, vol. 70, no. 5, pp. 505–524, 2010.

[5] K. S. Vijayalayan, A. Harwood, and S. Karunasekera, “Distributed scheduling schemes for wireless mesh networks: A survey,” ACM Computing Surveys (CSUR), vol. 46, no. 1, p. 14, 2013.

[6] I. F. Akyildiz, A. Lee, P. Wang, M. Luo, and W. Chou, “A roadmap for traffic engi- neering in sdn-openflow networks,” Computer Networks, vol. 71, pp. 1–30, 2014.

[7] The Open Networking Foundation, “OpenFlow Switch Specification,” Jun. 2012.

[8] H. Mekky, F. Hao, S. Mukherjee, Z.-L. Zhang, and T. Lakshman, “Application-aware data plane processing in SDN,” pp. 13–18, 2014.

[9] Y. Taenaka, M. Tagawa, and K. Tsukamoto, “An experimental approach to examine a multi-channel multi-hopwireless backbone network,” Informatica, vol. 39, no. 4, p. 365, 2015.

[10] J. Schulz-Zander and J. Zhu, “OpenWrt,” 2012.

[11] A. Raniwala and T.-c. Chiueh, “Architecture and algorithms for an ieee 802.11-based multi-channel wireless mesh network,” in INFOCOM 2005. 24th Annual Joint Confer- ence of the IEEE Computer and Communications Societies. Proceedings IEEE, vol. 3. IEEE, 2005, pp. 2223–2234.

[12] A. Raniwala, K. Gopalan, and T.-c. Chiueh, “Centralized channel assignment and rout- ing algorithms for multi-channel wireless mesh networks,” ACM SIGMOBILE Mobile Computing and Communications Review, vol. 8, no. 2, pp. 50–65, 2004.

37 REFERENCES (continued)

[13] P. Kyasanur and N. H. Vaidya, “Routing and interface assignment in multi-channel multi-interface wireless networks,” in Wireless Communications and Networking Con- ference, 2005 IEEE, vol. 4. IEEE, 2005, pp. 2051–2056.

[14] K. N. Ramachandran, E. M. Belding, K. C. Almeroth, and M. M. Buddhikot, “Interference-aware channel assignment in multi-radio wireless mesh networks,” in IN- FOCOM 2006. 25th IEEE International Conference on Computer Communications. Proceedings. IEEE, 2006, pp. 1–12.

[15] V. Sarasvathi, N. C. S. Iyengar, and S. Saha, “An efficient interference aware partially overlapping channel assignment and routing in wireless mesh networks,” International Journal of Communication Networks and Information Security, vol. 6, no. 1, p. 52, 2014.

[16] M. K. Marina, S. R. Das, and A. P. Subramanian, “A topology control approach for utilizing multiple channels in multi-radio wireless mesh networks,” Computer networks, vol. 54, no. 2, pp. 241–256, 2010.

[17] C.-C. Hsu, P. Liu, D.-w. Wang, and J.-J. Wu, “Generalized edge coloring for channel as- signment in wireless networks,” in Parallel Processing, 2006. ICPP 2006. International Conference on. IEEE, 2006, pp. 82–92.

[18] C. E. Hopps, “Analysis of an equal-cost multi-path algorithm,” 2000.

[19] C. Chen-Xiao and X. Ya-Bin, “Research on load balance method in sdn,” International Journal of Grid and Distributed Computing, vol. 9, no. 1, pp. 25–36, 2016.

[20] H. S. Hussein, “Multipath bandwidth capacity allocation and mpls internet traffic en- gineering,” Journal of Advances in Computer Networks, vol. 3, no. 3, 2015.

[21] T. Clausen and P. Jacquet, “Optimized link state routing protocol (olsr),” Tech. Rep., 2003.

[22] D. S. De Couto, D. Aguayo, J. Bicket, and R. Morris, “A high-throughput path metric for multi-hop wireless routing,” Wireless networks, vol. 11, no. 4, pp. 419–434, 2005.

38