Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Whitepaper for NAT traversal improvements #27

Open
introspection3 opened this issue May 5, 2024 · 2 comments
Open

Whitepaper for NAT traversal improvements #27

introspection3 opened this issue May 5, 2024 · 2 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@introspection3
Copy link
Contributor

https://tailscale.com/blog/how-nat-traversal-works
image

@hamishcoleman
Copy link
Contributor

Thanks for the link. There have been a number of NAT traversal improvements demonstrated since the original n2n paper, and n3n could definitely benefit from adding this technique.

One of the other contributors was testing some improvements like this a couple of years ago, so maybe that work can be restarted with hints from articles like this one.

I personally think that the core code needs some improvements to clearly separate the various protocol phases first - currently trying to layer on better NAT traversal runs the risk of accidentally changing the protocol, and is relatively difficult to switch in multiple different techniques for easy testing.

@introspection3
Copy link
Contributor Author

Thank you, I'm looking forward to it

@hamishcoleman hamishcoleman added enhancement New feature or request help wanted Extra attention is needed labels May 7, 2024
@hamishcoleman hamishcoleman changed the title P2P technical suggestion: Use the birthday paradox to improve brute force scanning to achieve symmetrical punching Whitepaper for NAT traversal improvements Jun 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants