olsr org funkfeuer freifunk
play

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


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

  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

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

  4. Who?

  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

  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

  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.

  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.

  9. What?

  10. FunkFeuer || Freifunk

  11. FunkFeuer

  12. FunkFeuer • city wide OLSR(.org) mesh network covering all of Vienna (2 mil. inhabitants), Graz and rural areas of Austria

  13. FunkFeuer • city wide OLSR(.org) mesh network covering all of Vienna (2 mil. inhabitants), Graz and rural areas of Austria • community wifi project.

  14. FunkFeuer • city wide OLSR(.org) mesh network covering all of Vienna (2 mil. inhabitants), Graz and rural areas of Austria • community wifi project. • Vienna net: ~ 30 km diameter

  15. FunkFeuer • city wide OLSR(.org) mesh network covering all of Vienna (2 mil. inhabitants), Graz and rural areas of Austria • community wifi project. • Vienna net: ~ 30 km diameter • distributed ownership

  16. FunkFeuer • city wide OLSR(.org) mesh network covering all of Vienna (2 mil. inhabitants), Graz and rural areas of Austria • community wifi project. • Vienna net: ~ 30 km diameter • distributed ownership • COTS hardware

  17. FunkFeuer • city wide OLSR(.org) mesh network covering all of Vienna (2 mil. inhabitants), Graz and rural areas of Austria • community wifi project. • Vienna net: ~ 30 km diameter • distributed ownership • COTS hardware • ~250 roofs

  18. FunkFeuer • city wide OLSR(.org) mesh network covering all of 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”

  19. FunkFeuer tech facts

  20. FunkFeuer tech facts • one single uplink (1 GBit)

  21. FunkFeuer tech facts • one single uplink (1 GBit) • right across the street to VIX

  22. FunkFeuer tech facts • one single uplink (1 GBit) • right across the street to VIX • small colo center

  23. 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)

  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) • public IP ranges

  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 • semi-planned / semi random structure

  26. Typical FunkFeuer roof • on the r oof (LOS!) • 3 linksys WRT 54GL: omni and/or directional antennas • 1 or 2 5Ghz bridges • 1 switch • LAN cable into apartment

  27. Freifunk • Germany’s FunkFeuer • same ideas, started at the same time • Berlin, Leipzig, Rostock, Weimar, ... • strong connection to CCC, openmoko, openwrt • totally uncoordinated wi fi network (Berlin) • many “window” Linksyses

  28. Leipzig Freifunk net

  29. similar networks with olsr.org • meraka institute (.za): IPv6 only (John Hayes) • athens wireless metropolitan network • uses BGP + partly olsr.org • > 2400 nodes • Harvard citysense net

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

  31. History

  32. History

  33. History • initial experiments at SCII.nl (wireless Amsterdam, mobile mesh) 2002/2003

  34. History • initial experiments at SCII.nl (wireless Amsterdam, mobile mesh) 2002/2003 • olsr.org fi rst working and portable solution we found. Open source!

  35. History • initial experiments at SCII.nl (wireless Amsterdam, mobile mesh) 2002/2003 • olsr.org fi rst working and portable solution we found. Open source! • parallel development: Berlin, Vienna

  36. History • initial experiments at SCII.nl (wireless Amsterdam, mobile mesh) 2002/2003 • olsr.org fi rst working and portable solution we found. Open source! • parallel development: Berlin, Vienna • Freifunk Firmware (Sven-Ola)

  37. History • initial experiments at SCII.nl (wireless Amsterdam, mobile mesh) 2002/2003 • olsr.org fi rst 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.

  38. History • initial experiments at SCII.nl (wireless Amsterdam, mobile mesh) 2002/2003 • olsr.org fi rst 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.

  39. 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, ...

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

  41. New ports • iPhone (less than 1% CPU load -> battery life!) • iPod touch • Nokia 770 • Nokia N810 • google android!

  42. Current state • the networks are constantly expanding • olsrd’s CPU optimization is fi nished • olsr.org is being reworked (slow process, lots of work and re-testing in the fi eld) • bene fi t: we have a big test bed • always have to upgrade with compatibility

  43. Soon • Robin Firmware for FONs with OLSRd

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

  45. 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”

  46. CPU bottleneck • Dijkstra was O(n^2) instead of O(n log n) • memory churn • inef fi cient datastructures

  47. 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

  48. OLSR UML Test server Tests with 1500-2000 virtual Linux instances

  49. Olsr.org routing daemon (1)

  50. Olsr.org routing daemon (1) • Machine independant core

  51. Olsr.org routing daemon (1) • Machine independant core • OS speci fi c parts

  52. Olsr.org routing daemon (2)

  53. Olsr.org routing daemon (2) • AVL tree

  54. Olsr.org routing daemon (2) • AVL tree • Linked lists

  55. Olsr.org routing daemon (2) • AVL tree • Linked lists • Some hashtables (old code, still needs cleanup !)

  56. Olsr.org routing daemon (3)

  57. Olsr.org routing daemon (4)

  58. Olsr.org routing daemon (4) • Hopcount metric with hysteresis

  59. Olsr.org routing daemon (4) • Hopcount metric with hysteresis • ETX based on timers/message sequence no.

  60. Olsr.org routing daemon (4) • Hopcount metric with hysteresis • ETX based on timers/message sequence no. • ETX based on timers and package seq.no.

  61. Olsr.org routing daemon (5)

  62. Olsr.org routing daemon (5) • Implementation is important

  63. Olsr.org routing daemon (5) • Implementation is important • Routing metrics

  64. 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

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

  66. Our way to OLSRv2 (1)

Recommend


More recommend