В сетях TCP/IP маска сети показывает, какие биты IP-адреса узла относятся к адресу сети.
Адрес сети получают поразрядной конъюнкцией IP-адреса узла и маски.
Даны IP-адрес узла 172.20.187.214 и маска 255.255.248.0.
Найдите адрес сети.
В ответе укажите сумму числовых значений четырёх байтов найденного IP-адреса.
Например, если бы адрес сети был равен 10.20.30.0, в ответе следовало бы записать 60.
Решение (ipaddress)
🔹 Шаг 1. Сеть по IP и маске
from ipaddress import ip_network
net = ip_network('172.20.187.214/255.255.248.0', strict=False)
📌 Создаём объект сети: IP 172.20.187.214, маска 255.255.248.0.
🔹 Шаг 2. Адрес сети
from ipaddress import ip_network
net = ip_network('172.20.187.214/255.255.248.0', strict=False)
str(net.network_address)
📌 network_address — 172.20.184.0.
🔹 Шаг 3. Сумма октетов (ответ)
from ipaddress import ip_network
net = ip_network('172.20.187.214/255.255.248.0', strict=False)
print(sum(int(o) for o in str(net.network_address).split('.')))
📌 Ответ: 172 + 20 + 184 + 0 = 376.
Решение (ipaddress)
🔹 Шаг 1. Сеть по IP и маске
from ipaddress import ip_network
net = ip_network('172.20.187.214/255.255.248.0', strict=False)
📌 Создаём объект сети: IP 172.20.187.214, маска 255.255.248.0.
🔹 Шаг 2. Адрес сети
from ipaddress import ip_network
net = ip_network('172.20.187.214/255.255.248.0', strict=False)
str(net.network_address)
📌 network_address — 172.20.184.0.
🔹 Шаг 3. Сумма октетов (ответ)
from ipaddress import ip_network
net = ip_network('172.20.187.214/255.255.248.0', strict=False)
print(sum(int(o) for o in str(net.network_address).split('.')))
📌 Ответ: 172 + 20 + 184 + 0 = 376.
Решение (ipaddress)
🔹 Шаг 1. Сеть по IP и маске
from ipaddress import ip_network
net = ip_network('172.20.187.214/255.255.248.0', strict=False)
📌 Создаём объект сети: IP 172.20.187.214, маска 255.255.248.0.
🔹 Шаг 2. Адрес сети
from ipaddress import ip_network
net = ip_network('172.20.187.214/255.255.248.0', strict=False)
str(net.network_address)
📌 network_address — 172.20.184.0.
🔹 Шаг 3. Сумма октетов (ответ)
from ipaddress import ip_network
net = ip_network('172.20.187.214/255.255.248.0', strict=False)
print(sum(int(o) for o in str(net.network_address).split('.')))
📌 Ответ: 172 + 20 + 184 + 0 = 376.