-
-
Notifications
You must be signed in to change notification settings - Fork 3k
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
DHT findprovs weirdness #6742
Comments
This because dht nodes publish they address by them self. As opposed in bittorrent dht used address from where request come from. |
There are a number of issues that seem intertwined here that our being discussed in libp2p repos. IIUC the two big categories are:
Seems like these issues might be the best place to continue this conversation. Before we head off to the other issues though... Note that there are two types of peers that we care about with DHT provider records:
I think there's an argument to be made for the peers providing data to be allowed to have local addresses. What if there's a node behind a network that is both behind a NAT and has MDNS disabled (e.g. university, hospital, etc.) that wants to advertise data to peers within that network? We may want to allow them to use the public DHT to advertise. The peers that are just hops along the DHT should definitely be pruned to have dialable addresses though since they are all supposed to be publicly dialable. |
Thank you very much for your description! That really helps a lot in understanding the rationale for having this "weirdness" (that now doesn't sound so weird anymore). I understand the need for nodes in a network behind a NAT and without MDSN. Note that those are probably most home networks too :) However, the discussions for this seems to be taking place in the issues you've mentioned. |
Hi,
I'm running IPFS v0.4.22 on ArchLinux.
While i was playing with some IPFS features i ended up typing:
ipfs dht findprovs QmUovtAgkriTmV48sD7SALaBsqv9zZvcDX7urzHkE88AVQ -v
You can look that hash up, it's a folder with a few thousand wallpapers. I was trying to find how many nodes have it pinned (i still don't know how to do that.. but that's being asked here: https://discuss.ipfs.io/t/get-number-of-nodes-with-cid-pinned/986)
Now that
-v
argument gave me a very interesting result!I then see:
I doubt the list of nodes to query is verified by the sender node to see if it's reachable (through ping?). Just to prevent sending a list of nodes where some might be stale. In that "specific" list the log didn't show up any failures for those hashes, but the log does show failures from others:
15:27:54.142: error: failed to dial QmRP8ZNpnQ4VFMpyzwvVUsXfXHBj6nSNH9Y57D9KXMUXwY: no good addresses
.Would it be wise to first verify if the nodes are reachable on the sending node before sending that list to the requester node? You would then also be able to use that mechanism to keep your own nodes list alive and healthy as you know when they were last active. I'm guessing this to likely speeds up
findprovs
too as it would spend most of it's time querying actually alive nodes as opposed to a mixture of dead and alive ones.I have quite a few of those errors in my logs
But upon inspecting the log some more, i see some very weird behavior.
I see tons and tons of network requests to local ip's! To clarify, i'm in a local ip with a couple other pc's turned on, but in this network only one is turned on that has IPFS.
Yet i see loads of:
Those are all local addresses! Neither is in my local range.
That can't possible be right? Right?
Is this a quirk in my local environment? Or is this something that everyone has but that i happen to notice?
Cheers,
Mark
The text was updated successfully, but these errors were encountered: