Задание 10 ЕГЭ: широковещательный адрес
Широковещательный адрес сети. Тема номера — ip-адрес и маска сети. Ниже — пример с ответом и решением; кнопкой под ним можно решить такую же задачу с другими числами, ответ проверится сразу.
Пример
В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и его маске.
Широковещательным адресом называется специализированный адрес, в котором на месте нулей в маске стоят единицы. Адрес сети и широковещательный адрес не могут быть назначены ни одному компьютеру в этой сети.
Сеть задана IP-адресом одного из входящих в неё узлов 57.225.207.170 и сетевой маской 255.252.0.0. Найдите её широковещательный IP-адрес.
В ответе укажите второй слева октет (байт) найденного IP-адреса в виде десятичного числа.
Ответ
227Решение
Маска 255.252.0.0 содержит 14 единиц, на номер узла остаётся 18 бит. Октет маски 255 (первый) переписывает октет адреса без изменений; октеты маски 0 (третий, четвёртый) дают 0. Значащий октет маски — второй: 252 = 111111002, шаг сети 256 − 252 = 4. В адресе узла там 225 = 111000012; поразрядное И: 11100001 & 11111100 = 111000002 = 224 — ближайшее снизу к 225 число, кратное 4.
Адрес сети 57.224.0.0. В широковещательном адресе все биты узла (нули маски) — единицы: 57.227.255.255. В ответ: 227.
import ipaddress
net = ipaddress.ip_network("57.225.207.170/255.252.0.0", strict=False)
a = net.broadcast_address
print(a, str(a).split(".")[1])