[20160621]Constructing Infrastructure Wireless Network Using Open Source

22
JUNHO KIM, SUNGWON LEE* 2016.07.07 Mobile Convergence LAB, Department of Computer Engineering, Kyung Hee University, South Korea Constructing Infrastructure Wireless Network Using Open Source

Transcript of [20160621]Constructing Infrastructure Wireless Network Using Open Source

Page 1: [20160621]Constructing Infrastructure Wireless Network Using Open Source

JUNHO KIM, SUNGWON LEE*

2016.07.07

Mobile Convergence LAB,Department of Computer Engineering,

Kyung Hee University,South Korea

Constructing Infrastructure Wireless Net-work Using Open Source

Page 2: [20160621]Constructing Infrastructure Wireless Network Using Open Source

Mobile Convergence Laboratory 2 /

1. Introduction2. Related Work

A. BATMAN & BATMAN_advB. TOX

3. Infrastructure Public Network4. Infrastructure Private Network5. Conclusion6. Q&A

INDEX

Page 3: [20160621]Constructing Infrastructure Wireless Network Using Open Source

Mobile Convergence Laboratory 3 /

Introduction• Easy to Configure

• So many routers, Wi-Fi, APs, etc.

• Must connect each AP and can set the AP• Cheap AP for individual. Not Cisco APs.

• To solve this problems, we made Open source Software

• Making a Network (Quickly, Low cost)• Want to make network on a large scale (Cafeteria, educational facilities)

• Want to some useful application• chatting, file transfer, Voice messaging, etc.

• Wireless Mesh(Ad-hoc) network is perfect to me

If you have APs

If you have no APs

Page 4: [20160621]Constructing Infrastructure Wireless Network Using Open Source

Mobile Convergence Laboratory 4 /

Introduction

Fig.1. Infrastructure Public & Private Network Architec-ture

Infrastructure Private Network

Infrastructure Public Network

Page 5: [20160621]Constructing Infrastructure Wireless Network Using Open Source

Mobile Convergence Laboratory 5 /

Related Work(BATMAN)

1. BATMAN(Better Approach To Mobile Ad hoc Network)- Routing protocol

2. Different with the other Routing Protocol- Existing routing protocol is not suitable for wireless ad-hoc network. (OLSR*)

- Wireless ad-hoc network- Unstructured, Dynamically change topology, Unreliable

3. Don’t take all route -> Keeps the information about the best neighbor hop- Sends the packet to the best next neighbor when it is routing (according to the destination)

4. OGM(OriGinator Message)- If one node broadcast the OGM, the nodes which receive the OGM change the sending node ad-

dress to its address and rebroadcast.

* A simple pragmatic approach to mesh routing using BATMAN (2008)

Page 6: [20160621]Constructing Infrastructure Wireless Network Using Open Source

Mobile Convergence Laboratory 6 /

Related Work(BATMAN_adv)

1. BATMAN daemon(batmand)- First implementation of BATMAN routing protocol (Layer 3)

2. BATMAN-adv (batman-adv)- Substantive implementation of BATMAN routing protocol (Layer 2)

3. BATCTL (batctl)- Managing, Debugging tool

4. ALFRED (alfred)- User space daemon (vis, hostname, DNS information, local weather forecast etc.)

Page 7: [20160621]Constructing Infrastructure Wireless Network Using Open Source

Mobile Convergence Laboratory 7 /

Related Work(BATMAN_adv)

1. BATMAN_adv -> BATMAN routing protocol Implementation- Present BATMAN 0.3(BATMAN Ⅳ) – default routing algorithm

2. Started since 2007 year- Developer : 6 people- open-mesh community

3. Runs on Layer 24. Implementation as a kernel module

- to reduce overhead

5. The machine which doesn’t run BATMAN-adv can participate in mesh-network- Can’t use the batman_adv function- Only Ubuntu machine

Page 8: [20160621]Constructing Infrastructure Wireless Network Using Open Source

Mobile Convergence Laboratory 8 /

Related Work(TOX)

•What is TOX?• P2P messenger• Create connection with only client’s ID• Support message, file, voice, video, etc.• Support several O/S.

Page 9: [20160621]Constructing Infrastructure Wireless Network Using Open Source

Mobile Convergence Laboratory 9 /

Related Work(TOX)

1. Free, Peer to Peer, Distributed, Multimedia, Secured- It doesn’t have centralized server

2. Started since 2013 year3. Easy to configure

- Connecting each client with only ID- Torrent-style DHT(Distributed Hash Table)

- ID & IP address

4. Local & Public Network- Can work in public network with the Internet- Can work in local network without the Internet

- broadcast every network interface

5. Still Developing- binary file error, updating wiki

Page 10: [20160621]Constructing Infrastructure Wireless Network Using Open Source

Mobile Convergence Laboratory 10 /

Infrastructure Public Network

Fig.2. Infrastructure Private Network Archi-tecture

Purpose

• Making APs using home computer or low price computer

• For configuring multiple APs

Page 11: [20160621]Constructing Infrastructure Wireless Network Using Open Source

Mobile Convergence Laboratory 11 /

Infrastructure Public Network• HostAP

• Ubuntu Desktop• When AP-Agent boots up, it enroll it’s status and information to DB• AP-Agent automatically starts and perform orders from the Controller (Chang-

ing SSID, Changing PW, AP on/off etc.).

• OpenWRT• Raspberry Pi 2, OpenWRT(O/S for router)• When OW-Agent boots up, it enroll it’s status and information to DB• OW-Agent automatically starts and perform orders from the Controller (Chang-

ing SSID, Changing PW, AP on/off etc.).• UCI(Unified Configuration Interface)is API for OpenWRT configuration

AP-Agent

dhcpd hostapd

OW-Agent

UCI

HostAP

OpenWRT

Page 12: [20160621]Constructing Infrastructure Wireless Network Using Open Source

Mobile Convergence Laboratory 12 /

Infrastructure Public Network

• DB• Ubuntu Desktop, C++, MySQL• DB-Agent enroll the information from AP-Agent and OW-Agent• Send AP’s information when Controller request it

• Controller• Ubuntu Desktop, C++(CLI), Python(Web-GUI), Django(Web-GUI)• Controller can change AP’s information(Changing SSID, Changing PW, AP

on/off etc.)

DB

DB-Agent

DB

CLI

Controller

Web-GUI

Controller

Page 13: [20160621]Constructing Infrastructure Wireless Network Using Open Source

Mobile Convergence Laboratory 13 /

Infrastructure Public NetworkCommand Explanation

help or h show this usage help

show show AP’s list

start start AP

stop stop AP

reboot reboot AP

status show AP’s status

ssid <value> change SSIDpassword <value> change password (if params blank, off password)

channel <value> change channel

mode <value> change mode

tx <value> change tx-power

uplink <value> change AP’s uplink bandwidth (only OpenWRT)

downlink <value> change AP’s downlink bandwidth (only OpenWRT)

hide <on, off> AP hide on, off

clear or cl clear line

quit exit this program

Table 1. CTL-agent Func-tion

Fig.3. Controller Web Graphic User Inter-face

Page 14: [20160621]Constructing Infrastructure Wireless Network Using Open Source

Mobile Convergence Laboratory 14 /

Infrastructure Private Network

Purpose

• Making network using low price computers(Raspberry Pi) and mesh network

• Using applications(topology visualization & messenger)

Raspberry Pi 2

Wireless LAN Card

Page 15: [20160621]Constructing Infrastructure Wireless Network Using Open Source

Mobile Convergence Laboratory 15 /

Infrastructure Private Network

Fig.4. Mesh network test-bed*

* openwincon – Open Source Wireless-Wired Network Controller for Free Small-to-Medium Networking (JCCI 2016)

+ batman_adv+ batctl+ hostapd+ dhcpd+ TOX

+ GOTHAM

Page 16: [20160621]Constructing Infrastructure Wireless Network Using Open Source

Mobile Convergence Laboratory 16 /

Infrastructure Private Network1. GOTHAM(Gathering of Organization Treating Humble Ad-hoc Map)

- Design for batman-adv visualization (Kyunghee Univ)- Slave & Master node(Program)- Can check each node’s program status, link status and link quality- Java program with websocket and d3 javascript

2. Master (java)- It sends information when Web server request node topology- It takes node status and Slave program’s status

3. Slave (java)- It gets next hop information from batctl and sends information to Master node

4. Web Server (java + tomcat8)- It periodically gets information from Master node with Websocket- When Client want to see a topology, it draw present status

Page 17: [20160621]Constructing Infrastructure Wireless Network Using Open Source

Mobile Convergence Laboratory 17 /

Infrastructure Private Network

Fig.5. GOTHAM Architecture in Mesh Network Testbed

Fig.6. GOTHAM Sequence Chart

Page 18: [20160621]Constructing Infrastructure Wireless Network Using Open Source

Mobile Convergence Laboratory 18 /

Infrastructure Private Network1. ALFRED(Almighty Lightweight Fact Remote Exchange Daemon)

- user space daemon- It gather the information from each node- Design for batman-adv visualization- hostname, phone books, administration info, DNS info assign- unix daemon background system.

2. batadv-vis- It get the information from alfred- Draw with graphviz program

3. alfred-gpsd- Draw topology with GPS

4. alfredA- Running on Android- can be a slave server

Page 19: [20160621]Constructing Infrastructure Wireless Network Using Open Source

Mobile Convergence Laboratory 19 /

Infrastructure Private Network

Fig.7. GOTHAM Visualiza-tion

Fig.8. ALFRED Visualization with Grapviz Pro-gram

Same situation with 5 nodes, run bat-man_adv

Compare thingsPrograms

Alfred GOTHAM

Language C++ Java

The number of Master node Many 1

GUI Nothing Web(d3.js)

Assistant Program Graphviz Nothing

Node Relation Excellent Good

Knowing Server Status No Yes

Easy to understand So-So Good

Table 2. ALFRED vs GOTHAM

Page 20: [20160621]Constructing Infrastructure Wireless Network Using Open Source

Mobile Convergence Laboratory 20 /

Conclusion• Infrastructure Public Network

• Creating an AP with Raspberry Pi and common com-puter

• Open source agent program that can manage many APs

• Infrastructure Private Network• Creating a mesh network with Raspberry Pi and common

computer

• Open source GOTHAM program that can visualize topology

• Advantage• Can make APs with low price for public

network

• Easy to set up many APs

• Advantage• Can make a network quickly with low price

for private & public network

• Easy to see the topology

Page 21: [20160621]Constructing Infrastructure Wireless Network Using Open Source

Mobile Convergence Laboratory 21 /

Conclusion(Future Work)

• Combine Two Network(Public & Private)• As depicted Fig.1, when private mesh network wants to connect the Internet, it con-

nects to Infrastructure Public Network.

• Administrator can manage both APs in Infrastructure Public & Private network.

• Add SDN Technology• Can control the traffic flow anytime

• Solve Security Problem• Access Control, Firewall, Combine GOTHAM to one program, etc.

Page 22: [20160621]Constructing Infrastructure Wireless Network Using Open Source

Mobile Convergence Laboratory 22 /

Thank youhttps://github.com/OpenWinCon/OpenWinNet