In opening another tab to answer my own question, I see that they've broadened the scope and that the US government networks should be IPv6-only, with some caveats I'm sure, by 2023: https://fedtechmagazine.com/article/2021/03/how-make-progres...
The linked article isn’t as ambitious as to claim IPv6-only government networks by 2023, only that new systems should support IPv6 by 2023.
I’d also be very surprised if the government was able to hit any of the IPv6-only targets put forth in the article.
To truly drive IPv6 adoption there has to be a real need for IPv6 and/or a revenue driver.
Very large ISPs and mobile carriers need IPv6 because they are simply running out of IPv4 addresses, even non-public IPv4 addresses!
This still does not mean they can go IPv6-only, they still need IPv4 and translation technologies to reach the Internet.
The core problem of IPv6 adoption is that insensitive do not align across the whole Internet ecosystem.
Which is more than they are doing now.
What real-world issues do you forcee. IPv6 either works, or doesn't
Oh, you sweet summer child! :)
IPv6 “just works” only if you completely control the routing stack end-to-end.
Once end user equipment and hosts are introduced into the network all bets are off.
In a mobile network, where the carrier controls what user terminals are allowed on the network, it is at least nominally possible to achieve “just works” status.
So, in the real world, forcing IPv6 would result in IPv6 being supported only in a particular configuration used in a particular way. Everybody will be told to go pound sand and no effort will be made to keep IPv6 working or prevent breakage.
Right now though, we'd be more in need of "websites and -services larger than X have to support IPv6".
I can just about imagine the shitstorm and political blowback that would entail.
Even just forcing IPv6 support would be a tough row to hoe.
It would potentially help them to take it more seriously if there were planned outage windows (i.e. "IPv6-only for 1 day after the law was passed, then IPv6-only for 1 week 6 months after, then permanently IPv6-only after 2 years").
ISPs would probably just take the 1-day outage and ignore customer complaints for a day. By the time the week long outage would come closer without the date being delayed, they'd start taking the issue seriously.
And who exactly are you forcing? Now it’s ISPs, in your previous comment is was websites.
Anyway, it’s not enough to force one participant. If you are going IPv6-only by decree, you have to replace all end user devices too.
Who is going to pay for all the new routers, game consoles, nanny cams, etc? I’m sure that container ships’ worth of PS5s is going to go well over in the appropriations committee.
The truth is, it’s too late in the game for an IPv6 flag day. Too many people and too much money involved.
Yes, also known as the US government, because that's where those services are located, and who ultimately controls 99% of the Internet through .com/.net/.org.
"Domains with more than (some definition of "big") under .com/.net/.org must not point to nameservers announcing A records for any of the subdomains. DNS server operators serving more than X clients must report aggregate statistics."
Is it practical? Realistic? A good idea? Probably neither. But it would be a feasible way to ensure IPv6 support, with worldwide effects.
> Now it’s ISPs, in your previous comment is was websites.
The government forces website operators to offer only IPv6. As a result, ISPs that don't support IPv6 are about as useful as a provider that drops a wet string at your doorstep. Thus, in order to be useful and deliver a service worth paying for to your customers, ISPs would be forced to support IPv6, even without a legal mandate.
Due to the dominance of US web services, the US doing this would force this upon ISPs worldwide.
> you have to replace all end user devices
In most cases, not the devices, only the software, or rather, the configuration on it.
> container ships’ worth of PS5s
The PS4 and 5 support IPv6 according to what I found. https://toreanderson.github.io/2021/02/23/ipv6-support-in-th...
Most importantly, in the proposed model, Sony would most likely fall under "larger than X" if services were included, i.e. they'd have to switch to IPv6-only too (and issue updates to support that or leave their users stranded).
Maybe add an exemption for services supporting systems last sold more than X years ago.
I sincerely wish the US would try a stunt like this, if not for anything else then for the entertainment aspect. I emphatically don’t think it would work out as you’d expect.
Letting them keep IPv4 resulted in them dragging their ass, implementing NAT everywhere and killing end-to-end conectivity on the internet, repurposing IPv4 as a reputation system, god knows what else. We gotta get rid of it.
Waste and chaos matter. Or how is your pandemic going?
Yes, the current incumbents will buy up all the IPv4 addresses they can before trading stops. That will cement them as the permanent winners for IPv4 services.
But with IPv4 addresses no longer tradable, hosting companies and ISPs will have no choice but to adopt IPv6 if they want to grow. New hosting companies and ISPs will be IPv6-only.
I'd expect at that point most large mobile networks, which are largely IPv6 already with IPv6 compatibility bolted on so customers can reach IPv4-only sites, to go IPv6-only.
There will be legacy applications that still need a real IPv4 address on the server side. The current incumbents will end up cemented as the winners of that service.
The incumbents would become king makers. They would decide which services would be allowed on the IPv4 Internet, which would be the only Internet, and which services would be allowed to prosper.
The incumbents would either acquire all successful startups and smaller companies or clone their services.
New entrants would wither on the wine on this obscure IPv6-only network that hardly anybody knows about or is able to access.
This would also kill off IPv6 completely. The incumbents would have a collective interest in maintaining and propping up their position. IPv6 would be a threat to this, so it would be given the axe.
This isn’t some far out fantasy either. This is how mobile phone services worked during the SMS era before the Internet was a thing.
Can you expound on why you think this is the case?
The IETF really needs to fix this issue in particular, it’s the last big hurdle in seeing adoption IMO.
Is using ULA and NPTv6 any worse than using NAT44?
ipv6 is not backwards compatible with ipv4.
Consequently adding support for ipv6 requires a dual stack solution (since supporting ipv4 is a must).
An alternative solution to the problem of the limited number of ipv4 addresses has been reliance on NATs. This is much simpler than supporting ipv6 and is already widely adopted everywhere, and so that's what people are choosing to do.
The obvious conclusion (from a casual observer like myself): the successor to ipv4 has to be backwards compatible with it, similar to how UTF-8 is backwards compatible with ASCII.
EDIT: I should note that I am not a network engineer, so if anything I have written is incorrect, I hope someone corrects me.
I've seen this objection, and I do not see how it could be otherwise.
If all the code out there was for 32-bit-only addresses (of IPv4), then expanding the addresses space to something >32 bits would entailed updating every single IP-capable code. Which is exactly that needed to be done for IPv6: every device needed to have code updated (and this included 'hardware code' of things like ASICs).
While UTF-8 is backwards compatible with ASCII, it did of course require programmers to add support for it just like you are suggesting any successor to IPV4 would. But once that support was added, ASCII could be treated as part of UTF-8 standard.
From what I understand, this is not the case with IPV6 and IPV4. The former requires its own software stack and the IPV6 standard was written (from what I have read) without any attempt to make it possible for IPV4 and IPV6 addresses to coexist in the same software stack easily.
It's not like an actual pipe where one end doesn't care where the other end is. The recipient of a packet has to know where to send the reply.
So while a host with a larger address could easily talk to a legacy host with an older, smaller address, the legacy host couldn't reply because it wouldn't know how to address it.
So, just like expanding address space (IP: 32-bit to 128-bit; ASCII: 8-bit/1-byte to multi-byte), you had to rewrite all the software to handle things.
https://en.wikipedia.org/wiki/IPv4_mapped_address#IPv4-mappe...
The main reason I don't like it - it is much more complex than IPv4 and this complexity provides from little to now real benefits (but a lot of advertised by IPv6 evangelists). The only reason networks migrate to IPv6 is the scarcity of IPv4 addresses, not other features which was envisioned as improvements over IPv4, but on practice turned out to be not very useful.
128bit per address from which usable only 64bit looks like a waste of resources (CPU/RAM) to me. Idea was to embed MAC-address in lower 64bit, but it turned out to be a bad idea because of privacy implications and for most end-user devices lower 64bit are now random. Given that /64 prefix in most cases used by single host a 64bit address would be sufficient. If we had 64bit addresses we would save RAM for routers and OS kernels and simplify implementation (64bit integers are available in practically all modern programming languages and 64bit operations are fast, while 128bit is a slower extension which is not universally available).
For me IPv6 is an example of the second-system effect: https://en.wikipedia.org/wiki/Second-system_effect
If I were running an ISP, I would migrate the backbone network to IPv6 and just use embedded IPv4 addresses to avoid the headaches that come with router-to-router IPv4 links. With IPv6 you always have a link-local address on every port that can be used by routing protocols without relying on proprietary solutions that are not interoperable between vendors or having to assign an IPv4 address (and hoping that you assigned a large enough subnet for future growth). It is much easier to scale up an IPv6-only network and much easier to connect one IPv6-only network to another.
Of course IPv6 is not perfect. SLAAC did not really work out as planned and now we are stuck with an annoying mix of SLAAC and DHCPv6. Reverse-DNS is still a bit of a pain. IPSec is not what it should have been and too many IPv6 standards rely on IPSec for security/authentication. Even so, the core of IPv6 is a huge improvement over IPv4 for individual users, small network operators, large network operators, and the Internet as a whole.
My experience is the complete opposite. Lot of software is still very immature when it comes to IPv6. A prime example is that I had to abandon pfSense because it just didn't handle prefix delegation. And no, switching ISP is not an option for me.
I'm now on OpenWRT which is miles better, but getting IPv6 to play nice is still lot more work. For example there were a lot more steps to getting split-horizon DNS working compared to regular IPv4.
> Even so, the core of IPv6 is a huge improvement over IPv4 for individual users, small network operators, large network operators, and the Internet as a whole.
Maybe in another decade or two when IPv6 and the ecosystem around it has matured a bit. Though it still seems to have a lot of moving parts compared to IPv4, thus requiring more to keep track of.
A total length of 64 bits would be too small for the eventual size of the internet. Our choice was between deploying something with too many addresses or something with too few addresses, and the former is by far better than the latter. We do not want to be going through another IP family transition to increase the bit length again, so we need to get it right the first time.
v6 mostly just took v4 and made the addresses longer, so I'm not sure it's reasonable to describe it as bloated. About the only thing it actually adds over v4 is SLAAC (and IPsec, but that was immediately backported to v4).
Even home consumers are getting at least a /64. Unless you're expecting consumers to start having ~2^64 devices, it doesn't seem like anyone is concerned with the public internet needing more than ~2^64 addresses.
By the time you've gone through six levels of allocations (IANA -> RIR -> ISP -> Customer -> Network -> Device) the vast majority of the total address space will be unused -- or rather: used for the purpose of aggregation, but not used for end machines. A 64-bit address space might only reasonably be able to handle something like 2^40-2^48 devices in total, which isn't that much more than we already have today.
> Unless you're expecting consumers to start having ~2^64 devices
You'd definitely need something longer than 64 bits long, long before this point.
v6 has enough space to give everybody multiple networks, not just multiple addresses (and those networks are always big enough for however many devices you end up attaching to them).
* is roughly equal to 4 300 000 000 (4e9, 4B)
* it is also the maximum number of IPv4 addresses
Going back to math class:
* 2^64 = 2^(32+32) = 2^32 * 2^32 = (4B) * (IPv4 Internet)
So a single /64 IPv6 subnet can hold four billion IPv4 Internets worth of systems.
But given all the drama with IPv6, I think it was reasonable to go with 128-bit addresses just so we don't have to go through all of this again.
On a related note, messing up the assignment of IPv6 address was actually accounted for. If you look at any unicast address that's currently live, you'll see that it begins with a "2". This is because addresses are only being assigned from 2000::/3:
* https://www.iana.org/assignments/ipv6-address-space/ipv6-add...
If, for some reason, we realize there's a mistake in how things were done with that space, it will be declared legacy/deprecated, and IANA will start over with addresses from 4000::/3. If that is screwed up, then 6000::/3 will be next, then 8000::/3, a000::/3, and finally c000::/3.
So the Internet community has six tries to get IPv6 addressing correct.
I would recommend you check out Tom Coffeen, who wrote a book on IPv6 address planning for O'Reilly. Even with half the bits going to the subnet, there is a astronomical amount of addresses available:
Just mandate that every ISP must provide IPv6 for new contracts within a year and then for all existing contract within two - or whatever reasonable timeline - and be done with it.