Hi [yet] again!
Can someone detail how BATMAN routes?
For example if I have nodes with IPs like: 5.255.0.1 5.255.0.2 5.255.0.3 etc
I see that BATMAN makes a tunnel to the gateway and then routes traffic via the 169.254 gate0 subnet
Does this mean that all outgoing from the node should be NATed? or is it possible for the upstream node(s) to ping the node via its true IP address (5.255.XXX.XXX) ?
thanks again,
Derek
On Sunday 23 November 2008 00:20:55 Derek C wrote:
I see that BATMAN makes a tunnel to the gateway and then routes traffic via the 169.254 gate0 subnet
Does this mean that all outgoing from the node should be NATed? or is it possible for the upstream node(s) to ping the node via its true IP address (5.255.XXX.XXX) ?
The tunnel is used for internet traffic only. Within the mesh you can use the mesh ip addresses.
Regards, Marek
Hi Marek,
Does this mean that the mesh nodes cannot ping all the other nodes? This is if there is no routing to allow the nodes talk to "far-away" nodes not within their own AdHoc single-hop network?
thanks,
Derek
On Sat, November 22, 2008 4:35 pm, Marek Lindner wrote:
On Sunday 23 November 2008 00:20:55 Derek C wrote:
I see that BATMAN makes a tunnel to the gateway and then routes traffic via the 169.254 gate0 subnet
Does this mean that all outgoing from the node should be NATed? or is it possible for the upstream node(s) to ping the node via its true IP address (5.255.XXX.XXX) ?
The tunnel is used for internet traffic only. Within the mesh you can use the mesh ip addresses.
Regards, Marek
B.A.T.M.A.N mailing list B.A.T.M.A.N@open-mesh.net https://list.open-mesh.net/mm/listinfo/b.a.t.m.a.n
On Sunday 23 November 2008 05:05:36 Derek C wrote:
Does this mean that the mesh nodes cannot ping all the other nodes? This is if there is no routing to allow the nodes talk to "far-away" nodes not within their own AdHoc single-hop network?
May be I was not clear enough: * You can ping every batman node in range. * Too far away nodes (out of range) obviously can't be pinged. * If you have multiple subnetworks which could ping each other but are routed differently you just have to make sure the routing is ok. Using HNA is one possible solution.
Does this answer you question ? Please give a sample scenario if not.
Regards, Marek
Hey,
On Sun, Nov 23, 2008 at 11:37:10AM +0800, Marek Lindner wrote:
On Sunday 23 November 2008 05:05:36 Derek C wrote:
Does this mean that the mesh nodes cannot ping all the other nodes? This is if there is no routing to allow the nodes talk to "far-away" nodes not within their own AdHoc single-hop network?
May be I was not clear enough:
- You can ping every batman node in range.
- Too far away nodes (out of range) obviously can't be pinged.
- If you have multiple subnetworks which could ping each other but are routed
differently you just have to make sure the routing is ok. Using HNA is one possible solution.
just a note so we don't confuse the terms:
Marek means with "range" where the communication can practically succeed, even over multiple hops. As you have some probablity to lose packets on each hop, the communication becomes "practically" unusable over very long distances, e.g. >10 hops (depending on your network setup and environment ...). Note that this range is not the single-hop range.
regards, Simon
Hi guys,
How does the routing work for inter-node communications for > 1 hop neighbors?
If the gate0 tunnel is the default route for Internet communications how does a node know how to talk to a node two hops (or more) away (that doesn't go though the gate0 tunnel)?
This is the bit I don't understand - I thought that range mentioned by Marek did mean radio range for local (one hop) neighbors.
I can understand how it works with OLSRd because each node has a big routing table but I'm still confused about how BATMAN does it
Derek
On Sun, November 23, 2008 12:16 pm, Simon Wunderlich wrote:
Hey,
On Sun, Nov 23, 2008 at 11:37:10AM +0800, Marek Lindner wrote:
On Sunday 23 November 2008 05:05:36 Derek C wrote:
Does this mean that the mesh nodes cannot ping all the other nodes? This is if there is no routing to allow the nodes talk to "far-away" nodes not within their own AdHoc single-hop network?
May be I was not clear enough:
- You can ping every batman node in range.
- Too far away nodes (out of range) obviously can't be pinged.
- If you have multiple subnetworks which could ping each other but are
routed differently you just have to make sure the routing is ok. Using HNA is one possible solution.
just a note so we don't confuse the terms:
Marek means with "range" where the communication can practically succeed, even over multiple hops. As you have some probablity to lose packets on each hop, the communication becomes "practically" unusable over very long distances, e.g. >10 hops (depending on your network setup and environment ...). Note that this range is not the single-hop range.
regards, Simon _______________________________________________ B.A.T.M.A.N mailing list B.A.T.M.A.N@open-mesh.net https://list.open-mesh.net/mm/listinfo/b.a.t.m.a.n
Hey,
How does the routing work for inter-node communications for > 1 hop neighbors?
If the gate0 tunnel is the default route for Internet communications how does a node know how to talk to a node two hops (or more) away (that doesn't go though the gate0 tunnel)?
I can understand how it works with OLSRd because each node has a big routing table but I'm still confused about how BATMAN does it
Batman also has a "big" routing table - nothing is different to OLSR (in this aspect). To get information about the routing tables read here: https://dev.open-mesh.net/batman/wiki/RoutingVodoo
The major difference to OLSR is that batman does not know every single step towards the final node. Consider this example:
source node -> neighbour1 -> neighbour2 -> destination
The source node will have a routing entry for the destination in its routing table which says "use neighbour1 as next hop". In that very moment the source node does not know how neighbour1 will route the packets. It simply assumes that neighbour1 knows the following step. Once the packet arrives at neighbour1 it will get forwarded according to the routing table of neighbour1 until it arrives neighbour2 and then the destination.
Why does it work that way ? We think its impossible to keep all nodes of the network in sync about all routing changes between all the nodes. If some nodes are out of sync you will encounter routing loops. Furthermore, it does not make sense to know the whole path because every node can send the packets to its neighbours only. Once the packet leaves the host it can't be influenced anymore. Your neighbour may have a totally different view regarding the routing and will send the packet into another direction. Neighbour2 even does not know what neighbour1 considered being the best route.
This is the bit I don't understand - I thought that range mentioned by Marek did mean radio range for local (one hop) neighbors.
Ok, thanks Simon for clarifying that. :-)
Regards, Marek
b.a.t.m.a.n@lists.open-mesh.org