В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес, - в виде 4 байтов, причем каждый байт записывается в виде десятичного числа. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и его маске.
Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0.
По IP-адресу узла 68.232.57.148 и маске сети 255.255.252.0 определите чему равно количество нулей в двоичной записи адреса сети.
Чтобы восстановить значение третьего слева байта маски, переведем числа, располагающиеся в соответствующей позиции в IP-адресе и маске сети, в двоичную систему счисления. Затем воспользуемся таблицей истинности для этой операции:
\[\begin{array}{|c|c|c|} \hline a&b& a\&b\\ \hline \text{1} & 1 & 1 \\ \hline \text{1} & 0 & 0 \\ \hline \text{0} & 1 & 0 \\ \hline \text{0} & 0 & 0 \\ \hline \end{array}\]
Для IP-адреса:
\(68_{10}=64+4=2^6+2^2=01000100_2\);
\(232_{10}=128+64+32+8=2^7+2^6+2^5+2^3=11101000_2\);
\(57_{10}=32+16+8+1=2^5+2^4+2^3+2^0=00111001_2\);
\(148_{10}=128+16+4=2^7+2^4+2^2=10010100_2\);
Для маски сети:
\(252_{10}=128+64+32+16+8+4=2^7+2^6+2^5+2^4+2^3+2^2=11111100_2\);
В результате поразрядной конъюнкции 57 и 252 имеем:
\[\begin{array}{r} _{\&} \,\,00111001\\ 11111100\,\\ \hline \text{********}\\ \end{array}\]
Если же 0 есть на позиции в одном из чисел, значит результат конъюнкции цифр, стоящих на этих позициях будет равен 0. Значит на третьем, четвертом, пятом слева местах не должен стоять 0. Так как конъюнкция только двух цифр равных 1 равна 1, окончательный результат конъюнкции: \(00111000_2=32+16+8=56_{10}\). Посчитаем количество единиц в адресе. Итоговый адрес \(01000100.11101000.00111000.00000000_2\). 4 байт адреса \(00111001_2\) стал \(00000000_2\), так как результат конъюнкции \(00111001_2\) и \(00000000_2\) равен \(00000000_2\) Итоговый результат: посчитав количество нулей равно \(32-(2+4+3)=23\)
Ответ: 23