#!/usr/bin/perl $SLASH = 24; printf " %2s %8s %8s %8s %8s\n","/","Num IPs","80%","HDR .966","HDR .930"; while ($SLASH >= 8) { $Numips = 2 ** (32 - $SLASH); $Eighty = .8 * $Numips; $HDR1 = int(exp(.966*log($Numips))); $HDR2 = int(exp(.930*log($Numips))); printf " %2d %8d %8d %8d %8d\n", $SLASH,$Numips,$Eighty,$HDR1,$HDR2; $SLASH = $SLASH - 1; } printf "Press RETURN to continue...\n"; readline STDIN; printf " / This column is the prefix length as used in CIDR slash notation\n"; printf " Num Ips The number of IP addresses in the specified prefix\n"; printf " 80% Number of IP addresses marking the 80% threshold\n"; printf "HDR .966 When the HD Ratio of the block is .966 it refers to this many addresses\n"; printf "HDR .930 When the HD Ratio of the block is .930 it refers to this many addresses\n"; printf "\n"; printf "Example\n-------\n"; printf "If you have a /16 equivalent of IP addresses and the last allocation\n"; printf "that you received from ARIN was a /19 then you must utilize at least\n"; printf "44,948 addresses in total as well as at least 4,359 addresses from\n"; printf "your last allocation. If you meet both of these tests then you have\n"; printf "justified a new allocation. The assumption is that your last\n"; printf "allocation of /19 brought your total allocation up to exactly a /16.\n";