Задача #2394
Компьютерные сети
(В. Зарянкин) В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и его маске. Сеть задана IP-адресом 211.46.0.0 и сетевой маской 255.255.128.0. Сколько в этой сети IP-адресов, для которых количество единиц в двоичной записи IP-адреса кратно 4, а сами адреса в двоичном виде заканчиваются на 11? В ответе укажите только число.
Решение
Ответ
Для решения потребуется:
1. Перевод адреса сети в двоичный код, в 4 октета:
получаем: 11010011 00101110 00000000 00000000
2. Пишем двоичную маску соответствующую 255.255.128.0
получаем: 11111111 11111111 10000000 00000000
Всего маска обеспечивает 13 вариативных разрядов для IP-адресов в данной сети. Заметим ограничение на окончание адресов 11 в двоичном виде. Это означает, что на самом деле вариативных разрядов у нас не 15, а 13.
3. Вычислим адреса чьё количество единиц кратно 4:
Посчитать количество кратных 4 удобно с помощью числа сочетаний.
Заметим, что маска фиксирует 5+4+0=9 единиц в первых трёх октетах IP-адреса, а так же 2 единицы за счёт ограничения на окончание адреса, итого 11 единиц за счёт маски и условия. Ближайшее число кратное 4 - это 12, то есть необходимо взять дополнительно 1/13 вариативных разрядов адреса за счёт "0" маски:
Следует учесть, что следующее кратное число - это 16, что задействует 5/13 вариативных разрядов за счёт "0" маски:
Считаем 20 единиц 9/13 вариативных:
И 24 единицы 13/13
Получаем в сумме 2016