Сколько бит должно быть в IP-адресе?

Забавный вопрос: а сколько бит жизненно необходимо в IP-адресе? И сколько понадобится в ближайшее время (пятилетку, век, эпоху и проч.)?

/техническая деталь: для упрощения будем считать в ниблах («nibble»), то есть в 4-битных единицах, или в полубайтах/

Начнем с «человеческого фактора»: сейчас на Земле проживает около 7 млрд чел., причем за последний полный век население увеличилось в 5 раз. Полагая, что по одному адресу на человека (именно по адресу, а не по блоку /56 или /64), а также полагая, что скорость прироста населения в XXI веке сохранится, получаем, что 64 млрд адресов должно хватить, это 36 бит, или 9 ниблов.

Много раз встречал оценки, что на одного человека в этом веке будет приходиться до 10 устройств, которым понадобятся IP-адреса. Добавляем еще 4 бита, или 1 нибл, уже получаем 10 ниблов.

В структуре адреса было бы логичным отобразить номер AS, к которой он принадлежит. Сейчас выдаются 32-битные ASN, и вряд ли понадобится большее количесво бит для новых AS. Добавим 32 бита, или 8 ниблов, получаем 18 ниблов.

Подумаем о провайдерах: блоки адресов делят на подсети. Полагаю, что 12 бит достаточно для деления любого блока, который делегирован провайдеру. Как результат, уже получаем 21 нибл.

Резервируем еще 16 бит на всякий случай, например для задания типа адреса (мультикаст, мобильный, в роуминге, тип сервиса и проч.), или для указания признака принадлежности определенной стране. Стран сейчас около 250, причем ООН признает вообще менее двух сотен, так что 32 бит хватит. Уже стало 25 ниблов.

Полагаем, что у звезды может быть не более 256 населенных планет (пока это утверждение не опровергнуто учеными, как впрочем и не подтверждено), и добавляем еще 2 нибла, получаем 27.

По современным данным количество звезд в известных галлактике не превышает 100 миллиардов, то есть 10 ниблов должно хватить на их перечисление. Получаем 37 ниблов.

Сейчас число существующих галлактик оценивается также примерно в 100 миллиардов, и для их индексации добавляем еще 10 ниблов, получаем 47.

Ну, резервируем пару-тройку ниблов на всякий случай (галлактика в тинктуре, принадлежность к расе шестиногих восьмихордовых и проч.), округляем до 50 ниблов.

Ну, из уважения к традициям сохраняем EUI-64 подобную структуру суффикса адреса, то есть добавляем 16 ниблов. Получаем 66.

И — чего уж там мелочиться, округляем до ста. Получаем 400 бит, что несильно отличается от нынешних 128, во всяком случае порядок тот же.

Вывод: видно, что нынешняя длина IPv6-адреса выбрана не просто так, а очень даже разумно.

И последнее: с учётом рекомендаций RIPE по выделению адресов конечным пользователям можно добавить ещё 64 бита :-)