public inbox for b.a.t.m.a.n@lists.open-mesh.org
 help / color / mirror / Atom feed
From: liu <liudows@aliyun.com>
To: b.a.t.m.a.n@lists.open-mesh.org
Subject: Re: [B.A.T.M.A.N.] how to make IP layer handle the change of network topology
Date: Fri, 08 Aug 2014 19:10:39 +0800	[thread overview]
Message-ID: <53E4B02F.2040506@aliyun.com> (raw)
In-Reply-To: <201408071032.05730.sw@simonwunderlich.de>

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

Thanks for reply. I have tried to fix this problem followed by Simon's 
guide.  Unfortunately It stil doesn't work.I draw a pciture named 
'topo.jpg' in the  attachment to describe my situation.

Gateway B and C are wired to router 192.168.1.1 through their 'WAN' 
interface. They are in the same LAN. 'bat0' and 'eth0' are bridged by 
'br-lan' interface, and are assigned a mesh subnet IP address '10.130.1.x'.

Client A connected to B and C by mesh network. 'bat0' and 'wan' is 
bridged by 'br-wan' in Client A. 'br-wan' is assigned a subnet IP 
address by DHCP server in B or C, for example '10.130.1.138'.

Now,  client A choose B as it's gateway, and it's routing table is :
root@dragino2-71e100:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref Use   
Iface
default         10.130.1.20     0.0.0.0         UG       0 0 0     br-wan
10.10.1.0        *              255.255.255.0   U        0 0 0     wlan0-1
10.130.1.0       *              255.255.255.0   U        0 0 0     br-lan
10.130.1.0       *              255.255.255.0   U        0 0 0     br-wan

Now, I can ping to the  router ' 192.168.1.1'  from A.

Then, shuting down the node B. In the routing table of A,  node B is 
still the default gateway. A can't ping to '192.168.1.1' now.

The key of this issue is client A and the internet router are not in the 
same network segment. So, the default gateway of A is B or C, but not 
the router. If B is lost, A can't change it's default gateway to C. In 
another words, it's not a self-healing network in this situation.


Best regards,
liu



在 2014/8/7 16:32, Simon Wunderlich 写道:
> Bah, i hit the wrong button before finishing the mail :)
>
>> Hi liu,
>>
>>> Hello, eveyone, I am learning the batman.adv recently.
>>>
>>> We know that batman.adv works on layer 2. When the network topology
>>> change, batman.adv can know this change and handle it. But the IP layer
>>> doesn't know that. How to make IP layer handle the change of network
>>> topology?
>> The IP layer does not need to know - to the upper layers, a batman-adv
>> network appears to be a network where all nodes are just one hop away -
>> although they might be more far away in practice. So if you insert an IP
>> packet, it will get transported automatically to the right destination
>> (provided batman-adv knows where that is), even over multiple hops.
>>
>>> For example, I have 3 mesh nodes, client node A, gateway node B and
>>> geteway node C. A connects  to internet via B. Then I shutdown B. I
>>> guess A will switch to C as it's gateway node automatically. But it's
>>> not so. A continuously send the ARP request packet to search the MAC
>>> address of B. The default gateway is still B, not C.
>> This will only work if the gateways IP stays the same. This could work like
>> that:
>>   * connect B and C to the same LAN, and enable bridge loop avoidance in
>> batman-adv
>>   * This LAN should have only one router to the internet (e.g. your ADSL
>> modem).
>>   * bridge the batman-interface bat0 and you Ethernet interface eth0 using a
>> linux bridge device
> Please see our quick start guide for more information on the topic:
>
> http://www.open-mesh.org/projects/batman-adv/wiki/Quick-start-guide#Mixing-
> non-BATMAN-systems-with-batman-adv
>
>>> So, how should I do to make the IP layer be aware of that the gateway has
>>> swithed to another one?
> By using bridges, you always send to the same gateway in your LAN, which does
> not change IP or MAC addresses - so your clients don't need to be aware of the
> topology change.
>
> Cheers,
>       Simon
>


[-- Attachment #2: topo.jpg --]
[-- Type: image/jpeg, Size: 105459 bytes --]

  reply	other threads:[~2014-08-08 11:10 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-07  7:49 [B.A.T.M.A.N.] how to make IP layer handle the change of network topology liudows
2014-08-07  8:24 ` Antonio Quartulli
2014-08-07  8:57   ` Antonio Quartulli
2014-08-07  8:29 ` Simon Wunderlich
2014-08-07  8:32   ` Simon Wunderlich
2014-08-08 11:10     ` liu [this message]
2014-08-08 12:20       ` Simon Wunderlich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=53E4B02F.2040506@aliyun.com \
    --to=liudows@aliyun.com \
    --cc=b.a.t.m.a.n@lists.open-mesh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox