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

Don’t add NAT’d peers to the Routing Table #782

Closed
jacobheun opened this issue Jan 27, 2020 · 1 comment
Closed

Don’t add NAT’d peers to the Routing Table #782

jacobheun opened this issue Jan 27, 2020 · 1 comment
Labels
Epic kind/enhancement A net-new feature or improvement to an existing feature

Comments

@jacobheun
Copy link
Contributor

Design notes

  • When adding an inbound node (inbound connection) to the routing table, perform the following tests, in this order:
    1. Reject the peer if it advertises relay addresses, or only private/localhost addresses.
      • Consider running a separate local-only DHT.
    2. Optionally, try dialing them back. We should rely on AutoNAT as our first choice, and only switch to this version if that isn't sufficient. Add a feature flag (option) to enable this feature.
      • The simplest approach to conduct a dial to a peer that we’re already connected to is to use a secondary libp2p host, like go-libp2p-autonat-svc does.
  • (Optional) Enable the AutoNAT service on all nodes by default (with rate limits).
    (requires Reliable AutoNAT)

Testing mechanics

Testing with the code from the disjoint lookups and correctly terminating queries, dial up the number of undialable nodes to 95% and make sure everything works.

Success Criteria

Content and peer routing work when 90% of the network is undialable.

@jacobheun jacobheun added the kind/enhancement A net-new feature or improvement to an existing feature label Jan 27, 2020
@jacobheun jacobheun added this to the Working Kademlia milestone Jan 27, 2020
@jacobheun jacobheun added the Epic label Jan 27, 2020
@aarshkshah1992
Copy link
Contributor

aarshkshah1992 commented Feb 10, 2020

I've only just skimmed through the paper and there are some ideas that could be of help when we get to this. I'll make sure to come up with a proposal based on the paper when we start working on this.

https://www.researchgate.net/publication/224602685_Connectivity_properties_of_Mainline_BitTorrent_DHT_nodes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Epic kind/enhancement A net-new feature or improvement to an existing feature
Projects
None yet
Development

No branches or pull requests

3 participants