Решение: Подсчёт IP-адресов в подсети
В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и маске сети.
Сеть задана IP-адресом 172.16.80.0 и маской сети 255.255.248.0.
Сколько в этой сети IP-адресов, для которых количество единиц в двоичной записи IP-адреса не кратно 2?
Решение по шагам
4 шагаМаска сети 255.255.248.0 содержит 21 единичный бит, то есть имеет длину префикса /21.
$$255.255.248.0 = /21$$В каждом IP-адресе 32 бита, поэтому для адреса узла остаётся 11 переменных битов.
$$32 - 21 = 11$$Общее количество IP-адресов в данной сети равно числу наборов значений 11 переменных битов.
$$2^{11}=2048$$При переборе всех наборов из 11 битов ровно половина наборов имеет требуемую чётность количества единиц в полном IP-адресе.
$$\frac{2^{11}}{2}=2^{10}=1024$$Где здесь ошибаются
Считать, что маска 255.255.248.0 оставляет 8, а не 11 бит для адреса узла.
Учитывать только адреса узлов, исключая сетевой адрес и широковещательный адрес, хотя в условии требуется количество IP-адресов в сети.
Считать все 2048 адресов вместо половины адресов с нужной чётностью.