Сеть задана IP-адресом одного из входящих в неё узлов 68.203.243.87 и сетевой маской 255.255.224.0.
Найдите наибольший в данной сети IP-адрес, который может быть назначен компьютеру.
В ответе укажите сумму числовых значений октетов найденного IP-адреса.
Например, если бы найденный адрес был равен 100.20.3.4, то в ответе следовало бы записать: 127
В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети.
Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и его маске.
Широковещательным адресом называется специализированный адрес, в котором на месте нулей в маске стоят единицы.
Адрес сети и широковещательный адрес не могут быть использованы для адресации сетевых устройств.
Сеть задана IP-адресом одного из входящих в неё узлов 68.203.243.87 и сетевой маской 255.255.224.0.
Найдите наибольший в данной сети IP-адрес, который может быть назначен компьютеру.
В ответе укажите сумму числовых значений октетов найденного IP-адреса.
Например, если бы найденный адрес был равен 100.20.3.4, то в ответе следовало бы записать: 127
import ipaddress
ip = ipaddress.IPv4Address("68.203.243.87")
mask = ipaddress.IPv4Network("68.203.243.87/255.255.224.0", strict=False)
network = mask.network_address
broadcast = mask.broadcast_address
max_ip = int(broadcast) - 1
max_ip = ipaddress.IPv4Address(max_ip)
# сумма октетов
result = sum(int(o) for o in str(max_ip).split("."))
print(result)
📌 Результат: наибольший адрес компьютера — 68.203.255.254; сумма октетов: 780 (68 + 203 + 255 + 254).
ip = 68, 203, 243, 87
mask = 255, 255, 224, 0
ip = [(a & b) | (255 - b) for a, b in zip(ip, mask)]
ip[3] -= 1
print(ip)
print(sum(ip))
📌 Результат: после применения маски к узлу получаем максимальный хостовый адрес; сумма октетов совпадает с ответом 780.
Поверните телефон
Горизонтальный режим удобнее для таблицы и Python-кода