Upload
kyunghee-univ
View
177
Download
1
Embed Size (px)
Citation preview
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
Mobile Convergence Laboratory 2 /
1. Introduction2. Related Work
A. BATMAN & BATMAN_advB. TOX
3. Infrastructure Public Network4. Infrastructure Private Network5. Conclusion6. Q&A
INDEX
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
Mobile Convergence Laboratory 4 /
Introduction
Fig.1. Infrastructure Public & Private Network Architec-ture
Infrastructure Private Network
Infrastructure Public Network
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)
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.)
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
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.
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
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
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
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
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
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
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
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
Mobile Convergence Laboratory 17 /
Infrastructure Private Network
Fig.5. GOTHAM Architecture in Mesh Network Testbed
Fig.6. GOTHAM Sequence Chart
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
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
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
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.
Mobile Convergence Laboratory 22 /
Thank youhttps://github.com/OpenWinCon/OpenWinNet