All of lore.kernel.org
 help / color / mirror / Atom feed
* [B.A.T.M.A.N.] Multiple border gateways between bat-networks
@ 2013-03-19 20:55 Gui Iribarren
  2013-03-20 11:35 ` Andrew Lunn
  0 siblings, 1 reply; 3+ messages in thread
From: Gui Iribarren @ 2013-03-19 20:55 UTC (permalink / raw)
  To: The list for a Better Approach To Mobile Ad-hoc Networking

[-- Attachment #1: Type: text/plain, Size: 2239 bytes --]

Hey folks!
today we bring you a riddle to start the week
/me grins...

First, some clues:
http://comments.gmane.org/gmane.org.freifunk.batman/6603
http://www.open-mesh.org/projects/open-mesh/wiki/FAQ#How-do-I-announce-IP-subnets-using-batman-adv

now, given the attached diagram .png

  * the description given in the wiki still applies, i.e. A, B, C... 
nodes run your favourite layer3 dynamic routing protocol, and all nodes 
run batman, in segmented (colored) clouds = subnets.
  * i am one of the clients connected to F
  * in the blue cloud, there's one preferred gw_mode=server which is D 
(or E for that matter, but certainly not F or G)
  * D gave me a DHCP OFFER and since then is my default gw, which i use 
to access the internet. I have no other routes setup.
  * the violet link G <-> H although it looks "long" is in fact a superb 
link, 0% packet loss, high bw. F <-> G also works great.

Now, i want to send a file to H. Visibly, the optimal route would be F 
-> G -> H.
BUT, i only have a default gw, which is D. I pass the packet to D. 
Thanks to the layer3 routing protocol, D knows that both E and G have 
access to the red network.  However, E is closer so it relays the packet 
there, and at the same time ICMP-REDIRECTs me saying "hey, in order to 
get to the red network, you don't need to send packets to me; save 
yourself a hop and use E directly"
Great, so now i get a new temporary routing entry which is sub-optimal, 
since my traffic will go all over 5 hops, instead of taking the optimal 
F-G-H

Now the catchy question: Is there any way for my traffic to find the 
optimal path, in this scenario?

Spoiler: I get the feeling the answer is "no", since D is giving me the 
optimal path *according to D perspective*, and there's no way to for D 
to understand my perspective.
So... it seems to me that, even with this mix of layer2 and 3 described 
in the wiki, the solution cannot currently handle traffic in the most 
optimal way, inside networks that have more than one border gateway with 
another network.

But asking never hurts!

Bonus question: If my reasoning is correct, and my conclusion is sadly 
true... are there any plans to address this issue (/corner case?), and how?

Have a nice week!

Gui

[-- Attachment #2: quagga_integration_problem.png --]
[-- Type: image/png, Size: 105091 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [B.A.T.M.A.N.] Multiple border gateways between bat-networks
  2013-03-19 20:55 [B.A.T.M.A.N.] Multiple border gateways between bat-networks Gui Iribarren
@ 2013-03-20 11:35 ` Andrew Lunn
  2013-03-20 13:44   ` NicoEchániz
  0 siblings, 1 reply; 3+ messages in thread
From: Andrew Lunn @ 2013-03-20 11:35 UTC (permalink / raw)
  To: The list for a Better Approach To Mobile Ad-hoc Networking

On Tue, Mar 19, 2013 at 09:55:39PM +0100, Gui Iribarren wrote:
> Hey folks!
> today we bring you a riddle to start the week
> /me grins...
> 
> First, some clues:
> http://comments.gmane.org/gmane.org.freifunk.batman/6603
> http://www.open-mesh.org/projects/open-mesh/wiki/FAQ#How-do-I-announce-IP-subnets-using-batman-adv
> 
> now, given the attached diagram .png
> 
>  * the description given in the wiki still applies, i.e. A, B, C...
> nodes run your favourite layer3 dynamic routing protocol, and all
> nodes run batman, in segmented (colored) clouds = subnets.
>  * i am one of the clients connected to F
>  * in the blue cloud, there's one preferred gw_mode=server which is
> D (or E for that matter, but certainly not F or G)
>  * D gave me a DHCP OFFER and since then is my default gw, which i
> use to access the internet. I have no other routes setup.
>  * the violet link G <-> H although it looks "long" is in fact a
> superb link, 0% packet loss, high bw. F <-> G also works great.
> 
> Now, i want to send a file to H. Visibly, the optimal route would be
> F -> G -> H.
> BUT, i only have a default gw, which is D. I pass the packet to D.
> Thanks to the layer3 routing protocol, D knows that both E and G
> have access to the red network.  However, E is closer so it relays
> the packet there,

Hi Gui

So D, E, G and H are L3 routers. I'm assuming they all know of each
other in terms of L3 routing protocol. They are all speaking OSPF or
something.

At L3, there are two sensible routes F->E->H and F->G->H. Both are two
L3 hops, so if you are going on plain number of hops, you have a 50/50
chance of taking G->H. 

However, OSPF is not really hop based. You assign costs to each
link. Higher bandwidth links have lower cost. OSPF will optimize the
cost. So if the total cost of F-G->H is lower than F->E->H, it will
take that route.

Set the cost correct in the L3 routing protocol.

    Andrew

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [B.A.T.M.A.N.] Multiple border gateways between bat-networks
  2013-03-20 11:35 ` Andrew Lunn
@ 2013-03-20 13:44   ` NicoEchániz
  0 siblings, 0 replies; 3+ messages in thread
From: NicoEchániz @ 2013-03-20 13:44 UTC (permalink / raw)
  To: The list for a Better Approach To Mobile Ad-hoc Networking

On 03/20/2013 08:35 AM, Andrew Lunn wrote:
> On Tue, Mar 19, 2013 at 09:55:39PM +0100, Gui Iribarren wrote:
>> Hey folks!
>> today we bring you a riddle to start the week
>> /me grins...
>>
>> First, some clues:
>> http://comments.gmane.org/gmane.org.freifunk.batman/6603
>> http://www.open-mesh.org/projects/open-mesh/wiki/FAQ#How-do-I-announce-IP-subnets-using-batman-adv
>>
>> now, given the attached diagram .png
>>
>>  * the description given in the wiki still applies, i.e. A, B, C...
>> nodes run your favourite layer3 dynamic routing protocol, and all
>> nodes run batman, in segmented (colored) clouds = subnets.
>>  * i am one of the clients connected to F
>>  * in the blue cloud, there's one preferred gw_mode=server which is
>> D (or E for that matter, but certainly not F or G)
>>  * D gave me a DHCP OFFER and since then is my default gw, which i
>> use to access the internet. I have no other routes setup.
>>  * the violet link G <-> H although it looks "long" is in fact a
>> superb link, 0% packet loss, high bw. F <-> G also works great.
>>
>> Now, i want to send a file to H. Visibly, the optimal route would be
>> F -> G -> H.
>> BUT, i only have a default gw, which is D. I pass the packet to D.
>> Thanks to the layer3 routing protocol, D knows that both E and G
>> have access to the red network.  However, E is closer so it relays
>> the packet there,
> 
> Hi Gui
> 
> So D, E, G and H are L3 routers. I'm assuming they all know of each
> other in terms of L3 routing protocol. They are all speaking OSPF or
> something.
> 
> At L3, there are two sensible routes F->E->H and F->G->H. Both are two
> L3 hops, so if you are going on plain number of hops, you have a 50/50
> chance of taking G->H. 
> 
> However, OSPF is not really hop based. You assign costs to each
> link. Higher bandwidth links have lower cost. OSPF will optimize the
> cost. So if the total cost of F-G->H is lower than F->E->H, it will
> take that route.
> 
> Set the cost correct in the L3 routing protocol.

Hi andrew,

AFAIK, this cost you set at the L3 protocol level won't be accurate for
all members of the network. It's a matter of perspective. From the
perspective of the gw, one border gw might be better to get to another
segment (less real -wifi- hops involved), and this will be OK for
clients that are near this gw.
But if you are connecting to this gw from a distant node, the preferred
border gw will probably be a bad choice for you and you won't even get
the 50/50 chance because of the different cost assigned.

We found this to be a tricky problem and we are wondering how other
networks that implement batman-adv as their main dynamic routing
protocol are coping with it.

The provided graphic does not really stress the problem. With linear
segments "touching" at both ends it gets critical. A client connected
near one end might be sending traffic to the neighboring segment through
the other end, traversing all the network just because the wrong
decision is being made as to what's the best border gw for that
particular client to that destination. This could be a common scenario
in the DeltaLibre network, that is composed of many linear segments
along the rivers.


Cheers,
NicoEchániz













^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-03-20 13:44 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-03-19 20:55 [B.A.T.M.A.N.] Multiple border gateways between bat-networks Gui Iribarren
2013-03-20 11:35 ` Andrew Lunn
2013-03-20 13:44   ` NicoEchániz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.