5 ms·
The number one excuse in my opinion is: you can't only support IPv6 if you make a service that can interact with anything IPv4, so the real question is not "sho
by simias 8y ago
The number one excuse in my opinion is: you can't only support IPv6 if you make a service that can interact with anything IPv4, so the real question is not "should I use IPv6 or IPv4?" but rather "Should I use IPv6 and IPv4 or just IPv4?"
Clearly all other things being equal supporting only one stack is easier than two. It's a shame though, at work I've decided to go full IPv6 for one of our software solutions because I'm only talking "to myself" and it's amazing to have so much flexibility in your addressing. Need a unique IP in a distributed system? Just stick your MAC in there and you're good to go. Need a private network prefix that won't clash with anybody, anywhere? Use RFC 4193 and you're good to go.
- weavie 8y agoHow much extra work was it to add in IPv6?
- X-Istence 8y agoNot op, but when I went through the exercise, the only difference was that I changed the type of socket I was creating, and I used `getaddrinfo()` to get a list of addresses to bind to vs just binding to a single entity. There really isn't a whole lot of work that needs to be done to support IPv6 in an application, especially new build.
- simias 8y agoIt was a brand new design so I just used IPv6 from the ground up, there were no adaptation/rewrite involved. The main cost was the time spent reading the various IPv6 RFCs to make sure I understood the details (it mostly mapped well to my IPv4 knowledge but there are differences). Beyond that it was smooth sailing, although I'm regularly annoyed that common tools are rather clunky when dealing with numerical IPv6 addresses. For instance Firefox requires that I put [] around the IP for it to treat it like an IPv6. SSH on the other hand does not understand the address between brackets. On the other hand SCP does requires the brackets (since it uses a : to delimit the path) which is even more annoying than Firefox because zsh treats [] like a match pattern. It's just small things but it does hurt usability. Oh and ZeroMQ didn't support IPv6 in their experimental UDP implementation so that was some additional work.
- amluto 8y agoThe institutional trading world uses a lot of private network connections, and it would be amazing if the whole industry migrated to IPv6. Then everyone could have a real subnet for each link with genuine globally-unique addresses. It wouldn’t even be a hard migration — vendors force everyone to update their network config on a semi-regular basis anyway.
- craftyguy 8y agoHonest question, not trying to incite unrest: Why does IPv6 even matter for private networks? My understanding is the main (only?) benefit of IPv6 is the vastly increased address space, are there that many private networks in existence that exhaust all IPv4 private network IP ranges?
- justinsaccount 8y ago> are there that many private networks in existence that exhaust all IPv4 private network IP ranges? No, but there are many private networks in existence that use overlapping subsets of the private network ip ranges.
- amluto 8y agoI bet there are. It only takes ~16M residential NAT “routers” to hit 2^32 total addresses. And there are way more than 2^32 things on the Internet.
- justinsaccount 8y agoit's much more simple than that. While there are 16,777,216 available addresses under 10.0.0.0/8, most organizations will do the reasonable thing of allocating nice regular subnets for each area and use case, so you can easily end up with one org using things like 10.0.0.0/16 for infra 10.8.0.0/16 for allocating end user /24s 10.16.0.0/16 for whatever and then that org will merge with another who as it turns out did exactly the same thing, and now the internal subnets all overlap. Even though each company may only be using a few thousand addresses, the address space itself overlaps. Even if you can plan things ahead of time and divided the /8 into 32 /13s or something and give each sub company 500k addresses, you'd still be screwed on a merger.
- otabdeveloper2 8y ago> and it's amazing to have so much flexibility in your addressing. More flexibility than having the entire 10.* block to yourself? What are you, Google?
- teraflop 8y agoYes, flexibility. You don't need to have 2^24 hosts for a 24-bit address space to start becoming cramped. You have to divide up that space into subnets that roughly match your physical network structure, which depends on accurately anticipating future growth; otherwise you'll have to suffer the pain of renumbering later on. The real benefit of a /48 or /32 IPv6 subnet isn't that you never run out of individual addresses. It's that you're practically guaranteed never to run out of identifiers at any level of the hierarchy.
- api 8y ago... but you don't have 10.* to yourself. I've seen many cases where companies were bought, merged, or linked to other companies and had to put complicated NATs in place to translate org A's 10.* addresses to/from org B's overlapping 10.* addresses. Then you have the problem of connecting to a VPN for 10.10.0.0/16 from a coffee shop with 10.10.0.1 as its router.
- ktpsns 8y ago10.* is private. His IPv6-only project was probably using the Internet, so his computing farm at point A could talk with his high performance cluster at point B without a tunnel.
- simias 8y agoMy solution integrates in other networks while having its own private addressing. Think something like a VPN (it's not a VPN but that's a story for an other day). Even if I allocate a random subnet like "10.5.212.0/24" I still take the risk of being unlucky and conflicting with something. On top of that I then only have 256 individual IPs to play with which means that I need to have some kind of dynamic allocation scheme instead of just using the MAC address to have a globally unique ID. This is of course even worse if you want to allocate multiple subnets. IPv6 is much simpler to deal with.
- Fnoord 8y agoBingo. It (DSLite) breaks P2P traffic in the sense that there will be less peers available. Which is a big issue for rare material. I also couldn't use 4G to access my network. I kindly asked my ISP (Ziggo NL) to swap back from DSLite to a router with native IPv4. Not in the least because the router was unstable (a known issue with certain consoles even though we didn't use any of these). Dual stack, OTOH, is no problem but my ISP doesn't provide that (a competitor -XS4ALL- provided it for nearly 20 years now though it was beta for a long time as well and also it has been a tunnel for a few of those years). I feel sorry for our German neighbours with UnityMedia who are stuck with DSLite.
- Dagger2 8y agoIt's not DS-Lite that does that, it's CGNAT. Unfortunately CGNAT on v4 is unavoidable, because there just aren't enough v4 addresses to avoid it, so although it does suck a lot it's hard to blame ISPs for using it. It's just one of the consequences of v4 exhaustion. DS-Lite makes the situation better by giving you v6, which means you can still do inbound connections. If you just had CGNATed v4 with no v6, then you wouldn't be able to do that at all.