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
Mobile Convergence Laboratory 1
1. Introduction
2. Related Work
A. BATMAN & BATMAN_adv
B. TOX
3. Infrastructure Public Network
4. Infrastructure Private Network
5. Conclusion
6. Q&A
INDEX
Mobile Convergence Laboratory 2
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
Mobile Convergence Laboratory 3
Introduction
Fig.1. Infrastructure Public & Private Network Architecture
Infrastructure
Private Network
Infrastructure
Public Network
Mobile Convergence Laboratory 4
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 address to its
address and rebroadcast.
* A simple pragmatic approach to mesh routing using BATMAN (2008)
Mobile Convergence Laboratory 5
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.)
Mobile Convergence Laboratory 6
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 2
4. 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
Mobile Convergence Laboratory 7
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.
Mobile Convergence Laboratory 8
Related Work(TOX)
1. Free, Peer to Peer, Distributed, Multimedia, Secured
- It doesn’t have centralized server
2. Started since 2013 year
3. 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
Mobile Convergence Laboratory 9
Infrastructure Public Network
Fig.2. Infrastructure Private Network Architecture
Purpose
• Making APs using home computer or
low price computer
• For configuring multiple APs
Mobile Convergence Laboratory 10
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 (Changing
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 (Changing
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
Mobile Convergence Laboratory 11
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
Mobile Convergence Laboratory 12
Infrastructure Public Network
Command 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 SSID
password <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 Function
Fig.3. Controller Web Graphic User Interface
Mobile Convergence Laboratory 13
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
Mobile Convergence Laboratory 14
Infrastructure Private Network
Fig.4. Mesh network testbed*
* openwincon – Open Source Wireless-Wired Network Controller for Free Small-to-Medium Networking (JCCI 2016)
+ batman_adv
+ batctl
+ hostapd
+ dhcpd
+ TOX
+ GOTHAM
Mobile Convergence Laboratory 15
Infrastructure Private Network
1. 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
Mobile Convergence Laboratory 16
Infrastructure Private Network
Fig.5. GOTHAM Architecture in Mesh Network Testbed Fig.6. GOTHAM Sequence Chart
Mobile Convergence Laboratory 17
Infrastructure Private Network
1. 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
Mobile Convergence Laboratory 18
Infrastructure Private Network
Fig.7. GOTHAM Visualization
Fig.8. ALFRED Visualization with Grapviz Program
Same situation with 5 nodes, run batman_adv
Compare things
Programs
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
Mobile Convergence Laboratory 19
Conclusion
• Infrastructure Public Network
• Creating an AP with Raspberry Pi and common computer
• 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
Mobile Convergence Laboratory 20
Conclusion(Future Work)
• Combine Two Network(Public & Private)
• As depicted Fig.1, when private mesh network wants to connect the Internet, it connects 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.
Mobile Convergence Laboratory 21
Thank you
https://github.com/OpenWinCon/OpenWinNet

[20160621]Constructing Infrastructure Wireless Network Using Open Source

  • 1.
    JUNHO KIM, SUNGWONLEE* 2016.07.07 Mobile Convergence LAB, Department of Computer Engineering, Kyung Hee University, South Korea Constructing Infrastructure Wireless Network Using Open Source
  • 2.
    Mobile Convergence Laboratory1 1. Introduction 2. Related Work A. BATMAN & BATMAN_adv B. TOX 3. Infrastructure Public Network 4. Infrastructure Private Network 5. Conclusion 6. Q&A INDEX
  • 3.
    Mobile Convergence Laboratory2 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
  • 4.
    Mobile Convergence Laboratory3 Introduction Fig.1. Infrastructure Public & Private Network Architecture Infrastructure Private Network Infrastructure Public Network
  • 5.
    Mobile Convergence Laboratory4 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 address to its address and rebroadcast. * A simple pragmatic approach to mesh routing using BATMAN (2008)
  • 6.
    Mobile Convergence Laboratory5 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.)
  • 7.
    Mobile Convergence Laboratory6 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 2 4. 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
  • 8.
    Mobile Convergence Laboratory7 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.
  • 9.
    Mobile Convergence Laboratory8 Related Work(TOX) 1. Free, Peer to Peer, Distributed, Multimedia, Secured - It doesn’t have centralized server 2. Started since 2013 year 3. 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
  • 10.
    Mobile Convergence Laboratory9 Infrastructure Public Network Fig.2. Infrastructure Private Network Architecture Purpose • Making APs using home computer or low price computer • For configuring multiple APs
  • 11.
    Mobile Convergence Laboratory10 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 (Changing 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 (Changing 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
  • 12.
    Mobile Convergence Laboratory11 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
  • 13.
    Mobile Convergence Laboratory12 Infrastructure Public Network Command 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 SSID password <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 Function Fig.3. Controller Web Graphic User Interface
  • 14.
    Mobile Convergence Laboratory13 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
  • 15.
    Mobile Convergence Laboratory14 Infrastructure Private Network Fig.4. Mesh network testbed* * openwincon – Open Source Wireless-Wired Network Controller for Free Small-to-Medium Networking (JCCI 2016) + batman_adv + batctl + hostapd + dhcpd + TOX + GOTHAM
  • 16.
    Mobile Convergence Laboratory15 Infrastructure Private Network 1. 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
  • 17.
    Mobile Convergence Laboratory16 Infrastructure Private Network Fig.5. GOTHAM Architecture in Mesh Network Testbed Fig.6. GOTHAM Sequence Chart
  • 18.
    Mobile Convergence Laboratory17 Infrastructure Private Network 1. 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
  • 19.
    Mobile Convergence Laboratory18 Infrastructure Private Network Fig.7. GOTHAM Visualization Fig.8. ALFRED Visualization with Grapviz Program Same situation with 5 nodes, run batman_adv Compare things Programs 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
  • 20.
    Mobile Convergence Laboratory19 Conclusion • Infrastructure Public Network • Creating an AP with Raspberry Pi and common computer • 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
  • 21.
    Mobile Convergence Laboratory20 Conclusion(Future Work) • Combine Two Network(Public & Private) • As depicted Fig.1, when private mesh network wants to connect the Internet, it connects 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.
  • 22.
    Mobile Convergence Laboratory21 Thank you https://github.com/OpenWinCon/OpenWinNet