Updating the Predictions of Exhaustion

It’s time I updated the IPv4 Address Report. For ARIN and LACNIC the time when the registry reaches into its collection of available IPv4 addresses and comes out empty handed is getting closer, and its time to sharpen up the modelling about exhaustion.

The model used in the IPv4 Address report has been updated in a number of ways:

  • The definition of “exhaustion” differs for each of the RIRs. In the case of ARIN a /10 is withheld for IPv6 transition purposes, and all the remaining available address space is to be allocated according to the prevailing policies. As this /10 has already been marked as “reserved” by ARIN, this effectively means that for ARIN “exhaustion” in IPv4 really does equate to “nothing left!”. For LACNIC and AFRINIC the definition of exhaustion is slightly different. In both these cases a total of a /11 will be held back for post exhaustion policies, so in this case effective exhaustion of their address pools will occur when a /11 remains in the pool.
  • The model has been altered to factor in the IANA IPv4 Runout Global Address Policy. When any RIR has less than a total of a /9 in its inventory the IANA will divide up the pool of recovered IPv4 addresses into 5, rounded down to the next CIDR (power-of-2) boundary. This exercise will be repeated each March and September while there is still a CIDR block or a /24 or larger that can be allocated to each RIR in this manner.

The calculation of the most likely exhaustion date has also been updated. Previous versions of this exercise used a relatively simple curve-fitting exercise to the time series of allocation data published by each RIR (the curve fitting is a least squares fit), and then the resultant curve was projected forward to the exhaustion point.

However, this technique does not take into account the IANA Address Redistribution policy, which will be triggered once at the point when any RIR has less than a /9 in its pool of available addresses, and then further addresses are distributed on six monthly intervals on the 1st of September and the 1st of March thereafter

The method used here is a simulation technique. The parameters that guide the simulation is a linear best bit model of the address allocation data since 1 January 2012, and the profile of CIDR allocation sizes since 1 January 2012. The profile of CIDR allocation sizes per RIR is divided by the number of days since the start point, and this produces a probability that an allocation of this size is allocated on any given day. The product of the probability of each allocation size multiplied by the number of addresses in each CIDR size gives a total address count. By adjusting these individual probabilities according to the ratio of the desired address value to the original total address count, its is possible to generate a daily probability for the allocation of each size CIDR block by each RIR, where the product of these probabilities and the CIDR block size provides the desired address count. From here it is is possible to drive a simulation where, for each day, the linear model gives a desired address count, and this address target is used to adjust the probabilities of allocations of each size. The simulation then performs a random draw for each CIDR size according to the probability of that CIDR-size being allocated by each RIR on this day. For example, if the daily probability of allocation of a /20 by a particular RIR is 0.3, then in a random draw of a number between 0 and 1, the random value will be 0.3 or lower 30% of the time, and when the random value is 0.3 or lower, then the simulation will
record a /20 allocation for that day by that RIR. The IANA Redistribution policy effex=cts are included in the simulation.

This simulation exercise is undertaken across 10,000 runs, and the median date across these 10,000 sample points is used as the predicted exhaustion date for each RIR.

Simulation of RIR Exhaustion

Simulation of RIR Exhaustion (14 September 2013)

Cumulative Probability of Exhaustion

Cumulative Probability of Exhaustion (14 September 2013)

This is all scripted, and the script is run every day. The results of this is reported at http://labs.apnic.net/ipv4/