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

🗿 Kubo in an IPv6 only world 🥚 #10000

Open
1 of 18 tasks
Jorropo opened this issue Jun 27, 2023 · 7 comments
Open
1 of 18 tasks

🗿 Kubo in an IPv6 only world 🥚 #10000

Jorropo opened this issue Jun 27, 2023 · 7 comments
Labels
epic kind/tracking A meta-issue for tracking work P3 Low: Not priority right now

Comments

@Jorropo
Copy link
Contributor

Jorropo commented Jun 27, 2023

The current state of IPv6 Kubo is not very great, we have some traffic going over IPv6 but Kubo still require an IPv4 connection to work properly (unless you are running a private network and do not expect public network connectivity).

Ideally a Kubo running with access to the IPv6 network exclusively would run at feature parity as a Kubo with IPv6+IPv4.

Todos:

Note: I'm adding an exception to the feature parity, if some data is exclusively hosted on IPv4 nodes, this issue is not interested in working out a way to fetch this data using IPv4 ←→ IPv6 relays. Similarly if some data is exclusively hosted on IPv6 nodes, I am not expecting an IPv4 node to be able to fetch it.

@hacdias
Copy link
Member

hacdias commented Jun 27, 2023

🎉

@hsanjuan
Copy link
Contributor

booooooo 😆

@galargh
Copy link
Contributor

galargh commented Jun 28, 2023

⭕⭕⭕⭕

@BigLep BigLep changed the title Test issue please ignore 🗿🥚 Test issue please ignore Jul 6, 2023
@Jorropo Jorropo changed the title 🗿🥚 Test issue please ignore Kubo in an IPv6 ready world Aug 16, 2023
@Jorropo Jorropo changed the title Kubo in an IPv6 ready world 🗿 Kubo in an IPv6 world 🥚 Aug 16, 2023
@Jorropo Jorropo added epic kind/tracking A meta-issue for tracking work labels Aug 16, 2023
@Jorropo Jorropo changed the title 🗿 Kubo in an IPv6 world 🥚 🗿 Kubo in an IPv6 only world 🥚 Aug 16, 2023
@Jorropo Jorropo added the P3 Low: Not priority right now label Aug 17, 2023
@Jorropo
Copy link
Contributor Author

Jorropo commented Aug 17, 2023

Note for readers: this issue is not currently prioritized, I've created this task list precisely because I guess fixing all of the elements on this task list are not high priority and so the precious #10000 issue number will remain open for a long time ⏳.
This is also an artificially high bar to meet, you could get acceptable ipv6 networking much faster with quick wins (mainly split DHTs for IPv4 and IPv6).

@deavmi
Copy link

deavmi commented Sep 11, 2023

I just want to check and to confirm something. I have a Docker instance with IPv4 and IPv6, but sometimes to test v6-only I will disable my host's v4 connection and restart my container.

I see some swarm addresses and the list grows but I want to know, can Kubo work without v4 or does it need it for some part of startup?

I can ping my laptop using ipfs ping between the two and both are IPv6 only (the one has DNS64+NAT64, the laptop). Maybe it's just that most content I am trying to reach has no v6 peers?

Update: I presume it is the above. The laptop and v6 only machine are on different subnets and not discoverable locally. So maybe few v6 accessible content exists.

If anyone has any then please let me know, I would love to test.

Update 2x: Seems like QmZfSNpHVzTNi9gezLcgq64Wbj1xhwi9wk4AxYyxMZgtCG is reachable, just few content then.


I rescind my comment but I do urge people to support v6 and get v6 setup at home! Sovereign network!

Keep up the good work fellas.

@Jorropo
Copy link
Contributor Author

Jorropo commented Oct 9, 2023

@deavmi Kubo starts with v6, the main problem we have is around network reachability.
A huge part of the network is not reachable.
This should be fixed by:

  • Having a dedicated DHT for v6, this would lessen the issues of a partially reachable DHT, currently trying to use the DHT for v6 is a roll of the dice because you can't properly fill up your buckets properly, this cause you to fire your DHT requests in a really wide low density area of the key space (centered around where it should actually be) and the chance you hit one of the proper 20 peers is lower.
    • See Run split DHTs for IPv4 and IPv6 in the list above.
  • Solve Networking issues on v6.

@deavmi
Copy link

deavmi commented Oct 16, 2023

Ah that makes sense.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
epic kind/tracking A meta-issue for tracking work P3 Low: Not priority right now
Projects
No open projects
Status: No status
Development

No branches or pull requests

5 participants