Задание №10: IP-адреса и маски подсетей
Основные типы и прототипы задания №10:
Адрес сети и маска
Диапазон адресов
Подсчёт адресов по битовым условиям
Условие задания
В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Широковещательным адресом называется специальный адрес, в котором на месте нулевых битов в маске стоят единицы. Сеть задана IP-адресом одного из входящих в неё узлов 145.49.137.244 и сетевой маской 255.255.240.0. Найдите широковещательный адрес данной сети. В ответе укажите сумму числовых значений октетов у найденного IP-адреса. Например, если бы найденный адрес был равен 100.20.3.4, то в ответе следовало бы записать: 127.
Ответ:
592
Решение на Python: Широковещательный адрес и сумма его чисел
from ipaddress import ip_network net = ip_network("145.49.137.244/255.255.240.0", strict=False) address = str(net.broadcast_address) total = 0 for part in address.split("."): total += int(part) print(address, total)
Этот код разобран по шагам в разборе задания №10: там же типичные ошибки и лайфхаки.