datproject-discussions
datproject-discussions copied to clipboard
Documentation on NAT traversal and firewall issues
Yesterday I answered a question on stackoverflow named Fully Decentralized P2P:
I’m looking at creating a P2P system. During initial research, I’m reading from Peer-to-Peer – Harnessing the Power of Disruptive Technologies. That book states “a fully decentralized approach to instant messaging would not work on today's Internet.” Mostly blaming firewalls and NATs. The copyright is 2001. Is this information old or still correct?
One existing answer stated:
... now in 2010, it is a lot easier to punch holes in firewalls than it was in 2001, as most routers will allow you to automate the opening of ports via UPNP, so you are likely to have a larger pool of unfirewalled clients to work with.
So I answered 'No' and pointed to Dat as an example, then got immediately down-voted. Presumably because I presented a technology, not a direct answer. But it could also be because my answer is wrong.
Point is:
- I can't find good documentation on firewall, NAT handling with regards to Dat to be sure
Either I missed it, or it would be a good thing to improve the docs.
Our work is based on the description in this post of UDP Hole Punching. Updating your answer with that info may help clarity.
I'm not sure we have this directly documented anywhere (even in the paper), someone else asked the other day as well. So, yes more docs 😄 !
Thanks @joehand I updated the answer on SO :smile:
Hey @joehand!
Would it be possible to create a standalone hole punching tool out of DAT?
Could you tell us where we should look in order to achieve that?
You can use the hole punching API inside hyperswarm, Dat's new networking stack.
@RangerMauve Thanks!
I am a little lost on how to use this API. Could you please help me out?
I created a SO question.