A rough napkin calculation yields that 2^128 IP addresses would require 42e37 bytes to store an index of which ones were taken, and which ones were not. The number works out to about 42.5 billion yottabyes to do a full index. This is assuming that each address has a 1-bit result for each ipv6 index. Obviously, all of humanities' combined storage space would not amount to this number.

So how does issuing work? Do the addresses get administered sequentially, and by the time we use all the addresses, the previous addresses are reliably offline for the taking by the time we reach the last one? does the ISP reserve a band to allocate how they please?

How does the ipv6 addressing system work?

  • 1
    You assume a single storage location would be used. Keeping track of which subnets, are currently in use, would have almost no storage.
    – Ramhound
    Jun 21 '17 at 19:30

The IPv6 addressing system works in the same way as the IPv4 addressing system. IPv6 addresses are assigned in blocks, thus there is no need to administer every single address.

Currently only a small number of possible IPv6 addresses have been assigned. You can find a list of assigned blocks at IANA. IANA assigns big blocks of IPv6 addresses to the Regional Internet Registries (RIR's). They divide the blocks further amongst hosters and ISP's. The hosters and ISP's divide the blocks amongst their end-users.

You also need to keep in mind that the default "network size" for IPv6 is /64. This means only the first 64 bits of an IPv6 will ever have to be administered. I am not a fortune teller, but my guess is that smaller networks than that will not be assigned to end users, therefore there is no reason to administer that.

  • Smaller networks than /64 cannot be assigned to end users and have IPv6 function properly. IPv6 is designed to allow auto-configuration of addresses within a /64 broadcast domain. Jun 21 '17 at 19:24
  • 3
    As an example, take a look at whois.ripe.net. It is web interface to the database of RIPE, the RIR for Europe, Middle East and parts of Asia. My lab network is apps.db.ripe.net/search/query.html?searchtext=2a00:8642:2000::1. All delegations made by RIPE NCC are available in an 11MB file: ftp.ripe.net/pub/stats/ripencc/…. If you want all the details of IPv6 networks in the RIPE database you can download ftp.ripe.net/ripe/dbase/split/ripe.db.inet6num.gz (22MB compressed, 700MB uncompressed). Small enough to handle :) Jun 21 '17 at 20:24
  • @user4556274, while most ISPs are still being very restrictive, your comment is not entirely true. a /128 or single address can be used in very specific cases. Smaller subnets do break SLAAC, which is a very assumed feature. So yes, for 99% of cases, /64 is the starting point for assignment to sites. Jun 30 '17 at 15:28

It works roughly similar as IPv4. You are in a subnet which gets a range of available addresses and you care only about this subnet. When asking "if this IP address is online" you ask that IP address, not someone who stores that information.

An analogy: suppose that a physical address (e.g. Westminster, London SW1A 1AA, Great Britain)1 has a maximum length of 100 characters2. Making addresses case-insensitive and allowing digits gives us roughly 100^36 which is comparable to number of atoms in the observable universe (10^80). How does address issuing work? How do I know that Westminster, London, SW1A 1AA, Great Britain is a valid address and there is someone living there?

1 The Buckingham Palace

2 The White House address (1600 Pennsylvania Ave NW, Washington, DC 20500, The United States of America) is 77 characters long, so it's reasonable to limit length to 100.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.