Hi folks,
I don't know if this is common knowledge, but we have been experimenting with isolation in our mixed mode batman-adv network and got some interesting results we'd like to share.
Here's a blog post on this matter with related graphics: http://blog.altermundi.net/article/batman-adv-ap-mode-with-isolation-enabled...
Summary: Infrastrucutre nodes tend to "confuse" batman-adv. Every client connected to an ap will “think” that it is directly connected to every other client, which creates a mess in potential hops selection.
Turing isolation on in the AP solves the problem. Client nodes will no longer see OGMs from other clients and will correctly show their AP as next hop.
Would you say there are any bad side-effects to this approach?
Cheers, NicoEchániz
On 10/12/2012 12:13 PM, Nicolás Echániz wrote:
Here's a blog post on this matter with related graphics: http://blog.altermundi.net/article/batman-adv-ap-mode-with-isolation-enabled...
Summary: Infrastrucutre nodes tend to "confuse" batman-adv. Every client connected to an ap will “think” that it is directly connected to every other client, which creates a mess in potential hops selection.
Guess you have to better explain your setup if you want others to understand. The phrase "the networks uses mixed adhoc and infrastructure modes" is not self-explanatory.
Cheers, Marek
On 10/12/12 01:29, Marek Lindner wrote:
On 10/12/2012 12:13 PM, Nicolás Echániz wrote:
Here's a blog post on this matter with related graphics: http://blog.altermundi.net/article/batman-adv-ap-mode-with-isolation-enabled...
Summary: Infrastrucutre nodes tend to "confuse" batman-adv. Every client connected to an ap will “think” that it is directly connected to every other client, which creates a mess in potential hops selection.
Guess you have to better explain your setup if you want others to understand. The phrase "the networks uses mixed adhoc and infrastructure modes" is not self-explanatory.
will do:
Our nodes are mostly TP-Link MR3220 or WR842N with a second wifi interface connected by USB (usually WN722N).
These usb dongles use ath9k_htc which is stable and performant in infrastructure mode, but not so in adhoc. So until our dear ordex :) can get the time to squash whatever bugs are preventing the dongles from performing well in adhoc, the networks are using both adhoc and infrastructure. As a result, some links are adhoc and others are not.
The infrastructure links are the ones that show the behaviour described: all clients of an AP believe they are neighbors, and isolation so far seems to prevent this effectively.
The network in question covers 70% of a sparsely populated town and currently has 15 active nodes with links ranging from 0.1 to 3Km, plus a 16Km link to a neighboring city.
The images in the link provided help ilustrate the differences observed with and without isolation.
Is the setup clear enough now? or am I missing the point as to what is unclear? Please ask whatever needs to be clarified.
cheers, Nico.
On Fri, Oct 12, 2012 at 02:15:39 -0300, NicoEchániz wrote:
Is the setup clear enough now? or am I missing the point as to what is unclear? Please ask whatever needs to be clarified.
Hello Nicolás,
I think I got your point. First, you are talking about the "normal" AP isolation feature that you can enable in hostapd, right? Because in batman-adv we have our own (Distributed) AP-isolation but it has different effects and behaviours.
The behaviour is correct: OGMs are broadcast packets. In infrastructure mode, whatever broadcast packet a station sends gets to the AP which will re-broadcast it again. In this way every station gets it and from the batman-adv point of view it is like the packet was received directly from the other sta (the MAC addresses in the packet say so). Therefore you must enable ap-isolation in hostapd if you want batman-adv to behave as you expect.
Cheers,
On 10/12/2012 03:15 PM, Antonio Quartulli wrote:
The behaviour is correct: OGMs are broadcast packets. In infrastructure mode, whatever broadcast packet a station sends gets to the AP which will re-broadcast it again. In this way every station gets it and from the batman-adv point of view it is like the packet was received directly from the other sta (the MAC addresses in the packet say so). Therefore you must enable ap-isolation in hostapd if you want batman-adv to behave as you expect.
I'd like to stress the point that batman-adv is not "confused" as you describe it in your blog post. Antonio explained it already: In infrastructure mode all station _are_ neighbors.
Cheers, Marek
On 10/12/12 07:18, Marek Lindner wrote:
On 10/12/2012 03:15 PM, Antonio Quartulli wrote:
The behaviour is correct: OGMs are broadcast packets. In infrastructure mode, whatever broadcast packet a station sends gets to the AP which will re-broadcast it again. In this way every station gets it and from the batman-adv point of view it is like the packet was received directly from the other sta (the MAC addresses in the packet say so). Therefore you must enable ap-isolation in hostapd if you want batman-adv to behave as you expect.
I'd like to stress the point that batman-adv is not "confused" as you describe it in your blog post. Antonio explained it already: In infrastructure mode all station _are_ neighbors.
Yes, I understand that, thus the use of quotes, but i'll try to find more appropriate wording; it's the human administrator watching originator tables that actually gets confused ;)
On 10/12/12 04:15, Antonio Quartulli wrote:
On Fri, Oct 12, 2012 at 02:15:39 -0300, NicoEchániz wrote:
Is the setup clear enough now? or am I missing the point as to what is unclear? Please ask whatever needs to be clarified.
Hello Nicolás,
I think I got your point. First, you are talking about the "normal" AP isolation feature that you can enable in hostapd, right? Because in batman-adv we have our own (Distributed) AP-isolation but it has different effects and behaviours.
exactly, it is the "normal" AP isolation feature.
The behaviour is correct: OGMs are broadcast packets. In infrastructure mode, whatever broadcast packet a station sends gets to the AP which will re-broadcast it again. In this way every station gets it and from the batman-adv point of view it is like the packet was received directly from the other sta (the MAC addresses in the packet say so). Therefore you must enable ap-isolation in hostapd if you want batman-adv to behave as you expect.
Does this mean that with isolation turned off stations will try to communincate directly if they can? Say, if we have two stations that are far from the AP but very near each other, will they actually send (unicast) packets to each other without going through the AP at all? If so, activating isolation might be eliminating real possible paths, all for the sake of sane originator tables.
I believe our mixed setup is not standard practice, that's why I wanted to share this real-world results.
cheers, NicoEchániz
On Fri, Oct 12, 2012 at 09:54:53AM -0300, NicoEchániz wrote:
On 10/12/12 04:15, Antonio Quartulli wrote:
On Fri, Oct 12, 2012 at 02:15:39 -0300, NicoEchániz wrote:
Is the setup clear enough now? or am I missing the point as to what is unclear? Please ask whatever needs to be clarified.
Hello Nicolás,
I think I got your point. First, you are talking about the "normal" AP isolation feature that you can enable in hostapd, right? Because in batman-adv we have our own (Distributed) AP-isolation but it has different effects and behaviours.
exactly, it is the "normal" AP isolation feature.
The behaviour is correct: OGMs are broadcast packets. In infrastructure mode, whatever broadcast packet a station sends gets to the AP which will re-broadcast it again. In this way every station gets it and from the batman-adv point of view it is like the packet was received directly from the other sta (the MAC addresses in the packet say so). Therefore you must enable ap-isolation in hostapd if you want batman-adv to behave as you expect.
Does this mean that with isolation turned off stations will try to communincate directly if they can? Say, if we have two stations that are far from the AP but very near each other, will they actually send (unicast) packets to each other without going through the AP at all? If so, activating isolation might be eliminating real possible paths, all for the sake of sane originator tables.
First, this is not related to batman-adv. We are discussing something "below" the batman-adv layer. In infrastructure mode unicast packet from station A to station B will pass through the AP. This behaviour has been changed by 802.11e and (T)DLS (you can have a look at the 802.11 standard if you want more details about that). But, again, this is not related to batman-adv.
If you use infrastructure mode without AP isolation, batman-adv will consider all the other STAs as direct neighbours. But, due to infrastructure mode, packets from STA1 to STA2 will always pass through the AP. This is also why I would suggest to keep AP-isolation ON if you want to run batman-adv on the stations and on the AP, but then it depends on what you want to get.
I believe our mixed setup is not standard practice, that's why I wanted to share this real-world results.
not standard, but common (there are many -closed- drivers that work better in infrastructure than adhoc mode. but this is normally used in PtP links only due to asymmetry problems on the link (see 802.11 standard for more :-))
Cheers!
On 10/12/12 10:04, Antonio Quartulli wrote:
On Fri, Oct 12, 2012 at 09:54:53AM -0300, NicoEchániz wrote:
On 10/12/12 04:15, Antonio Quartulli wrote:
If you use infrastructure mode without AP isolation, batman-adv will consider all the other STAs as direct neighbours. But, due to infrastructure mode, packets from STA1 to STA2 will always pass through the AP. This is also why I would suggest to keep AP-isolation ON if you want to run batman-adv on the stations and on the AP, but then it depends on what you want to get.
Well that was my conclusion, but as I didn't find this "problem" mentioned anywhere I thought I'd share on the list. It's good to know that this is your suggestion also. Maybe it would be worth mentioning this somewhere in the Wiki, for others with a similar setup.
cheers
b.a.t.m.a.n@lists.open-mesh.org