Giter Club home page Giter Club logo

handover's Introduction

Handover

This project is the testbed implementation of a Software Defined Networking (SDN) framework for Enterprise WLANs (SDEW). The SDEW framework provides seamless, client-unaware handover for a mobile device moving from one AP to another. To understand the details of the SDEW framework, the seamless handover and the testbed implementation, kindly refer to the following papers:

  1. An SDN framework for seamless mobility in enterprise WLANs
  2. A NAT based seamless handover for Software Defined Enterprise WLANs
  3. Testbed evaluation of a seamless handover mechanism for an SDN-based enterprise WLAN

The project uses hostapd (version 2.8), Floodlight OpenFlow Controller (version 0.90) and Click Modular Router (version 2.1). Additionally, dnsmasq also needs to be installed for the project to work.

Note: The project was tested in Ubuntu 18.04 LTS.

Modifications/Additions

For implementation of the proposed SDEW framework and the seamless handover mechanism, various modifications were made to the source files of the softwares. Additionally, many new files were also added.

hostapd

The directory ofSwitchAP was added inside the hostapd-2.8/src directory. All the relevant files, required for the implementation, were added to the ofSwitchAP directory. Additionally, various exisitng files were also modified. The following #define directives in the controller_interface.c file inside the ofSwitchAP directory needs to be changed to the appropriate values before compilation:

#define SOCK_ADDR "127.0.0.1"    // Change "127.0.0.1" to Floodlight OpenFlow Controller's IP address
#define IFACE "wlan0"            // Change "wlan0" to the name of the wireless interface of the AP
#define NATIFACE "eth0"          // Change "eth0" to the name of the ethernet interface of the AP
#define NATSUBNET "192.168.5.0"  // Change "192.168.5.0" to the subnet which the NATIFACE belongs to

Floodlight OpenFlow Controller

The directory ofSwitchAP was added inside the Floodlightv0.90/floodlight/src/main/java/net/floodlightcontroller directory. All the relevant FloodLight modules were added to the ofSwitchAP directory. Additionally, various exisitng files were also modified.

Click Modular Router

The PrintSignalStrength.cc and PrintSignalStrength.hh files were added to the click/elements/wifi directory.

Gateway

All the relevant files, required for the implementation of the Gateway were added to the Gateway directory. The following #define directives in the gatewayNAT.c file inside the Gateway directory needs to be changed to the appropriate values before compilation:

#define SOCK_ADDR "127.0.0.1"    // Change "127.0.0.1" to Floodlight OpenFlow Controller's IP address
#define IFACE "eth0"             // Change "eth0" to the ethernet interface towards the APs

Compilation

Kindly follow the compilation and installation guides for each of the softwares (hostapd, Floodlight OpenFlow Controller and Click Modular Router). Remember to clean the already compiled files first.

Gateway

For compiling the Gateway use the following commands:

$ make clean
$ make

Configuration

hostapd

A .config file is already created in the hostapd-2.8/hostapd directory. The file should not require any changes.

The hostapd.conf file contains all the configurations for hostapd. The ssid field denotes the SSID that will be created when hostapd will be run, and the wep_key0 field is the password of the created SSID.

Click Modular Router

The wifi module in Click Modular Router needs to be enabled for the project to work. Use the following command inside the click directory:

$ ./configure --enable-wifi

Execution

The Floodlight OpenFlow Controller needs to be started first, before running hostapd and/or Gateway. If hostapd and/or Gateway are/is started first, then it may result in Segmentation Fault.

Floodlight OpenFlow Controller

For running Floodlight OpenFlow Controller, run the following command inside Floodlightv0.90/floodlight directory:

$ java -jar target/floodlight.jar

hostapd

For running hostapd, run the following command inside Gateway directory:

$ sudo ./run_SDEW.sh <wireless interface> <ethernet interface>

For example, if the name of the wireless interface is wlan0 and that of the ethernet interface is eth0, then the above command will be run as follows:

$ sudo ./run_SDEW.sh wlan0 eth0 

Gateway

For running Gateway, run the following command inside Gateway directory:

$ sudo ./run_gw_nat.sh <ethernet interface towards the APs> <ethernet interface towards the remote host> <IP address of ethernet interface towards the APs>

For example if the name of the ethernet interface towards the APs is eth0, and the name of the ethernet interface towards the remote host is eth1 and the IP address of eth0 is 192.168.100.1, then the above command will be run as follows:

$ sudo ./run_gw_nat.sh eth0 eth1 192.168.100.1

handover's People

Contributors

arkadeepsen avatar

Stargazers

Frances Ruganyumisa avatar

Watchers

 avatar  avatar

handover's Issues

connection time out

Arkadeepsen, I relied on your wonderful work in the paper named "Testbed evaluation of a seamless handover mechanism for an SDN-based enterprise WLAN" as a basis work for my work.
I built the network as diagram in the paper page 2, which the two modules "Wic and GateWay" implemented in the same computer as illustrated in the figure
topology

but the connectivity test doesn't work and there are not transitions between local station which connected to lightAP and remote host, I used IPerf3 and ping as test tool, also I separated the gateway from wireless controller and
give the new machine (gateway) a new IP address 10.6.21.108 at interface Toward AP and 192.168.20.1 at interface toward remote host, are there any suggestions that could help make the communication between the two devices successful?

I will appreciate your help

issues whit make hostapd-2.8

hello arkadeepsen:
I am new with linux systems
when I tray to compiling hostapd-2.8 with make tool,
while compiling an error massege are appear and then the compilation was stopping

the error massege:
make: *** No rule to make target '/home/arkadeep/Softwares/Handover/hostapd-2.8/src/utils/includes.h', needed by '../src/ofSwitchAP/controller_interface.o'. Stop.

could you help me to complet my thesis and complet the project

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.