News for hackers. Stuff that matters.
Re:The Ripe NCC Has Run Out of IPv4 Addresses by ta58844874 on Monday November 25, 2019 @01:33PM (#21631210)
IPv6 is a mess, over-engineered, non-intuitive, magic addresses etc.

All they needed to do was expand the address space, but it looks like the kitchen sink got thrown in.

Re:The Ripe NCC Has Run Out of IPv4 Addresses by q3k on Monday November 25, 2019 @02:13PM (#21631619)
It's not more of a mess than IPv4. It's okay, people can learn it as they learned the weirdness of IPv4 (DHCP, ARP, NAT, RFC1918, IP fragmentation, ...).
Re:The Ripe NCC Has Run Out of IPv4 Addresses by pdonis on Tuesday November 26, 2019 @12:00AM (#21635742)
But it's a different, backwards incompatible mess.
Re:The Ripe NCC Has Run Out of IPv4 Addresses by _red on Monday November 25, 2019 @04:37PM (#21633079)
Will any device made of matter / operating in polynomial time ever be able to hold the full 2^128 address space? It seems like we will forever be sub-netting into huge blocks simply because the entire space if mathematically infeasible to operate on. I think its fair to ask: Whats the point?
Re:The Ripe NCC Has Run Out of IPv4 Addresses by zAy0LfpBZLC8mAC on Monday November 25, 2019 @10:04PM (#21635318)
You are completely misunderstanding the purpose of IP address space. The purpose of IP address space is not to all be used, the point of address space is to enable connectivity. You enable connectivity by (a) having addresses available whereever you need them while (b) allowing for efficient delivery of messages. Both of those you achieve with sparse allocations, where it is easy to add machines and networks with minimal changes to the overall structure and minimal administrative overhead.

Designing the IPv6 address space to be filled with devices is about as sensible as designing the DNS system to be filled with domains. Like, instead of allowing for domain names with 63 characters per label, we could have just said DNS names are alphanumeric strings 7 characters long, and you get assigned a random one if you register a domain, to maximize the utilization of the address space. But that would be simply idiotic, because the purpose of that address space is to provide readable names, not to "use all the addresses".

Re:The Ripe NCC Has Run Out of IPv4 Addresses by q3k on Monday November 25, 2019 @04:58PM (#21633257)
For IPv6, the Internet routing table will never be split into more than 2^64 blocks, as a /64 is the general minimum BGP-announcable IPv6 block.

Regardless, I don't get your argument. Why would not being able to address all of a given address space be a bad thing? Isn't the whole point to have more address space than will ever by physically possible to need?

Re:The Ripe NCC Has Run Out of IPv4 Addresses by _red on Monday November 25, 2019 @06:32PM (#21634074)
>Isn't the whole point to have more address space than will ever by physically possible to need?

Is that not the definition of over-engineering?

Re:The Ripe NCC Has Run Out of IPv4 Addresses by zAy0LfpBZLC8mAC on Monday November 25, 2019 @09:52PM (#21635260)
It is over-engineering the same way that setting the maximum length of a database field longer than absolutely necessary is over-engineering, so not at all, except even far less so, because resizing a database field tends to be trivial, resizing the IP address size we've been working on for 20 years already and there is still no end in sight.

Really, this has absolutely nothing to do with "over-engineering", as there is absolutely no "engineering" in making the address larger, it adds zero complexity, and it massively simplifies network design because it removes constraints that really complicate the building and maintenance of networks.

Re:The Ripe NCC Has Run Out of IPv4 Addresses by Aeolun on Monday November 25, 2019 @07:44PM (#21634571)
Nah, in this case I agree. We thought the IPv4 space was more than we were ever going to need, and see where that left us...

Now we just took what we thought we needed, and added a few tens of orders of magnitude.

Re:The Ripe NCC Has Run Out of IPv4 Addresses by jsjohnst on Monday November 25, 2019 @11:36PM (#21635674)
Let me give you an example to illustrate the scale.

An average human cell is composed of 100 trillion atoms. [0]

An average human body is composed of 100 trillion cells.

By that we see there are about 10^28 atoms in a human body.

Let’s be conservative, and say the world population for the next fifty years stays under 10 billion (most estimates say closer to 100 years).

That gives us about 10^38 atoms across all human beings on earth.

Why does this matter? Because 2^128 is 3.4 × 10^38.

That’s three IPv6 addresses for each and every atom in all the humans on earth for at least the next 50 years.

If that’s not the definition of overkill, I dunno what is.

[0] https://www.thoughtco.com/how-many-atoms-in-human-cell-60388...

Edit: And if you say the real routable space of IPv6 is only 2^64, then my point still stands. Rather than it being 3 IPs for every atom, it’s still an IP for essentially every cell of every human on earth for the foreseeable future.

Re:The Ripe NCC Has Run Out of IPv4 Addresses by q3k on Tuesday November 26, 2019 @07:00AM (#21637520)
Do you also have a problem with 64-bit systems that have provisions for 64 bits of address space? In your book they also seem like a waste, and we should have designed something closer to ~48 bits of address space.
Re:The Ripe NCC Has Run Out of IPv4 Addresses by jsjohnst on Tuesday November 26, 2019 @07:54AM (#21637824)
No, I wouldn’t make the same comment if it was just a 64bit address space. Some excess isn’t necessarily bad, but excess on top of excess is. If that makes sense.

My edit I made last night might seem to imply otherwise, but that was due to me being a bit terse with that part and I can’t go back and edit further now.

Re:The Ripe NCC Has Run Out of IPv4 Addresses by Dagger2 on Wednesday November 27, 2019 @05:54AM (#21646865)
A 64 bit address space wouldn't be an excess though, it would be outright too small.

The whole point of L3 is to provide a layer of routing and aggregation on top of L2. Routing and aggregation requires sparse allocations, so L3 requires more address space than L2 does. L2 is 64 bits for new protocols today (which are supposed to be using EUI-64), so L3 needs to be more than 64 bits.

People would complain loudly if we didn't use a power of two, so here we are at 128 bits.

Re:The Ripe NCC Has Run Out of IPv4 Addresses by throw0101a on Wednesday November 27, 2019 @08:55AM (#21647822)
> If that’s not the definition of overkill, I dunno what is.

Or perhaps you are short sighted. :)

Look at all the drama and effort that we have had to go through over a decade or two to get past IPv4: if we went with "only" 64 bits for addresses, and we miscalculated and ran out again, we would have to go through that all over again.

It's the same reason why the ZFS folks (Jeff Bonwick) designed in 128 bit from the start:

* https://blogs.oracle.com/bonwick/128-bit-storage:-are-you-hi...

Re:The Ripe NCC Has Run Out of IPv4 Addresses by jsjohnst on Friday November 29, 2019 @12:42PM (#21665729)
> A fully-populated 128-bit storage pool would contain 2^128 blocks = 2^137 bytes = 2^140 bits; therefore the minimum mass required to hold the bits would be (2^140 bits) / (10^31 bits/kg) = 136 billion kg.

> Thus, fully populating a 128-bit storage pool would, literally, require more energy than boiling the oceans.

Very definition of excess as well, so thanks for proving my point!

Re:The Ripe NCC Has Run Out of IPv4 Addresses by throw0101a on Friday November 29, 2019 @08:26PM (#21667897)
> Very definition of excess as well, so thanks for proving my point!

Except you're skipping over the part about running out at 2^64:

> Some customers already have datasets on the order of a petabyte, or 250 bytes. Thus the 64-bit capacity limit of 264 bytes is only 14 doublings away. Moore's Law for storage predicts that capacity will continue to double every 9-12 months, which means we'll start to hit the 64-bit limit in about a decade.

2^64 bits ought to be enough for anybody. -- jsjohnst

Re:The Ripe NCC Has Run Out of IPv4 Addresses by jsjohnst on Saturday November 30, 2019 @11:34AM (#21670637)
Never once did I say 2^64 ought to be enough for anybody, so how about stop being a jerk?

Try reading what you quoted again, nobody is running out yet.

There are a lot of intermediate steps between 2^64 and 2^128! ;)

Re:The Ripe NCC Has Run Out of IPv4 Addresses by Aeolun on Wednesday November 27, 2019 @04:08AM (#21646390)
And then we expand to the stars, and suddenly one planet full of people isn't that great. And we'll develop nanomachines that need to be individually addressed, and suddenly our nice and new IPv6 space only lasts us only a hundred years.

These are just silly examples, but the point is that we don't yet know what will happen to make us run out of space.

Re:The Ripe NCC Has Run Out of IPv4 Addresses by jsjohnst on Friday November 29, 2019 @12:31PM (#21665650)
> only lasts us only a hundred years

Even if that’s true, that’s about 3x longer than IPv4.

A hundred years ago, computers didn’t exist. Can you imagine how well a network address scheme invented back then would work for our needs?

Why do you presume we can do a better job of predicting what the networking needs of a hundred years from now will be?

Re:The Ripe NCC Has Run Out of IPv4 Addresses by _red on Tuesday November 26, 2019 @02:14PM (#21641576)
then why stop at 2^128...why didn't they use 2^256?
Re:The Ripe NCC Has Run Out of IPv4 Addresses by q3k on Monday November 25, 2019 @08:00PM (#21634722)
Not if this extra bit space is cheap (and it is, both on the wire and in routing tables / TCAMs / tries).
Re:The Ripe NCC Has Run Out of IPv4 Addresses by kitteh on Tuesday November 26, 2019 @02:02AM (#21636166)
No, it's a /48.

Login to a route server and see for yourself.

Re:The Ripe NCC Has Run Out of IPv4 Addresses by q3k on Tuesday November 26, 2019 @05:34AM (#21637077)
You're right!

That makes it even less possible routes then, 248.

Re:The Ripe NCC Has Run Out of IPv4 Addresses by azernik on Monday November 25, 2019 @07:00PM (#21634287)
A subnet (i.e. a layer 2 network) always gets a /64 in IPv6; so the actual address space available for layer 3 routing is 64 bits.

The point of this ridiculously large space is that it makes routing tables smaller, because topologically-near areas can be given common prefixes without worrying about address exhaustion.

Re:The Ripe NCC Has Run Out of IPv4 Addresses by solotronics on Monday November 25, 2019 @05:35PM (#21633532)
also in IPv6 there are regional allocations so you can have a route that covers for Europe and another for APAC
Re:The Ripe NCC Has Run Out of IPv4 Addresses by ineedasername on Monday November 25, 2019 @01:39PM (#21631282)
What were the changes in IPv6, beyond just expanding the address space?
Re:The Ripe NCC Has Run Out of IPv4 Addresses by jandrese on Monday November 25, 2019 @01:58PM (#21631493)
IP Fragmentation at routers was removed from the protocol for one.

Another is that it changes the way you think about IP addresses, with endpoints getting a /64 instead of a single address like you did in IPv4. This allows users to change their IP address for every connection if they want, so if you want to apply policy to them you need to apply it to the entire subnet they are on. Granted, this also happens in IPv4 if you are doing NAT, so it's not really a change for most people.

There are a few other changes to stuff like QoS to better reflect modern practice, but for the most part it's pretty similar. Also, the IP header lost its checksum, as it was basically never useful.

Re:The Ripe NCC Has Run Out of IPv4 Addresses by throw0101a on Monday November 25, 2019 @02:39PM (#21631934)
> Another is that it changes the way you think about IP addresses, with endpoints getting a /64 instead of a single address like you did in IPv4.

End points get /128, it's just that subnets are now /64.

That simply means that endpoints can auto-assign themselves a new /128 because--instead ofhaving only space for 2^8 hosts in the typical /24 subnet of IPv4--there is now space for 2^64 hosts, which makes it unlikely that collisions will occur.

Re:The Ripe NCC Has Run Out of IPv4 Addresses by zAy0LfpBZLC8mAC on Monday November 25, 2019 @02:47PM (#21632002)
> Another is that it changes the way you think about IP addresses,

Only if you don't have a clue of IPv4 either.

> with endpoints getting a /64 instead of a single address like you did in IPv4.

That's just wrong. And endpoint gets one address, just as with IPv4 (and can optionally assign additional addresses where address space is available, also just as with IPv4).

What gets a /64 by default is a link, like, an ethernet. Which is also exactly like in IPv4, except, of course, with IPv4 you had shorter/fewer addresses, and thus obviously also smaller prefixes/fewer addresses per link.

> This allows users to change their IP address for every connection if they want, so if you want to apply policy to them you need to apply it to the entire subnet they are on.

Which is also exactly the same as with IPv4. If your LAN has an IPv4 /24, you can also change you address for every connection.

> Granted, this also happens in IPv4 if you are doing NAT, so it's not really a change for most people.

You have it all backwards?! NAT is what makes this impossible for connections to the public internet, in that no matter how you change your RFC1918 address, you keep the same address to the outside world? But that obviously is not a property of IPv4, but of NAT.

Re:The Ripe NCC Has Run Out of IPv4 Addresses by jandrese on Monday November 25, 2019 @04:57PM (#21633256)
I wasn't quite precise, because there are cases where you do DHCPv6, but as Android doesn't support it the protocol is a bit dead in the water.

SLAAC the router gives you the 64 bit prefix and the host chooses its own 64 bit host address, which can be any address not already in use. With IPv4 you are typically assigned a single IP address via DHCP. While it is true that you are free to ignore the DHCP address assigned to your host and select something else on the same subnet, this is not typical. With SLAAC however it is the norm for the host to figure out its own address, and to leverage the enormous IP space available in IPv6 to change up their source address at will.

Filtering individual hosts by IP has always been leaky, but IPv6 makes it more or less impossible. You have to filter by subnet.

IPv6 does have some braindamage. SLAAC didn't have a way to communicate the local DNS server address to hosts, nor a way for hosts to update the DNS with their selected addresses and hostnames. This is something that has just worked in DHCP for decades and was completely ignored by the IETF. There was some handwaving about mDNS and anycasting but the actual protocol for doing the updates was never nailed down and it ignored the fact that multicast on wireless networks has always been fragile and plagued by hardware/driver issues.

Re:The Ripe NCC Has Run Out of IPv4 Addresses by zAy0LfpBZLC8mAC on Monday November 25, 2019 @06:07PM (#21633866)
> I wasn't quite precise, because there are cases where you do DHCPv6, but as Android doesn't support it the protocol is a bit dead in the water.

Arguably, it's alive and well for the use case where it actually makes sense: For prefix delegation.

> With IPv4 you are typically assigned a single IP address via DHCP.

Well, sure, and with IPv6 you are "typically assigned a single IPv6 address via SLAAC"!?

I mean, if you are talking about a controlled environment, that's not exactly difficult to achieve, by either using MAC-address based v6 addresses, or by configuring a fixed host suffix on the respective machine, just as you would configure DHCP. If you are talking about random people/devices on your network, neither case prevents them from assigning themselves whatever addresses they please.

> Filtering individual hosts by IP has always been leaky, but IPv6 makes it more or less impossible. You have to filter by subnet.

But that is what you are doing with IPv4 as well? Just because you can't see the individual addresses of individual machines, and thus have no other choice but to block the whole subnet (that is, the NAT gateway address that proxies for it), doesn't mean you aren't blocking whole subnets!?

> SLAAC didn't have a way to communicate the local DNS server address to hosts

Well, yeah, but that's been resolved, as you seem to know.

> nor a way for hosts to update the DNS with their selected addresses and hostnames.

Except it does? If you ask me, it does not make any sense for the DHCP server to update the DNS server anyway: It's the host that owns the host name and that knows where it is reachable, and also a host in principle could be getting its connectivity from anywhere, not just a particular fixed DHCP server. The host should have the credentials for updating its DNS name, should select the address to publish for inbound connections based on its local policy, and then publish that address to the DNS. It makes no sense to tightly couple naming services and connectivity: When my laptop switches from ethernet to LTE, it should just update its DNS name to point to the address it obtained from the LTE provider, and obviously that should not involve the DHCP server of the LTE provider.

Re:The Ripe NCC Has Run Out of IPv4 Addresses by nybble41 on Tuesday November 26, 2019 @06:56PM (#21643981)
> Well, sure, and with IPv6 you are "typically assigned a single IPv6 address via SLAAC"!?

Unlike DHCP, SLAAC doesn't assign specific addresses to hosts. It communicates the network prefix via periodic broadcasts, and hosts choose their own addresses within that prefix.

Re:The Ripe NCC Has Run Out of IPv4 Addresses by zAy0LfpBZLC8mAC on Tuesday November 26, 2019 @07:49PM (#21644323)
No, SLAAC is the name of the configuration mechanism, the network protocol that is used for SLAAC is NDP, specifically router advertisements (RA), and SLAAC assigns a specific address to a host, based on the information in the RA and local policy on the host that specifies how specifically to generate the host part of that specific address.
Re:The Ripe NCC Has Run Out of IPv4 Addresses by Dagger2 on Wednesday November 27, 2019 @06:23AM (#21647002)
SLAAC is autonomous. It's more accurate to say that it tells a host to assign itself an address, rather than that it assigns an address to the host.
Re:The Ripe NCC Has Run Out of IPv4 Addresses by zAy0LfpBZLC8mAC on Wednesday November 27, 2019 @09:06AM (#21647903)
No, SLAAC is the name of the configuration mechanism, the network protocol that is used for SLAAC is NDP, specifically router advertisements (RA), and SLAAC assigns a specific address to a host, based on the information in the RA and local policy on the host that specifies how specifically to generate the host part of that specific address.
Re:The Ripe NCC Has Run Out of IPv4 Addresses by Dagger2 on Thursday November 28, 2019 @10:23AM (#21657902)
...you seem to have just copied and pasted the post I replied to.
Re:The Ripe NCC Has Run Out of IPv4 Addresses by dependenttypes on Monday November 25, 2019 @02:13PM (#21631621)
> IP Fragmentation at routers was removed from the protocol for one.

Everyone that I talked to about this seemed to like the change.

Re:The Ripe NCC Has Run Out of IPv4 Addresses by unilynx on Monday November 25, 2019 @03:59PM (#21632758)
If someone is smart enough to hop IP addresses to avoid your firewall, surely they can come up with ways to tunnel a VPN out of your network (eg through DNS or over port 443...)
Re:The Ripe NCC Has Run Out of IPv4 Addresses by duffmancd on Monday November 25, 2019 @04:44PM (#21633151)
Changes to the way that DHCP works. There are now different methods if you're handing out subnets to a router, IPs to an end device or allowing devices to (automatically) self assign. And not all devices support all methods.
Re:The Ripe NCC Has Run Out of IPv4 Addresses by azernik on Monday November 25, 2019 @07:08PM (#21634332)
Every device that I saw as of 4 years ago (when I was working on edge IPv6 implementation) supported the NDP/SLAAC method of assigning IP addresses, which is the default for most leaf node use cases. It's optimized for a unidirectional transmission of information from routers to leaf nodes.

DHCPv6 is used for routers, which need to be given not just an individual address on the local interface but also a prefix that they can hand out to their clients. It's optimized for flows that require a confirmation from the client that it has accepted/reserved the configuration that it's been given.

It is technically possible to use DHCPv6 to hand out IPs to endpoints, but I have not seen any production network in the wild that does this.

Re:The Ripe NCC Has Run Out of IPv4 Addresses by azernik on Monday November 25, 2019 @07:18PM (#21634391)
Aside from what everyone else is saying about the semantics, there were also a lot of changes in the header format to make it easier to parse in hardware by ASICs. Fixed-length basic header, a single integer flag that indicates to routers when they need to parse variable-length options, a requirement that in the unlikely event they are used that those options need to be 64-bit-aligned, etc.

As long as they were breaking compatibility, all kinds of details were changed to make things easier on implementers.

Re:The Ripe NCC Has Run Out of IPv4 Addresses by dijit on Monday November 25, 2019 @02:00PM (#21631508)
Router advertisement via ICMP is one I can name off the top of my head.
Re:The Ripe NCC Has Run Out of IPv4 Addresses by q3k on Monday November 25, 2019 @02:09PM (#21631592)
There is no router advertisement/NDP/SLAAC in IPv4, so that's not a fair comparison. NDP/SLAAC has a vastly different architecture and behavior than DHCP(v4), and also deprecates other hacked-on IPv4 features (like DHCPv4 link local addresses and ARP).
Re:The Ripe NCC Has Run Out of IPv4 Addresses by noipv6 on Monday November 25, 2019 @03:46PM (#21632620)
ndp in ipv4 is called "arp" =D
Re:The Ripe NCC Has Run Out of IPv4 Addresses by Aeolun on Monday November 25, 2019 @07:41PM (#21634546)
I would have understood this, as well as making it clear just how ginormous the IPv6 space is.

65536.65536.65536.65536.65536.65536.65536.65536

Re:The Ripe NCC Has Run Out of IPv4 Addresses by exikyut on Monday November 25, 2019 @09:21PM (#21635124)
1.8442.16384.20.9000.42.1337.999 looks half like somebody dropped a phone number into a mass-doubling machine, and half like an overgrown object identifier.