web-dev-qa-db-fra.com

Quel est le nombre total d'adresses IPv4 publiques?

Oui, j'ai besoin de connaître le nombre total d'adresses IP possibles dans l'espace IPv4 public.

Je ne sais même pas où obtenir une liste soignée de toutes les plages d'adresses IP, alors quelqu'un pourrait-il me diriger vers une ressource pour le calculer moi-même ou calculer le nombre total d'adresses IP pour moi?

De plus, par adresses IP publiques, je veux dire sans compter les adresses IP réservées ou à portée privée. Uniquement celles qui peuvent être accessibles via Internet.

44
Earlz

Selon adresses IP réservées il y a 588 514 304 adresses réservées et comme il y a 4 294 967 296 (2 ^ 32) adresses IPv4 au total, il y a 3 706 452 992 adresses publiques.

Et trop de adresses dans ce post.

82
Marko

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

Pour IPv4, ce pool a une taille de 32 bits (232) et contient 4 294 967 296 adresses IPv4.

En cas d'IPv6

L'espace d'adressage IPv6 est de 128 bits (2128), contenant 340,282,366,920,938,463,463,374,607,431,768,211,456 adresses IPv6.

y compris IP RÉSERVÉE

 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 a tous les détails et this a les détails d'IPv6.

26
ganesh

Juste une petite correction pour la réponse de Marko: le nombre exact ne peut pas être produit directement à partir de certains calculs généraux en raison du fait suivant: les adresses IP valides ne doivent pas non plus se terminer par des séquences binaires 0 ou 1 qui ont la même longueur que la séquence zéro dans le sous-réseau masque. Donc, la réponse finale dépend vraiment du nombre total de sous-réseaux (réponse de Marko - 2 * nombre total de sous-réseaux).

17
Andriy K

Adresses IP publiques

https://github.com/stephenlb/geo-ip générera une liste d'adresses publiques IP valides, y compris les localités.

'1.0.0.0/8' à '191.0.0.0/8' sont la plage d'adresses IP publiques valides à l'exclusion des adresses IP privées réservées comme suit:

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'
)

Générateur IP

Génère un vidage JSON des adresses IP et des informations géographiques associées. Notez que la plage d'adresses IP publiques valides va de '1.0.0.0/8' à '191.0.0.0/8' à l'exclusion des plages d'adresses IP privées réservées indiquées plus bas dans ce fichier Lisez-moi.

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 

Une option un peu plus rapide pour analyser toutes les adresses publiques valides:

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

Cela imprime moins de 4,228,250,625 lignes JSON vers STDOUT. Voici un exemple d'une des lignes:

{"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"}

Plage IP privée et réservée

Le dockerfile dans le dépôt ci-dessus exclura les adresses IP non utilisables en suivant le guide de l'article de wikipedia: https://en.wikipedia.org/wiki/Reserved_IP_addresses

MaxMind Geo IP

Le dockerfile importe une base de données publique gratuite fournie par https://www.maxmind.com/en/home

1
Stephen Blum