802.11s(wireless mesh): Difference between revisions
No edit summary |
|||
(17 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
'''802.11s''' on IEEE 802.11 täienduse visand mesh võrgule defineerimaks, kuidas traadita seadmed peaks omavahel ühenduma, et tekkiks WLAN mesh võrk, mida saaks kasutada staatilise topoloogia ning ad-hoc võrgu jaoks. | |||
== Kirjeldus == | |||
802.11s laiendab IEEE 802.11 MAC (Media Access Control) standardit, defineerides arhitektuuri ja protokolli, mis lubavad nii broadcasti/multicasti kui ka unicast andmeedastust. | |||
[[Image:Asdf.jpg|right|thumb|250px|Ka hostid 1 kuni 4 saavad ligipääsu internetti [http://en.wikipedia.org/wiki/File:XO_internet_access.jpg Wikipedia]]] | |||
Traadita mesh võrk (imelik oleks tegelt "traadita võrkvõrk" kirjutada), kasutatakse ka lühendit WMN, on nagu tavaline traadita võrk kuid kasutab mesh topoloogiat. Need võrgud on justkui erilised ad-hoc võrgud, kuna pole keskset ühendust haldavat seadet (nagu näiteks AP) ja seadmed ühenduvad üksteise külge otse ning ka liiklus saadetakse vajadusel läbi teiste sõlmede(seadmete). 802.11s kohta võib mõelda kui Wireless Distribution System (WDS) laiendust, kuid tegelikkuses on asi palju keerulisem. | |||
== Kasutus == | |||
802.11s kavandit toetavad juba mitmed tooted. Näiteks "One Laptop per Child" projekt kasutab seda OLPC XO sülearvutite ning OLPC XS kooliserveri võrgu jaoks. Ka alates 2.6.26 Linux kernelist on 802.11s kavand kasutusel osana mac80211 kihis. | |||
== Eelised == | |||
=== Hind === | |||
802.11 raadioseadmed on muutunud üpriski odavaks, kuid need on siiski võrgu kõige kallimad osad. Kuna meshis töötab iga sõlmpunkt (arvuti, seade) nii kliendi kui repiiterina, saab raadioseadmetelt kokku hoida (küll mitte ei saa neid kõiki ära kaotada). | |||
=== Lihtsus === | |||
Kui on olemas seade, milles on mesh võrgu jaoks vajaminev tarkvara ning mis kasutab standartseid traadita protokolle, nagu 802.11b/g, siis on setup lihtne. Kuna teekonnad (routes) konfigureeritakse dünaamiliselt, siis põhimõtteliselt piisab vaid, kui see seade olemasolevasse võrku panna. | |||
=== Stabiilsus === | |||
Mesh topoloogia ja ad-hoc ruutingu olemus lubab pidevalt muutuvates tingimustes suuremat veakindlust, näiteks ei mõjuta seda üksikute seadmete väljakukkumine. | |||
== FreeBSD WifiMesh == | |||
Alates FreeBSD 8.0 on toetatud 802.11s visand. | |||
=== Kuidas seada üles mesh võrk === | |||
* Vali võrgu jaoks kasutatav kanal. Näites on kasutusel kanal 36 (standardist a). | |||
* Määra meshi identifikaator (see on nagu SSID). Kasutatud on "freebsd-mesh". Tegelikult on meshid SSID'st erinev, mesh võrgu beacon freimis on SSID string alati tühi! | |||
''' | Igas meshi sõlmes tuleb sisestada käsud: | ||
<pre> | |||
# ifconfig wlan0 create wlandev ath0 wlanmode mesh channel 36 meshid freebsd-mesh | |||
# ifconfig wlan0 10.0.0.x/yy | |||
</pre> | |||
kus ''' ''x'' ''' on hosti ip osa ning ''' ''yy'' ''' subnet maski bittide arv. | |||
See peaks andma: | |||
<pre> | |||
wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 | |||
ether 00:0b:6b:2d:dc:d8 | |||
inet 10.0.1.101 netmask 0xffffff00 broadcast 10.0.1.255 | |||
media: IEEE 802.11 Wireless Ethernet autoselect mode 11a <mesh> | |||
status: running | |||
meshid mymesh channel 36 (5180 Mhz 11a) bssid 00:0b:6b:2d:dc:d8 | |||
regdomain ETSI country PT ecm authmode OPEN privacy OFF txpower 17 | |||
mcastrate 6 mgmtrate 6 scanvalid 60 wme burst bintval 1000 meshttl 31 | |||
meshpeering meshforward meshmetric AIRTIME meshpath HWMP | |||
hwmprootmode DISABLED hwmpmaxhops 31 | |||
</pre> | |||
Kui kõik on tehtud nii nagu peab, saab võrgus olevaid naaber mesh sõlmesid (naabriga on otseühendus) näha käsuga ''' ''ifconfig wlan0 list sta'' '''. | |||
<pre> | |||
$ ifconfig wlan0 list sta | |||
ADDR CHAN LOCAL PEER STATE RATE RSSI IDLE TXSEQ RXSEQ | |||
00:0b:6b:2d:dc:d8 36 0 0 IDLE 0M 18.5 15 1 192 | |||
00:0b:6b:2d:db:ac 36 9827 a5b3 ESTAB 6M 14.0 0 2 28752 WME MESHCONF | |||
00:0b:6b:2d:dd:17 36 afdb ab30 ESTAB 6M 19.0 0 5 25024 WME MESHCONF | |||
00:0b:6b:87:1c:f0 36 1904 825c ESTAB 6M 6.0 0 30 192 WME MESHCONF | |||
</pre> | |||
Esimesel real on kirjas enda masina liides. ''' ''STATE'' ''' veerg on kõige tähtsam. Et mesh sõlm oleks kätesaadav, peab ta rajama ühenduse teise sõlmega. Kui ''' ''STATE'' ''' all on midagi muud peale ''' ''ESTAB'' ''', siis pole ühendust loodud. ''' ''RATE'' ''' näitab aga vahetatud pakettide arvu. | |||
Kui vahetada pakette teiste sõlmedega, täidetakse ka ruutingu tabel ära. Näites on kasutatud täht topoloogiat, st kõik paketid läbivad keskset sõlme: | |||
<pre> | |||
$ ifconfig wlan0 list mesh | |||
DEST NEXT HOP HOPS METRIC LIFETIME MSEQ FLAGS | |||
00:0b:6b:2d:dd:17 00:0b:6b:2d:dc:d8 1 2842 5000 0 V | |||
00:0b:6b:2d:dc:d8 00:0b:6b:2d:dc:d8 0 0 5000 0 V | |||
00:0b:6b:2d:db:ac 00:0b:6b:2d:dc:d8 1 347 5000 0 V | |||
</pre> | |||
* Mesh võrku on võimalik ka traadiga võrku sillata. ''' ''bridge(4)'' ''' man lehel on selle kohta mitmeid näiteid. | |||
== GNU/Linux ja Mobile Mesh == | |||
Mobile Mesh on avatud lähtekoodiga Linuxi põhine programmide ning protokollide kogum mis pakub mobiilse ad-hoc võrgu võimalust. | |||
Järgnevas näites on eeldatud, et kasutatavates seadmetes on vähemalt 2.2.x kerneliversioon. | |||
* Esiteks tuleb panna kaart ad-hoc reziimi ning SSID'ks panna näiteks ''' ''mobilemesh'' '''. | |||
* Tiri alla ka Mobile Mesh tarball. | |||
Kaustas, kus on tarball, sisesta '''root''' kasutaja alt: | |||
<pre> | |||
tar -xvf <your_downloaded_mobilemesh> | |||
cd <your_mobilemesh_directory> | |||
</pre> | |||
Järgi ''' ''./INSTALL'' ''' juhiseid. | |||
Kui kõik tehtud, tuleb seadistada ''' ''mmrp'' ''' ([http://www.mitre.org/work/tech_transfer/mobilemesh/ Mobile Mesh Routing Protocol]). | |||
Muuta tuleb faili /etc/mobilemesh/mmrp.conf. Kindlasti tuleb üle kontrollida ka liidese nimi, tüüpiliselt nt wlan0, eth0 jne: | |||
<pre> | |||
ifconfig wlan0 10.XXX.XXX.XXX netmask 255.255.255.255 | |||
broadcast 10.255.255.255 | |||
</pre> | |||
kus IP aadress (10.XXX.XXX.XXX) on vabal valikul kuid ei tohi olla duplikaat (sama mõne naabriga). | |||
<pre> | |||
mmdiscover -i eth1 -z & | |||
mmrp \x{2013}z & | |||
</pre> | |||
Sellega peaks asi jonksus olema. Kuid enne testimist tuleks eemaldada vaikimisi routing. See kindlustab, et Mobile Mesh domineerib routingu tabeli üle. | |||
<pre> | |||
route del -net w.x.y.z netmask 255......0 | |||
</pre> | |||
Nüüd tuleks seda kõike korrata kõikide kasutatavate hostide peal. | |||
'''Ja ongi kõik!''' | |||
=== Lüüsi seadmine välisvõrku === | |||
Nüüd kui on seatud mõned mesh seadmed, on aeg panna üks nendest tööle kui lüüs internetti, et kõik võrgus olevad seadmed saaksid interneti ligipääsu. | |||
Oletades, et ühel masinal on teine liides, kas siis traadita või traadiga, millel on juurdepääs internetile: ''' ''/etc/mobilemesh/mmrp.conf'' ''' tuleb defineerida meshi väline võrk: | |||
<pre> | |||
external <ip address> <netmask> <metric> | |||
</pre> | |||
kus <ip address> ja <netmask> määravad ära aadressid, millele antud seadmel on ligipääs ning mis on väljaspool mesh võrku. | |||
<pre> | |||
external 0.0.0.0 255.255.255.0 7 | |||
</pre> | |||
Märkuseks: sellega öeldakse, et on väline võrk 0.0.0.0, aga mitte lüüs. | |||
Nüüd tuleb ka ''' ''mmrp'' '''le restart teha. Ja jällegi on kõik valmis! | |||
== Kasutatud kirjandus == | |||
[http://wiki.freebsd.org/WifiMesh http://wiki.freebsd.org/WifiMesh] <br /> | |||
[http://en.wikipedia.org/wiki/IEEE_802.11s http://en.wikipedia.org/wiki/IEEE_802.11s] <br /> | |||
[http://www.oreillynet.com/pub/a/wireless/2004/01/22/wirelessmesh.html http://www.oreillynet.com/pub/a/wireless/2004/01/22/wirelessmesh.html] <br /> | |||
[http://www.mitre.org/work/tech_transfer/mobilemesh/ http://www.mitre.org/work/tech_transfer/mobilemesh/] | |||
== Koostaja == | |||
Artikli koostas Madis Vellamäe, D21. | |||
[[Category:Traadita side alused]] | [[Category:Traadita side alused]] |
Latest revision as of 13:28, 30 May 2010
802.11s on IEEE 802.11 täienduse visand mesh võrgule defineerimaks, kuidas traadita seadmed peaks omavahel ühenduma, et tekkiks WLAN mesh võrk, mida saaks kasutada staatilise topoloogia ning ad-hoc võrgu jaoks.
Kirjeldus
802.11s laiendab IEEE 802.11 MAC (Media Access Control) standardit, defineerides arhitektuuri ja protokolli, mis lubavad nii broadcasti/multicasti kui ka unicast andmeedastust.
Traadita mesh võrk (imelik oleks tegelt "traadita võrkvõrk" kirjutada), kasutatakse ka lühendit WMN, on nagu tavaline traadita võrk kuid kasutab mesh topoloogiat. Need võrgud on justkui erilised ad-hoc võrgud, kuna pole keskset ühendust haldavat seadet (nagu näiteks AP) ja seadmed ühenduvad üksteise külge otse ning ka liiklus saadetakse vajadusel läbi teiste sõlmede(seadmete). 802.11s kohta võib mõelda kui Wireless Distribution System (WDS) laiendust, kuid tegelikkuses on asi palju keerulisem.
Kasutus
802.11s kavandit toetavad juba mitmed tooted. Näiteks "One Laptop per Child" projekt kasutab seda OLPC XO sülearvutite ning OLPC XS kooliserveri võrgu jaoks. Ka alates 2.6.26 Linux kernelist on 802.11s kavand kasutusel osana mac80211 kihis.
Eelised
Hind
802.11 raadioseadmed on muutunud üpriski odavaks, kuid need on siiski võrgu kõige kallimad osad. Kuna meshis töötab iga sõlmpunkt (arvuti, seade) nii kliendi kui repiiterina, saab raadioseadmetelt kokku hoida (küll mitte ei saa neid kõiki ära kaotada).
Lihtsus
Kui on olemas seade, milles on mesh võrgu jaoks vajaminev tarkvara ning mis kasutab standartseid traadita protokolle, nagu 802.11b/g, siis on setup lihtne. Kuna teekonnad (routes) konfigureeritakse dünaamiliselt, siis põhimõtteliselt piisab vaid, kui see seade olemasolevasse võrku panna.
Stabiilsus
Mesh topoloogia ja ad-hoc ruutingu olemus lubab pidevalt muutuvates tingimustes suuremat veakindlust, näiteks ei mõjuta seda üksikute seadmete väljakukkumine.
FreeBSD WifiMesh
Alates FreeBSD 8.0 on toetatud 802.11s visand.
Kuidas seada üles mesh võrk
- Vali võrgu jaoks kasutatav kanal. Näites on kasutusel kanal 36 (standardist a).
- Määra meshi identifikaator (see on nagu SSID). Kasutatud on "freebsd-mesh". Tegelikult on meshid SSID'st erinev, mesh võrgu beacon freimis on SSID string alati tühi!
Igas meshi sõlmes tuleb sisestada käsud:
# ifconfig wlan0 create wlandev ath0 wlanmode mesh channel 36 meshid freebsd-mesh # ifconfig wlan0 10.0.0.x/yy
kus x on hosti ip osa ning yy subnet maski bittide arv.
See peaks andma:
wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether 00:0b:6b:2d:dc:d8 inet 10.0.1.101 netmask 0xffffff00 broadcast 10.0.1.255 media: IEEE 802.11 Wireless Ethernet autoselect mode 11a <mesh> status: running meshid mymesh channel 36 (5180 Mhz 11a) bssid 00:0b:6b:2d:dc:d8 regdomain ETSI country PT ecm authmode OPEN privacy OFF txpower 17 mcastrate 6 mgmtrate 6 scanvalid 60 wme burst bintval 1000 meshttl 31 meshpeering meshforward meshmetric AIRTIME meshpath HWMP hwmprootmode DISABLED hwmpmaxhops 31
Kui kõik on tehtud nii nagu peab, saab võrgus olevaid naaber mesh sõlmesid (naabriga on otseühendus) näha käsuga ifconfig wlan0 list sta .
$ ifconfig wlan0 list sta ADDR CHAN LOCAL PEER STATE RATE RSSI IDLE TXSEQ RXSEQ 00:0b:6b:2d:dc:d8 36 0 0 IDLE 0M 18.5 15 1 192 00:0b:6b:2d:db:ac 36 9827 a5b3 ESTAB 6M 14.0 0 2 28752 WME MESHCONF 00:0b:6b:2d:dd:17 36 afdb ab30 ESTAB 6M 19.0 0 5 25024 WME MESHCONF 00:0b:6b:87:1c:f0 36 1904 825c ESTAB 6M 6.0 0 30 192 WME MESHCONF
Esimesel real on kirjas enda masina liides. STATE veerg on kõige tähtsam. Et mesh sõlm oleks kätesaadav, peab ta rajama ühenduse teise sõlmega. Kui STATE all on midagi muud peale ESTAB , siis pole ühendust loodud. RATE näitab aga vahetatud pakettide arvu.
Kui vahetada pakette teiste sõlmedega, täidetakse ka ruutingu tabel ära. Näites on kasutatud täht topoloogiat, st kõik paketid läbivad keskset sõlme:
$ ifconfig wlan0 list mesh DEST NEXT HOP HOPS METRIC LIFETIME MSEQ FLAGS 00:0b:6b:2d:dd:17 00:0b:6b:2d:dc:d8 1 2842 5000 0 V 00:0b:6b:2d:dc:d8 00:0b:6b:2d:dc:d8 0 0 5000 0 V 00:0b:6b:2d:db:ac 00:0b:6b:2d:dc:d8 1 347 5000 0 V
- Mesh võrku on võimalik ka traadiga võrku sillata. bridge(4) man lehel on selle kohta mitmeid näiteid.
GNU/Linux ja Mobile Mesh
Mobile Mesh on avatud lähtekoodiga Linuxi põhine programmide ning protokollide kogum mis pakub mobiilse ad-hoc võrgu võimalust. Järgnevas näites on eeldatud, et kasutatavates seadmetes on vähemalt 2.2.x kerneliversioon.
- Esiteks tuleb panna kaart ad-hoc reziimi ning SSID'ks panna näiteks mobilemesh .
- Tiri alla ka Mobile Mesh tarball.
Kaustas, kus on tarball, sisesta root kasutaja alt:
tar -xvf <your_downloaded_mobilemesh> cd <your_mobilemesh_directory>
Järgi ./INSTALL juhiseid.
Kui kõik tehtud, tuleb seadistada mmrp (Mobile Mesh Routing Protocol). Muuta tuleb faili /etc/mobilemesh/mmrp.conf. Kindlasti tuleb üle kontrollida ka liidese nimi, tüüpiliselt nt wlan0, eth0 jne:
ifconfig wlan0 10.XXX.XXX.XXX netmask 255.255.255.255 broadcast 10.255.255.255
kus IP aadress (10.XXX.XXX.XXX) on vabal valikul kuid ei tohi olla duplikaat (sama mõne naabriga).
mmdiscover -i eth1 -z & mmrp \x{2013}z &
Sellega peaks asi jonksus olema. Kuid enne testimist tuleks eemaldada vaikimisi routing. See kindlustab, et Mobile Mesh domineerib routingu tabeli üle.
route del -net w.x.y.z netmask 255......0
Nüüd tuleks seda kõike korrata kõikide kasutatavate hostide peal. Ja ongi kõik!
Lüüsi seadmine välisvõrku
Nüüd kui on seatud mõned mesh seadmed, on aeg panna üks nendest tööle kui lüüs internetti, et kõik võrgus olevad seadmed saaksid interneti ligipääsu. Oletades, et ühel masinal on teine liides, kas siis traadita või traadiga, millel on juurdepääs internetile: /etc/mobilemesh/mmrp.conf tuleb defineerida meshi väline võrk:
external <ip address> <netmask> <metric>
kus <ip address> ja <netmask> määravad ära aadressid, millele antud seadmel on ligipääs ning mis on väljaspool mesh võrku.
external 0.0.0.0 255.255.255.0 7
Märkuseks: sellega öeldakse, et on väline võrk 0.0.0.0, aga mitte lüüs.
Nüüd tuleb ka mmrp le restart teha. Ja jällegi on kõik valmis!
Kasutatud kirjandus
http://wiki.freebsd.org/WifiMesh
http://en.wikipedia.org/wiki/IEEE_802.11s
http://www.oreillynet.com/pub/a/wireless/2004/01/22/wirelessmesh.html
http://www.mitre.org/work/tech_transfer/mobilemesh/
Koostaja
Artikli koostas Madis Vellamäe, D21.