Я почти уверен, что это 2x-2, но хочу убедиться, что я прав. Кто-нибудь может сказать и почему?
х2 + 2
2x + 2
2x – 2
х2 – 2
решение1
Количество хостов — это, по сути, количество комбинаций, которые вы можете составить с количеством битов
.TCP/IPv4самый низкий и самый высокий IP-адрес подсети зарезервированы как адрес подсети и широковещательный адрес соответственно.
Обычно подсети обозначаются как , 192.168.420.0/24
но, x
как вы описываете, это остаток бит, который вычитается x
из общего числа бит, доступных в TCP/IPv4 (спойлер: их 32).
Формула 2^x
поясняется так:
- 2 - количество возможностей для каждого бита,
0
или1
- ^ - возвести в степень:
- x - число бит, которое задано
Я считаю, что пришло время для старого доброго ручного разбиения на подсети.
Пример 24 бит:
у меня есть 24 бита для использования.
Количество IP-адресов (2^24) = 16777216
диапазон = x.0.0.0 - x.255.255.255
Если вы создадите одну большую подсеть, то в ней может быть 16777214 хостов.
Сетевой адрес = x.0.0.0
Широковещательный адрес = x.255.255.255
Эффективный диапазон IP-адресов = x.0.0.1 - x.255.255.254 (16777214)
Маскировка подсети = 255.0.0.0
Пример 16 бит:
у меня есть 16 бит для использования.
количество IP-адресов (2^16) = 65536
диапазон = xx0.0 - xx255.255
если вы создадите одну большую подсеть, в ней может быть 65534 хоста.
сетевой адрес = xx0.0
широковещательный адрес = xx255.255
эффективный диапазон IP-адресов = xx0.1 - xx255.254 (65534)
маскировка подсети = 255.0.0.0
TL;DR:
Да, это2^x-2
решение2
Я подозреваю, что вам нужно 2 x - 2, поскольку в большинстве случаев вы хотите сохранить наименьшее число в качестве сетевого адреса, а наибольшее — для широковещательной передачи.
Возможно, вам будет интересно прочитать эту публикацию на нашем дочернем сайте: https://serverfault.com/questions/49765/how-does-ipv4-subnetting-work