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