4 ms·
Will it fix it? This seems like a scaling issue we're going to have to deal with forever.
by joeblau 9y ago
Will it fix it? This seems like a scaling issue we're going to have to deal with forever.
- jrimbault 9y agoIPv6 has a 2^128 address pool. edit: theoretically, we'll only ever use a fraction of that, both by design and because that's a huge number
- ghshephard 9y agoWell, because there is no equivalent to CIDR with IPv6, what you really need to focus on is the 2^64 networks available. Still a big number.
- jrimbault 9y agoThat's what I meant in my edit :)
- oarsinsync 9y agoAnd yet I still have /127, /126, /120 and /112 IPv6 subnets running on my network. Just because the IETF says SLAAC or bust doesn't mean it's true.
- ghshephard 9y agoGenuinely curious - Why? We were considering doing so at one point for PtP links (equiv to a /30 or a /31 if you area really bleeding edge) - but then decided that there wasn't any reason to not just use /64s everywhere. I take your point though - it certainly is theoretically (and in practice) possible to doing something other than a /64 - I've just never seen it in the wild.
- cesarb 9y agoI have heard of one good reason: with a /64, someone sending packets to random addresses within that /64 will fill up the neighbor cache, while with a smaller network like a /126, that can't happen.
- matthewmacleod 9y agoYou may be underestimating how many IPv6 addresses there are! 2^128 is huge. Like, if we assigned one trillion new addresses every second since the birth of the universe, we’d still have enough left over to do the same in another 800 million parallel universes. Truly astronomical numbers. Obviously not all of these addresses will be used; in practice we aren’t going to run out any time soon.
- exikyut 9y agoFor reference, 2^128 = 340282366920938463463374607431768211456 or 340,282,366,920,938,463,463,374,607,431,768,211,456
- joeblau 9y agoWhile you're right, it is huge. This mistake has been made in computing time and time again. You think you've got adequate scale for your solution but you didn't anticipate X which introduces new growth that out paces your design.
- gvx 9y agoAssuming the internet has been growing exponentially since the beginning and will continue to do so indefinitely. IPv4 has 32 bits and lasted us 34 years so far. Let's call it 32 years. Address space would need a nice and tidy 1 bit extra per year. That would mean IPv6 would last until around the year 2110. But will the internet keep growing exponentially until then? How many people will even be alive by then? According to https://en.wikipedia.org/wiki/Projections_of_population_growth https://en.wikipedia.org/wiki/Projections_of_population_grow..., predictions used by the UN range from 7 to 18 billion people. Let's round it up to 20 billion people. How many IPv6 addresses could we give out to each person? According to https://www.wolframalpha.com/input/?i=2%5E128+%2F+20*10%5E9 https://www.wolframalpha.com/input/?i=2%5E128+%2F+20*10%5E9, 1.7 * 10^28, which is a lot. But okay, we have a lot of computers per person and not all computers are associated with individuals. So what if we do something crazy, like give out IPv6 addresses to the (human) cells in everybody's body? https://www.wolframalpha.com/input/?i=1.7+*+10%5E28+%2F+cells+in+human+body https://www.wolframalpha.com/input/?i=1.7+*+10%5E28+%2F+cell..., that would be about 1.7 * 10^14. What if we give each cell some IPv6 addresses per second (pretending all of our cells live for 80 years)? https://www.wolframalpha.com/input/?i=1.7+*+10%5E14+%2F+(80+years)+in+Hz https://www.wolframalpha.com/input/?i=1.7+*+10%5E14+%2F+(80+... Here we land on 67 thousand addresses, per second, for each human cell in the bodies of 20 billion people, for the span of 80 years. That's how many IPv6 addresses we'll need to use before we run out. We have made this mistake before, but 128 bits really is a lot.