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

verification of our STUN/TURN implementation #101

Closed
robert-cronin opened this issue Sep 16, 2020 · 4 comments
Closed

verification of our STUN/TURN implementation #101

robert-cronin opened this issue Sep 16, 2020 · 4 comments
Assignees
Labels
development Standard development

Comments

@robert-cronin
Copy link
Contributor

robert-cronin commented Sep 16, 2020

We need to decide if it's appropriate or even useful for us to make our NAT traversal implementation conform to the STUN/TURN RFCs. There is something to say about having a full-blown STUN/TURN implementation, which I can see 2 main benefits of:

  1. with conformance to the RFCs, we can be confident that NAT traversal will work in all situations that STUN/TURN work in.
  2. our implementation will be usable by other services.

On the other hand, if we just wanted to make our implementation work with other polykey nodes, there is likely to be a lot of redundancy in conformance to the RFC. We could perhaps just stick with custom NAT traversal utilities and not call it STUN/TURN at all.

Edit: I should add that a detailed cross-check of where our implementation falls short of the RFCs would still be useful in the latter choice as we can be sure about what we are missing out on

@CMCDragonkai
Copy link
Member

CMCDragonkai commented Sep 16, 2020 via email

@CMCDragonkai
Copy link
Member

This is related to #100. TURN is covered by the usage of relay and kademlia. So in a way I'm not sure how closely it will follow the standard.

But STUN isn't always reliable. Using UDP to achieve this is possible, but I think there were some issues with the current implementation which wouldn't work where the NAT operated like a normal router.

The Tetra project should be verified to actually simulate a "normal router" NAT.

@CMCDragonkai
Copy link
Member

CMCDragonkai commented Sep 29, 2020

I think mobile-NAT busting we will leave that after the MVP (this might actually be achieved by our Kademlia-TURN).

@robert-cronin
Copy link
Contributor Author

Closing on account of migration to gitlab

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
development Standard development
Development

No branches or pull requests

2 participants