3

I've been inspired by the "IPv6 enabled Christmas tree" featured on Hackaday.io a few weeks back featuring an led display that uses 300 billion IPv6 addresses to allow users to control it.

My question is this:

How could I, as a user and not a big company, obtain a block of (maybe about 1000) IPv6 addresses to use? Is this something I would have to get from my ISP or could I get them a different way (if I can do it at all)?

1
  • 1
    A single, standard IPv6 network is /64, which is 18,446,744,073,709,551,616 host addresses. Most sites will be assigned a /48 prefix (the largest prefix or smallest number of hosts able to be routed on the public Internet) which is 65,536 /64 networks.
    – Ron Maupin
    Jan 15, 2019 at 5:20

1 Answer 1

7

That's a tiny block.

IPv6 addresses aren't counted individually, except by cheapskate VPS hosting companies. More often, a /64 subnet containing 2^(128-64) addresses – 18 billion billion addresses – is used as a single unit of distribution. If your ISP claims to support IPv6, expect that you'll get at least one /64.

Many ISPs freely provide their customers with a larger prefix, e.g. /60 or /56; this isn't said to have 2^(128-56) addresses, but rather "16 subnets" or "256 subnets". Each subnet has a practically infinite number of addresses – it's the number of subnets that is limited.

In both cases, residential ISPs typically use DHCPv6-PD to allocate prefixes on demand, so that's something your router needs to do automatically. Some ISPs might instead do static assignments via support tickets.


(Routing tables can work with any prefix, from /0 to /128, but certain auto-configuration protocols expect /64 for the on-link subnet. You can use e.g. /96's or /112's but it'll be troublesome and not worth the time. Hence the usage of /64 as a standard unit.

That said, of course, if you're doing a special-purpose scheme like the christmas-tree thing, you're completely free to ignore subnetting and use all available bits as you wish.)


As you can see, even a single standard subnet has a decent amount of addresses to work with. A /64 means it uses 64 bits for the 'network' part, so you have 128-64=64 bits available for yourself: that's already enough to encode RGB color, position, and intensity. Having a /56 would give you 128-56=72 bits, and so on. (For comparison, your original request of 1000 addresses is approximately a /118 with only 10 host bits.)

But if you want more than that, a /48 is normal starting prefix size for business customers (up to /44, or at least so the recommendation goes). Additionally, both of the largest surviving "IPv6 tunnel broker" companies – NetAssist and Hurricane Electric – provide a free /48 to anyone who signs up on their website. In both cases, this means 65536 subnets or 80 freely usable bits.

Finally, let's say you're an ISP, then becoming a direct member of a RIR (regional Internet registry) will give you a /32 up to /29 allocation just to begin with. A /32 contains 4294967296 subnets – as many as there are IPv4 addresses including even the reserved ones – and each subnet still has the same "practically infinite" amount of addresses.

That's a large block.

1
  • 2
    As a side note, you don't need to be a large company to get /48's or /32's or even ASNs from a RIR (or indirectly from a LIR who acts as a reseller) – you can even be a single-person organization, as long as you can pay the necessary fees. You can find a post about this on Hackaday. (For that matter, Europe's RIPE doesn't require one to be an organization at all, and I have my own ASN and a /48 as a private person.) Jan 15, 2019 at 5:47

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .