batman project

Download Batman project

Post on 10-Jan-2017

307 views

Category:

Software

0 download

Embed Size (px)

TRANSCRIPT

BATMAN project

2015.11.25

Mobile Convergence LAB,Department of Computer Engineering,Kyung Hee University.

INDEX

Overview

BATMAN

BATMAN daemon(batmand)

BATMAN-adv

BATCTL

ALFRED

My program(GOTHAM)

2

Overview

BATMAN- Routing protocol BATMAN daemon(batmand)- First implementation of BATMAN routing protocol (Layer 3)BATMAN-adv (batman-adv)- Substantive implementation of BATMAN routing protocol (Layer 2)BATCTL (batctl)- Managing, Debugging toolALFRED (alfred)- User space daemon (vis, hostname, DNS information, local weather forecast etc.)

3

BATMAN

BATMAN(Better Approach To Mobile Ad hoc Network) Routing protocol routing protocol wireless ad-hoc network .Wireless ad-hoc networkUnstructured, Dynamically change topology, Unreliable X -> - Routing ( ) OGM(OriGinator Message) OGM broadcast, OGM source re-broadcast

4

BATMAN DAEMON(batmand)

Start on layer 3(IP layer) () batman-adv Internet connectionhttp://www.open-mesh.org/projects/batmand/wiki/InternetTuning VisualizationVis server local view graph Xs3d.berlios.de : 2011.01.05 http://s3d.sourceforge.net

5

BATMAN DAEMON(batmand)

6

BATMAN-adv

BATMAN routing protocol - BATMAN 0.3(BATMAN ) default routing algorithm2007 - : 6batmand adv Layer 2 Implementation as a kernel module- overhead BATMAN-adv mesh-network O

7

BATMAN-adv

Layer 2Network layer agnosticIPv4, IPv6, DHCP etc. Nodes can participate in a mesh without having an IPEasy integration of non-mesh (mobile) clientsRoaming of non-mesh clients (hand-over)

8

BATMAN-adv (Quick Start Guide)

: Raspberry Pi 2 OS : Ubuntu mate 15.04kernel version : Linux-kernel version 3.18.0-20-rpi2BATMAN-adv version : 2014.4.0BATCTL version : 2014.3.0-2

9

BATMAN-adv (Quick Start Guide)

sudo apt-get install batctlsudo stop network-managersudo ifconfig wlan0 downsudo iwconfig wlan0 mode ad-hoc essid junho_mesh channel 8essid sudo ifconfig wlan0 upsudo modprobe batman-adv -> load batman-adv module( , Error - batman-adv module has not been loaded )sudo batctl if add wlan0sudo ifconfig wlan0 mtu 1527sudo cat /sys/class/net/wlan0/batman_adv/iface_status"active" sudo ifconfig wlan0 10.0.0.10 ip(10.0.0.10 ip)sudo ifconfig bat0 192.168.0.10 ip(10.0.0.10 ip)sudo ifconfig bat0 upsudo batctl o .

10

BATMAN-adv

TablesOriginator table .Specific information .

Sample output

11

BATMAN-adv

TablesTranslation table mesh client MAC .Specific information (local)

(global)

Sample output (local) .

12

BATMAN-adv

TablesGateway table gateway .Specific information .

Sample output .

13

BATMAN-adv

TablesBridge loop avoidance claim tableBridge loop bridge client .Bridge loop avoidance backbone tableBridge loop bridge backbone gateway .Distributed ARP table local cache tableCached ARP (IPv4 + MAC). LAN ARP request .Network coding potential coding neighbor tableNetwork coding incoming & outgoing .

14

BATMAN-adv (Gateways)

How to make the internet uplink?Gateway mode gateway mode , gateway client mode .gateway client mode routing gateway non-mesh client Gateway DHCP . .

.

15

BATMAN-adv (Gateways)

How to make the internet uplink? (Configuration) bandwidth . (gateway)batctl gw_mode server 5mbit/1mbit(download bandwidth of 5Mbit, upload of 1Mbit)Client settingbatctl gw_mode clientStatus showbatctl gwl- batctl gw_mode

16

BATMAN-adv (Ap-isolation)

Ap isolation mode .

inter-meshnode communications prevention only

Configurebatctl ap_isolation 1batctl ap 1

17

BATMAN-adv (NetworkCoding)

Network Coding relay node packet .CATWOMAN project .

ConfigureSetting at compile timedisable -> batctl nc 0

18

BATMAN-adv (Roaming-improvements)

Hand-over (?)non-mesh client roaming ( mesh node switching) interruption time , synchronization issue .TVLV(Type-Version-Length-Value)Translation tablehttp://www.open-mesh.org/projects/batman-adv/wiki/Client-roaminghttp://www.open-mesh.org/projects/batman-adv/wiki/TVLV

19

BATMAN-adv (Etc.)

ELP(Echo Location Protocol) neighbors OGM ELP .Bridge loop avoidanceloop avoidance mechanismNetwork wide multi link optimization optimize.

20

BATCTL (batctl)

Configuration toolMesh network interface batman-adv (OGM interval setting etc.)batman-adv (gateway announcement etc.)Debugging toolPing & traceroute nodes(MAC address)Parse log filesRetrieve live information from the batman-adv moduleList (Originator, client, available gateway etc.)

http://downloads.open-mesh.org/batman/manpages/batctl.8.html

21

ALFRED (alfred)

ALFRED(Almighty Lightweight Fact Remote Exchange Daemon)user space daemon .batman-adv visualization hostname, phone books, administration info, DNS info unix daemon background system.batadv-visalfred neighbor local json, graphviz .graphviz() ( )alfred-gpsdGPS .alfredAAndroid alfredslave server .

22

ALFRED (batadv-vis)

23

sudo apt-get install gitgit clone git://git.open-mesh.org/alfred.gitsudo apt-get install gcc makemake (make pkg config not found)sudo apt-get install pkg-config - (make no libcap development libraries found)sudo apt-get install libcap-dev - (make no libgps development libraries found)sudo apt-get install libgps-dev -

ALFRED ()

24

ALFRED (alfred + batadv-vis)

Network topology alfred alfred i bat0 m (-m master ) batadv-vis batadv-vis i bat0 -sbatadv-vis -> graphviz-compatible vis output .

http://git.open-mesh.org/alfred.git/blob_plain/refs/heads/master:/README

25

ALFRED (architecture)

Structure

node alfred device

master alfred server, master synchronize slave device

slave alfred server, master , master request

slave master TQ node .

26