ЕГЭ · ЗАДАНИЕ 13
IP-адреса и маски · №10159
Адрес узла — 208.207.230.65, адрес его сети — 208.207.224.0. Маска состоит из непрерывной цепочки единиц и следующих за ней нулей. Определите количество возможных масок. Ответ — десятичное число.
Источник задания
Сначала попробуй решить самостоятельно, затем открой разбор. Для автоматической проверки ответа включи JavaScript.
Показать решение по шагам
Разбор решения
Ответ: 3
Проверяем все длины префикса от 0 до 32: IP & mask должен точно совпасть с заданным адресом сети. Подходят префиксы /19, /20, /21. Нули и единицы маски нельзя расставлять произвольно. Из подходящих масок выбираем именно величину, указанную в вопросе.
from ipaddress import ip_network
valid, third = [], []
for p in range(33):
net = ip_network('208.207.230.65/' + str(p), strict=False)
if str(net.network_address) == '208.207.224.0':
valid.append(p)
third.append(int(str(net.netmask).split('.')[2]))
print(len(valid))