
A tool that offers P2P communication between PCS in different NATs - ryo_grid
https://qiita.com/ryo_grid/items/4ce5d45454887500e9c8
======
pdkl95
> P2P... in different NATs

,,,isn't possible. NAT killed[1] the ability to write true p2p network
software.

> with UDP hole punching, my tool climbs over NAT

First, UDP hole punching is _very_ complicated[2] with reliability dropping
fast as the complexity of the NAT(s) increases. It might work "most of the
time" when each side is a simple RFC1918 private network behind a router with
a well-written stateful firewall+ipmasquerade using a real, publicly routable
IPv4 address. I wouldn't assume hole punching works after adding carrier grade
NAT, unusual NAT configurations, and/or unfortunately common poorly written
routing software.

> Requirement to use

This is missing: "Both sidesz need access to and permission to use a TURN
server".

\--

[the actual hole-punching method seems fine (I've only skimmed it). I'm only
criticizing the claim about offering "P2P communication" when the method still
needs an imprimatur from a non-NAT 3rd party.

[1]
[https://news.ycombinator.com/item?id=20169372](https://news.ycombinator.com/item?id=20169372)

[2] [https://bford.info/pub/net/p2pnat/](https://bford.info/pub/net/p2pnat/)

