Sustained 200mbps ingress

Still looks normal to me, but I never saw weirdly high traffic. Can you share anything about what happened? I’m just curious.

1 Like

same here… also curious…
what wires do i short to get 200mbit ingress xD

Same as before traffic was turned off. 20mbits. Never seen 200mbits, have to be in a DC to get that kind of traffic no?

Lets explain it with an easy example. We have a pool with 3 storage nodes and 2 of them are sharing the same ip. Let’s select 1000 times but only 1 node. The expected outcome would be 50% the single node and 25% for the 2 nodes that share the same ip.

It sounds simple but there is a trap. 4 implementations are possible and the difficult implementation is the one that would be correct. Most developers will chose the easy solution and it will not work.
Solution 1: Don’t care at all and just select a random node. 33% chance for all node.
Solution 2: Random select a node but remove nodes that share the same ip. Well you still end up with 33% for all nodes. If we select 2 nodes instead of one the result would be different from solution 1 but still wrong.
Solution 3: Group by subnet first and then select a random node. This would give the single node the 50% chance but the other 2 nodes wouldn’t get 25% each because a group by subnet is not random.
Solution 3: Group by subnet first but random order and then select a random node. Now the 2 nodes would get 25% each.

In the first implementation we implemented solution 2. That is the easy solution everyone thinks about first. At the time of implementation I didn’t find the time to write down this nice litte test. Now we have an automated test case for it which should make sure we don’t break it again.

4 Likes

Awesome! Thanks for the extensive info.

almost makes it sound like i should be getting better number in the near future… because i only have one node and thus far all nodes have basically been sharing equally, however now it’s aware if there are multiple nodes connecting from “one location” subnet.

one thing i do wonder is how would you distinguish a local subnet from something like a national ISP subnet … but i’m sure you have some pretty standart tools for that i’m just not aware off… seems like it would be something people have dealt with online for decades now …

ill look forward to see if i end up actually getting more ingress, or the people with many nodes end up with less… no matter it only seems fair and sensible in relation to the network data integrity.

and thanks for explaining

The issue was introduced with changes in the node selection I’m guessing in order to implement the node selection cache. It worked correctly before. So only europe-north-1 used the wrong node selection process for a very short time. Probably just a few hours, so you won’t see any change from before.

It distinguishes subnets by using simple IP/24 subnets. Basically where the first 3 numbers in the dotted quad are the same would be one subnet.

well thats a pity… :smiley:

yeah but all those end out in global ip’s do they have like a list of the different isp network addresses to figure out which ones are ISP and which are privately utilized global ip’s
but all those behind a global IP owned by a ISP how do one distinguish between those with say 20 nodes behind one ip and another global ip with 20 nodes from the same person…

especially when people might use vpn to try and catch more traffic… tho latency kinda limits that avenue

It goes by public IP. Nothing more. So if someone operates nodes on multiple public IP’s in different subnets, they get traffic per IP subnet.
You seem to be making it more complex than it is. :wink:

so meaning if you want to operate multiple nodes you just need multiple ip’s :smiley: gotcha

luckily there are basically infinite ipv6…

and if it’s by public ip… then people using that ddns thing would only have the option of getting selected when it hit their isp ip right…meaning their traffic would be terrible on ddns, atleast if they are behind a isp global ip with many other nodes…

Multiple IPs in different /24 subnets.

i’m referring to global ip’s

IPv6 works with slightly different subnetting. You have the first half of the IPv6, which is basically yours alone. Basically that part minus the last number of the first half would be the subnet used for IPv6. Though it hardly matters since the satellites don’t support IPv6 yet (one excluded).

There are 254 global IP’s in each /24 subnet, so you need different global IP’s in different /24 subnets.

You’re probably referring to Global Unicast Addresses which is for IPv6, while @BrightSilence is talking about IPv4 subnets. I’m not sure if StorJ supports IPv6, but even if that would require IPv6 connectivity from each satellite and you shouldn’t expect much from those.

They’re hosted on GCP, which apparently doesn’t support IPv6. But the software supports it and so does the stefan-benten satellite, which is self-hosted I believe.

i’m sure that can be arranged… xD ill keep that in mind when i order another ip xD

Keep in mind I’m describing the current situation. This might change in an effort to better decentralize storage. Especially if multiple SNOs attempt to work around it.

1 Like

just trying to point out its a flawed tactic… but i suppose that can be said for most things, if people want to game the system…
paying 10$ for the current one a month… so my storagenode will need to start showing some promise for that to be even worthwhile… not unlimited of those puppies either… even tho i’m sure every SNO grabbing 4 each wouldn’t make much of a dent… i what is it… the 6 or 7 or 9 bil of global ipv4 there are.

Looks like the uploads are over, at least for me (at both my locations, over 3 different ISPs).

no, for all. The bandwidth now is 0 - 1MB. My location is Italy with 2 differrent ip /22 and /24