|
(onderdeel van TOKO15)
Wat is Mesh Networking?
Mesh Networking is een alternatieve communicatie-infrastructuur voor draadloos internet.
 Normale communicatie bij Wi-Fi Netwerken
Er is één accesspoint (AP). Alle andere nodes op het netwerk noemen we clients. Clients praten in principe alleen met het accesspoint.
- Het AP deelt (via DHCP) IP adressen uit
- Het AP bepaalt beveiliging/encryptie
- Het AP deelt timeshare uit als dat nodig is om te voorkomen dat de clients door elkaar gaan praten (niet geimplementeerd in de basis specificaties van 802.11b/g).
- Het AP is tevens de gateway naar het internet.
- Als een client buiten bereik van het AP komt, verliest hij zijn verbinding.
Mesh netwerk
- Er is geen onderscheid tussen AP's en clients: alle nodes zijn gelijk.
- Alle nodes moeten dus van tevoren afspraken gemaakt hebben over dingen als netwerknaam (SSID), eventuele encryptie, IP nummer etc. Er zijn wel trucs om nieuwe nodes toe te voegen, maar die gaan vrijwel altijd tegen het principe van mesh in door een centrale autoriteit aan te wijzen. Wil je dat niet, baseer dan IP opmac-address (uniek).
- Verbindingen binnen het eigen net kunnen dus over meerdere hops lopen, daarmee kan ook de te bereiken afstand vergroot worden.
Twee bekende Mesh implementaties
On demand routing (AODV)
- Nodes weten alleen van het bestaan van hun directe buren. Als ze een andere node willen bereiken, vragen ze aan hun buren de route, de eerste die met een werkende route komt, wordt gebruikt.
- Nodes op die route onthouden enige tijd dat dat een route is (caching)
Broadcast routing (OLSR)
- Alle nodes zenden regelmatig broadcasts, waarin ze opnemen wie ze zijn en wat hun buren zijn. Aan die tabel voegen ze tevens toe wie de buren van de buren zijn, en hoe snel ze die kunnen bereiken.
- Elke node bepaalt voor zichzelf, hoe hij andere nodes kan bereiken.
Welke elementen bepalen de snelste route?
- Aantal hops. Elke hop kost verwerkingstijd, dus als je er eentje kan overslaan ben je vaak sneller.
- Kwaliteit van de Wi-Fi verbinding: signaalsterkte, storing van andere signalen
- Ander netwerkverkeer binnen het mesh netwerk (in gebruik zijnde capaciteit)
Goed berekenen van de snelste route is nog steeds een "uitdaging" voor community networks, zoals b.v. het Duitse Freifunk netwerk.
On demand vs. broadcast
Het belangrijkste verschil in on-demand of broadcast mesh zit in de overhead. Bij broadcast routing worden er continu berichten heen en weer gestuurd om de laatste informatie over de stand van het netwerk door te geven. Als het netwerk groeit, worden deze packages steeds groter. On-demand routing begint pas overhead te produceren op het moment dat er daadwerkelijk netwerkverkeer plaatsvindt. Daar staat tegenover dat het "zelfstandig uitzoeken" van de beste route tot enorm veel packages kan leiden, met name als er veel verschillende verbindingen zijn (niet allemaal naar dezelfde gateway).
Draadloos Oost
De kennis in deze introductie komt voornamelijk van het project Draadloos Oost, waarmee wij enkele jaren geleden een draadloos netwerk in Amsterdam-Oost probeerden te realiseren. Dat netwerk gebruikte OLSR voor de routing. Het bestond uit oude PC's, embedded computers en omgebouwde accesspoints (Linksys WRT54G) waaraan een antenne was bevestigd, die (bij voorkeur) hoog op het dak stond. Met een aantal computers op hoge gebouwen probeerden we een groot-stedelijke infrastructuur te bouwen.
In de hoogtijdagen waren er in Amsterdam Oost zo'n 20 nodes en daarnaast nog een aantal gebruikers, die het signaal uit de lucht gapten maar geen OLSR draaiden.
Praktische problemen
- wireless cards draaien in Ad-Hoc mode en dat heet niet voor niets vaak "private mode". Het was lang niet altijd hetzelfde geimplementeerd voor verschillende fabrikanten en dus instabiel.
- OLSR stond nog in de kinderschoenen: routing-tables waren niet zo optimaal.
- Naarmate we langer bezig waren werd wireless steeds populairder en daardoor werd de storing groter
- Een goede verbinding is heel erg afhankelijk van line-of-sight. Idealiter moet de hele fresnel-zone vrij zijn.
- Draadloos Oost is intussen tenonder gegaan aan het succes van de goedkope ADSL: meedoen kostte toch al snel een investering van 100 euro terwijl ADSL al vanaf 10 euro/mnd te krijgen is.
Wat kan je met Mesh als knutselaar?
- Mesh is een snelle manier om zonder configuratie een netwerk te bouwen. Oude routers worden steeds goedkoper, ook de WRT54G en zijn soortgenoten zijn "voor weinig" te krijgen. Neem en stapeltje mee en je rolt zo overal je draadloze mesh netwerk uit!
- Mesh netwerken lenen zich heel goed als snelle range-extender: zolang elke node tenminste maar een andere node van het netwerk blijft zien, staat alles met elkaar in verbinding.
- Mesh netwerking is redundant routing, er kunnen heel wat verbinding uitvallen en dan werkt het nog steeds.
- Hoewel OLSR en AODV best ingewikkelde implementaties zijn, is een simpel mesh netwerk zelf zo in elkaar te scripten. Het kan dus ook met Wi-Fi of Bluetooth op de Arduino!
- Army of robots? Heel geschikt voor installaties met een groot aantal identieke units of zelfstandige interactieve elementen.
- Zigbee heeft al een mesh implementatie (AODV), maar helaas zijn de meest toegepaste Zigbee modules zgn. end-nodes, die dus geen signaal doorsturen.
Links
|