Questions on how hole punching works #3379
Replies: 1 comment 1 reply
-
Some do. Some don't. But as I said, not all stateful firewall + NATs work this way. Some actually restrict incoming packets to only come from a specific IP addr, we've seen those in the past. I like to call these "Endpoint-dependent stateful firewalls", but most people prefer calling those "symmetric NATs", I think.
If you did a test with iroh and it failed it can be due to other issues: Some networks filter out UDP packets entirely (or any UDP traffic that doesn't look like DNS), or any traffic that doesn't look exactly like "super normal HTTP/1.1", which is why this the protocol we use over the relay. It could also be due to a bug :) Hard to say though without more information. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I'm working on a nostr successor protocol and the idea of not having servers has come up multiple times but I've always been skeptical of hole punching. So I've come here to be educated. I can't make great decisions without having deeper knowledge. Can someone explain how hole punching works? In particular...
If two NAT-bound clients connect to a rendezvous server on the Internet, and that rendezvous server shares with each client every single thing it knows about them (including especially how it is communicating back to them), this still does not seem sufficient for a NAT gateway to accept packets into this established NAT mapping from a different IP source address. Why wouldn't NAT gateways drop such packets when the source address changes from what they were expecting?
I did a test with Iroh a while back and it was going through one of your relays. So I guess I fell into the 10% that fail. So I'm also wondering under what conditions hole punching fails.
Beta Was this translation helpful? Give feedback.
All reactions