В терминологии сетей TCP/IP маской сети называется двоичное число, определяющее, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу самого узла в этой сети. При этом в маске сначала (в старших разрядах) стоят единицы, а затем с некоторого места – нули. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске.
Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0.
Узел с IP-адресом 121.96.174.205 принадлежит сети, в которой 10 IP-адресов, двоичная запись которых содержит ровно 12 единиц.
Сколько единиц содержится в двоичной записи маски этой сети?
Ответ:
СтатГрад Вариант ИН2410101 24 октября 2024 – задание №13
Решение:
Решение на Python—
|
1 2 3 4 5 6 7 8 9 |
from ipaddress import * for mask in range(15, 33): net = ip_network(f"121.96.174.205/{mask}", 0) k = 0 for ip in net: if f"{ip:b}".count('1') == 12: k += 1 if k == 10: print(mask) |
Ответ: 22