Olsr.Org // FunkFeuer // Freifunk Aaron Kaplan - - PowerPoint PPT Presentation

olsr org funkfeuer freifunk
SMART_READER_LITE
LIVE PREVIEW

Olsr.Org // FunkFeuer // Freifunk Aaron Kaplan - - PowerPoint PPT Presentation

Olsr.Org // FunkFeuer // Freifunk Aaron Kaplan <aaron@lo-res.org> Henning Rogge <hrogge@fgan.de> Oct 2008 Presentation at OLSR Interop 08, Ottawa, CA Disclaimer can only speak about Freifunk out of experience and I know the


slide-1
SLIDE 1

Aaron Kaplan <aaron@lo-res.org> Henning Rogge <hrogge@fgan.de> Oct 2008 Presentation at OLSR Interop 08, Ottawa, CA

Olsr.Org // FunkFeuer // Freifunk

slide-2
SLIDE 2

Disclaimer

  • can only speak about Freifunk out of

experience and I know the folks there, I am not Freifunk (if anybody is)

  • can speak about FunkFeuer && olsr.org
slide-3
SLIDE 3

Overview

  • What and who is FunkFeuer || Freifunk ?
  • The Olsr.org’s olsrd routing daemon
  • Our way to OLSRv2
  • Plans for the future
slide-4
SLIDE 4

Who?

slide-5
SLIDE 5

current olsr.org core team:

Hannes Gredler (juniper)

  • L. Aaron Kaplan (cert.at)

Bernd Petrovitsch (firmix.at)

Henning Rogge (fgan.de) Sven-Ola Tücke (freifunk)

+ lots of contributors

slide-6
SLIDE 6

folks @ Funkfeuer || Freifunk

  • FunkFeuer Vienna:

around 300 members. 30 core members

  • Freifunk: ? members,

around 800 nodes in Berlin

  • who? everybody who

wants to participate

slide-7
SLIDE 7

folks @ Funkfeuer || Freifunk

  • crazy hackers
  • creative ideas are

valued

  • next project: rogue

fibre in the canalization ;-)

  • regular Beerings
  • many CS students, IT

folks, professionals but also doctors, amateur radio pros, etc.

slide-8
SLIDE 8

folks @ Funkfeuer || Freifunk

  • crazy hackers
  • creative ideas are

valued

  • next project: rogue

fibre in the canalization ;-)

  • regular Beerings
  • many CS students, IT

folks, professionals but also doctors, amateur radio pros, etc.

slide-9
SLIDE 9

What?

slide-10
SLIDE 10

FunkFeuer || Freifunk

slide-11
SLIDE 11
slide-12
SLIDE 12

FunkFeuer

slide-13
SLIDE 13

FunkFeuer

  • city wide OLSR(.org) mesh network covering all
  • f Vienna (2 mil. inhabitants), Graz and rural

areas of Austria

slide-14
SLIDE 14

FunkFeuer

  • city wide OLSR(.org) mesh network covering all
  • f Vienna (2 mil. inhabitants), Graz and rural

areas of Austria

  • community wifi project.
slide-15
SLIDE 15

FunkFeuer

  • city wide OLSR(.org) mesh network covering all
  • f Vienna (2 mil. inhabitants), Graz and rural

areas of Austria

  • community wifi project.
  • Vienna net: ~ 30 km diameter
slide-16
SLIDE 16

FunkFeuer

  • city wide OLSR(.org) mesh network covering all
  • f Vienna (2 mil. inhabitants), Graz and rural

areas of Austria

  • community wifi project.
  • Vienna net: ~ 30 km diameter
  • distributed ownership
slide-17
SLIDE 17

FunkFeuer

  • city wide OLSR(.org) mesh network covering all
  • f Vienna (2 mil. inhabitants), Graz and rural

areas of Austria

  • community wifi project.
  • Vienna net: ~ 30 km diameter
  • distributed ownership
  • COTS hardware
slide-18
SLIDE 18

FunkFeuer

  • city wide OLSR(.org) mesh network covering all
  • f Vienna (2 mil. inhabitants), Graz and rural

areas of Austria

  • community wifi project.
  • Vienna net: ~ 30 km diameter
  • distributed ownership
  • COTS hardware
  • ~250 roofs
slide-19
SLIDE 19

FunkFeuer

  • city wide OLSR(.org) mesh network covering all
  • f Vienna (2 mil. inhabitants), Graz and rural

areas of Austria

  • community wifi project.
  • Vienna net: ~ 30 km diameter
  • distributed ownership
  • COTS hardware
  • ~250 roofs
  • “because we can. Because the nodes are the

network”

slide-20
SLIDE 20

FunkFeuer tech facts

slide-21
SLIDE 21

FunkFeuer tech facts

  • one single uplink (1 GBit)
slide-22
SLIDE 22

FunkFeuer tech facts

  • one single uplink (1 GBit)
  • right across the street to VIX
slide-23
SLIDE 23

FunkFeuer tech facts

  • one single uplink (1 GBit)
  • right across the street to VIX
  • small colo center
slide-24
SLIDE 24

FunkFeuer tech facts

  • one single uplink (1 GBit)
  • right across the street to VIX
  • small colo center
  • mixture of 5GHz bridges and 2.4GHz mesh
  • nodes. Mostly broadcom chips. Some

atheros (FONs)

slide-25
SLIDE 25

FunkFeuer tech facts

  • one single uplink (1 GBit)
  • right across the street to VIX
  • small colo center
  • mixture of 5GHz bridges and 2.4GHz mesh
  • nodes. Mostly broadcom chips. Some

atheros (FONs)

  • public IP ranges
slide-26
SLIDE 26

FunkFeuer tech facts

  • one single uplink (1 GBit)
  • right across the street to VIX
  • small colo center
  • mixture of 5GHz bridges and 2.4GHz mesh
  • nodes. Mostly broadcom chips. Some

atheros (FONs)

  • public IP ranges
  • semi-planned / semi random structure
slide-27
SLIDE 27

Typical FunkFeuer roof

  • on the roof (LOS!)
  • 3 linksys WRT 54GL: omni

and/or directional antennas

  • 1 or 2 5Ghz bridges
  • 1 switch
  • LAN cable into apartment
slide-28
SLIDE 28

Freifunk

  • Germany’s FunkFeuer
  • same ideas, started at the same time
  • Berlin, Leipzig, Rostock, Weimar, ...
  • strong connection to CCC, openmoko,
  • penwrt
  • totally uncoordinated wifi network (Berlin)
  • many “window” Linksyses
slide-29
SLIDE 29

Leipzig Freifunk net

slide-30
SLIDE 30

similar networks with

  • lsr.org
  • meraka institute (.za): IPv6 only (John Hayes)
  • athens wireless metropolitan network
  • uses BGP + partly olsr.org
  • > 2400 nodes
  • Harvard citysense net
slide-31
SLIDE 31

AWMN

(http://wind.awmn.net/?page=gmap)

slide-32
SLIDE 32

History

slide-33
SLIDE 33

History

slide-34
SLIDE 34

History

  • initial experiments at SCII.nl (wireless

Amsterdam, mobile mesh) 2002/2003

slide-35
SLIDE 35

History

  • initial experiments at SCII.nl (wireless

Amsterdam, mobile mesh) 2002/2003

  • olsr.org first working and portable solution we
  • found. Open source!
slide-36
SLIDE 36

History

  • initial experiments at SCII.nl (wireless

Amsterdam, mobile mesh) 2002/2003

  • olsr.org first working and portable solution we
  • found. Open source!
  • parallel development: Berlin, Vienna
slide-37
SLIDE 37

History

  • initial experiments at SCII.nl (wireless

Amsterdam, mobile mesh) 2002/2003

  • olsr.org first working and portable solution we
  • found. Open source!
  • parallel development: Berlin, Vienna
  • Freifunk Firmware (Sven-Ola)
slide-38
SLIDE 38

History

  • initial experiments at SCII.nl (wireless

Amsterdam, mobile mesh) 2002/2003

  • olsr.org first working and portable solution we
  • found. Open source!
  • parallel development: Berlin, Vienna
  • Freifunk Firmware (Sven-Ola)
  • ~ 2006: olsrd becomes a CPU bottleneck with

network growth -> BATMAN project in parallel with olsr-ng effort. Revolution vs. Evolution.

slide-39
SLIDE 39

History

  • initial experiments at SCII.nl (wireless

Amsterdam, mobile mesh) 2002/2003

  • olsr.org first working and portable solution we
  • found. Open source!
  • parallel development: Berlin, Vienna
  • Freifunk Firmware (Sven-Ola)
  • ~ 2006: olsrd becomes a CPU bottleneck with

network growth -> BATMAN project in parallel with olsr-ng effort. Revolution vs. Evolution.

slide-40
SLIDE 40

History of olsr.org

  • Andreas Tønnesen’s diploma thesis
  • portable and runs on Linux -> we took it and

improved it. andreto said “OK”

  • ETX extension
  • Fisheye
  • plugin mechanism
  • dyn_gw, basic multicast, txtinfo, dot_draw,

secure, ...

slide-41
SLIDE 41

Portability

  • linux (arm, mips, mipsel, i386, xscale...), FONs
  • winxp, vista
  • *BSD
  • Nokia N770, N810
  • openmoko
  • 30MHz embedded linux webcam ;-)
  • winCE missing
slide-42
SLIDE 42

New ports

  • iPhone (less than 1% CPU load ->

battery life!)

  • iPod touch
  • Nokia 770
  • Nokia N810
  • google android!
slide-43
SLIDE 43

Current state

  • the networks are constantly expanding
  • olsrd’s CPU optimization is finished
  • olsr.org is being reworked (slow process,

lots of work and re-testing in the field)

  • benefit: we have a big test bed
  • always have to upgrade with compatibility
slide-44
SLIDE 44

Soon

  • Robin Firmware for FONs with OLSRd
slide-45
SLIDE 45

Overview

  • What and who is FunkFeuer || Freifunk ?
  • The Olsr.org’s olsrd routing daemon
  • Our way to OLSRv2
  • Plans for the future
slide-46
SLIDE 46

Our work on the CPU bottleneck

  • at 100 nodes losing packets already
  • -> what to do?
  • “OLSR does not work” or...
  • let’s improve it ???
  • -> “olsr-ng” == “let’s improve it”
slide-47
SLIDE 47

CPU bottleneck

  • Dijkstra was O(n^2) instead of O(n log n)
  • memory churn
  • inefficient datastructures
slide-48
SLIDE 48

CPU bottleneck

  • after all optimizations (~ 1 year ):

runs on a 30MHz embedded web cam with ~30 % CPU load in Berlin Freifunk

  • < 5% CPU load on a linksys in FunkFeuer
  • < 1% CPU load on an old i386 laptop
slide-49
SLIDE 49

OLSR UML Test server

Tests with 1500-2000 virtual Linux instances

slide-50
SLIDE 50

Olsr.org routing daemon (1)

slide-51
SLIDE 51

Olsr.org routing daemon (1)

  • Machine independant core
slide-52
SLIDE 52

Olsr.org routing daemon (1)

  • Machine independant core
  • OS specific parts
slide-53
SLIDE 53

Olsr.org routing daemon (2)

slide-54
SLIDE 54

Olsr.org routing daemon (2)

  • AVL tree
slide-55
SLIDE 55

Olsr.org routing daemon (2)

  • AVL tree
  • Linked lists
slide-56
SLIDE 56

Olsr.org routing daemon (2)

  • AVL tree
  • Linked lists
  • Some hashtables

(old code, still needs cleanup !)

slide-57
SLIDE 57

Olsr.org routing daemon (3)

slide-58
SLIDE 58

Olsr.org routing daemon (4)

slide-59
SLIDE 59

Olsr.org routing daemon (4)

  • Hopcount metric with hysteresis
slide-60
SLIDE 60

Olsr.org routing daemon (4)

  • Hopcount metric with hysteresis
  • ETX based on timers/message sequence

no.

slide-61
SLIDE 61

Olsr.org routing daemon (4)

  • Hopcount metric with hysteresis
  • ETX based on timers/message sequence

no.

  • ETX based on timers and package seq.no.
slide-62
SLIDE 62

Olsr.org routing daemon (5)

slide-63
SLIDE 63

Olsr.org routing daemon (5)

  • Implementation is important
slide-64
SLIDE 64

Olsr.org routing daemon (5)

  • Implementation is important
  • Routing metrics
slide-65
SLIDE 65

Olsr.org routing daemon (5)

  • Implementation is important
  • Routing metrics
  • Scales up to at least hundreds of nodes

(on embedded hardware). Probably ~ 2k nodes now

slide-66
SLIDE 66

Overview

  • What and who is FunkFeuer || Freifunk ?
  • The Olsr.org’s olsrd routing daemon
  • Our way to OLSRv2
  • Plans for the future
slide-67
SLIDE 67

Our way to OLSRv2 (1)

slide-68
SLIDE 68

Our way to OLSRv2 (1)

  • Distributed Locations
slide-69
SLIDE 69

Our way to OLSRv2 (1)

  • Distributed Locations
  • Distributed Administration
slide-70
SLIDE 70

Our way to OLSRv2 (1)

  • Distributed Locations
  • Distributed Administration
  • Different daemon versions in the same net !
slide-71
SLIDE 71

Our way to OLSRv2 (1)

  • Distributed Locations
  • Distributed Administration
  • Different daemon versions in the same net !

How do we upgrade a net like this ?

slide-72
SLIDE 72

Our way to OLSRv2 (2)

slide-73
SLIDE 73

Our way to OLSRv2 (2)

  • Hybrid routing daemon
slide-74
SLIDE 74

Our way to OLSRv2 (2)

  • Hybrid routing daemon
  • Update the v1 daemon with v2

capabilites

slide-75
SLIDE 75

Our way to OLSRv2 (2)

  • Hybrid routing daemon
  • Update the v1 daemon with v2

capabilites

  • Then write a clean v2 daemon
slide-76
SLIDE 76

Our way to OLSRv2 (3)

  • Generic PacketBB parser/generator
  • SAX style parser
  • Preprocessing options
  • Multiple consumer for TLVs
  • Similar generator
  • Automatic address compression
  • Postprocessing callbacks
  • 3 clause BSD licence
slide-77
SLIDE 77

Overview

  • What and who is FunkFeuer || Freifunk ?
  • The Olsr.org’s olsrd routing daemon
  • Our way to OLSRv2
  • Plans for the future
slide-78
SLIDE 78

Plans for the future (1)

  • Cheap multiradio solutions

 Cheap multiradio solutions

CH1 CH2 CH3 Switch

Ethernet

Hardware: OLSR:

slide-79
SLIDE 79

Plans for the future (1)

  • Cheap multiradio solutions

 Cheap multiradio solutions

CH1 CH2 CH3 Switch

Ethernet

Bad for MPR algorithm Hardware: OLSR:

slide-80
SLIDE 80

Plans for the future (1)

  • Cheap multiradio solutions

 Cheap multiradio solutions

CH1 CH2 CH3 Switch

Ethernet

Hardware: OLSR:

slide-81
SLIDE 81

Plans for the future (1)

  • Cheap multiradio solutions

 Cheap multiradio solutions

CH1 CH2 CH3 Switch

Ethernet

Hardware: OLSR:

Virtual OLSR-Node

CH2 CH1 CH3

slide-82
SLIDE 82

Plans for the future (1)

  • Cheap multiradio solutions

 Cheap multiradio solutions

CH1 CH2 CH3 Switch

Ethernet

Hardware: OLSR:

Virtual OLSR-Node

CH2 CH1 CH3

Master/Slave configuration

slide-83
SLIDE 83

Plans for the future (2)

  • Better routing metric
  • OSI-Layer 1 and 2 statistics
  • MIC-metric

(collision aware metric)

slide-84
SLIDE 84

Plans for the future (3)

  • Better logging
  • Metric aware MPR algorithm
  • Redundancy vs. Airtime... ?

.... still much work to do !

slide-85
SLIDE 85

Thanks!

slide-86
SLIDE 86

Bonustrack

slide-87
SLIDE 87

Bonustrack

  • Clemens Hopfner @

funkfeuer.at managed to hack into the osbridge 5GXi

  • Runs busybox and linux of

course

  • osbridge bootload was

replaces by our own ;-)

  • means: no TIVO effect

anymore

  • might soon run our mesh

daemons “natively” :)