News for hackers. Stuff that matters.
Re:Support for IPv6 by mort96 on Thursday September 19, 2024 @10:25AM (#41592251)
Nothing's realistically dropping support for v4 any time soon, so v6 support is optional. On the other hand, we're far, far away from all users supporting v6, so v4 support is not optional.

Running a single IP stack is infinitely simpler and easier than running two concurrently, and until that "single IP stack" can be v6, I see very little reason to support it.

Re:Support for IPv6 by garaetjjte on Thursday September 19, 2024 @11:27AM (#41592915)
Fun fact: US government agencies are required to progressively migrate to IPv6-only environment, beginning with completing at least one pilot of IPv6-only system by FY 2021: https://www.whitehouse.gov/wp-content/uploads/2020/11/M-21-0.... Apparently, National Archives decided to pick archived Clinton White House website for this: https://clintonwhitehouse1.archives.gov/
Re:Support for IPv6 by throw0101a on Thursday September 19, 2024 @11:39AM (#41593022)
> Nothing's realistically dropping support for v4 any time soon […]

Or potentially ever, as predicted when IPng was being originally thought about:

      We believe that it is not possible to have a "flag-day" form of
      transition in which all hosts and routers must change over at
      once. The size, complexity, and distributed administration of the
      Internet make such a cutover impossible.

      Rather, IPng will need to co-exist with IPv4 for some period of
      time.  There are a number of ways to achieve this co-existence
      such as requiring hosts to support two stacks, converting between
      protocols, or using backward compatible extensions to IPv4.  Each
      scheme has its strengths and weaknesses, which have to be weighed.

      Furthermore, we note that, in all probability, there will be IPv4
      hosts on the Internet effectively forever.  IPng must provide
      mechanisms to allow these hosts to communicate, even after IPng
      has become the dominant network layer protocol in the Internet.
* https://datatracker.ietf.org/doc/html/rfc1726#section-5.5
Re:Support for IPv6 by zoky on Thursday September 19, 2024 @10:35AM (#41592369)
> Running a single IP stack is infinitely simpler and easier than running two concurrently

I’d say it’s marginally simpler. Unequivocally it’s quantifiably simpler. But infinitely simpler? That’s a pretty tall claim to make.

Re:Support for IPv6 by yjftsjthsd-h on Thursday September 19, 2024 @10:36AM (#41592378)
Depends on your users; there are, for instance, plenty of phones that only natively have v6 and have to use NAT64 to reach v4 websites. So if you have such users, there might be a benefit to supporting v6 directly.
Re:Support for IPv6 by mort96 on Thursday September 19, 2024 @10:37AM (#41592384)
As you said though, those users can reach v4 websites.
Re:Support for IPv6 by briffle on Thursday September 19, 2024 @11:01AM (#41592633)
yes, with the increased latency of having to travel to the NAT64 server first. This can also cause you to not use the nearest CDN, etc.
Re:Support for IPv6 by bigfatkitten on Sunday September 22, 2024 @10:28PM (#41621897)
The NAT64 server for those users is in the same place the CGNAT used to be.
Re:Support for IPv6 by electronbeam on Thursday September 19, 2024 @11:13AM (#41592783)
Its easier to get good latency and bandwidth over v6 than natted v4
Re:Support for IPv6 by commandersaki on Thursday September 19, 2024 @12:12PM (#41593374)
What is the latency or bandwidth bottleneck in nat v4?
Re:Support for IPv6 by namibj on Thursday September 19, 2024 @05:52PM (#41596731)
Taking the detour to the NAT.
Re:Support for IPv6 by mort96 on Thursday September 19, 2024 @06:41PM (#41597095)
You mean that the packets go through a router? They would do that regardless though?
Re:Support for IPv6 by orangeboats on Friday September 20, 2024 @05:21AM (#41600185)
Your typical router shouldn't fill up its port mapping table. In fact, the 4th layer isn't involved at all so "ports" don't even exist as a concept.
Re:Support for IPv6 by commandersaki on Friday September 20, 2024 @06:25AM (#41600500)
Sure but none of this poses a latency or bandwidth bottleneck.
Re:Support for IPv6 by orangeboats on Friday September 20, 2024 @07:04AM (#41600754)
How does it not?
Re:Support for IPv6 by commandersaki on Friday September 20, 2024 @07:24PM (#41606341)
Give me some numbers then on how this materially affects latency or bandwidth.
Re:Support for IPv6 by orangeboats on Saturday September 21, 2024 @03:14AM (#41608138)
Does NAT port exhaustion not count as "materially affecting bandwidth"? At least, the maximum bandwidth is capped. Furthermore, the keepalive packets (required to maintain a port mapping) must cause the maximum useful bandwidth to be reduced, do they not?

Either way, expecting no effects on latency/bandwidth when additional processing is involved is a rather insane take. If anything, you should be the person presenting evidences to prove your position. Ideally, the cost effectiveness of whatever you present should be included too.

Anecdotally, I have experienced IPv4 slowdown due to CGNAT overload. Make of it what you will.

Re:Support for IPv6 by commandersaki on Saturday September 21, 2024 @04:35AM (#41608509)
> Does NAT port exhaustion not count as "materially affecting bandwidth"?

In a home network this is a negligible concern. In a CGNAT setup it is a limitation of the hardware or ISP, not really NAT. Furthermore it impedes establishing connections, not bandwidth.

> Furthermore, the keepalive packets

First, what keepalive packets? NAT does not introduce packets into an existing TCP or UDP stream; for TCP it uses control packets to detect state and whether teardown is needed. For UDP keepalive packets depends on the underlying protocol; for example wireguard supports a persistent keepalive. But is this material though? Will this even materially affect a dialup connection?

> Either way, expecting no effects on latency/bandwidth when additional processing is involved is a rather insane take.

You're putting words in my mouth. I asked does it materially affect bandwidth or latency or does it bottleneck it in some way. My argument is that NAT introduces packet process delay in the magnitude of microseconds per packet processing. This is negligible when most applications on the Internet deal with latency in milliseconds. Lastly, if the point is to compare, it'd be NAT against no NAT, not really NAT against IPv6. I find your position weak insofar saying port exhaustion or keepalive packets limit bandwidth; if it does, quantify it.

> Anecdotally, I have experienced IPv4 slowdown due to CGNAT overload. Make of it what you will.

That's on your ISP, not NAT. It's no different to your ISP delivering gigabit to last mile and using dialup links for connectivity. They need to adequately resource the network.

Re:Support for IPv6 by orangeboats on Saturday September 21, 2024 @04:52AM (#41608584)
> Furthermore it impedes establishing connections, not bandwidth.

Can't have bandwidth if you are TCP RST'd.

> First, what keepalive packets?

Any devices or protocols sending a useless keepalive packets (e.g. Wireguard has this) just so the NAT won't take away the precious 5-tuple and give it to others.

> NAT against no NAT, not really NAT against IPv6

I am sorry, but I cannot imagine a "No NAT" solution that doesn't involve IPv6. So yes, NAT vs No NAT is still NAT vs IPv6.

Unless you still have a /16 IPv4 block in your hands, in which case, go on. Just remember that in this case you are the exception and not the rule.

> That's on your ISP, not NAT. It's no different to your ISP delivering gigabit to last mile and using dialup links for connectivity. They need to adequately resource the network.

NAT being stateful is ultimately the cause of this. No statefulness, no need for (additional!) expensive equipment, no resource constraints.

Re:Support for IPv6 by namibj on Sunday September 29, 2024 @04:19PM (#41690107)
No, I mean that the IPv4 packets go through a stateful NAT engine on the provider side, instead of going through potentially multi-path L2/L3 switching fabrics that are stateless w.r.t. the content of the packets (especially if they're actually routed L3 fabrics, not auto-discovering L2 fabrics).

Thus the packets have to take a detour through the NAT engine instead of taking the shortest physical path to the destination as they can with a plain stateless L3 switched fabric. E.g. in an AON with L2/L3 switches on the provider side of the last-mile link, you can easily bend the packets right around in that switch if you're WebRTC calling your neighbor. No need to even go beyond the curbside switch.

Other than that, it's still typically gonna be a physical detour to the NAT engine instead of going straight to the destination, as the NAT engine isn't fused into the main fabric data plane.

Re:Support for IPv6 by commandersaki on Friday September 20, 2024 @01:29AM (#41599051)
NAT registers in the microseconds for packet processing time, that isn’t even comparable to Internet path jitter.
Re:Support for IPv6 by throw0101a on Friday September 20, 2024 @07:53AM (#41601097)
> NAT registers in the microseconds for packet processing time, that isn’t even comparable to Internet path jitter.

NAT, at scale, can get expensive:

> Our [American Indian] tribal network started out IPv6, but soon learned we had to somehow support IPv4 only traffic. It took almost 11 months in order to get a small amount of IPv4 addresses allocated for this use. In fact there were only enough addresses to cover maybe 1% of population. So we were forced to create a very expensive proxy/translation server in order to support this traffic.

> We learned a very expensive lesson. 71% of the IPv4 traffic we were supporting was from ROKU devices. 9% coming from DishNetwork & DirectTV satellite tuners, 11% from HomeSecurity cameras and systems, and remaining 9% we replaced extremely outdated Point of Sale(POS) equipment. So we cut ROKU some slack three years ago by spending a little over $300k just to support their devices.

* https://community.roku.com/t5/Features-settings-updates/It-s...

* Discussion: https://news.ycombinator.com/item?id=35047624

Re:Support for IPv6 by commandersaki on Friday September 20, 2024 @07:22PM (#41606328)
Okay, but back to the original question, how does this affect latency or bandwidth?
Re:Support for IPv6 by throw0101a on Monday September 23, 2024 @09:11AM (#41625690)
> Okay, but back to the original question, how does this affect latency or bandwidth?

The CG-NAT gear takes time to process the request and has a finite bandwidth.

Re:Support for IPv6 by commandersaki on Wednesday September 25, 2024 @03:41AM (#41644762)
Does this present a latency or bandwidth bottleneck?
Re:Support for IPv6 by electronbeam on Friday September 20, 2024 @06:20PM (#41606020)
Its the $$ cost of big nat hardware, compared with dumber routers

If someone is torrenting behind the NAT you can get exhaustions

Re:Support for IPv6 by commandersaki on Friday September 20, 2024 @07:23PM (#41606333)
You'd be looking at having on upwards of 10k (probably much more) peers to even come close to exhaustion.
Re:Support for IPv6 by orangeboats on Friday September 20, 2024 @05:43AM (#41600307)
There are already cases of Internet connectivity issues due to overloaded CGNAT. I know for a while I could only visit IPv6 websites, IPv4 technically works but the amount of packet drops meant that my IPv4 internet speed was only about 15KB/s!

It's the whole reason why I discovered a DNS server that synthesizes AAAA records, for websites that actually support IPv6 through their CDN. [0]

> As you said though, those users can reach v4 websites.

Therefore, the question is: Can those users really reach IPv4 websites?

Mind you, I don't expect the CGNAT-overloading issue to relieve over time -- unless we deploy IPv6 everywhere ;)

[0]: https://gitlab.com/miyurusankalpa/IPv6-dns-server

Re:Support for IPv6 by kstrauser on Thursday September 19, 2024 @11:20AM (#41592845)
I didn't recommend dropping IPv4. It's a terrible it to start a new project in 2024 without IPv6 support though. It's easy enough to build in from the beginning that there's not any real reason not to go for it.

And running a dual stack is trivially easy for almost everyone using it. That chart has almost half of Google's users coming in via IPv6. I promise you less than 1% of that 50% have ever even heard of IPv6, let alone done a single thing to configure it. With my ISP I'd have to go out of my way to turn it off, which I haven't done because this isn't 2008 where it broke things more often than never.

Re:Support for IPv6 by mort96 on Thursday September 19, 2024 @11:48AM (#41593104)
> It's a terrible it to start a new project in 2024 without IPv6 support though.

Why? Radical complexity reduction at essentially no cost to yourself or your customers seems like a tempting proposition.

Re:Support for IPv6 by kstrauser on Thursday September 19, 2024 @12:09PM (#41593328)
Exactly! IPv4 management is hideous compared to IPv6 once you grok it. The sooner you upgrade to it, the sooner you can deprecate horrid mitigations like NAT.
Re:Support for IPv6 by LegionMammal978 on Thursday September 19, 2024 @12:13PM (#41593385)
Out of curiosity, what parts of NAT management tend to be so horrible in practice?
Re:Support for IPv6 by kstrauser on Thursday September 19, 2024 @12:45PM (#41593767)
The fact that it exists. I was a network engineer before NAT became a common thing and remember how it use to be when nodes on the network were legitimately peers. NAT is a bletcherous band-aid for the fact there are more people than 32 bit numbers. Now we're seeing true abominations like CGNAT. That stuff needs to be lost to the realm of scary legends told late at night.
Re:Support for IPv6 by LegionMammal978 on Thursday September 19, 2024 @01:20PM (#41594122)
I was asking about practical issues, not just complaints of subjective ugliness. While I'll grant that CGNAT can be pretty bad (though not entirely indefensible for mobile networks), I don't think we can ever return to "every node being a peer" in any case, not when any typical network will have a firewall that denies incoming connections.
Re:Support for IPv6 by nobody9999 on Thursday September 19, 2024 @03:04PM (#41595201)
>I don't think we can ever return to "every node being a peer" in any case, not when any typical network will have a firewall that denies incoming connections.

Forgive me if I'm missing something here, but how is that any different WRT IPv4 vs. IPv6?

In both cases, except for those services one wishes to expose to the Internet (assuming one has a use-case for that), all incoming connections should be blocked, IPv4 or IPv6.

Or are you arguing that NAT masquerade confers some sort of security benefit on one's network that precludes the necessity of blocking incoming connections?

I'd argue that NAT (N:1 or 1:1) doesn't provide any security benefit. Nor does IPv4+NAT reduce the complexity of firewall rules as compared with IPv6.

In fact, I'd posit that NAT makes things more complicated and not less. That said, you can use NAT/NPT[0] with IPv6 (along with ULA/SLAAC) if you really want.

As such, I'd say that IPv6 provides the best and worst of IPv4, plus additional benefits.

IF we ever get completely off IPv4, that will be a good day.

[0] https://en.wikipedia.org/wiki/Network_address_translation#NA...

Re:Support for IPv6 by LegionMammal978 on Thursday September 19, 2024 @05:37PM (#41596610)
I don't think I'm disagreeing with you regarding firewalls: what I was trying to say is that "every node being a peer" isn't a good argument against NAT, since these days it holds neither in IPv4 nor in IPv6, now that everything has a firewall in front of it.

> In fact, I'd posit that NAT makes things more complicated and not less.

Sure, it clearly adds some iota of additional work, but I've never seen it as being the worst thing in the world. I'm young enough to have never witnessed the legendary paradise of globally-reachable static IPs for everything, so it seems more like "just the way things are". And yet there is widespread hatred against the existence of NAT, and I can't tell if it's primarily ideological, or if NAT is causing real practical difficulties for many setups. (Though at least the issues with CGNAT are easy to see. And also with broken NAT implementations.)

Meanwhile, one might argue that things like SLAAC in IPv6 can similarly add conceptual difficulties compared to IPv4. E.g., "How do I identify some particular device in my network, if its link-local IP is changing on a regular basis?" (To which the answer is something DNS-like, I guess?) So switching a network's internal operations from NATted IPv4 to NATless IPv6, with all of its different mechanisms, would seem like more of a tradeoff than an unequivocal win.

Re:Support for IPv6 by throw0101a on Friday September 20, 2024 @03:19PM (#41604819)
> I don't think I'm disagreeing with you regarding firewalls: what I was trying to say is that "every node being a peer" isn't a good argument against NAT, since these days it holds neither in IPv4 nor in IPv6, now that everything has a firewall in front of it.

In residential environments you can do whole bunch with UPNP/PCP, but with IPv4 you have the added complexity of STUN, TURN, and ICE:

* https://community.cisco.com/t5/collaboration-knowledge-base/...

* https://medium.com/@ecosmobtechnologies/webrtc-best-practice...

With IPv6 you simply punch a whole and and the two clients simply talking to each other with their GUAs.

(In more tightly controlled environments (e.g., work), firewall policies and hole punching are dictated by IT.)

> Meanwhile, one might argue that things like SLAAC in IPv6 can similarly add conceptual difficulties compared to IPv4. E.g., "How do I identify some particular device in my network, if its link-local IP is changing on a regular basis?"

If a device gets its address via DHCP(v4), how do you identify it? SLAAC is for dynamic environments, but if you want static services, configure IPv6 statically.

At least with IPv6 you don't need DHCP infrastructure (and complexities like IP helpers configured on routers) to get going.

Re:Support for IPv6 by LegionMammal978 on Friday September 20, 2024 @06:23PM (#41606042)
> With IPv6 you simply punch a whole and and the two clients simply talking to each other with their GUAs.

Eh, I wouldn't call it that simple. With an IPv6 firewall, TCP hole-punching is still difficult to impossible depending on how strict the connection tracking is (necessitating something TURN-like), and UDP hole-punching still requires some timing trickery. It's useful to keep a connection open with a STUN server regardless, in case that influences the firewall. All that NAT does is add a few more possible failure points, depending on how the router sets up mappings.

In the end, these are just hacks on hacks regardless, since we're never going to have reliable UPnP or similar on every network.

> If a device gets its address via DHCP(v4), how do you identify it?

I manage its assigned IPv4 address from the router, which itself presumably identifies it by MAC address. Doing it centrally from the router is often easier than trying to change the device's own settings.

Regarding static IPv6, can you still have static addresses within a network, while using rotating privacy addresses for outside connections? I've always been somewhat unnerved by the idea of each device in a network having a persistent address that can be separately tracked.

Re:Support for IPv6 by MerManMaid on Monday September 23, 2024 @04:50PM (#41630389)
IPv4 as well as IPv6 was designed with endpoint to endpoint communication in mind so when NAT was conceived (originally intended to be a stop-gap while we moved to IPv6) we also had to re-write many other protocols and create many new ones since NAT broke IPv4's design principle (each IP needs to be unique)

This has lead to many context specific problems as many of the re-written protocols don't work as well not to mention the added complexities of protocols designed specifically with NAT in mind. As another network engineer I can attest to the problems this has caused. Pretty much everything from overlay VPN networks, VoIP solutions, security and ACLS, and just our day to day maintenance tasks are complicated by NAT. It has gotten so out of hand that many of us have dedicated NAT routers just handling NAT translation.

It's so weird to me that so many people in our industry spout scalability but then laugh off IPv6... How the heck do you guys plan to communicate to the ever increasing amount of smart devices? IPv4 literally ran out a space years ago...

Re:Support for IPv6 by mort96 on Thursday September 19, 2024 @01:26PM (#41594167)
I mean adding IPv6 support doesn't make nodes "legitimate peers". NAT still exists in a v4+v6 world; there will always be a distinction between "nodes with a public v4 address" and "nodes without a public v4 address".
Re:Support for IPv6 by mort96 on Thursday September 19, 2024 @12:20PM (#41593472)
You're missing the point, I believe intentionally. You can't get away from IPv4 as long as you have users who can't access IPv6-only servers. All your users and potential users can access IPv4-only servers.
Re:Support for IPv6 by cesarb on Thursday September 19, 2024 @01:28PM (#41594194)
> All your users and potential users can access IPv4-only servers.

Not all servers are user-accessible. For instance, a database server or a NAS server might only be accessed by other servers within the same organization. Using IPv6 between these internal-only servers, instead of RFC 1918 addresses, can simplify things.

Re:Support for IPv6 by ta1243 on Thursday September 19, 2024 @01:46PM (#41594382)
And can make things far more complex too. You now need people to understand both ipv4 (for your public facing) and ipv6 (for your internal ones).

Instead you could just choose ipv4 only and reduce a lot of complexity. Sure there are also downsides -- if you're in a large org and are running out of RFC1918 space, or you're rationing it to smaller than /24 networks, that can be a pain (I don't see a benefit of more than 256 host addresses on a subnet as that's already far to large a broadcast domain)

Re:Support for IPv6 by mort96 on Thursday September 19, 2024 @01:32PM (#41594231)
Obviously. I thought it was clear enough that I was takling about public-facing servers, since I talked about the capabilities of users' devices.
Re:Support for IPv6 by zokier on Thursday September 19, 2024 @12:42PM (#41593734)
On the other hand only your edge load balancers need dual-stack, everything behind them can be v6-only.
Re:Support for IPv6 by simoncion on Thursday September 19, 2024 @12:34PM (#41593641)
I think you're misunderstood what you quoted:

> It's a terrible it to start a new project in 2024 without IPv6 support though.

That does not preclude ALSO supporting IPv4.

Remember that for many technical folks out there, the default is "Only do IPv4 support" which is (IMO) just batshit stupid.

(Do also note that the sentence immediately prior to the one you quoted is "I didn't recommend dropping IPv4.".)

Re:Support for IPv6 by mort96 on Thursday September 19, 2024 @01:27PM (#41594179)
As you know, we have two options:

1. Support IPv4 and IPv6.

2. Support only IPv4.

#2 has essentially no downsides and is radically simpler.

That's my point. It's not terrible to start a new project without IPv6 support, because adding IPv6 support adds a ton of complexity for almost no benefit.

I never claimed or insinuated that you recommend dropping IPv4. If I thought your recommendation was to drop v4, my argument about the complexity of dual-stack would've made no sense.

Re:Support for IPv6 by simoncion on Thursday September 19, 2024 @03:00PM (#41595138)
> I never claimed or insinuated that you recommend...

Check my handle. I'm not who you seem to think I am.

> ...adding IPv6 support adds a ton of complexity for almost no benefit.

That doesn't at all match my experience with IPv6 support in greenfield projects for the past decade+. You actually have to do extra work to make them IPv4-only. Remember that the statement you initially responded to said "It's a terrible it to start a new project in 2024..."

Re:Support for IPv6 by mort96 on Thursday September 19, 2024 @03:04PM (#41595198)
> > I never claimed or insinuated that you recommend...

> Check my handle. I'm not who you seem to think I am.

Sorry, I didn't notice. Pretend I said "they" rather than "you".

> > ...adding IPv6 support adds a ton of complexity for almost no benefit.

> That doesn't at all match my experience with IPv6 support in greenfield projects for the past decade+. You actually have to do extra work to make them IPv4-only. Remember that the statement you initially responded to said "It's a terrible it to start a new project in 2024..."

Huh, I never found it difficult to ... not add an AAAA DNS record to point to a server. It surprises me that you find that to be extra work.

Re:Support for IPv6 by simoncion on Thursday September 19, 2024 @03:09PM (#41595244)
> Huh, I never found it difficult to ... not add an AAAA DNS record to point to a server.

Have you attempted to make greenfield software written in 2024 support only IPv4 addresses and be deliberately incompatible with IPv6 addresses? It's a lot more work than just using what the standard libraries give you and just getting support for v4 and v6.

Re:Support for IPv6 by mort96 on Thursday September 19, 2024 @03:14PM (#41595301)
I have actually made a green field project in 2024 and created a VPS for it and not added an AAAA record to point to that VPS, it was pretty easy to not add that AAAA record, I could do it in my sleep (in fact I do spend most of my nights not adding AAAA records to anything)

Now the software itself would probably work v6 if you set up the infrastructure for it, but that's not what I'm talking about. (I don't know for sure that it works with v6 though, never tested)

I know for sure that I've written some software before which doesn't work with IPv6 because the buffer I pass to gethostbyname is 4 bytes, but to be fair I haven't written such software in 2024. I have also written software to configure a device's interfaces and routing tables which only does DHCP4 and only configures v4 addresses, but that was in 2023 not 2024, maybe dhcp4 would've magically worked with IPv6 if I had done it this year

Re:Support for IPv6 by throw0101a on Friday September 20, 2024 @03:35PM (#41604924)
> gethostbyname

Hmm:

> The gethostbyname*(), gethostbyaddr*(), herror(), and hstrerror() functions are obsolete. Applications should use getaddrinfo(3), getnameinfo(3), and gai_strerror(3) instead.

* https://man7.org/linux/man-pages/man3/gethostbyaddr.3.html

Re:Support for IPv6 by mort96 on Saturday September 21, 2024 @10:09AM (#41610081)
I know, I said I've (unintentionally) built software which only works with v4, not that the current best practice is to only work with v4.

Using gethostbyname turned out to be pretty easy by the way, I wouldn't say it was a lot more work than using getaddrinfo

Re:Support for IPv6 by throw0101a on Friday September 20, 2024 @03:32PM (#41604904)
> #2 has essentially no downsides and is radically simpler.

If you're with AWS, you'll be charged for IPv4 public addresses:

* https://aws.amazon.com/blogs/aws/new-aws-public-ipv4-address...

If you want to 'own' IPv4 addresses, that'll cost you as well:

* https://auctions.ipv4.global

Certainly some will be needed for 'legacy' purposes for the foreseeable future, but the more you can reduce the use of them at your edge, the less money you'll be shelling out.

Re:Support for IPv6 by rstuart4133 on Thursday September 19, 2024 @06:41PM (#41597099)
> You can't get away from IPv4 as long as you have users who can't access IPv6-only servers.

That depends on your definition of "can't get away from". Your users can live on a IPv6 only lan and have the IPv4 world available to them. IPv6 supports 4 in 6 - ie you can embed IPv4 addresses in IPv6, so all you need is a gateway that translates IPv4 to IPv6 for them.

I've done it. At a conference, to unsuspecting users. All phones support IPv6 well, so they didn't notice. Not one complaint - I was blown away by how well it all worked.

It was done because some noisy attendees insisted on being assigned routable IP addresses. That can be difficult to provide with IPv4 for obvious reasons, whereas ISP's will happily hand you thousands of billions of IP{v6 routable addresses, for free.

I set up the gateway myself, rolling my own using a linux box I had lying around. Adding the 4 in 6 capabilities is maybe an hours work on top of all the other setup you have to do on the box, and that includes googling to find what tools you need and how to configure them. It's not hard.

Re:Support for IPv6 by ta1243 on Thursday September 19, 2024 @01:40PM (#41594322)
I'm on a laptop on an ipv6 only subnet at the moment which mostly does the job with dn64/nat64.

The only benefit of this is to increase familiarity with ipv6. I'm trying to push some colleagues to do an ipv6 only section of our network which has limited interconnect, but there's a lot of concern about devices that still don't support ipv6, and ultimately what's the business reason to do it compared with subnetting 10.0/8 and natting at your firewalls

Re:Support for IPv6 by mort96 on Thursday September 19, 2024 @01:48PM (#41594399)
I'm very happy to not have to know what dns64 and nat64 is.
Re:Support for IPv6 by ta1243 on Thursday September 19, 2024 @02:05PM (#41594565)
And many people are happy to not know what an IP address is either. That's fine.

I find it amazing how that lack of curiosity about how computers work extends into modern software developers, I guess that the majority of the industry nowadays are people that do things like "bootcamps" and go into it for the money.

I have no need for ipv6, however I wanted to know about it so spent a couple of hours setting myself up with it. I don't bother with the latest fads that last 3 or 4 years and then are replaced by a new fad, but ipv6 has been around long enough that it's clearly not a fad.

Re:Support for IPv6 by mort96 on Thursday September 19, 2024 @02:42PM (#41594983)
I have plenty of curiosity around how computers work. I've implemented compilers and interpreters, designed CPUs (I made a RISC-V CPU in Logisim which could run programs compiled with clang!), designed ISAs, back in university I had a lot of fun both writing a networking stack from almost-scratch (starting with only C and the raw ethernet packet API in Linux, building toy versions of ARP, IP, routing daemons and TCP) and writing a toy kernel, I have an ongoing game project where I'm writing the engine from scratch in C++ and using plain OpenGL to render, and this past year I've taken up PCB design and CAD. All this just because I want to learn stuff and make stuff. Don't assume that just because someone doesn't share your particular interests, they lack curiosity.

IPv6 has been around long enough that it's clearly a failed project. It's been 30 years and it hasn't even breached 50% adoption. It's not even at the hard part yet, which will be the long tail.

Re:Support for IPv6 by orangeboats on Friday September 20, 2024 @05:29AM (#41600232)
>IPv6 has been around long enough that it's clearly a failed project

You have a very radical definition of "failed". Take your emotions out, and perhaps you would get a more objective evaluation of the technology.

For one, it's very clear that IPv6 has only, truly received global attention after the depletion of IPv4 address space -- someone has already linked the Google IPv6 adoption page, go have a look at it, look at the flat line before 2012. That means we have spent about of 10~15 years of time deploying IPv6, not 30 years, and getting to 50% adoption in such a time period is not what I'd describe as a failure.

Secondly, if you are defining failure as "less than 50% prevalence in 30 years" then HTTPS before 2014 will probably fall under the same category too. (Don't underestimate the age of SSL/TLS.)

Do you consider HTTPS a failure?

Re:Support for IPv6 by uid65534 on Thursday September 19, 2024 @02:44PM (#41594991)
The only way this stuff trickles down to the masses is people that know what they are doing forcing it on them through their products. Very, very few 'engineers' actually go out and learn the state of the art these days in my experience, with most just culting around whatever the current marketing fad is.

Hell just look at SDWAN land and everyone acting like it is the second coming of jesus when it is just a fancy marketed version of technologies that have been available for decades.

Re:Support for IPv6 by JackSlateur on Thursday September 19, 2024 @02:28PM (#41594832)
IPv4 at the edge and call it a day.

Why build today with deprecated technology ? Build your infra v6-only, add a layer at the edge to support old clients via IPv4. Job's done.

You should design your infrastructure to avoid paying too much for other people's legacy.

Re:Support for IPv6 by uid65534 on Thursday September 19, 2024 @02:38PM (#41594936)
I personally push for IPv6-only internal networks whenever possible, and have deployed several such designs in datacenters.

Unfortunately, a lot of applications are building on platforms where IPv6 is an afterthought if even present at all. Take for example Azure, where IPv6 support is a fucking joke. From core services like Route Server not supporting it, to it being impossible to build v6-only networks due to forced v4 subnet and vNIC requirements, to many services that Microsoft provides only running on v4.

As much as I want to push IPv6 everywhere, that physically cannot happen until companies support it for all use cases. In the mean time dual stacking can be better than nothing but the complexity is non-trivial when the alternative is just running straight v4...

Re:Support for IPv6 by paperplatter on Thursday September 19, 2024 @03:55PM (#41595757)
IMO the separate-stack nature of ipv6 was a mistake. I can see why they did it, but the changes could've been a lot more incremental otherwise, and we might've been done already. Everyone talks about the biggest change being the 128-bit address space, but the real leap is that pre-existing ipv4 blocks weren't preserved in ipv6.
Re:Support for IPv6 by namibj on Thursday September 19, 2024 @05:29PM (#41596564)
They are, though? It's how dual stack sockets work, they just map IPv4 into the part of IPv6 where they belong.
Re:Support for IPv6 by paperplatter on Thursday September 19, 2024 @06:01PM (#41596830)
But then you're still using ipv4.
Re:Support for IPv6 by namibj on Sunday September 29, 2024 @04:23PM (#41690133)
You can; but I'd not be surprised if there are commercial setups that use IPv6 packets for everything, including situations with IPv4 addresses. I think it would allow getting rid of most of the ethernet header overhead, by basically just talking bare IPv6 packets.
Re:Support for IPv6 by stephen_g on Thursday September 19, 2024 @10:00PM (#41598132)
The changes couldn’t have been more incremental. Routing hardware only understood the IPv4 header (and at that time I believe a lot of this was baked in silicon). There was no way to create an IPv4+ without needing to replace all the internet’s routers before it could reliably work.

How would have it made it easier to migrate when all of the new blocks wouldn’t be accessible (in either direction) if the traffic passed through any router that hadn’t yet been upgraded? Nobody could really use any of the extended space at all until every single router had been upgraded to this IPv4+.

It is a common misunderstanding (I hear “we could have just made IPv4 bigger” a lot) but apart from the routing issues above (needing to replace every router before it could work at all), the endpoints are also a problem. Nothing in the expanded space could actually call out to a legacy IPv4 endpoint - it could sent packets to it, but that legacy host wouldn’t be able to return packets back since it wouldn’t understand the larger address. And of course the legacy endpoint couldn’t initiate a connection to anything in the extended space either from its side.

So you not only have all the same problems of IPv6 (like needing to upgrade everything), you actually add a bunch of problems of breaking the ability of big parts of the internet from being able to communicate with the rest.

Dual-stack was necessary because everything couldn’t be switched over on the same day. If everything was upgraded at once, your extended-IPv4 idea would work, but otherwise it would break the internet!

Re:Support for IPv6 by throw0101a on Friday September 20, 2024 @08:11AM (#41601193)
> It is a common misunderstanding (I hear “we could have just made IPv4 bigger” a lot) but apart from the routing issues above (needing to replace every router before it could work at all), the endpoints are also a problem.

Don't forget all the DNS software: "A" records are hard-coded to 32-bits, so if you wanted >32 you needed a record type (what we now call "AAAA", RFC 3596).

Then all the DNS programming APIs had to be updated and all the C header files with new structs.

Re:Support for IPv6 by paperplatter on Friday September 20, 2024 @01:14PM (#41603892)
I'm not saying we can avoid updating routers/hosts/DNS/etc, but it's only one piece of the migration puzzle. Otherwise we'd be done already. I elaborated when responding to a similar question: https://news.ycombinator.com/item?id=41603782
Re:Support for IPv6 by throw0101a on Friday September 20, 2024 @08:06AM (#41601171)
> Everyone talks about the biggest change being the 128-bit address space, but the real leap is that pre-existing ipv4 blocks weren't preserved in ipv6.

You mean like RFC 2765?

Re:Support for IPv6 by paperplatter on Monday September 23, 2024 @12:26PM (#41627801)
RFC 2765 isn't about keeping ipv4 blocks in ipv6, if I understand correctly. It's about translator boxes for ipv6-only hosts to talk to ipv4-only ones by acquiring temporary ipv4 addresses.