4 ms·
The same problem has occurred with many P2P protocols, just search for 'p2p router crash'. The problem occurs with Bittorrent, DC++, eDonkey and, yes, IPFS - as
by hagbard_c 5y ago
The same problem has occurred with many P2P protocols, just search for 'p2p router crash'. The problem occurs with Bittorrent, DC++, eDonkey and, yes, IPFS - as well as many other applications which open a lot of connections at the same time. This causes the undersized NAT connection tracking tables to overflow upon which the thing will no longer be able to create new connections.
I'm rather surprised that you think only go-ipfs causes these problems given that this is a well-known problem with lower-spec or misconfigured consumer routers, cable modems and other similar devices. Sometimes it can be solved by increasing the size of the tables (which often are set to some ridiculously low number like 1024 or 2048 places) if the device has enough memory. If this is not feasible just get a better device with OpenWRT or a similar free software distribution, configure it for 16K connections and it should work.
- capableweb 5y agoWhy don't you look through the first issue I linked to earlier (3320, also read the linked issues for even more examples)? Plenty of examples of people having troubles with only go-ipfs, and other software is reportedly working fine. Getting a new router is recommended in that issue to, but that's a band-aid, it doesn't actually solve the problem. BitTorrent and its various clients have been able to solve this, and since the issue is still open, it seems like Protocol Labs who are working on go-ipfs seems to think they can solve it too. Are you sitting on some information that Protocol Labs doesn't have, thinking that this issue can never be solved? I suggest you share your ideas in that issue in that case, so people can understand that go-ipfs is not for normal consumers with standard routers, and they need to make sure to get a proper router before trying this specific software.
- hagbard_c 5y agoI don't go through such issues because it works for me™ and I know the reason why it does not work for those routers. It is not as if I have a super-special router either, just a container running OpenWRT, earlier I used a Netgear WNDR3700 running OpenWRT [1], both worked fine. The problem can be solved, often without having to buy new hardware if the existing device supports one of the alternative distributions - OpenWRT being my personal choice but there are others. Since it, as stated, works for me™ without needing to do anything at all - I can only assume the problem to be related to the limited table space I mentioned earlier, something which still plagues not just IPFS but other P2P applications as well - just search for 'Bittorrent killing internet connection' for some examples. The solution here is to reduce the global connection count to a number which the router can handle. The same can be implemented in IPFS but the real solution is to make sure the router can handle a large enough number of connections. Yes, that is the real solution and not a band-aid, at least if you want the net to become more decentralised - like I do, which is why I run IPFS and a host of other services. IAP-provided hardware often does not handle this load, both because they've contracted out to the lowest bidder for these devices as well as to disincentivise people to run services on their connection. If you're forced to use provider equipment make sure to get only a simple switch or transceiver (in case of a fibre connection) or modem, don't go for that shiny all-in-one box which promises a one-stop internet solution as that thing is a) controlled by your provider and as such b) in service of your provider first and foremost, enabling them to e.g. use your connection for wifi sharing outside of your control. It is also likely to be hampered by the mentioned problems. Get your own router and your own wifi access points (which can be combined with the router but don't need to be, re-purposed cheap routers running OpenWRT make for good access points) which are totally under your own control. Make sure the devices can run something like OpenWRT so you're not stuck with vendor firmware. Install OpenWRT on all devices and configure them to your liking and you're done. Source: this is what I've been doing for about 30 years now, from back in the days before wifi was a thing, going from 10base2 ("thinnet") to 100baseT to gigabit, from no wifi through an Engenius/Senao 200mW 802.11b card [2] in the back of the server tower as AP - it covered the whole farm easily - through a WRT54GL running DD-WRT (killed by lightning), two Asus RT-N16 running DD-WRT (both killed by lightning), some cheap Sitecom thing running OpenWRT (killed by, you guessed it, lightning) through the mentioned Netgear WNDR3700 running OpenWRT and now a virtual OpenWRT router on the server-under-the-stairs, from 1.5/0.128 cable through on-demand dialup to ADSL 2/0.25 (2 modems killed by lightning), ADSL 8/1 "best effort" (4 modems killed by lightning) to gigabit fibre. I use a number of "Xiaomi Mi Router 4A Gigabit Edition" (yes, that is the name) running OpenWRT as access points, they were simply the cheapest (€29) option I could find which could a) run OpenWRT and b) had at least 2x2 MIMO. I would not use these things without replacing the firmware since I do not see the need to let Xi and friends in to my network but given that I was planning on doing so anyway this did not bother me. So, get some reasonable hard/firmware and things should just work. They work for me™ after all... [1] https://openwrt.org/toh/netgear/wndr3700 https://openwrt.org/toh/netgear/wndr3700 [2] https://www.solwise.co.uk/wireless-export-2511cdplusext2.htm https://www.solwise.co.uk/wireless-export-2511cdplusext2.htm