22 ms·
IPv6 has been one of the biggest failures in the last couple of decades. And I don't mean adoption, I mean the standard itself. If IPv6 were IPv4 with more oc
by redox99 4y ago
IPv6 has been one of the biggest failures in the last couple of decades.
And I don't mean adoption, I mean the standard itself.
If IPv6 were IPv4 with more octets, then we would all have been using it for like a decade.
Yes, I understand it would still require some breaking changes, but it would have been a million times easier to upgrade, as it would be a kind of superset of IPv4 (1.2.3.4 can be referred as 0.0.0.0.1.2.3.4).
Not having two sets of firewall rules and two sets of everything. I always disable IPv6 because it can bite you so hard when you don't realize that you are wide open to IPv6 connections because of different firewalls.
Edit: To make everything a bit clearer, the idea with this "ipv4+" is that you don't need the complexity of running both ipv4 and ipv6 as you do now.
And regarding compatibility, with ipv4+ if you have a 0.0.0.0.x.x.x.x ip address you would be able to talk to both ipv4+ aware and legacy ipv4 devices natively without any tunneling (because you also own the legacy, non quad 0 ip address). If you don't have such "quad 0 ip" (you are 1.1.1.1.x.x.x.x), only ipv4+ aware devices would be able to to connect to you, and for you to connect to non ipv4+ aware devices you would need either tunneling, or having a secondary, cgnat, "quad 0 ip".
- fleventynine 4y agoHow is a host with a 32-bit address supposed to communicate with a host with a 128-bit address when it can only send packets with a 32-bit address?
- jk_i_am_a_robot 4y agoThat's a solved problem whose solution is called ipv4 over ipv6 tunneling.
- stevefan1999 4y agothat will cause state and can hurt performance since it needs extra memory. one of the main selling point of IPv6 is try to be stateless as much as possible to ease up on routers and switches
- toast0 4y agoWhere's the need for state? Please excuse the abuse of terms below, but you can probably figure out what I mean. A v6 only host would send a v6 packet from it's full address to the v4+ address. A router on the path that has access to v4 internet would pull the v4 destination out, and reframe as a v4 packet (source ?, dest the v4 address), that's got the v6 packet, or maybe just the addresses, I dunno. This router would burn a lot of CPU doing this, but doesn't need any state. The v4+ host has a little harder job, it needs to know a v4 address to send the tunneled packets to. But again, it's sending a tunneled packet, and whatever is processing that doesn't need state, it just needs cpu to inspect and untunnel. Of course, if the v4+ address is rfc1918 (or otherwise unroutable), then that's problematic. You _could_ do NAT at the router, but I'd say don't do that. It might be useful for the v4 host to keep the v4 tunnel sender IP from incoming addresses to reframe on the back end. You might also do something special with routing to the v4+ prefix... if you advertise the v4+ address, it indicates you want v6 -> v4+ traffic to go to your network as v6 and you'll encapsulate it, otherwise it would go a (hopefully local) router that advertised the /96 prefix. If this encap/decap turned out to be popular, you might see router ASICs accelerate it, but likely it's expensive, so the work should be distributed to end points as much as possible. Of course, there was Teredo that kind of tried to do something like, but it didn't really work out, did it?
- Dagger2 4y agoYou're more or less describing 6to4. It's already a thing in v6.
- ipython 4y agoIt’s mostly a solved problem as most mobile network operators are ipv6 only now. My iPhone only has an ipv6 address for example.
- redox99 4y agoIf it's not "Ipv4+" aware, it wouldn't be able. Otherwise it would understand new packet formats.
- deleted 4y ago[deleted]
- ilyt 4y agoSo exactly like current situation, with content providers forever stuck at providing old version for old clients.
- redox99 4y agoThe difference is that this ipv4+ would be easier more gradual and less scary to adopt. I edited my original comment to explain a bit more.
- detaro 4y ago> (1.2.3.4 can be referred as 0.0.0.0.1.2.3.4). Which would need translation support at the edges between devices speaking only old-IPv4 and the superset-IPv4. Just as is done with IPv6.
- rnhmjoj 4y ago> If IPv6 were IPv4 with more octets, then we would all have been using it for like a decade. I don't really think so: it woulds still be completely backward incompatible and still require replacing a lot of costly network equipment. I think that's the main reason why large ISPs and enterprises have been postponing the upgrade since forever but operating systems, smartphones and other new devices didn't really have a problem with it.
- redox99 4y agoIt's been decades. The vast majority of network equipment already has been replaced multiple times since IPv6 became a thing that people "understood" we would switch in the future. The difference is that instead of their ipv6 being broken, partial, or correct but non functioning because it needs additional configuration, it would properly work and support with the much simpler "ipv4+"
- rnhmjoj 4y agoBut IPv4+ is incompatible, so it requires to maintain two network stacks until reasonably everything has moved over to it. You need to duplicate the configuration for DNS, routing, firewalls etc., exactly as for dual stack IPv6. I don't really see a difference.
- jedberg 4y agoImagine I own a company and I already have a bunch of IP4. I upgrade my network equipment to IP4+, and then keep all my routing and firewall configs. Everything just works the same as before. Now I want to access IP4+, so I add a route entry for all the IPs above 255.255.255.255. In fact, if that entry is just "send everything to my upstream" it might already work! Now I want to add some new resources but I'm out of IPv4 space. So I get some IP4+ space and a new host with a new firewall rule for the new octet and a DNS entry. Of course only other people on IP4+ can reach it, so I use it for my internal tools since I know all of my clients support IP4+. Then I want to use it for a public service, so I add a dual DNS entry of 0.0.0.0.1.2.3.4 and 1.2.3.4. IPv4 clients get 1.2.3.4 and IP4+ clients get 0.0.0.0.1.2.3.4. Now I can start collecting data on how many people support IP4+. When it gets high enough, I can shut off the v4 address and move it to IP4+ only. It would make the transition just soooo much easier, because the changes are much more incremental. I don't have to set up a whole new dual stack. I can just make a few dual entries.
- hotpotamus 4y agoI generally agree, but I'm pretty sure ::1.2.3.4 is a valid IPv6 address because it does have the idea of v4 compatibility built in.
- keiyakins 4y agoit's ::ffff:1.2.3.4, so that loopback can be ::1. But yeah same idea.
- secondcoming 4y ago"::ffff:1.2.3.4" is a valid IPv6 address; "IPv4-mapped IPv6"
- spookthesunset 4y agoIt’s the firewall rules that always creep me out. The nice thing about NAT is open ports on your internal network are hidden to the outside world by default. You have to think about which ports you want the NAT gateway to forward. With IPv6 the entire network is reachable outside by default. Granted I assume you can probably create a default DENY rule for inbound traffic and selectively open ports up as exceptions. Right?
- justusthane 4y ago> Granted I assume you can probably create a default DENY rule for inbound traffic and selectively open ports up as exceptions. Right? Sure, of course. That’s how firewalls work for IPv4 as well— you have an implicit deny rule at the end, and then allow rules come before it.
- gertrunde 4y agoNo.... Absolutely no... NAT is absolutely not in any way a substitute for an actual firewall, despite the side effect of 'blocking' ports. And how is "You have to think about which ports you want the NAT gateway to forward." any different from thinking about firewall rules? And most consumer CPE devices (i.e. 'router' etc) are perfectly capable of running a firewall, and often do. And any firewall that doesn't drop inbound traffic by default is not really much use at all. And lastly, if you want you can still do NAT66 if you really must, or IPv6 network prefix translation, which is a slightly improved version.
- blablabla123 4y agoIt provides a lot of improvements actually. Stating the obvious, NAT isn't needed anymore. Also with modern Firewalls rules need to be written only once. At this point I'm just surprised why it's not adopted
- trynewideas 4y agoInertia on the part of large services, providers, and infrastructure isn't much of a surprise.
- tinus_hn 4y agoISPs love NAT because it is an artificial distinction between producers and consumers, which means they can call the producers ‘pro’ of ‘enterprise’ and charge them through the nose while the consumers can’t cause trouble and just pay for download speed.
- eppp 4y agoGoing by my current experience of managing an ISP, the number of people that care at all about producing anything is almost zero. Out of thousands of accounts I can count on two hands the number of people that want anything outside of the standard ipv4 symmetric 1gb we offer.
- tinus_hn 4y agoPerhaps the don’t say they care about producing content but surely they care about accepting (voip) phone calls, being able to torrent twice as fast (because they would be able to connect to twice as much peers) and they’d also like all these services that just don’t exist anymore because too many people are behind NATs they can’t control. The popularity of uPnP for automatic port forwarding should be a clue, anything that uses that is blocked by cgnat.
- bo1024 4y agoWhen infrastructure makes it really hard for people to produce things, then there's no ecosystem for it and very few people get interested in producing things. At-home hosting would open up tons of applications. You could have at home video cameras that are actually private (no third party connection). You could share photos with family and friends from a home photo frame - directly. There could be tons of applications that normal people would be interested in.
- Hikikomori 4y agoElad Cohen?
- cramjabsyn 4y agoI feel the same way. Clearly ipv6 is very flawed and by now the community should consider it a failure and work on a viable replacement. We need an internet protocol that is backwards compatible with ipv4 and does not require deploying and maintaining entirely parallel networks, interfaces, firewalls, routing, etc. If ipv6 actually was viable, the internet would have cut over. Instead we’re on a path to support ipv4 and ipv6 in parallel essentially forever.
- neilalexander 4y agoThere is no “backwards compatible with IPv4”. If you have to modify the existing packet headers, you no longer have backward compatibility. If you change anything involving how a flow is identified (like the source/address destinations and ports) then you have broken backward compatibility. Firewalls need to understand new address formats, routers need to understand new address formats, end systems need to understand new address formats, BGP needs to be extended to support new address formats. IPv6 is perfectly viable and it is in many ways cleaner than IPv4 is. It’s just that transition is expensive and apathy is easy.
- cramjabsyn 4y ago> It’s just that transition is expensive It’s impossible to finish a transition when the old version has no end of life in sight.
- kd913 4y ago>It’s impossible to finish a transition when the old version has no end of life in sight. The end of life is gonna happen when ipv4 addresses end up being cost prohibitive. They are already some $50 an ip address. That is gonna be cost prohibitive in developing Countries, who already are making a transition to ipv6.
- uuddlrlrbaba 4y agoIncreased demand will drive the price up, but that's not end of life. Developed countries will pay obscene amounts for ipv4 space. Just as they do for shorthand .com domains.
- WastingMyTime89 4y agoIt's already more or less how IPv4 addresses are embedded in IPv4 (except its 128bits and they use an FFFF prefix between the 0 and the IPv4 address). IPv6 doesn't solve anything for the sake of it. Anyone who had to debug ARP caused issue on a network knows it's complete garbage for example. Providers who explain that they are dragging their feet because of the complexity would have said exactly the same thing even it was only IPv4++. They just don't want to invest any money in something which is working for them.
- est31 4y agoOne of the ideas of ipv6 was to reduce routing tables, those tables that backbone providers have to keep in memory and look up for incoming traffic. With ipv4's fragmented allocation scheme, these routing tables are huge. With ipv6, even huge companies like amazon only have a couple of global allocations. A "ipv4 with more octets" scheme would have kept that fragmentation around. That being said, Amazon currently has 2880 ipv4 allocations and 946 ipv6 allocations... not much gained I guess? :p https://asnlookup.com/asn/AS16509/ https://asnlookup.com/asn/AS16509/ Also, there are definitely some horrible ipv6 warts, like that the only standard for local ipv6 addresses forces you to adopt a scheme where your local address is horribly long, for the sake of global uniqueness, which is something that most people don't really need.
- justsomehnguy 4y ago> Amazon currently has 2880 ipv4 allocations and 946 ipv6 allocations... not much gained I guess? Whole IPv4 address space is 4294967296 addresses. A single /48 is 1,208,925,819,614,629,174,706,176. And 2804:800::/32 is 79,228,162,514,264,337,593,543,950,336.
- ipython 4y agoGp comment refers to the number of routing table entries, not total number of addressable ips. Ideally the number of ipv6 allocations should be close to 1 rather than close to 1000.
- tlb 4y agoI'm not up to date, but when I knew about this stuff the cost of memory for routing tables was only a tiny, tiny fraction of the cost of a network. Most of the cost is burying and maintaining fiber. So unless something big has changed, it seems like a terrible choice to twist the whole system into uselessness to try to save a small amount of RAM cost.
- cranekam 4y agoAccording to this Stack Exchange post from last year a full IPv4 routing table requires on the order of a few hundred MBs of RAM. This is indeed a tiny fraction of the cost of maintaining the global internet infrastructure. https://networkengineering.stackexchange.com/questions/76562/how-much-ram-you-actually-need-to-keep-whole-global-bgp-routing-table https://networkengineering.stackexchange.com/questions/76562...
- throw0101a 4y ago> And regarding compatibility, with ipv4+ if you have a 0.0.0.0.x.x.x.x ip address you would be able to talk to both ipv4+ aware and legacy ipv4 devices natively without any tunneling (because you also own the legacy, non quad 0 ip address). This exists: > Addresses in this group consist of an 80-bit prefix of zeros, the next 16 bits are ones, and the remaining, least-significant 32 bits contain the IPv4 address. For example, ::ffff:192.0.2.128 represents the IPv4 address 192.0.2.128. A previous format, called "IPv4-compatible IPv6 address", was ::192.0.2.128; however, this method is deprecated.[61] * https://en.wikipedia.org/wiki/IPv6#IPv4-mapped_IPv6_addresses https://en.wikipedia.org/wiki/IPv6#IPv4-mapped_IPv6_addresse... * https://datatracker.ietf.org/doc/html/rfc4291#section-2-5-5 https://datatracker.ietf.org/doc/html/rfc4291#section-2-5-5 You still need to upgrade bit of networking kit between the source and destination to understand "IPv4+", and this (lack of) upgrading and enabling is what is hampering deployment. What makes you think that companies would have been willing to make the effort to deploy "IPv4+" any more than IPv6?
- theamk 4y agoMayne RFC exists, but it os not used in teal world anywhere. In all servers, I configure IPv4 and IPv6 separately. Network setup is separate. DHCP daemons are separate. Firewall rules are separate. Network monitoring is separate. I would switch to that "IPv4+" system if it existed.. I am willing to use latest software/standards to future-proof my setup, but duplicating all the work is too much for me.
- icedchai 4y agoOk. How do you increase address space without breaking the protocol? IPv4 just doesn't have the space in the header. Something like "v4+" can't happen for this reason. You could argue that pervasive use of NAT beginning in the late 90's was "v4+". It bought us decades of Internet growth, at the expense of true end-to-end connectivity.
- throw0101a 4y ago> I would switch to that "IPv4+" system if it existed.. I am willing to use latest software/standards to future-proof my setup, but duplicating all the work is too much for me. And exactly how would you accomplish this switch to a larger address space? Please explain the steps exactly how they would be done. Because IPv4 has 32 bits of address. Anything after IPv4 needed >32 bits of address. How exactly do you fit in >32b in a data structure that is only 32b? You cannot. So you have to go and replace every bit of networking code out there to change the data structures. You know, like was done to deploy IPv6.
- fernandomm 4y agoLet's not forget about the idea that ISPs would distribute a /56 range to residential users. You could split it in /64 ranges according to your requirements and everything would work fine. There is only one "minor" issue: all major ISPs in my country ( Brazil ) only provide a single /64. You can't get another /64 unless you upgrade to a very expensive business plan. That makes IPv6 not only useless but also a huge security issue. 1) I can't use my Mikrotik as a firewall. Trying to split a /64 range breaks things and some devices ( specially IOT ones ) will simply not work. 2) Routers provided by the ISPs here are very limited, specially for things like firewall rules. Some of them will only provide a On/Off switch, with Off option between the default one. Although IPV4 + NAT had some issues, it ( accidentally? ) created a safe/sane default config for non-technical users. In order to open a port and expose a device, you have to explicitly add a rule on the firewall. IPv6 is the other way around. In practice, all devices and ports are exposed unless you explicitly block it. In the last 3 years I've noticed criminals focusing more and more on IPv6 scans to compromise devices and create botnets since it's much easier to find exposed/unpatched devices as most users don't understand how to correctly configure a firewall. Most of the time, the only viable solution is to disable IPv6.
- crest 4y agoRouterOS v7 supports DHCPv6 prefix delegation. You can request a delegated /64 per downstream interface and announce itself as router using these prefixes. You can still use your MikroTik device as router, stateful firewall, proxy. You don't have to mess with smaller than /64 allocations on links unless your provider forces a broken CPE on you that doesn't support DHCPv6 prefix delegation. Have you actually seen any large scale deployments of CPEs without an active IPv6 firewall blocking incoming connections by default?
- pantalaimon 4y agoFritz!OS also does, it's used by many consumer routers in Germany. There is of course also OpenWRT.
- icedchai 4y agoI am doing this on my pfSense box. My ISP delegates me a /56 and I have them assigned to several different VLANs.
- twblalock 4y agoIPv6 is the Python 3 of networking, although adoption is taking far longer than Python 3. Hopefully the lesson has been learned and this won't happen again.
- mplabelspace 4y ago
- codegeek 4y agoI always joke with "We figured out how to move from Python 2 to 3 but we still cannot figure out how to do IPv6" :). What a catastrophic failure it has been. Should we just stop using it altogether and retire or are there people still advocating ?
- ipython 4y agoYes, people are using ipv6 for real deployments. See any large scale mobile network deployment. Funny thing is most people never realize because it all just works…
- Gigachad 4y agoIPv6 adoption is growing at 5% per year and is currently around 40% https://www.google.com/intl/en/ipv6/statistics.html https://www.google.com/intl/en/ipv6/statistics.html I expect as we get closer to the end we will see it pick up speed. Countries are now mandating IPv6 support as early as this month https://www.indiatimes.com/technology/news/india-sets-new-deadline-for-upgrading-internet-protocol-to-ipv6-heres-why-it-matters-553484.html https://www.indiatimes.com/technology/news/india-sets-new-de... Things are still moving forward, faster than ever at this point.
- icedchai 4y agoYou'd be surprised. A former employer is still writing new Python 2 code.
- jandrese 4y agoWhat are you going to use instead? IPv4 is already bursting at the seams and starting over from scratch at this point means at least a decade before a new solution could even be considered.
- d00bianista 4y ago> Not having two sets of firewall rules and two sets of everything. I always disable IPv6 because it can bite you so hard when you don't realize that you are wide open to IPv6 connections because of different firewalls. nftables gives us a dualstack firewall, and it's so far the only one I've seen. It's not that bad, but I have occupational damage so I don't mind :D https://wiki.nftables.org/wiki-nftables/index.php/Nftables_families#inet https://wiki.nftables.org/wiki-nftables/index.php/Nftables_f...
- EvanAnderson 4y agoThere was an idea floated in the early 2010s to do an overlay network over IPv4 that did this just: https://seam.cs.umd.edu/EnhancedIP/index.html https://seam.cs.umd.edu/EnhancedIP/index.html It "died" as an Internet-Draft: https://datatracker.ietf.org/doc/html/draft-chimiak-enhanced-ipv4-03 https://datatracker.ietf.org/doc/html/draft-chimiak-enhanced...
- jandrese 4y agoI don't see how this has any advantage over just deploying more NAT like people are already doing. Plus it adds IP options which routers hate. They claim "EnIP supports end-to-end connectivity, a shortcoming of NAT, making it easier to implement mobile networks." but I don't see where mobile network operators would care about end-to-end connectivity?
- andix 4y agoI think the big problem of ipv6 is, that it’s not backwards compatible. You can’t just switch to ipv6 only and have a some network box rewrite ip addresses for example 1.2.3.4.5.6.7.8 to 10.6.7.8 or simple kernel module that translates it. Just imagine if ipv6 stacks could just completely replace ipv4 stacks on every system, with full access to all ipv4 resources, as long as the first 12 bytes are all 0.
- zhoujianfu 4y agoI always thought to start they should have just allowed each octet two-ish more bits, so you could have 999.999.999.999. I know it’s the hackiest of all hacks, but it sure would have been an easy upgrade from the software perspective. And it would have given about a 256x increase in the number of ips. Which I kinda think actually might have served us for a long time.
- ipython 4y agoAnd where do those two extra bits go? How do existing routers that don’t know anything about two extra bits route those packets? Here’s the ip packet header: https://commons.wikimedia.org/wiki/File:IPv4_Packet-en.svg https://commons.wikimedia.org/wiki/File:IPv4_Packet-en.svg
- vlovich123 4y agoIn this thread, lots of people seem to think in terms of 255.255.255.255 and fail to recognize the IP address is 32bits and the textual representation of 4 octets means very little. But the confidence and armchair expertise offered… wow.
- kevin_thibedeau 4y agoThe IPv4 dotted quad format carries a lot of baggage. You also have to handle forms with two numeric fields with a mixture of 8, 16, and 24-bit numbers and implicit zero octets. Support for the full syntax is sporadic. IPv6 deliberately uses a new text encoding to make a clean break.
- unethical_ban 4y agoI don't want to be rude, and I'll assume good faith. But it seems naive to think the syntax of an address would be the sticking point. 128 bit addresses, NDP, SLAAC, etc., there are many huge changes that I don't think syntactic sugar would have saved. Maybe though? Perhaps it would have been doable but I simply don't know. We, the world, should ha e legislated some of these standards. The fact that in 2022 I have to worry about if I will get a /60, /64 or /128 from an ISP is criminal. That I can't get a consumer router with prefix delegation available.
- lowbloodsugar 4y agoOMG! What were we all thinking! Thank you redox99 for figuring this out. Only now that you have pointed out this idea is it suddenly obvious. But, since this is, you know, the entire internet, can you maybe write a more detailed specification? So like, when my TCP stack creates a presumably backwards compatible IPv4 header, where does it put the extra 4 bytes? Or do we only send these IPv4+ packets to devices that we also know are IPv4+? If we add four bytes at the end of the IPv4 header, then when I send to 12.4.1.0.8.8.8.8, then the legacy server will read it as 8.8.8.8 and send my information to Google. That seems bad. Or will we create a new IP header format? If so, how will we make sure that all the software on a given box understands the new format? How do we incrementally roll out these new applications, kernels, modules, etc, in such a way that we dont break the internet in interesting and fatal-for-real-people ways? Maybe we could deploy IPv4 and IPv4+ side-by-side, so that both are running, and so the new IPv4+ can fail with no risk to the IPv4 services? How about parsing IP addresses. What if I send to 10.44321? This is a valid IP address. Are we going to say that the various short-hand representations only apply to IPv4, so you an't shorten 127.0.0.0.0.0.0.1 to 127.1? How will we handle scripts where the subnet is specified as /24 independently of the address, such that IPv4+ subnets will contain 32 billion IPs instead of 256? Or do you imagine that IPv4 and IPv4+ scripts must be kept separate? I am looking forward to your specifications! While you are addressing all these issues, could we also look at expanding the number of ports available too? Also, what if IPv4+ used sixteen bytes, instead of eight?
- AtlasBarfed 4y agoPlease look at the structure of an IP header. Note the "options and padding" section. Also SECTIONS of the internet (that is, routers) can have IPV4+ packets wrapped in IPV4 packets that will transmit them through "IPV4-old" only branches. We pretend like the major routing backbones aren't known and fairly set in stone, and that routers don't know about each other. Yeah, his approach doesn't fix the Comcast-doesn't support-IPV6 and is stuck in old IPV4. But those places are using NAT of their own. If we have all these cgnats and other address translations happening, well shit how is that different that the IPv4 wrapping ipv4+ and other things. Also, oh yes please give me more fucking ports. IPv6 keeping the same number of ports is stupid. Please give me 64 bits of ports. Ok, I'll take 32. If you use 10.44321 for a port number these days, well I have no sympathy for you. As for /24, clearly that will mean "IPV4 /24", and whatever new protocol will use some other convention like /000024. But /24 maps to a bit mask. You just interpret the bit mask differently. Yes I am handwaving a ton of stuff. A ton. But ipv6 basically said "fuck you our way or the highway" and here we are. At this point, maybe we need a superprotocol ipv8 that will wrap the ipv6 address space, the old ipv4 address space, into an even bigger address space. Get the router vendors and designers back in the room.
- superluserdo 4y ago>If IPv6 were IPv4 with more octets, then we would all have been using it for like a decade. The only real reason v4 is being replaced after decades is that it has a single showstopping flaw - the lack of addresses. v6 solves this forever with its massive address space. We've seen how incredibly hard replacing v4 has been. Without a similarly huge flaw to drive a replacement it's very possible that v4's successor could be the universal internet protocol for hundreds or even thousands of years. With that in mind, even though progress has been frustratingly slow, going for something closer to the global maximum in design and avoiding ease-of-adoption hacks might be the right thing to do. That's not necessarily to say that your suggestion of still using dot-separated numeric values would be objectively worse, but bear in mind that doubling the number of fields from 4 to 8 as you've done only gives you a 64-bit address space, whereas IPv6 as it exists has a 128-bit space, so would require something like 0.0.0.0.0.0.0.0.0.0.0.0.1.2.3.4.
- dqh 4y agoI am not a network engineer, but for about 20 years I have wondered why we didn't 'just' do something like: 1. Include an extra 32-bits of address information as an IP options header. Call it an IP4.4 packet. 2. (I think?) IP4.4 packets would therefore happily travel over existing IP4 infrastructure. 3. Each existing IP4 address becomes a potential IP4.4 network with 32-bits of address space behind it. IP4.4 aware routers at the network border could swap inbound IP4 destination with the .4 address before forwarding on to the internal network. Basically like NAT, but you can allow inbound connections without maintaining state. EDIT: formatting
- vlovich123 4y agoWhat happens when your 4.4 packet hits a router box somewhere out there that doesn’t understand 4.4? Where’s it going to send that packet? To the wrong address (or potentially even create an infinite loop). Now what?
- AtlasBarfed 4y agoI understand what you're saying, but isn't IP supposed to be about routing things around failure points? So routers that "know" IP 4.4 would "know" what routers aren't 4.4.
- vlovich123 4y agoBy definition you’re trying to retain back compat. So you have a 4.4 source IP address. You try to establish a TCP connection to a legacy IPv4 website that isn’t 4.4 aware. What address is that website sending the response back to? Even if it is 4.4 aware, how do you guarantee it’s taking a path back through 4.4 aware servers? The whole point of adding an option header is to allow unmolested transit through existing IP stacks. If you’re saying you’re routing around them, then you’ve bifurcated the networks and you’re back to IPv6.
- AtlasBarfed 4y agoYou're basically doing carrier grade NAT for that, the same thing that is apparently tooootallly acceptable to the ipv6 people for their big success story: mobile. The only success story of ipv6 leads us to the solution: backbone-level CGNAT and other hacks, then impose the economic cost on IPV4-only carriers and endusers.
- bumbledraven 4y agodjb proposed this back in 2002: https://cr.yp.to/djbdns/ipv6mess.html https://cr.yp.to/djbdns/ipv6mess.html > How do we teach every client on the Internet to talk to servers on public IPv6 addresses [and vice versa]? > Answer: We go through every place that 4-byte IPv4 addresses appear, and allow 16-byte IPv6 addresses in the same place. > ... > Unfortunately, the straightforward transition plan described above does not work with the current IPv6 specifications. The IPv6 designers made a fundamental conceptual mistake: they designed the IPv6 address space as an alternative to the IPv4 address space, rather than an extension to the IPv4 address space. > ... > This might sound like a very small mistake: after all, once IPv6 is working, we can move everything to IPv6, so who cares about IPv4? The problem is that this mistake has gigantic effects on the cost of making IPv6 work in the first place.
- vlovich123 4y agoThat is the exact right reason, none of the other BS that’s been written (notice the lack of complaints about new IPv6 features). It’s purely about v4/v6 interop. I’m still not 100% sure how you would have solved some of these problems though. It’s easy to state that’s the problem. A lot harder to show how you have these things interconnecting seemlessly.
- keiyakins 4y agoso somehow 0.0.0.0.8.8.8.8 is an extension of the legacy address 8.8.8.8, and ::ffff:8.8.8.8 isn't?
- stevewatson301 4y agoThere have been no experiments to show why this is any better than IPv6 given that you still need to modify routers and end user devices to route traffic, nor does it address the fact that IPv6 has additional features such as flows and prioritization to handle the modern Internet's traffic requirements. The scheme you propose had already been proposed by Elad Cohen, but with "evil" intentions as they're linked to a IPv4 misappropriation scheme[1]. [1] https://mybroadband.co.za/news/security/367188-the-great-african-ip-address-heist-south-african-internet-resources-worth-r558-million-usurped-with-shady-domains.html https://mybroadband.co.za/news/security/367188-the-great-afr...
- logic_probe 4y agoAn even better idea: Right now, the biggest address is 255.255.255.255. Why not just make it go up to 999.999.999.999? Problem solved!
- keiyakins 4y agoBecause on the wire it's encoded as four bytes. If you can make eight binary digits count up to 999, you can do a lot more than just make IPv4 last longer.
- adev_ 4y ago> Edit: To make everything a bit clearer, the idea with this "ipv4+" is that you don't need the complexity of running both ipv4 and ipv6 as you do now. I find that very wild optimism. - You will still get two incompatible address space V4 and V4+ and that would imply: -> You still need to modify your software to adapt for V4+ for the transition. -> Most of your middlebox and firewall rules will get in the way for anything served over V4+. Exactly like for V6 -> DNS would still need to be updated with new record and it will be the same mess It would be mostly the same mess. IPv6 has its quirks, but let's be honest: the main problem with Ipv6 is not technical any-more. The main reason the switch does not happen is that there is no business incentive to switch to IPv6 for most companies and consequently, most companies do not give a fuck.
- Dagger2 4y agoWhich is weird, because there is a business incentive: money. But instead, companies seem to be willing to pay out huge amounts of money to not deploy v6.
- otabdeveloper4 4y agoYou're solving the wrong problem. IPv4 is a pain in the ass, but never in 20 years have I thought to myself "gee, I really wish I had more IP addresses available". I'm not Amazon and I will never run out of 192.168.0.0/16. Focus on the real use-cases, please.