Все задачи №10
№10

Адрес сети

В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и его маске. Даны адрес узла 192.168.159.86 и маска 255.255.252.0. Найдите адрес сети. В ответе укажите сумму числовых значений октетов найденного IP-адреса. Например, если бы найденный адрес был равен 100.20.3.4, то в ответе следовало бы записать: 127.

Источник: ФИПИ (Демо), № 31507

Ответвпиши то, что вывела программа
Показать разбор
  1. Создай сеть через ip_network по адресу узла и маске. Дан узел, а не адрес сети, поэтому второй аргумент False.
  2. Адрес сети лежит в net.network_address.
  3. Сложи четыре числа адреса через sum(ip.packed).
from ipaddress import ip_network

net = ip_network('192.168.159.86/255.255.252.0', False)
ip = net.network_address
print(sum(ip.packed))