this post was submitted on 25 Jul 2023
248 points (98.4% liked)

Programming

17313 readers
392 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
 

Try the following:

$ nslookup github.com
[...]
Non-authoritative answer:
Name:   github.com
Address: 140.82.121.3

See also the completely ignored post in their forums.

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 82 points 1 year ago (3 children)

comment from the forum:

New ISPs in my country are IPv6-only because there is no new IPv4 space to be provided to them. They do have a over-shared IPv4 address by CGNAT but due to the oversharing, it is unstable and not rare to be offline. For these companies, the internet access is stable only in IPv6.

Thinking about the server-side, some cloud providers are making extra charges for IPv4 addresses (e.g.: Vultr.com) so most of the servers in my company are IPv6-only. Cloning github repositories is very cumbersome due to the lack of IPv6 support and this issue affects me and my team mates on a daily basis.

The math is simple: there are 4.88 billion internet users in the world but the IPv4 space only provides 4 billion addresses. It's over: IPv4 is obsolete and is provided in a legacy mode. Current applications and services must be IPv6 enabled otherwise it should be seen as obsolete. For that matter, Github.com is an obsolete service because it relies on obsolete technology as IPv4.

[–] [email protected] 38 points 1 year ago (2 children)

Funny how different situations can be. I can't get an IPv6 address unless I pay for insanely expensive business tiers.

[–] [email protected] 10 points 1 year ago* (last edited 1 year ago) (1 children)

I had a very small cheap ISP in France (Quantic Telecom) and they didn't even monitor their network for ipv6 issues. I had to report problems myself every other week. They had less than 90% uptime in 2023, so I ended up getting a refund

[–] [email protected] 9 points 1 year ago

Oof, imagine having to put a single 9 into your SLA. You would be laughed out of the room in a commercial setting.

[–] orangeboats 1 points 1 year ago

The IPv4 exhaustion is far more gnarly in developing countries. Something on the scale of hundreds of people sharing one IPv4 address.

If I want to get a public IPv4 address from my ISP, I have to spend extra. Some ISPs in my country simply don't give public IPv4 addresses anymore. They have completely exhausted their pool.

[–] [email protected] 5 points 1 year ago
[–] [email protected] 2 points 1 year ago

I wonder if they ever contacted github support, and what their answer was - rather than only posting on a public forum github doesn't feel compelled to answer or make official responses to.

[–] [email protected] 82 points 1 year ago (1 children)

"IPv6 is not a feature; its absence is a bug"

  • Someone on the Flathub repo, I think
[–] [email protected] 25 points 1 year ago (1 children)

I always use Github to check if my IPv4 DNS works lol (using ping). So it's definitely a feature /s

[–] [email protected] 3 points 1 year ago

When you're relying on a bug as a feature

[–] zouden 28 points 1 year ago (3 children)

I've still never used ipv6. It just never offered anything I needed.

[–] Giooschi 47 points 1 year ago (6 children)

If you live in the USA you don't suffer from the problem it solves because you have ~5 IP v4 addresses per capita (totaling to 41% of all the IP v4 addresses), and likewise many european countries have ~2 per capita (although there are expeptions like Italy and Spain which are a bit under 1 per capita). However many other countries don't have such luxury, for example in india there's one for every 36 people, which is obviously not enough and thus they have to either use NAT everywhere or switch to IPv6.

[–] [email protected] 20 points 1 year ago

I’m in Indonesia right now. Stuff can be randomly offline or blocked because they think I’ve already accessed or am spamming something. Even little things like New York Times saying “you’ve reached your free limit for today” but I didn’t even have internet access for a couple of days!

[–] zouden 3 points 1 year ago (1 children)

There isn't 5 addresses per person in the US. They use NAT like everyone else. I think you know this though.

[–] nickhammes 8 points 1 year ago (1 children)

No the number is public. The IPv4 addresses allocated to the US are about 1.524 Billion, and there are ~332 million people in the US. Most of those IPv4 addresses are allocated to servers in datacenters, but individual people having a public IP for their house is really common. Yeah, your devices are behind NAT, but you can get one. To their point, in countries like India, people outnumber IPv4 addresses so much this isn't possible. Just getting people there online in a way they can interact with the IPv4 Internet is tricky to do well.

[–] zouden 1 points 1 year ago

They are allocated in levels though, so you can't just get an individual unused address if the top level has been allocated to IBM or Cisco or the DoD. It's not democratic.

load more comments (4 replies)
[–] [email protected] 9 points 1 year ago (3 children)

Same. I’m hearing it’s a must-have for like 15 years now. It still obviously isn’t a real must-have.

[–] [email protected] 18 points 1 year ago* (last edited 1 year ago) (1 children)

This is because ISPs keep piling on workaround after workaround in order to scale their use of IPv4, which is working but not without some disadvantages. Also, like other commenters mentioned, the western world have an unfair advantage in IPv4 addresses allocation and thus people living there don't really see any meaningful shortage of IPv4. People in other countries don't have this luxury and have to rely on IPv6 and shitty CGNAT in order to stay online.

[–] [email protected] 15 points 1 year ago

Depends on where you are. It's a must-have in parts of the world that don't have enough IPv4 addresses.

[–] zouden 10 points 1 year ago (1 children)

I remember hearing that it meant every device could have a unique IP. But we still have NAT...

[–] orangeboats 2 points 1 year ago

You don't have NATs in the IPv6 world...

[–] [email protected] 5 points 1 year ago

You may have.

For example, T-Mobile in many places gives you an IPv6 address and uses CG-NAT for IPv4 — meaning you don’t have your own IPv4, but you do have a few quintillion “real” IPv6’s to yourself.

[–] [email protected] 19 points 1 year ago (2 children)

How hard is it to support IPv6? Does it require new hardware?

[–] [email protected] 18 points 1 year ago

I used to study networking, albeit at a pretty beginner level. IPv6 has been around for nearly 30 years at this point, so I'd be surprised if the hardware github uses doesn't support it. The impression I got was that it's pretty easy to extend an IPv4 address space so there isn't any rush to make a large scale move to IPv6 everywhere.

[–] chaospatterns 12 points 1 year ago

It's not generally a hardware problem. It's a resourcing problem. Companies like GitHub will have complex software and architecture. IPv6 requires them to get a pool of IP addresses, come up with an IP address management strategy, make sure all hosts have IPv6 addresses meaning that now provisioning systems and tooling to management DNS has to plumb IPv6 addresses through too.

Then the software stack has to support it. Maybe their fraud detection or auditing systems have to now support IPv6 which means changes to API schemas.

None of this is a good reason why they shouldn't do it, but I've had to make similar decisions at my job as a software engineer on what looks to be simple but actually requires changes across systems.

[–] [email protected] 14 points 1 year ago

This is just sad.

[–] [email protected] 12 points 1 year ago (1 children)
[–] [email protected] 31 points 1 year ago
Name:   gitlab.com
Address: 172.65.251.78
Name:   gitlab.com
Address: 2606:4700:90:0:f22e:fbec:5bed:a9b9
[–] [email protected] 10 points 1 year ago (1 children)

Microsoft aren’t exactly big on implementing “the latest” stuff. Not at a keyboard currently but I’d be willing to bet GH doesn’t support TLS1.3 either.

[–] [email protected] 9 points 1 year ago

I always use Github to check if my IPv4 DNS works lol (using ping). So it's definitely a feature /s

[–] [email protected] 9 points 1 year ago* (last edited 1 year ago) (1 children)

I've talked to several network engineers over the years about IPv6, engineers that work as hands on with actual production infrastructure as you can get. And they all said that IPv6 would likely never be fully adopted.

[–] [email protected] 4 points 1 year ago (3 children)
[–] [email protected] 0 points 1 year ago (1 children)

I am not a full network engineer so take my opinion with a grain of salt. From what I understand, NAT with IPv4 works really really well to mitigate IPv4 address exhaustion. Then there's an issue with the amount of extra processing switches and routers need to do IPv6, we're going from 32 bits to 128 bits which is a huge increase and for switches and routers that are handling packets as fast as technically possible with a low amount of resources typically, that's a not insignificant hurdle.

It's just easier to do IPv4 in every way, plus that's what the world's been using and is used to.

[–] orangeboats 5 points 1 year ago (1 children)

You can't talk about NAT and then mention speed in the same statement...

The 128-bit IPv6 addresses are just four simple 32-bit integers if you think about it, but with NAT you have juggle around and maintain the (internal IP, internal Port, external IP, external Port, Protocol) tuples all the time. That's a significant overhead. Also, switches typically deal with the Layer 2 stuffs. IP is Layer 3.

See the HN discussion for more information.

It's just easier to do IPv4 in every way

Except when you have to NAT transversal. Then you are in a world of hurt.

[–] [email protected] 2 points 1 year ago

Well, there's the actual engineer response I was looking for

load more comments (2 replies)
[–] [email protected] 8 points 1 year ago

Also a reminder for me to add IPv6 support for my personal site. I think most cloud providers are able to offer dual ipv4/v6 support if you ask for it/configure it.

[–] [email protected] 7 points 1 year ago

Neither do I.

[–] [email protected] 3 points 1 year ago (1 children)

Isn't there a whole weird world of ipv6/V4 tunneling schemes that try to connect the two? https://en.m.wikipedia.org/wiki/IPv6_transition_mechanism Not sure if anyone supports these though

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago)

Yeah that's probably how your phone gets everywhere, since mobile networks are usually IPv6

load more comments
view more: next ›