Yearly reminder that github still does not have an IPv6 address (2023)

Sibbo@sopuli.xyz to Programming@programming.dev – 252 points –

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.

57

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

  • Someone on the Flathub repo, I think

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

When you're relying on a bug as a feature

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.

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

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

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

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.

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.

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

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.

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!

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

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.

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.

1 more...

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

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.

1 more...

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

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

1 more...

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.

2 more...

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

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.

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.

Does gitlab.com have it?

Name:   gitlab.com
Address: 172.65.251.78
Name:   gitlab.com
Address: 2606:4700:90:0:f22e:fbec:5bed:a9b9

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.

Microsoft implemented IPv6 over 20 years ago. I was seeing IPv6 settings in Windows 2000 and wondering when I'd get to use them. And I'm still waiting…

4 more...

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.

But why ?

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.

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.

My understanding is it's no longer that critical. The sky is no longer falling on IPv4

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

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.

I also don't have an IPv6 address. It's my one complaint about my otherwise excellent ISP. They are offering /56 static IPv6 blocks for their multi-gigabit customers now, but not on the cheap plan I'm on. Not yet, at least 🤞.