В терминологии сетей TCP/IP маской сети называется двоичное число, определяющее, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске. По заданным IP-адресу узла и маске определите адрес сети.
IP-адрес узла: 200.135.210.135
Маска: 255.255.248.0
При записи ответа выберите из приведённых в таблице чисел четыре элемента IP-адреса и запишите в нужном порядке соответствующие им буквы, без использования точек.
| A | B | C | D | E | F | G | H |
| 0 | 102 | 110 | 130 | 135 | 200 | 208 | 210 |
Пример.
Пусть искомый IP-адрес 151.167.201.0 и дана таблица:
| A | B | C | D | E | F | G | H |
| 255 | 167 | 128 | 151 | 157 | 0 | 191 | 201 |
В этом случае правильный ответ будет записан в виде: DBHF.
1. Запишем числа маски сети в двоичной системе счисления:
20010 = 1100 10002, 13510 = 1000 01112, 21010 = 1101 00102.
2. Адрес сети получается в результате поразрядной конъюнкции чисел маски и чисел адреса узла (в двоичном коде). Поскольку конъюнкция
3. Рассмотрим конъюнкцию
21010 = 1101 00102;
24810 = 1111 10002.
Результатом конъюнкции является число 1101 00002 = 20810.
4. Сопоставим буквы получившимся числам: 200, 135, 208, 0. Таким образом, ответ — FEGA.
Ответ: FEGA.
Приведём решение Владимира Артамонова на языке Python.
from ipaddress import ip_network
net = ip_network("200.135.210.135/255.255.248.0", strict=False)
print(net.network_address)
Результатом является адрес сети 200.135.208.0. Сопоставляем его с таблицей, получаем ответ: FEGA.

