What is the total amount of public IPv4 addresses?

前端 未结 5 1721
独厮守ぢ
独厮守ぢ 2020-12-24 04:46

Yes, I am needing to know what the total number possible IPs in the public IPv4 space.

I\'m not sure where to even get a neat list of all the IP address ranges, so

相关标签:
5条回答
  • 2020-12-24 05:27

    Public IP Addresses

    https://github.com/stephenlb/geo-ip will generate a list of Valid IP Public Addresses including Localities.

    '1.0.0.0/8' to '191.0.0.0/8' are the valid public IP Address range exclusive of the reserved Private IP Addresses as follows:

    import iptools
    ## Private IP Addresses
    private_ips = iptools.IpRangeList(
        '0.0.0.0/8',      '10.0.0.0/8',     '100.64.0.0/10', '127.0.0.0/8',
        '169.254.0.0/16', '172.16.0.0/12',  '192.0.0.0/24',  '192.0.2.0/24',
        '192.88.99.0/24', '192.168.0.0/16', '198.18.0.0/15', '198.51.100.0/24',
        '203.0.113.0/24', '224.0.0.0/4',    '240.0.0.0/4',   '255.255.255.255/32'
    )
    

    IP Generator

    Generates a JSON dump of IP Addresses and associated Geo information. Note that the valid public IP Address range is from '1.0.0.0/8' to '191.0.0.0/8' excluding the reserved Private IP Address ranges shown lower down in this readme.

    docker build -t geo-ip .
    docker run -e IPRANGE='54.0.0.0/30' geo-ip               ## a few IPs
    docker run -e IPRANGE='54.0.0.0/26' geo-ip               ## a few more IPs
    docker run -e IPRANGE='54.0.0.0/16' geo-ip               ## a lot more IPs
    docker run -e IPRANGE='0.0.0.0/0'   geo-ip               ## ALL IPs ( slooooowwwwww )
    docker run -e IPRANGE='0.0.0.0/0'   geo-ip > geo-ip.json ## ALL IPs saved to JSON File
    docker run geo-ip 
    

    A little faster option for scanning all valid public addresses:

    for i in $(seq 1 191); do \
        docker run -e IPRANGE="$i.0.0.0/8" geo-ip; \
        sleep 1; \ 
    done
    

    This prints less than 4,228,250,625 JSON lines to STDOUT. Here is an example of one of the lines:

    {"city": "Palo Alto", "ip": "0.0.0.0", "longitude": -122.1274,
     "continent": "North America", "continent_code": "NA",
     "state": "California", "country": "United States", "latitude": 37.418,
     "iso_code": "US", "state_code": "CA", "aso": "PubNub",
     "asn": "11404", "zip_code": "94107"}
    

    Private and Reserved IP Range

    The dockerfile in the repo above will exclude non-usable IP addresses following the guide from the wikipedia article: https://en.wikipedia.org/wiki/Reserved_IP_addresses

    MaxMind Geo IP

    The dockerfile imports a free public Database provided by https://www.maxmind.com/en/home

    0 讨论(0)
  • 2020-12-24 05:30

    3.681 billion is the current total in the year 2020.

    Source: https://blog.apnic.net/2020/01/21/addressing-2019/

    0 讨论(0)
  • 2020-12-24 05:35

    Just a small correction for Marko's answer: exact number can't be produced out of some general calculations straight forward due to the next fact: Valid IP addresses should also not end with binary 0 or 1 sequences that have same length as zero sequence in subnet mask. So the final answer really depends on the total number of subnets (Marko's answer - 2 * total subnet count).

    0 讨论(0)
  • 2020-12-24 05:43

    According to Reserved IP addresses there are 588,514,304 reserved addresses and since there are 4,294,967,296 (2^32) IPv4 addressess in total, there are 3,706,452,992 public addresses.

    And too many addresses in this post.

    0 讨论(0)
  • 2020-12-24 05:44

    https://www.ripe.net/internet-coordination/press-centre/understanding-ip-addressing

    For IPv4, this pool is 32-bits (2³²) in size and contains 4,294,967,296 IPv4 addresses.

    In case of IPv6

    The IPv6 address space is 128-bits (2¹²⁸) in size, containing 340,282,366,920,938,463,463,374,607,431,768,211,456 IPv6 addresses.

    inclusive of RESERVED IP

     Reserved address blocks
     Range  Description Reference
    
     0.0.0.0/8  Current network (only valid as source address)  RFC 6890
     10.0.0.0/8 Private network RFC 1918
     100.64.0.0/10  Shared Address Space    RFC 6598
     127.0.0.0/8    Loopback    RFC 6890
     169.254.0.0/16 Link-local  RFC 3927
     172.16.0.0/12  Private network RFC 1918
     192.0.0.0/24   IETF Protocol Assignments   RFC 6890
     192.0.2.0/24   TEST-NET-1, documentation and examples  RFC 5737
     192.88.99.0/24 IPv6 to IPv4 relay (includes 2002::/16) RFC 3068
     192.168.0.0/16 Private network RFC 1918
     198.18.0.0/15  Network benchmark tests RFC 2544
     198.51.100.0/24    TEST-NET-2, documentation and examples  RFC 5737
     203.0.113.0/24 TEST-NET-3, documentation and examples  RFC 5737
     224.0.0.0/4    IP multicast (former Class D network)   RFC 5771
     240.0.0.0/4    Reserved (former Class E network)   RFC 1700
     255.255.255.255    Broadcast   RFC 919
    

    wiki has full details and this has details of IPv6.

    0 讨论(0)
提交回复
热议问题