В терминологии сетей TCP/IP маска сети – это двоичное число, меньшее ; в маске сначала (в старших разрядах) стоят единицы, а затем с некоторого места нули. Маска определяет, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу самого узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес – в виде четырех байтов, причем каждый байт записывается в виде десятичного числа. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске.
Например, если IP-адрес узла равен 131.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 131.32.240.0.
По заданным IP-адресу и маске определите адрес сети:
IP-адрес: 183.228.100.169 Маска: 255.240.0.0
В ответе укажите полный адрес сети без точек.
Решение руками:
Адрес сети определяется путем применения поразрядной конъюнкции к заданному IP-адресу узла и маске.
Переведем IP-адрес и маску в двоичную систему счисления и найдем адрес сети:
IP
10110111.11100100.01100100.10101001
Mask
11111111.11110000.00000000.00000000
Net
10110111.11100000.00000000.00000000
Переведем адрес сети в десятичную систему счисления:
Решение программой:
from ipaddress import ip_network
# Создаем объект сети с заданным IP-адресом и маской
net = ip_network(’183.228.100.169/255.240.0.0’, 0)
# Получаем адрес сети
network_address = str(net.network_address)
print(network_address.replace(’.’, ’’))