В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес, - в виде 4 байтов, причем каждый байт записывается в виде десятичного числа. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и его маске.
Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0.
Для узла адрес сети равен 183.40.78.54. Сколько может существовать вторых (слева) байтов IP-адреса этого узла, если маска сети равна 255.252.0.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}\]
Для адреса сети:
\(40_{10}=32+8=2^5+2^3=00101000_2\);
Для маски:
\(252_{10}=128+64+32+16+8+4=2^7+2^6+2^5+2^4+2^3+2^2=11111100_2\);
В результате поразрядной конъюнкции имеем:
\[\begin{array}{r} _{\&}\,\,11111100\\ \;\;\;\text{********}\\ \hline \;\;\;00101000 \end{array}\]
Если же 0 есть на позиции в одном из чисел, значит результат конъюнкции цифр, стоящих на этих позициях будет равен 0. Значит, на седьмом и восьмом местах слева может стоять 0 или единица. Так как конъюнкция только двух цифр равных 1 равна 1, поэтому искомое число может иметь вид: \(00101000_2\), \(00101001_2\), \(00101010_2\), \(00101011_2\).
Всего может существовать 4 различных байта.
Ответ: 4