Parallel running of IPv6 with IPv4

Note before main Suggestion: I know that this a controversial topic and that lots of tools and lots of servers do not support IPv6. But in lots of locations around the world ISP assigns IPv6 addresses as well side by side to the IPv4.

My suggestion is to integrate support for IPv6 for storage node operators. Lately I was very lucky that my ISP left me alone and didn’t change my IP address to IPv6. This made me think that there are people that have a ISP gateway IPv4 address and a public IPv6. Hence they are unable to easily portfoward this leaves them with the option of VPN solution but that just increases latency and decreases network speed.

Lastly if it was up to me I would put this to somewhere near the top of the dev list as the future is highly likely IPv6 and since storj seems to be the future of storage, storj should to advance in cross support.

2 Likes

The storagenode itself support the IPv6 from day 0. There are two problems:

  • not all customers uses IPv6 (it’s important part, because all data transfers are happening between the node and the customer);
  • the Google Cloud still cannot use IPv6 (sic!), thus our satellites, hosted there, cannot communicate via IPv6, but the code itself is allowing to do so.

So the solution at the moment - use dual stack if possible (you would have IPv4 and IPv6). Sooner or later our cloud provider will be able to use IPv6 and this will solve at least one problem.
But using dual stack now will allow your node to accept data via IPv6 from the customers who have a support of it.

3 Likes

Wasn’t there a problem with docker also? :thinking:

Since the satellites resolve ip’s now, does dual stack even do anything anymore? I assume the satellite will always provide the uplink with the IPv4 address?

I can confirm that it works in theory. My node is reachable over IPv4 and IPv6. But you have to use a domain name with both A and AAAA DNS records.

Dual Stack is supported fully, we just primarily keep the IPv4 and return it to the client (as thats the 99% working solution), Until a couple of releases, we even returned the DNS entry if available, but that causes lots of dns lookups on client machines, resulting in easy overloading of home routers.
TLDR: We return IPv4 if both is present, and return IPv6 only when its the only one present.

6 Likes

+1 :heart:
I don’t have public IPv4, but I have enough public ipv6 and storage.
There are not rich ipv4 resource of country in Asia. Please let satellites support ipv6, storj will become bigger & stronger.

4 Likes

Have you tried to ask your ISP if they are willing to give you IPv4 address? Some ISP`s are charging a bit extra for it. and sometimes if you ask sometimes they can arrange it. I’m very lucky I have IPv4 that is static and I don’t have to pay extra.

But my recommendation if nothing works out try VPN, Its a bit lower but it works.

Let me know how you overcame the issue.

1 Like

I can imagine there are some complications if a node is set up like this. The customer would need to be able to communicate over IPv6. But in theory long tail cancellation could probably take care of that when they don’t. But furthermore, Satellites would need to be able to do audit and repair on those nodes and thus understand IPv6 as well. Unless I’m missing something, that last part isn’t in place yet. So would a node even survive as IPv6 only?

I’m guessing the node can’t even set up the initial connection with the satellite as it is currently.

So for now dual stack seems to be mostly about being prepared for any possible future. While IPv6 only doesn’t seem like an option yet. But please correct me if I’m wrong.

@stefanbenten: I’m getting a bit of “Heimweh” for your satellite, which had full IPv6 support! :slight_smile:

You are right, given that the current GCP satellites do not support IPv6, they cannot audit/vet a node. Same should apply to their “uptime” checks, but i would need to double check if only the check-in from the node is enough. Whenever a satellite runs with full dual stack, it would support IPv6 only nodes (and especially give the new CGNAT ISPs a big pill to take in :wink:
Since users do not need IPv6 public accessible, they can upload/download to/from IPv6 nodes just fine.

Do not worry, it wont be absent much longer! :slight_smile:

3 Likes

This is true of course, but unfortunately IPv6 isn’t yet available universally to everyone. So I do wonder what would happen if a customer with only IPv4 would get too many IPv6 only nodes from the satellite for upload. Or when the satellite has decided to repair too many pieces to IPv6 only nodes.
This is currently not at all a problem since they probably can’t even exist atm. But in the future it may be good if the customer could negotiate IP protocol support with the satellite to ensure their data will always be retrievable using their desired protocol. This could also allow the satellite to resolve either the A or AAAA record based on the customer preference. Though for now this will probably not be the first thing on the backlog.

Looking forward to that too! If it has IPv6 support again, I might just set up a smaller test node with IPv6 only.

1 Like

Congrats! I haven’t ask for IPv4 with my ISP, maybe I will try later.
The number of IPv4 are getting smaller and smaller. I think I should leave them to someone who really need.
ISP gave me enough IPv6 address, run server with IPv6 is a comfort experience.
But I have to set up a reverse proxy for my storj node in order to get a public IPv4. The bandwidth of my VPS are not lot, so I need to seek a better way to meet demand for bandwidth.

1 Like

I think you are someone who really needs it. The vast majority of their customers won’t, and even more won’t bother to ask. There are more than enough IPv4 addresses to give to people who do have a reason. Just ask em, the alternatives really aren’t great.

2 Likes

Yes It is quite true. From this week I will run 4 separate nodes and the reason behind is I’m lucky that I live in different countries abut also because of helpful ISP.

In Slovakia Bratislava we have a quite good internet server via GPON. The thing with that is that most people get IPv6. We were one of the first people to upgrade and we received IPv4 address. Recently we were renewing contract and my rep told me that they are switching to IPv6 my geographical area. Since I don’t have Static IP service they are in the right to do changes. But they are able to set IPv4 addresses specific users as they sell IPTV. It runs only on IPv4.
I just kindly asked them to assign me IPv4 and they were like ok. It took them 15min to make the change in the system and that means that they wont change it. I do always make sure when I extend the subscription just to be sure.

And I am aware there should be lots of IPv4 Addresses. I’m deploying 2 nodes in Data Center and I asked the provider for 2xIPv4 addresses on separate /24 subnets and the cost is 2e a moth. So I think there are a lot.

Additionally you need to realize that most mobile devices get a IPv6 in addition NAT saves tone of IPv4 Public IP addresses

Frankly speaking, I believe that for now the best way would be to only allow nodes that can be accessed by both IPv4 and IPv6, just like the current plan—as I understand it—is to require nodes to support both TCP and UDP.

And I’m reviving this thread because I’ve just received an email from Hetzner basically stating that the costs of IPv4 has increased so much they’re forced to raise the prices of some of their services, e.g. for a floating IPv4 the monthly price goes from 1.23 EUR to 3.69 EUR. This is an interesting development, likely one of many in the future.

1 Like

Ye I have this fear too.
I was lucky that I’m with a small ISP and they forwarded 10ports for free without any expense. Super cool of them. Tho I’m running Storj as VM’s and in summary if they increase in cost as a result of shortage of IPv4s IDK what I will do

I’m not even currently thinking of the payout cuts that are yet to come by my calculations I will have to redesign my entire Storj operation to stay profitable. Cut el costs and hosting costs.

Honestly IPv6 is one of the things that could help a lot for tones of users not just new but existing. Because lots of ISP’s are taking residential IPv4 groups and allocating them to business users that are paying premium.

If this trend continues people might be forced out of storj

I’m linking a google static of of IPv6 usage

https://www.google.com/intl/en/ipv6/statistics.html

We do not require TCP and UDP. UDP is recommendation as it will increase performance and thus likely your payout.
Enforcing Dual Stack is not an option either, since there are enough ISPs out there not handing out ANY IPv6 Addresses. Requiring would mean kicking the nodes out the network.

The increases at Hetzner are also likely due to the rather rapid push in the VPS/Cloud section, including their Loadbalancer and 1-Click Apps. I would not blame the overall shortage worldwide for it, rather than their unforseen shortage :smiley:

3 Likes

In case you missed it, for Storj Satellites, Google bring IPv6 to the cloud - Release notes  |  VPC  |  Google Cloud July 20, 2021 > External IPv6 addresses for VM instances is now available in General Availability in supported regions.

3 Likes

Thats correct and we saw that!
Sadly thats only part of the application stack that needs to support it, thus it will still be a little out before we can use it.

2 Likes