Задание №10: IP-адреса и маски подсетей
Основные типы и прототипы задания №10:
Адрес сети и маска
Диапазон адресов
Подсчёт адресов по битовым условиям
Условие задания
В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и маске сети. Узлы с IP-адресами 211.188.211.49 и 211.188.200.115 находятся в разных сетях. Известно, что в масках обеих сетей одинаковое количество единиц. Укажите наименьшее возможное значение третьего слева байта масок этих сетей. Ответ запишите в виде десятичного числа.
Ответ:
240
Решение на Python: Подбираем маску, чтобы сети различались
from ipaddress import ip_network for ones in range(1, 33): net1 = ip_network("211.188.211.49/" + str(ones), strict=False) net2 = ip_network("211.188.200.115/" + str(ones), strict=False) if net1 != net2: print(ones, net1.netmask) break
Этот код разобран по шагам в разборе задания №10: там же типичные ошибки и лайфхаки.