Re: [OpenWrt-Devel] Decentralized Chat Application
On 03/25/2014 03:19 PM, Justyn wrote: Hello list, I'm currently running a few wireless nodes (Ubiquiti PicoStations) with OpenWrt to form an 802.11s mesh network. beware bandwidth degradation on single-radio mesh nodes. https://startpage.com/do/search?q=bandwidth+degradation+on+single-radio+mesh+nodes I'm also interested in writing a completely decentralized multicast chat application and interfacing it with LuCI. So I've saved up some questions that I'd appreciate if anyone skimmed over and could provide some help on a couple things: check out * http://bmx6.net sms plugin which piggybacks into bmx6 packets and does what you envision, but in a bmx6 mesh. * http://qmp.cat has a PoC implementation of your chat idea using bmx6 * alfred, which does something equivalent on a pure link-local (be it wired, made with batman-adv magic, or -hipotetically- 802.11s) http://www.open-mesh.org/projects/alfred/ cheers! ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
Re: [OpenWrt-Devel] Decentralized Chat Application
I use https://code.google.com/p/kouchat/ On 03/25/2014 02:19 PM, Justyn wrote: Hello list, I'm currently running a few wireless nodes (Ubiquiti PicoStations) with OpenWrt to form an 802.11s mesh network. I'm also currently writing a package to manage these nodes that are set up on the network as well. I'd like to get information about each node (name, IP, MAC, lat, lon, all stored in /etc/config/mypackage). To accomplish this, I've written a client/server package that uses multicast UDP to send requests from one node to all the other nodes that are set up on my network, and receive back the relevant information about them all. Each node has both the server side running on it and the client side available for network status requests. In this manner, any node can get information about the network on-the-fly without any connection to a centralized server. Then this information is displayed in LuCI. Obviously using multicast UDP packets over the air presents reliability challenges. I'm also interested in writing a completely decentralized multicast chat application and interfacing it with LuCI. So I've saved up some questions that I'd appreciate if anyone skimmed over and could provide some help on a couple things: 1) To overcome the reliability problem with multicast UDP, my program sends multiple UDP packets, and on receive, weeds out the duplicates. This has helped tremendously when it comes to reliability, but at the cost of increased network traffic. Also, although the reliability /appears/ to be there, it doesn't guarantee packet 100% reliable transmission/reception. a) Is there a way and/or has anyone implemented any form of 'reliable multicasting' within the OpenWrt package framework? Is it possible, and where would I start? b) Is it possible to set the multicast rate on my particular nodes? I see in the wiki that there is an mcast_rate option in the wireless configuration settings, but warns that Only supported by |madwifi|, and |mac80211| (for type |adhoc| in trunk). I have a virtual interface in mesh mode, so does this mean this option doesn't work for me? Lowering the multicast rate would help even more for reliability. Again, I'm just sending information about the network around, not streaming 1080p video. 2) Does there exist a chat application available for OpenWrt, or something that I've not heard of in which I can port for compilation in OpenWrt? The biggest issue is that it can't rely on any sort of centralized server/node. Which means I can't use any sort of reliable network communication protocols (TCP, basically). Is there a design that doesn't involve a centralized server that I haven't thought of? The immediate solution is to do what I did for managing the nodes via multicast, and just send multiple chat messages to all the nodes, and discard duplicates. But I admit this is hacky, ugly, and will add a lot in terms of network traffic. Thanks for any help, Justyn ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel 0x15C4B382.asc Description: application/pgp-keys signature.asc Description: OpenPGP digital signature ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
[OpenWrt-Devel] Decentralized Chat Application
Hello list, I'm currently running a few wireless nodes (Ubiquiti PicoStations) with OpenWrt to form an 802.11s mesh network. I'm also currently writing a package to manage these nodes that are set up on the network as well. I'd like to get information about each node (name, IP, MAC, lat, lon, all stored in /etc/config/mypackage). To accomplish this, I've written a client/server package that uses multicast UDP to send requests from one node to all the other nodes that are set up on my network, and receive back the relevant information about them all. Each node has both the server side running on it and the client side available for network status requests. In this manner, any node can get information about the network on-the-fly without any connection to a centralized server. Then this information is displayed in LuCI. Obviously using multicast UDP packets over the air presents reliability challenges. I'm also interested in writing a completely decentralized multicast chat application and interfacing it with LuCI. So I've saved up some questions that I'd appreciate if anyone skimmed over and could provide some help on a couple things: 1) To overcome the reliability problem with multicast UDP, my program sends multiple UDP packets, and on receive, weeds out the duplicates. This has helped tremendously when it comes to reliability, but at the cost of increased network traffic. Also, although the reliability /appears/ to be there, it doesn't guarantee packet 100% reliable transmission/reception. a) Is there a way and/or has anyone implemented any form of 'reliable multicasting' within the OpenWrt package framework? Is it possible, and where would I start? b) Is it possible to set the multicast rate on my particular nodes? I see in the wiki that there is an mcast_rate option in the wireless configuration settings, but warns that Only supported by |madwifi|, and |mac80211| (for type |adhoc| in trunk). I have a virtual interface in mesh mode, so does this mean this option doesn't work for me? Lowering the multicast rate would help even more for reliability. Again, I'm just sending information about the network around, not streaming 1080p video. 2) Does there exist a chat application available for OpenWrt, or something that I've not heard of in which I can port for compilation in OpenWrt? The biggest issue is that it can't rely on any sort of centralized server/node. Which means I can't use any sort of reliable network communication protocols (TCP, basically). Is there a design that doesn't involve a centralized server that I haven't thought of? The immediate solution is to do what I did for managing the nodes via multicast, and just send multiple chat messages to all the nodes, and discard duplicates. But I admit this is hacky, ugly, and will add a lot in terms of network traffic. Thanks for any help, Justyn ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel