* i have a question ? How many relay nodes can be supported at NetworkCoding ( mtu 1546 ) . @ 2016-11-04 12:30 johnzeng 2016-11-04 13:33 ` johnzeng 2016-11-05 14:28 ` [B.A.T.M.A.N.] " Sven Eckelmann 0 siblings, 2 replies; 11+ messages in thread From: johnzeng @ 2016-11-04 12:30 UTC (permalink / raw) To: The list for a Better Approach To Mobile Ad-hoc Networking Hello Dear Sir : 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 , and every relay mode will keep some usaful ( Ingoing: c8:3a:35:c9:ce:71 .... ) and they will add some encoded information into packet ( will send destination ) So we will run the part --- ip link set dev wlan0 mtu 1546 ( more than 1532 ) but i have a question ? How many relay nodes can be supported at NetworkCoding ( mtu 1546 ) . Thanks Tiger batctl nn Node: c8:3a:35:c9:ce:71 Ingoing: c8:3a:35:c9:ce:71 Outgoing: c8:3a:35:c9:ce:71 [root@alarmpi ~]# batctl nc enabled [root@alarmpi ~]# batctl statistics tx: 18 tx_bytes: 2076 tx_dropped: 32 rx: 767 rx_bytes: 33993 forward: 0 forward_bytes: 0 mgmt_tx: 7956 mgmt_tx_bytes: 542012 mgmt_rx: 3132 mgmt_rx_bytes: 222572 frag_tx: 0 frag_tx_bytes: 0 frag_rx: 0 frag_rx_bytes: 0 frag_fwd: 0 frag_fwd_bytes: 0 tt_request_tx: 0 tt_request_rx: 1 tt_response_tx: 1 tt_response_rx: 0 tt_roam_adv_tx: 0 tt_roam_adv_rx: 0 dat_get_tx: 2 dat_get_rx: 0 dat_put_tx: 0 dat_put_rx: 4 dat_cached_reply_tx: 0 nc_code: 0 nc_code_bytes: 0 nc_recode: 0 nc_recode_bytes: 0 nc_buffer: 17 nc_decode: 0 nc_decode_bytes: 0 nc_decode_failed: 0 nc_sniffed: 0 ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: i have a question ? How many relay nodes can be supported at NetworkCoding ( mtu 1546 ) . 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 1 sibling, 0 replies; 11+ messages in thread From: johnzeng @ 2016-11-04 13:33 UTC (permalink / raw) To: The list for a Better Approach To Mobile Ad-hoc Networking Hello Dear Sir: if anybody know the part , please give me some advisement . Thanks > > Hello Dear Sir : > > 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 , > > and every relay mode will keep some usaful ( Ingoing: c8:3a:35:c9:ce:71 > .... ) and they will add some encoded information into packet > ( will send destination ) > > So we will run the part --- ip link set dev wlan0 mtu 1546 ( more than > 1532 ) > > but i have a question ? How many relay nodes can be supported at > NetworkCoding ( mtu 1546 ) . > > > Thanks > > Tiger > > batctl nn > Node: c8:3a:35:c9:ce:71 > Ingoing: c8:3a:35:c9:ce:71 > Outgoing: c8:3a:35:c9:ce:71 > > [root@alarmpi ~]# batctl nc > enabled > > > [root@alarmpi ~]# batctl statistics > tx: 18 > tx_bytes: 2076 > tx_dropped: 32 > rx: 767 > rx_bytes: 33993 > forward: 0 > forward_bytes: 0 > mgmt_tx: 7956 > mgmt_tx_bytes: 542012 > mgmt_rx: 3132 > mgmt_rx_bytes: 222572 > frag_tx: 0 > frag_tx_bytes: 0 > frag_rx: 0 > frag_rx_bytes: 0 > frag_fwd: 0 > frag_fwd_bytes: 0 > tt_request_tx: 0 > tt_request_rx: 1 > tt_response_tx: 1 > tt_response_rx: 0 > tt_roam_adv_tx: 0 > tt_roam_adv_rx: 0 > dat_get_tx: 2 > dat_get_rx: 0 > dat_put_tx: 0 > dat_put_rx: 4 > dat_cached_reply_tx: 0 > nc_code: 0 > nc_code_bytes: 0 > nc_recode: 0 > nc_recode_bytes: 0 > nc_buffer: 17 > nc_decode: 0 > nc_decode_bytes: 0 > nc_decode_failed: 0 > nc_sniffed: 0 ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [B.A.T.M.A.N.] i have a question ? How many relay nodes can be supported at NetworkCoding ( mtu 1546 ) . 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 ` Sven Eckelmann 2016-11-07 7:37 ` Martin Hundebøll ` (2 more replies) 1 sibling, 3 replies; 11+ messages in thread From: Sven Eckelmann @ 2016-11-05 14:28 UTC (permalink / raw) To: johnzeng Cc: Martin Hundebøll, The list for a Better Approach To Mobile Ad-hoc Networking [-- Attachment #1: Type: text/plain, Size: 4476 bytes --] 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-technical * https://downloads.open-mesh.org/batman/papers/batman-adv_network_coding.pdf * https://vbn.aau.dk/da/publications/catwoman(214ee21a-e786-495d-85c9-3efac4718ead).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#Drawbacks [2] https://lists.open-mesh.org/pipermail/b.a.t.m.a.n/2016-November/016586.html [3] https://lists.open-mesh.org/pipermail/b.a.t.m.a.n/2016-November/016587.html [4] https://lists.open-mesh.org/pipermail/b.a.t.m.a.n/2016-November/016588.html [5] https://lists.open-mesh.org/pipermail/b.a.t.m.a.n/2016-November/016592.html [-- Attachment #2: This is a digitally signed message part. --] [-- Type: application/pgp-signature, Size: 801 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: i have a question ? How many relay nodes can be supported at NetworkCoding ( mtu 1546 ) . 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> 2 siblings, 0 replies; 11+ messages in thread From: Martin Hundebøll @ 2016-11-07 7:37 UTC (permalink / raw) To: Sven Eckelmann, johnzeng Cc: The list for a Better Approach To Mobile Ad-hoc Networking Hi, On 2016-11-05 15:28, Sven Eckelmann wrote: > 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-technical > * https://downloads.open-mesh.org/batman/papers/batman-adv_network_coding.pdf > * https://vbn.aau.dk/da/publications/catwoman(214ee21a-e786-495d-85c9-3efac4718ead).html > * https://downloads.open-mesh.org/batman/misc/wbmv4-network_coding.avi If you are looking into network coding as a research project, batman-adv is a fine starting point. But as Sven hinted in his answer, it isn't really useful in a real setup. > 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). I don't use it myself, and don't know of anyone else using it. > 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). No problem. [snip...] > 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. Yeah, packets are lost if the nodes are not promiscuous. Good luck with the project :) // Martin ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: i have a question ? How many relay nodes can be supported at NetworkCoding ( mtu 1546 ) . 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> 2 siblings, 0 replies; 11+ messages in thread From: johnzeng @ 2016-11-08 10:54 UTC (permalink / raw) To: Sven Eckelmann Cc: The list for a Better Approach To Mobile Ad-hoc Networking, Martin Hundebøll 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 . 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-technical > * https://downloads.open-mesh.org/batman/papers/batman-adv_network_coding.pdf > * https://vbn.aau.dk/da/publications/catwoman(214ee21a-e786-495d-85c9-3efac4718ead).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#Drawbacks > [2] https://lists.open-mesh.org/pipermail/b.a.t.m.a.n/2016-November/016586.html > [3] https://lists.open-mesh.org/pipermail/b.a.t.m.a.n/2016-November/016587.html > [4] https://lists.open-mesh.org/pipermail/b.a.t.m.a.n/2016-November/016588.html > [5] https://lists.open-mesh.org/pipermail/b.a.t.m.a.n/2016-November/016592.html ^ permalink raw reply [flat|nested] 11+ messages in thread
[parent not found: <mailman.63.1478602511.678.b.a.t.m.a.n@lists.open-mesh.org>]
* Re: [B.A.T.M.A.N.] i have a question ? How many relay nodes can be supported at NetworkCoding ( mtu 1546 ) . [not found] ` <mailman.63.1478602511.678.b.a.t.m.a.n@lists.open-mesh.org> @ 2016-11-08 19:14 ` Simon Wunderlich 2016-11-09 3:50 ` johnzeng [not found] ` <mailman.86.1478663442.678.b.a.t.m.a.n@lists.open-mesh.org> 0 siblings, 2 replies; 11+ messages in thread From: Simon Wunderlich @ 2016-11-08 19:14 UTC (permalink / raw) To: b.a.t.m.a.n, johnzeng; +Cc: Martin Hundebøll [-- Attachment #1: Type: text/plain, Size: 6733 bytes --] 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 [-- Attachment #2: This is a digitally signed message part. --] [-- Type: application/pgp-signature, Size: 801 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [B.A.T.M.A.N.] i have a question ? How many relay nodes can be supported at NetworkCoding ( mtu 1546 ) . 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 [not found] ` <mailman.87.1478663809.678.b.a.t.m.a.n@lists.open-mesh.org> [not found] ` <mailman.86.1478663442.678.b.a.t.m.a.n@lists.open-mesh.org> 1 sibling, 2 replies; 11+ messages in thread From: johnzeng @ 2016-11-09 3:50 UTC (permalink / raw) To: Simon Wunderlich; +Cc: b.a.t.m.a.n, Sven Eckelmann, Martin Hundebøll Hello Dear Simon: 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 2 ( 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 ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [B.A.T.M.A.N.] i have a question ? How many relay nodes can be supported at NetworkCoding ( mtu 1546 ) . 2016-11-09 3:50 ` johnzeng @ 2016-11-09 3:56 ` johnzeng [not found] ` <mailman.87.1478663809.678.b.a.t.m.a.n@lists.open-mesh.org> 1 sibling, 0 replies; 11+ messages in thread From: johnzeng @ 2016-11-09 3:56 UTC (permalink / raw) To: Simon Wunderlich; +Cc: b.a.t.m.a.n, Sven Eckelmann, Martin Hundebøll > > 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 > ^ permalink raw reply [flat|nested] 11+ messages in thread
[parent not found: <mailman.87.1478663809.678.b.a.t.m.a.n@lists.open-mesh.org>]
* Re: [B.A.T.M.A.N.] i have a question ? How many relay nodes can be supported at NetworkCoding ( mtu 1546 ) . [not found] ` <mailman.87.1478663809.678.b.a.t.m.a.n@lists.open-mesh.org> @ 2016-11-09 5:33 ` Linus Lüssing 0 siblings, 0 replies; 11+ messages in thread From: Linus Lüssing @ 2016-11-09 5:33 UTC (permalink / raw) To: johnzeng, The list for a Better Approach To Mobile Ad-hoc Networking On Wed, Nov 09, 2016 at 04:56:52AM +0100, johnzeng via B.A.T.M.A.N wrote: > Date: Wed, 09 Nov 2016 11:56:36 +0800 > 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 ) . > > if Relay mode is based on Layer 3 ( route or > >Nat ) , it will be very complex and Infeasible at large wifi network No, batman-adv has nothing to do with layer 3. For clients in batman-adv it all looks like one, big switch. It does that not by layer3 routing or layer3 NAT'ing, but by encapsulating frames in its own headers. ^ permalink raw reply [flat|nested] 11+ messages in thread
[parent not found: <mailman.86.1478663442.678.b.a.t.m.a.n@lists.open-mesh.org>]
* Re: [B.A.T.M.A.N.] i have a question ? How many relay nodes can be supported at NetworkCoding ( mtu 1546 ) . [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 0 siblings, 1 reply; 11+ messages in thread From: Linus Lüssing @ 2016-11-09 5:28 UTC (permalink / raw) To: johnzeng, The list for a Better Approach To Mobile Ad-hoc Networking On Wed, Nov 09, 2016 at 04:50:45AM +0100, johnzeng via B.A.T.M.A.N wrote: > Date: Wed, 09 Nov 2016 11:50:30 +0800 > 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 ) . > > I can understand network coding , it will be > same as proxy or Intermediator at Layer 2 , Maybe there is a complete misunderstanding what "network coding" is? Maybe an easier expression would be "packet mixing" or "magic packet mangling" [1]. Any code that does something with networking is usually *not* "network coding" (at least in this context here). Have a look at the links Sven has provided earlier. > > > Your meaning : Batman-adv can build Similar > mechanism ( Intermediator ) via intermediator , it wil be relay based real > application packet ( not relay based Broadcast packet) Just try it :-). Compile batman-adv *without network coding* with your A-B-C scenario and see how it magically works, too :-). Regards, Linus [1]: Please no expert hit me :D. I know, ultimately, network coding would replace packet based networks, if I remember Frank's talk in Leipzig correctly https://www.youtube.com/watch?v=yluj7e_rfVE ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [B.A.T.M.A.N.] i have a question ? How many relay nodes can be supported at NetworkCoding ( mtu 1546 ) . 2016-11-09 5:28 ` Linus Lüssing @ 2016-11-09 5:59 ` johnzeng 0 siblings, 0 replies; 11+ messages in thread From: johnzeng @ 2016-11-09 5:59 UTC (permalink / raw) To: Linus Lüssing Cc: The list for a Better Approach To Mobile Ad-hoc Networking Hello Dear Linus: Ok , i see , i will test it in according to your advisement . Thanks , have a good day with you Tiger 于 2016年11月09日 13:28, Linus Lüssing 写道: > On Wed, Nov 09, 2016 at 04:50:45AM +0100, johnzeng via B.A.T.M.A.N wrote: >> Date: Wed, 09 Nov 2016 11:50:30 +0800 >> 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 ) . >> >> I can understand network coding , it will be >> same as proxy or Intermediator at Layer 2 , > Maybe there is a complete misunderstanding what "network coding" > is? > > Maybe an easier expression would be "packet mixing" or "magic packet > mangling" [1]. > > Any code that does something with networking is usually *not* > "network coding" (at least in this context here). > > Have a look at the links Sven has provided earlier. > >> >> Your meaning : Batman-adv can build Similar >> mechanism ( Intermediator ) via intermediator , it wil be relay based real >> application packet ( not relay based Broadcast packet) > Just try it :-). Compile batman-adv *without network coding* with > your A-B-C scenario and see how it magically works, too :-). > > Regards, Linus > > > [1]: Please no expert hit me :D. I know, ultimately, network coding would > replace packet based networks, if I remember Frank's talk > in Leipzig correctly > > https://www.youtube.com/watch?v=yluj7e_rfVE ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2016-11-09 5:59 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
[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
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox