IPv6 excuse bingo
ipv6bingo.com
ipv6bingo.com
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.
There really isn't a whole lot of work that needs to be done to support IPv6 in an application, especially new build.
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.
No, but there are many private networks in existence that use overlapping subsets of the private network ip ranges.
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.
My employer's internal network includes hosts with addresses in the 10.0.0.0/8 private address range. So does my home network. I have to be careful when choosing subnets, or else things will break in weird ways when I connect to my work VPN. With IPv6, I don't have to worry about this because every machine can be assumed to have a globally-unique address, even if that address isn't normally exposed to the outside world. And more importantly, it's easy to look at the address prefix and figure out where to route packets.
Getting everyone on the same address namespace would be a big simplification.
Beyond that, you need to vertically integrate a hardware shop and get custom layer 3 hardware, otherwise you're not going to beat off the shelf Arista/Cisco switches doing IPv4 routing.
Also, at the end of the day, you need to be shipping your bytes to an external consumer (e.g. an exchange), so you're probably going to need to have an IPv? layer at some point anyways.
What you'll (likely) see is internal networks on V4 and V4->V6 translation switches at the edge so you only pay the 16ns cost on ingress/egress.
More flexibility than having the entire 10.* block to yourself? What are you, Google?
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.
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.
IPv6 is much simpler to deal with.
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.
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.
IPv6 should be studied as an emblematic case of mistake in the approach of the introduction of a new technology.
https://en.wikipedia.org/wiki/Second-system_effect
Even the use of colons in the textual IP address notation is moronic. The colon is already used in a notation for port numbers: 1.2.3.4:567. Under IPv6, you have to use square brackets around the address if it is followed by colon-delimited port number. Ugh!
A 64 bit extension to IP can just use a four-part dotted address, where the parts are 16 bit decimals. Or perhaps an 8 part dotted address. A range of zeros can be two consecutive dots: 10..1 would be 10.0.0.0.0.0.0.1.
People bought new routers, for example, because of faster ethernet and fibre. Faster switching, more ports. Bigger routing tables. At the last hop, also due to Wi-Fi and rounds of newer Wi-Fi.
A smart upgrade to IP could have been hammered out by a team of half a dozen skilled engineers well before Y2K rolled in.
As a result, we end up with several generations of hardware that support everything necessary but where the people who wrote the config for them are too lazy to actually turn it on.
We might as well take advantage of a compatibility breaking upgrade to fit in all of the other upgrades.
These are the shoals that so many projects have foundered upon.
Replacing inaddr_t with inaddr6_t is trivial, and does not require any significant effort at all.
Replacing everything else is hard. My house is on IPv4 and will be on IPv4 for foreseeable future, because all of my setup (filtering, metering, monitoring, fixed IP assignment) is completely unusable in the new IPv6 world with privacy extensions where addresses are not only random, but change constantly.
If you want predicatable addressing, you can always forego privacy extensions and use EUI64-style interface identifiers.
This is not an insolvable problem. I can write another daemon to keep the history of IP<->Mac associations, change my accounting scripts to look the matching MAC, change the firewall to filter based on mac address, and so on -- but it is a lot of work, and no benefits.
The NAT is not a problem at my home network, generic openwrt router has enough CPU power for my bandwidth. Direct addressing for each device is useless, as I would still have to list every port and every device I want to expose -- even if NAT goes away, the firewall with default-deny incoming policy stays.
This, IMHO, is the biggest problem with IPv6 adoption. If this was only "recompile the problem and change IP address regex", then we would be done ages ago. Instead, it just got strictly worse for most small network owners.
BT are huge, very slow moving, not very efficient, not considered "cool", not considered to be cutting edge in any way, and most of their residential customers have no idea what IPv6 is. Technically inclined customers who care about this sort of stuff, or early adopters are very unlikely to use BT.
If they can do it, anyone can.
I'm with one of, if not the, largest UK ISP and am pretty sure they're not IPv6 ready because their routers have no mention of it (Huawei router firmware updates presumably needed). BT have upgraded the physical infrastructure so I'd expect we'd be there already if there were easy savings.
1. Create "new technology" that is a backward compatible or even drop in replacement for old technologies. Good examples of this is Web technologies, TLS, Linux APIs, bitcoin soft forks etc. This however makes "new technology" vastly more complicated both in concept and in implementation. e.g. writing a conforming web browser from scratch is impossible today.
2. Create "new technologies" that are parallel redesigns and are made "how they should be". The intent is to simplify the technology and fix problems discovered in previous versions. The plan is to run things parallel until people _voluntarily_ switch to "new tech" because it's better. Examples of this is python 2 vs python 3, IPv6, etc.
3. A third approach I guess is making backward compatibility a tool, like it's done with all ANYTHING->ES5 compilers.
(Sidenote: python2to3 tool should have been python3to2 instead)
I do wish IPv6 would come sooner, but it's going to take a real extrinsic reason (e.g. catastrophe) for true mass adoption to happen quickly. Otherwise it's just going to happen slow-as-ever.
If you can’t formulate why it‘s a bad example then there’s no way it will be spreaded knowledge.
This new https craze is like demanding seals of authenticity from posters on lamp posts.
To insert advertisements or "helpful" messages (https://tools.ietf.org/html/rfc6108)
I also don't necessarily think that we need https for everything, but it's better to err on the safe side and if you're gonna start doing it, then you should do it properly.
Anyway, our hosting provider wants money to give us a v6 prefix. And that's probably because the RIRs and LIRs also charge a fee.
And I don't understand why wouldn't they allocate prefixes for free to those who already have v4 leases.
Or maybe someone just wants to fleece us.
There's no ROI (return on investment) on deploying IPv6.
That's Verizon.
Connecting to a Chromecast from iOS devices was also more hit and miss when IPv6 was enabled. Actually iOS devices seem to have a lot of LAN connectivity issues in general even though they had full access to the Internet. Again, this could be a router issue.
I wouldn't trust any vendor router anyway. Never had issues with ipv6 internally with ios devices either. They're some of the most active ipv6 devices as well with the happy eyeballs or whatever change they seem to prefer ipv6.
I mean, I like how sharing my IPv4 address with neighbors under cgNAT makes e.g. torrent monitoring sites (was on HN some time ago?) mix several people's downloads together into one list lol… but with actual data analysis it shouldn't be hard to separate my activity and the neighbors'
And who pays the bill for that? You do.
Best push we can make IPv6 happen is to force all Operating Systems to ditch IPv4 support in favor of IPv6 on their next major version and just play the wait game but nobody is going to do that.