Каково общее количество общедоступных IPv4-адресов?

Да, мне нужно знать, какое общее количество возможных IP-адресов в общедоступном пространстве IPv4.

Я не уверен, где даже получить аккуратный список всех диапазонов IP-адресов, так может ли кто-нибудь указать мне на ресурс, чтобы вычислить это самостоятельно или подсчитать общее количество IP-адресов для меня?

Кроме того, под общедоступными IP-адресами я подразумеваю не подсчет зарезервированных IP-адресов или IP-адресов частного диапазона. Только те, к которым можно получить доступ через Интернет.


person Earlz    schedule 13.03.2010    source источник


Ответы (5)


Согласно зарезервированным IP-адресам, существует 588 514 304 зарезервированных адреса, а поскольку имеется 4 294 967 296 (2 ^ 32) IPv4 Всего есть 3 706 452 992 публичных адреса.

И слишком много адресов в этом посте.

person Marko    schedule 13.03.2010
comment
Адреса IPv4 решают проблему адресации, но никто не решает проблему / addresses /. - person Lodewijk; 02.08.2014
comment
С тех пор это было обновлено до 592, 708, 864 зарезервированных адресов в соответствии с RFC 6598, в результате чего было создано 3 702 258 432 общедоступных адреса. - person wi1; 05.07.2016
comment
вы сказали, что существует 4 294 967 296 IP-адресов ... всего ... скорее всего, существует 4 294 967 296 возможных комбинаций. 2 ^ 32 является правильным согласно правилу умножения, ответ правильный, используется только сленговое описание. IP-адреса относятся к возможным и существующим адресам, а не только к математическим комбинациям, которые теоретически возможны. если я не ошибаюсь? разве некоторые не забанены? (см. ниже) @Marko - person oemb1905; 11.05.2017
comment
Здесь есть повод задуматься: 16 миллионов из этих адресов выделены для кольцевой проверки. То есть у нас есть 16 миллионов способов обратиться к localhost. Начиная с 127.0.0.1, 127.0.0.2 и до 127.255.255.254. Я искал в Google, пытаясь найти причину, и до сих пор не читал убедительного варианта использования этой феноменальной траты! - person eigenfield; 27.01.2018
comment
@ifelsemonkey У меня есть 127.0.0.1, 127.0.0.2, 127.0.0.3, а иногда и 127.0.0.4, которые используются на моем сервере Debian, различные веб-серверы все прослушивают одни и те же порты. Я думаю, что он тоже для чего-то использует 127.0.1.1. - person ctrl-alt-delor; 20.02.2018
comment
мы должны удалить некоторые из-за наличия подсетей. Каждая подсеть теряет 2 адреса. - person ctrl-alt-delor; 20.02.2018
comment
Пожалуйста, отредактируйте свой пост, чтобы числа записывались фонетически - person Andy Ray; 19.04.2020

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

Для IPv4 этот пул имеет размер 32 бита (2 ²) и содержит 4 294 967 296 адресов IPv4.

В случае IPv6

Адресное пространство IPv6 имеет размер 128 бит (2¹²⁸) и содержит 340 282 366 920 938 463 463 374 607 431 768 211 456 адресов IPv6.

включая ЗАПИСАННЫЙ 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 содержит полную информацию, а это содержит подробную информацию об IPv6.

person ganesh    schedule 14.03.2015
comment
Голосование за добавление интересного примечания к IPv6, удаленное голосование за то, что не решается вопрос OP относительно количества зарезервированных IP-адресов. - person Bradley Flood; 18.01.2017
comment
Проголосуйте за добавление интересного примечания по IPv6. Полезный ответ, спасибо! - person Davide Cannizzo; 07.12.2017

Небольшая поправка к ответу Марко: точное число не может быть получено из некоторых общих вычислений прямо из-за следующего факта: действительные IP-адреса также не должны заканчиваться двоичными последовательностями 0 или 1, которые имеют ту же длину, что и нулевая последовательность в подсети. маска. Таким образом, окончательный ответ действительно зависит от общего количества подсетей (ответ Марко - 2 * общее количество подсетей).

person Andriy K    schedule 18.02.2013
comment
От анонима: На самом деле ответ Марко был правильным на заданный вопрос. Вы отвечаете на вопрос, который не задавали. В исходном вопросе не упоминались действительные IP-адреса. Адреса, заканчивающиеся на 0, являются действительными адресами для сетевого адреса. Адреса, оканчивающиеся на 1, являются действительными адресами хоста. Адреса, оканчивающиеся на 255, являются действительными широковещательными адресами, но недействительными адресами хоста. Вы будете удивлены, что, хотя большая часть реализаций TCP / IP выдает ошибку, если вы попытаетесь добавить широковещательный или сетевой адрес к IP-узлу, есть один поставщик, который позволит вам это сделать. Я так и не понял почему. - person Andriy K; 05.01.2015
comment
Адреса, которые заканчиваются на 255, не всегда являются допустимыми широковещательными адресами, также адреса хостов могут заканчиваться на 255. Все зависит от вашей сетевой маски. - person Gizmo; 10.03.2017
comment
@AndriyK «Кроме того, под общедоступными IP-адресами я подразумеваю не считая зарезервированных… Только те, к которым можно получить доступ через Интернет. ”Так что это правильный ответ. - person ctrl-alt-delor; 20.02.2018
comment
Это совершенно неверно. Нет необходимости, чтобы общедоступная сеть имела даже сетевой или широковещательный адрес. Я успешно запускал службы в .0 общедоступной сети IPv4. - person ximaera; 08.10.2019

Публичные IP-адреса

https://github.com/stephenlb/geo-ip сгенерирует список действительных IP-адресов. Публичные адреса, включая населенные пункты.

От '1.0.0.0/8' до '191.0.0.0/8' - допустимый диапазон общедоступных IP-адресов без учета зарезервированных частных IP-адресов, а именно:

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

Создает дамп JSON IP-адресов и связанной с ними географической информации. Обратите внимание, что допустимый диапазон общедоступных IP-адресов составляет от '1.0.0.0/8' до '191.0.0.0/8', за исключением диапазонов зарезервированных частных IP-адресов, показанных ниже в этом файле 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 

Чуть более быстрый вариант сканирования всех действительных публичных адресов:

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

При этом в STDOUT выводится менее 4 228 250 625 строк JSON. Вот пример одной из строк:

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

Частный и зарезервированный диапазон IP-адресов

Файл докеров в репозитории выше будет исключать неиспользуемые IP-адреса в соответствии с руководством из статьи в Википедии: https://en.wikipedia.org/wiki/Reserved_IP_addresses

MaxMind Geo IP

Dockerfile импортирует бесплатную общедоступную базу данных, предоставленную https://www.maxmind.com/en/home

person Stephen Blum    schedule 01.03.2019
comment
Пожалуйста, поместите явные заявления об отказе от ответственности на свои собственные ссылки на проект; отказ от ответственности: это созданный мной проект или аналогичный. - person Martijn Pieters; 02.03.2019
comment
Вы знаете, что существует довольно много действительных общедоступных IP-адресов выше 191.0.0.0/8. 195.0.0.1 например. - person Nordlys Jeger; 17.07.2020

3,681 миллиарда - текущая сумма в 2020 году.

Источник: https://blog.apnic.net/2020/01/21/addressing-2019/

person cnd    schedule 03.03.2020