fun fact, the RFC introducing NAT calls it a “short-term solution”
bro just add another octet to the end of ipv4. That goes from 4 billion to a trillion and will most definitely outlast modern electronics and capitalism
I think they must have thought: ‘Well we thought four and a quarter billion was going to be enough. We don’t want to repeat the mistake, so let’s create an unimaginably large address space.’
Which, with the benefit of hindsight, now looks daft itself.
It looks daft now with a little hindsight, but we’re kind of still in the foresight stage for the overall life of IPv6.
Imagine using ipv6
Ipv6 is broken for those that want control over their home networks thanks to Google and terribly written RFCs.
All that was needed was an extra byte or two of address space, but no, some high and mighty evangelicals in their ivory towers built something that few people understand 30 years later. Their die hard fans are sure that this will be the year of ipv6. The Year of Linux on the Desktop will come 10 years before the year of ipv6.
Broken how? What parts are not commonly understood?
What did Google do? Just curious as I’m not into home networking
Ipv6 is broken for those that want control over their home networks
I don’t see how? Works great for my home network.
And 10 years before fusion power?
is a /56 not enough address space for your home network
My home network is millions of ants with tiny little backpacks
you’ll never believe this
The backpacks themselves? I’m glad you asked. So, they each function on an actor model, where each potential state for each actor has its own address…
are there quintillions of states
No, actually tbh the address space is the least of my worries. At this point I’m gonna be honest, the ants just don’t wanna play ball
have you tried giving them tiny ant-sized balls
deleted by creator
Also for home network I don’t won’t my IOT to have a real IP to the Internet. Using IPv4 NAT you can have a bit of safety by obscurity
NAT is not much different to a firewall though… just because the address space is publicly routable does not mean that the router has to provide a route to it, or a consistent route
NAT works by assigning a public port for the outgoing stream different to the internal port, and it does that by inspecting packets as they go over the wire: a private machine initiates a connection, assign an arbitrary free port, and sends that packet off to the router, who then reassigns a new port, and when packets come in on that port it looks up the IP and remapped port and substitutes them
that same process can easily be true in IPv6 but you don’t need to do any remapping: the private machine initiates a connection, and the router simply marks that IP and port combination as “routable” rather than having to do mappings as well
I don’t won’t my IOT to have a real IP to the Internet
Why not? What’s the difference to them having a nat ipv4?
Its unlikely someone with guess your ipv6 of your iot.
No, but it’s far easier to explain how to configure your home network such that 182.168.1.* is for your regular devices like laptops, etc. and 192.168.2.* is for your IoT devices. Then block all access from 192.168.2.* to the internet so your IoT devices can’t “phone home”, can’t auto-update without your knowledge, can’t end up as part of a botnet, etc.
That’s the thing, you are still thinking in ipv4 terms, and that’s ok. It’s a different way to think of things using ipv6 and the proper way to configure them. No worries tho. Not like you are being forced to ipv6 for internal home networks.
Ok, so what would the equivalent be?
Create a new /64 and don’t give it a route to the internet.
I hope nat burns in hell when ipv6 will become standard
Any day now brother
It’s the year of the ipv6 server
mind explaining? All 8 know about Nat is that it sometimes didn’t let me play rainbow six siege
NAT is like package delivery IRL. If you’re a server and send a package to a client without NAT, that’s like sending a delivery boy to deliver pizza, goes straight from source to destination.
But with NAT it’s like ordering a package online. It first will be delivered to a distribution center, and then a delivery warehouse in your area, and then the courier delivers packages to all people on his route.
It’s way more complex and you now have a whole bunch of points of failure.
And yet, in the real world we actually use distribution centers and loading docks, we don’t go sending delivery boys point to point. At the receiving company’s loading docks, we can have staff specialise in internal delivery, and also maybe figure out if the package should go to someone’s office or a temporary warehouse or something. The receiver might be on vacation, and internal logistics will know how to figure out that issue.
Meanwhile, the point-to-point delivery boy will fail to enter the building, then fail to find the correct office, then get rerouted to a private residence of someone on vacation (they need to sign personally of course), and finally we need another delivery boy to move the package to the loading dock where it should have gone in the first place.
I get the ”let’s slaughter NAT” arguments, but this is an argument in favour of NAT. And in reality, we still need to have routing and firewalls. The exact same distribution network is still in use, but with fewer allowances for the recipient to manage internal delivery.
Personal opinion: IPv6 should have been almost exactly the same as IPv4, but with more numbers and a clear path to do transparent IPv6 to IPv4 traffic without running dual stack (maybe a NAT?). IPv6 is too complex, error prone and unsupported to deploy without shooting yourself in the foot, even now, a few decades after introduction.
in the real world we actually use distribution centers and loading docks
because we can pass packages in bulk between large distances… in routing, it’s always delivery boys: a single packet is a single packet: there’s no bulk delivery, except where you have eg a VPN packing multiple packets into a jumbo frame or something…
the comment you’re replying to is only providing an analogy: used to explain a single property by abstraction; not the entire thing
we can have staff specialise in internal delivery
but that’s not at all how NAT works: its not specialising in delivery to private hosts and making it more efficient… it’s a layer of bureaucracy (like TURN servers and paperwork - the lookup tables and mapping) that adds complexity, not because it’s ideally necessary but just because of limitations in the data format
routers still route pretty much exactly the same in IPv6 direct or NAT, but just at the NAT layer public IP and port is remapped to internal addresses and ports: the routing is still exactly the same, but now your router has to do extra paperwork that’s only necessary because of the scheme used to address
IPv6 is too complex, error prone and unsupported to deploy without shooting yourself in the foot, even now, a few decades after introduction.
Which is purely down to people not testing things before releasing them, because the support is there but there’s layers of unnecessary stuff put in the way. Like I had an old ISP provided router that ran Linux, but the management UI was only ever tested against v4 networks so none of the v6 stuff was actually hooked up correctly.
Support in desktops and mobile devices is effectively 100%, but even in embedded hardware there’s often full support, just not enabled correctly or tested.
That’s a great analogy for carrier grade nat.
For regular nat it’s like the pizza is able to get all the way to your house but then has no idea who to go to so somebody has to answer the door and then take the pizza from the door to the person who ordered it themselves.
And IPv6 is like the pizza delivery guy just walks right into the house up the steps into your bedroom and hands you the pizza directly.
The best part is they each have the same exact problems you’d have in real life.
Let me one up this. IPv4 NAT is like the pizza guy has to deliver to you, but you live in a gated community with a strict no visitors policy, which does not allow you to even mention what unit you’re in, and none of the addresses in the community are registered with the post office or on Google Maps either. Instead, you tell the guardhouse you want to order, and they order the pizza for you. The pizza guy delivers to the guardhouse, and the guardhouse delivers the pizza to you.
IPv6 (with firewalling) is like a normal gated community, you order the pizza and include the unit number, and the delivery driver can deliver your pizza directly, as long as the guardhouse approves.
The difference is, with NAT, the guardhouse has to both guard (firewall) and route (keep track of all deliveries, and deliver) your packages, where with IPv6, the guardhouse (firewall) only has to guard (firewall) the packages.
i kinda love that this explanation is so much more complex not because it adds nothing but precisely because it adds a lot of realism: NAT is actually just far more complexity and processing
Sounds good to me
Waiting for IPv8 when the delivery guy takes a slice and feeds it to me so I don’t need to worry about greasy fingers.
The good ol’ American ipV8 motor
Nah that’s just ransomware
Perfect, perfect analogy. Like, seriously, I’ve hardly ever seen an analogy that works so flawlessly where even the implications just line up perfectly.
I am in awe.
Lol
Why are we eating pizza in the bedroom
I was eating salad in my bedroom 2:30 in the morning today.
Me: Fuck, can’t sleep I’m hungry. You want anything? Wife: yeah, fill up my water bottle and bring me something to eat.
I went downstairs, made two loaded salads and brought them up to the bedroom.
I might in fact be getting old.
If you can eat a salad and then lay down without getting an explosion of acid reflux, maybe you aren’t old yet 😂
Having multiple hosts under one address for all hosts is annoying. Port forwarding is annoying. Some isps have their own nat and want you to pay additionally for public ip address
deleted by creator
Every atom of the universe should have its own ip.
For targeted location-based ads of course! Lots of revenue there
I know it’s a joke, but the idea that NAT has any business existing makes me angry. It’s a hack that causes real headaches for network admins and protocol design. The effects are mostly hidden from end users because those two groups have twisted things in knots to make sure end users don’t notice too much. The Internet is more centralized and controlled because of it.
No, it is not a security feature. That’s a laughable claim that shows you shouldn’t be allowed near a firewall.
Fortunately, Google reports that IPv6 adoption is close to cracking 50%.
I think NAT is one reason why the internet is so centralized. If everyone had a static IP you could do all sorts of decentralized cool stuff.
Right, not the only reason, but it’s a sticking point.
You shouldn’t need to connect to your smart thermostat by using the company’s servers as an intermediary. That makes the whole thing slower, less reliable, and a point for the company to sell your personal data (that last one being the ultimate reason why it’s done this way).
Everyone having a static IP is a privacy nightmare.
There’s a reason the recommendation in the standard for ipv6 had to be amended (it whatever the mechanic was) so that generated local suffixes aren’t static. Before that, we were essentially globally identifiable because just the second half of your v6 address was static.
publicly addressable does not mean publicly routable… your router would still not arbitrarily connect untrusted external devices to internal hosts
NAT has the property of a firewall only as an implementation detail. replacing NAT with an IPv6 firewall in the router is an upgrade in every conceivable way
I’m aware of that, and didn’t say otherwise?
My comment wasn’t even ipv6 specific, quite the opposite. The comment I was replying to also wasn’t, and the implication that things would be better if everyone had a fixed IP(v4) was actually the specific privacy nightmare scenario I wanted to emphasize. That is the literal worst case of all.
Things can be mitigated somewhat with IPv6, but also only to a degree. Here you’d (usually) have a static prefix and not IP. You then need to use the randomized suffix generation (on a host level, or in DHCPv6 if you’re using that), and not all OS so this by default, but I think Windows does these days. Advertising data collectors, which means basically every web site, could just assume that your prefix is stable and the information they gain if they happen to be correct it’s… uncomfortable.
ah! sorry i misread/misunderstood privacy to mean security in your comment :)
IPv4 centralization creates far more privacy issues than everyone having a static IP. The solutions are still things like VPNs and onion routing.
Which is why IPv6 was created. Everything used to get a public routable IP. Large company’s such as ATT and IBM got a whole /8 to themselves. NAT made it so we did not run out of IP’s in the 2000’s
Ipv6 took awhile for me to understand. One of the biggest hurdles was how is it secure without NAT.
Can you share more details please?
IPv6 is the natural Internet. Things are either allowed or forbidden to connect.
NAT is just a kludge.
My isp and router both claim to have IPv6 but every test site has failed.
Fine, I won’t invite you to our bi-annual TURN server appreciation event.
You are right, but I wish ipv6 was less shitty of a replacement.
I worked with one of the inventors of IPv6 for a bit of time, and I think knowing Carl really gave me an insight into who IPv6 was invented for, and that’s the big, big, big networks — peering groups that connect large swaths of the Internet with other nations’ municipal or public infrastructure.
These groups are pushing petabytes of data every hour, and as a result, I think it makes their strategists think VERY big picture. From what I’ve seen, IPv6 addresses very real logistical problems you only see with IPv4 when you’re already dealing with it on a galactic scale. So, I personally have no doubt that IPv6 is necessary and that the theory is sound.
However, this fuckin’ half-in/half-out state has become the engine of a manifold of security issues, primarily bc nobody but nerds or industry specialists knows that much about it yet. That has led to rushed, busy, or just plain lazy devs and engineers to either keep IPv6 sockets listening, unguarded, or to just block them outright and redirect traffic to IPv4 anyway.
Imo there’s not much to be done besides go forward with IPv6. It’s there, it’s tested, it’s basically ready for primetime in terms of NIC chip support… I just wish it weren’t so obtuse to learn. :/
However, this fuckin’ half-in/half-out state has become the engine of a manifold of security issues, primarily bc nobody but nerds or industry specialists knows that much about it yet. That has led to rushed, busy, or just plain lazy devs and engineers to either keep IPv6 sockets listening, unguarded, or to just block them outright and redirect traffic to IPv4 anyway.
Its kind of interesting to me how conservative the IT industry is with stuff like this.
The industry loves to say “move fast and break things” or “innovate and disrupt”, but that generally only applies to things that can be shat out in a two week long Python project (or shat out in 2 weeks after publicly funded universities spent years figuring out the algorithm for you). For anything foundational, like CPU architecture, operating systems, or the basic assumptions about how UI should work, they’re terrified of change.
There is something there, but mostly I think existing net admins try to map their existing IPv4 knowledge onto IPv6. That doesn’t work very well. It needs to be treated as its own thing.
I couldn’t figure it until I turned my brain off and just read the documentation. I was thinking in IPv4 logic, because everyone had told me it was just “bigger IPv4” - it’s not. It’s so much more, and better.
Nah. You’re just too stupid to understand the internet is designed to be used with DNS. The people who design these protocols and operate the networks that form the internet have no issues with DNS and don’t care that you don’t understand.
Funny how I never once criticized, or even mentioned, IPv6s complexity, yet that is the aspect you chose to so valiantly defend. Quite telling, isn’t it?
We use NAT all the time in industrial settings. Makes it so you can have select devices communicate with the plant level network, while keeping everything else common so that downtime is reduced when equipment inevitably fails.
That’s nothing that can’t be done with a good set of firewalls on IPv6.
The one thing you can’t do with IPv6 is yell the address across the room to the technician plugged into the switch trying to ping the node.
no instead you yell the IP address and they spend 30min trying to debug why they can’t ping it or even get ICMP packets through and then you realise you yelled the private IP address and they were on the wrong side of the NAT
you can if you make it mostly zero
This is equipment that uses all statically addressed devices. And ignoring the fact that IPv6 is simply unsupported on most of them, there are duplicate machines that share programs. Regardless of IP version you need NAT anyway if you want to be able to reach each of the duplicates from the plant network.
there are duplicate machines that share programs
yes… that’s why every machine has its own IP address… so that they can both use the same port and you don’t have to connect to crazy bullshit like https://myhomerouter.example.com:8443/
Good luck trying to find industrial stuff that supports IPv6, hell most of it is still serial.
I have legit heard that serial is security mechanism because it cannot communicate long distance like ethernet.
Of course you can do IPv6 magic that hides IPv6 from the end device, but nobody understands how that magic works.
Of course you can do IPv6 magic that hides IPv6 from the end device, but nobody understands how that magic works.
it’s not magic… it’s a firewall, and it works pretty much exactly the same as a NAT: a whitelist of IP and port combinations
Surely we can do better. Why not IPv10? That’s 4 higher than 6!
My IP goes up to 11.
not sure if you’re aware thats a real thing https://www.ipv10.net/
>Forbidden
>You don’t have permission to access this resource.
Awesome.
Obviously. You can only access it in IPv10.
Guess we have to crank it up to 11, then.
The reason IPv6 was originally added to the DOCSIS specs, over 20 years ago, is because Comcast literally exhausted all RFC1918 addresses on their modem management networks.
My favourite feature of IPv6 is networks, and hosts therein, can have multiple prefixes and addresses as a core function. I use it to expose local functions on only ULA addresses, but provide locked down public access when and where needed. Access separation is handled at the IP stack, with IPv4 it’s expected to be handled by a firewall or equivalent.
They kept talking it was because address exaustion, and IANA sold all the remaining blocks they had…
I tested it at the time. Ran nmap ping scan across a block all night with zero results. IANA sold the internet
many “unused” IP addresses are unused because they’re kinda like having spare parts: if you’re planning on extending your network in the futures, your IP block kinda should reflect your end state (ie the parts you need over time to replace or “build” new hosts)
or for blue/green deployments where it’s likely that at least half the IP range will be used in terms of process, but unused most of the time in terms of reachability
and then there’s weird things with splitting up IP blocks into subnets with a division of 3 (the minimum needed for dealing with net splits etc) - eg across availability zones… there are always “waste” IPs because you can’t divide multiples of 8 cleaning into 3
My favorite feature of IPv6 is that there are so many addresses available. Every single IPv4 address right now could have its own entire IPv4 range of addresses in IPv6. It’s mind-boggling huge.
you could assign every square meter of the planet an ip and use it for location, and still have addresses left over
Oh it’s way more than that!
After looking up some numbers, I note we could give every single square MILLIMETER on the planet its own entire IPv4 address space.
…And then every one of those IPv4 addresses could have its own entire copy of the IPv4 address space!
…And that would just be a drop in the bucket compared with IPv6! One good comparison I’ve seen is that you could assign an address to every atom on the surface of the earth (but not inside it) and have enough left over for 100+ more earths.
Rough math for the square millimeters:
The surface area of the earth is roughly 510 trillion square millimeters. Let’s round that up to a quadrillion or 1015.
The number of IPv6 addresses is 2128 or 3.4x1038. To be conservative again, let’s just round that down to 1038.
1038 / 1015 = 1023 IPv6 addresses per square mm of earth.
IPv4 address space is 232 or around 4 billion. let’s round up to 10 billion or 1010.
So then 1023 / 1010 = 1013 IPv6 addresses per IPv4 address per square mm of earth.
1013 / 1010 =
1,000 IPv6 addresses
per IPv4 address
per IPv4 address
per square mm of earth.
And that was with the conservative estimates along the way. I think it would actually be tens of thousands.
square centimeter is the one I heard
I understand some of these words!
I see your satirical IPv6 meme and raise you the highest quality IPv6 evangelism you’ll ever see.
That was beautiful
My favorite thing to use IPv6 for is to use the privacy extension to get around IP blocks on YouTube when using alternative front ends. Blocked by Google on my laptop? No problem, let me just get another one of my 4,722,366,482,869,645,213,696 IP addresses.
I have a separate subnet which is IPv6 only and rotates through IP addresses every hour or so just for Indivious, Freetube and PipePipe.
Hah, do they not just block the whole /64? That’s actually really funny.
What is stoping Google from just blocking your entire IP-Block?
Mostly, I’m not big enough to trigger anything there.
Also, since ISPs usually only get a single humongous IPv6 block, it’s actually pretty hard to know what is okay to block. Somebody might be on a /48, /56 or /64 network but they might also just have a single IPv6 address. Since you’re blocking quintillions of IP addresses with each /64 net, the risk of hitting innocent IPs is high.
Also also, I’m not sure if Google is actually prepared for such a case. Since all the requests coming from Invidious just seem like legit unauthenticated requests, it’s hard to flag them on IPv6 when the IPs are fully randomized.
Still, Google is moving towards requiring a login for everything. So I assume that method won’t work for much longer.
This is exactly why ipv6 was never widely adopted. There’s too much power in a limited IP pool.
Define “widely”.
According to Google 46.09% of their traffic is IPv6 and most servers support it. It’s mostly large ISPs dragging their feet.
I’ve never seen functional ipv6 except at university, and I would only consider gci large in terms of coverage area and price.
I think it’s just a few domestic US ISPs. The rest of the world has been happily using it for quite some time.
Could you link the privacy extension in question I haven’t heard of it
it’s not a browser extension, its a SLAAC thing https://www.internetsociety.org/resources/deploy360/2014/privacy-extensions-for-ipv6-slaac.
TL;DR is that SLAAC used to use part of your device MAC to form it’s IP, which would be trackable/fingerprintable. Now devices just pick the last 48-bits at complete random on the assumption that no other device is going to have that specific address out of the 4 quintilion available addresses.
edit the RFC https://datatracker.ietf.org/doc/html/rfc4941
Thanks, might have to try that sometime.
Sure, it’s part of the IPv6 spec:
https://www.internetsociety.org/resources/deploy360/2014/privacy-extensions-for-ipv6-slaac/
Skill issue
IPv6 is easy to do.
2000::/3 is the internet range
fc00::/7 is the private network range (for non routing v6)
fe80::/64 is link local (like apipa but it never changes)
::1/128 is loopback
/64 is the smallest network allocation, and you still have 64 bits left for devices.
You don’t need NAT when you can just do firewalling - default drop new connections on inbound wan and allow established, related on outbound wan like any IPv4 firewall does.
Use DHCPv6 and Prefix Delegation (DHCPv6-PD) to get your subnets and addresses (ask for a /60 on the wan to get 16 subnets).
Hook up to your printer using ipv6 link local address - that address never changes on its own, and now you don’t have to play the static ip game to connect to it after changing your router or net config.
The real holdup is ISPs getting ultra cheap routers that use stupid network allocation systems (AT&T) that are incompat with the elegant simplicity of prefix delegation and dhcp.
On my home network I make sure that my PDs are the same as my VLAN IDs so that I can at least know where a device is based on its IP. If I was smart I would also line them up with the IPv4 subnets as well.
Meh, the idea of having every address be globally routable makes a lot of sense. NAT is a great bandaid but it’s still a bandaid. It still limits how peer to peer and multicast applications function, especially on larger networks.
NAT444 is shit. I can’t even host a web server without routing it through a VPN, and my ISP can’t work out how to provide an IPv6 addresses yet. Give it to me and I will work out how to use it.
Slight update - Just looked and apparently they had a goal of rolling out IPv6 addresses to all customers by earlier this year. I’ll check my router config tomorrow and who knows. Maybe I will be able to get one now? Would be pretty sweet.
I am sorry to interrupt, my ISP gave me an ipv6 address, but I just can’t access anything through it even when I specify it in the firewall, maybe they are blocking this functionality because they sell static ips.
I can use dynamic DNS, the problem is I can’t host over NAT444 without something like a VPN.
Still not been given an IPv6 address though.