public inbox for b.a.t.m.a.n@lists.open-mesh.org
 help / color / mirror / Atom feed
From: johnzeng <johnzeng2013@yahoo.com>
To: Simon Wunderlich <sw@simonwunderlich.de>
Cc: b.a.t.m.a.n@lists.open-mesh.org,
	"Sven Eckelmann" <sven@narfation.org>,
	"Martin Hundebøll" <martin@hundeboll.net>
Subject: Re: [B.A.T.M.A.N.] i have a question ? How many relay nodes can be supported at NetworkCoding ( mtu 1546 ) .
Date: Wed, 09 Nov 2016 11:56:36 +0800	[thread overview]
Message-ID: <58229E74.6000804@yahoo.com> (raw)
In-Reply-To: <58229D06.8030207@yahoo.com>


>
> Hello Dear Simon:

                                   Sorry , *there is a clerical error , 
i updated for it ( layer2 --> layer3 **second line)
*
>
>                               How will i do via batctl ? Do you mean 
> that batman-adv can support it by default  at layer 2 ?
>
>                               if Relay mode is based on Layer 3 ( 
> route or Nat ) , it will be very complex and Infeasible at large wifi 
> network
>
>                               let's assume  the environment , node A  
> can communicate with node B directly  via wifi and  node B can 
> communicate with node C directly via wifi.
>
>                               but node A can't communicate with node C 
> directly via wifi ( master reason : Weak signal)  ,
>
>                              Maybe Batman-adv can forward full 
> Broadcast packet to next nodeC via nodeB , but if node A will build 
> tcp connection between node A and nodeC ,
>
>                              I can understand network coding , it will 
> be same as proxy or Intermediator at Layer 2 ,
>
>
>                             Your meaning :  Batman-adv can build 
> Similar mechanism ( Intermediator )  via intermediator , it wil be  
> relay based real application packet ( not relay based Broadcast packet)
>
>
>                              Thanks
>
>                              Best Regards
>
>                              TIger
>> On Tuesday, November 8, 2016 11:55:14 AM CET johnzeng via B.A.T.M.A.N 
>> wrote:
>>> Hello Dear Sven and Martin:
>>>
>>>                                                Thanks for your 
>>> advisement
>>>
>>>                                                I hope to aviod 
>>> Excavation
>>> of underground pipeline in the smart community or Park .
>>>
>>>                                                if Batman-adv can 
>>> support
>>> smart relay ( networking code ) at mesh network really , and it will be
>>> very valuable for us .
>> Hi Johnzeng,
>>
>> why are you insisting on using network coding? Batman-adv can do 
>> relay without
>> network coding enabled, this is part of the basic mesh technology. 
>> Network
>> Coding (or CATWOMAN) was research project/proof of concept 
>> implementation
>> which isn't actively maintained right now. But from what I 
>> understood, your
>> setups can be supported with "standard" batman-adv mesh.
>>
>> Thanks,
>>      Simon
>>
>>> i think one of  core
>>> valuable point is  relay mode   and   Client roaming
>>>
>>>                                                i prepare to build 
>>> more ap
>>> evironment and test for the part  later
>>>
>>>
>>>
>>>
>>> As market competition intensifies,
>>>
>>>                                                the gap between similar
>>> productsis getting smaller and smaller,
>>>
>>>                                                likewise the 
>>> evolution of
>>> growing homogenization trends within the industry.
>>>
>>>
>>>
>>>                                                i hope we can find
>>> valuable point for Blue Ocean each other .
>>>
>>>                                                if you have some 
>>> different
>>> point , and I would be happy to be the first and build win-win mode 
>>> each
>>> other .
>>>
>>>
>>>                                                Best Regards
>>>
>>>                                                 Tiger
>>>
>>>> Hi,
>>>>
>>>>> When i compile the part , whether i need make
>>>>> CONFIG_BATMAN_ADV_BATMAN_V=y at batman-adv-2016.2
>>>> 2016.2 is "old". And BATMAN_V has nothing to do with network coding.
>>>>
>>>>> i read some detail about NetworkCoding , my understanding :
>>>>>
>>>>> every relay node will detects neighbors packet at promisc mode and
>>>>> combine these packet into a single transmission ,
>>>> I think Martin can help here. He also provided some documentation:
>>>>
>>>> * https://www.open-mesh.org/projects/batman-adv/wiki/NetworkCoding
>>>> *
>>>> https://www.open-mesh.org/projects/batman-adv/wiki/NetworkCoding-technica 
>>>>
>>>> l *
>>>> https://downloads.open-mesh.org/batman/papers/batman-adv_network_coding.p 
>>>>
>>>> df *
>>>> https://vbn.aau.dk/da/publications/catwoman(214ee21a-e786-495d-85c9-3efac 
>>>>
>>>> 4718ead).html *
>>>> https://downloads.open-mesh.org/batman/misc/wbmv4-network_coding.avi
>>>>
>>>> And it will not try to forward each packet is overheard. Instead it
>>>> will try to find coding opportunities which it then uses to forward
>>>> its own packets in less transmissions (by using packets which the
>>>> other nodes should already know).
>>>>
>>>>> batctl nc 1
>>>>> echo 1 > /sys/class/net/bat0/mesh/network_coding
>>>>> ip link set dev wlan0 promisc on
>>>>> ip link set dev wlan0 mtu 1546
>>>> Your cards/drivers will most likely not even support promiscuous mode.
>>>> Some of them require to have an monitor mode interface at the same 
>>>> time
>>>> and
>>>> some of them will simply not work.
>>>>
>>>> You can test it by simply checking what tcpdump is showing you on the
>>>> underlying interface (wlan0). If it doesn't show you the packets 
>>>> between
>>>> two other nodes then promiscuous mode is not working for you.
>>>>
>>>> The feature itself is not used very often (Martin, please correct me
>>>> here).
>>>> It is not enabled by default because it is not making things 
>>>> "better" all
>>>> the time [1]. So it is also not tested as much as other components in
>>>> batman-adv and you should think first if it is really useful for your
>>>> scenario/HW. I knew at least from some Freifunk communities played 
>>>> around
>>>> when it was enabled by default but had to revert when they experienced
>>>> "non
>>>> functional mesh links" (nothing more about it is known to me - sorry
>>>> Martin).>
>>>>> if i send a packet from host A to hostC via hostB, whether hostB will
>>>>> open relay mode at layer2 .
>>>> I completely failed to parse this.
>>>>
>>>> batman-adv will send your data from hostA to hostC via hostB when 
>>>> the TQ
>>>> value for the link "from hostA to hostC via hostB" is higher than 
>>>> the TQ
>>>> value for the link "hostA to hostC directly". This has nothing to 
>>>> do with
>>>> network coding and is a standard feature of batman-adv (this is 
>>>> actually
>>>> what it is about).
>>>>
>>>> network coding can only (when lucky) try to combine some packets - but
>>>> this will only work when promiscuous mode is actually working and the
>>>> nodes can overhear packets. Otherwise it will (in theory - Martin 
>>>> please
>>>> correct me if I overlooked a safety mechanism) just create a lot of 
>>>> coded
>>>> packets which cannot be decoded anymore. This seems to be especially
>>>> problematic when some nodes are for example 2x2 MIMO devices and 
>>>> others
>>>> are 3x3. At least this would be a good way to let the 2x2 miss 
>>>> important
>>>> packets when the 3x3 devices talk between each other.
>>>>
>>>> I would even guess that things like dynamic transmission power 
>>>> would make
>>>> overhearing packets also more problematic.
>>>>
>>>>> but i have a question ? How many relay nodes can be supported at
>>>>> NetworkCoding ( mtu 1546 ) .
>>>> I am not sure what you are asking here. The implementation in 
>>>> batman-adv
>>>> can combine two packets into one. And this combining of these two 
>>>> packets
>>>> is done by exact one relay node. The decoding is done by the two 
>>>> receiving
>>>> nodes. What you can build with it is been shown in the 
>>>> documentation from
>>>> Martin. The network coding used here is therefore done by a relay 
>>>> node and
>>>> its neighbors. But there can be multiple relay nodes in the mesh doing
>>>> network coding at the same time.
>>>>
>>>>
>>>> I personally haven't used network coding with batman-adv. But since 
>>>> you've
>>>> created multiple new threads on the mailing list [1,2,3,4] (beside the
>>>> private mail *grml*) - here is at least a pseudo-answer.
>>>>
>>>> Kind regards,
>>>> Sven
>>>>
>>>> [1]
>>>> https://www.open-mesh.org/projects/batman-adv/wiki/NetworkCoding#Drawback 
>>>>
>>>> s [2]
>>>> https://lists.open-mesh.org/pipermail/b.a.t.m.a.n/2016-November/016586.ht 
>>>>
>>>> ml [3]
>>>> https://lists.open-mesh.org/pipermail/b.a.t.m.a.n/2016-November/016587.ht 
>>>>
>>>> ml [4]
>>>> https://lists.open-mesh.org/pipermail/b.a.t.m.a.n/2016-November/016588.ht 
>>>>
>>>> ml [5]
>>>> https://lists.open-mesh.org/pipermail/b.a.t.m.a.n/2016-November/016592.ht 
>>>>
>>>> ml
>>> End of encapsulated message
>


  reply	other threads:[~2016-11-09  3:56 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-04 12:30 i have a question ? How many relay nodes can be supported at NetworkCoding ( mtu 1546 ) johnzeng
2016-11-04 13:33 ` johnzeng
2016-11-05 14:28 ` [B.A.T.M.A.N.] " Sven Eckelmann
2016-11-07  7:37   ` Martin Hundebøll
2016-11-08 10:54   ` johnzeng
     [not found]   ` <mailman.63.1478602511.678.b.a.t.m.a.n@lists.open-mesh.org>
2016-11-08 19:14     ` [B.A.T.M.A.N.] " Simon Wunderlich
2016-11-09  3:50       ` johnzeng
2016-11-09  3:56         ` johnzeng [this message]
     [not found]         ` <mailman.87.1478663809.678.b.a.t.m.a.n@lists.open-mesh.org>
2016-11-09  5:33           ` Linus Lüssing
     [not found]       ` <mailman.86.1478663442.678.b.a.t.m.a.n@lists.open-mesh.org>
2016-11-09  5:28         ` Linus Lüssing
2016-11-09  5:59           ` johnzeng

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=58229E74.6000804@yahoo.com \
    --to=johnzeng2013@yahoo.com \
    --cc=b.a.t.m.a.n@lists.open-mesh.org \
    --cc=martin@hundeboll.net \
    --cc=sven@narfation.org \
    --cc=sw@simonwunderlich.de \
    /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