Пример 1
В терминологии сетей TCP/IP маской сети называется двоичное число, которое показывает, какая часть IP-адреса узла относится к адресу сети, а какая — к адресу узла в этой сети. Адрес сети получается поразрядной конъюнкцией IP-адреса узла и маски.
Узлу с IP-адресом 192.168.32.160 соответствует маска 255.255.255.224. Какой наибольший IP-адрес в этой сети можно назначить компьютеру? В ответе запишите последний байт этого адреса.
Показать решение и ответ
1. Первые три байта маски — 255, они целиком относятся к сети. Работаем с последним байтом.
2. 224 = 11100000₂: три старших бита — сеть, пять младших — узел.
3. 160 = 10100000₂. Конъюнкция с 11100000 даёт 10100000 = 160 — последний байт адреса сети.
4. В сети 2⁵ = 32 адреса: от 160 до 191. Адрес 160 — сам адрес сети, 191 (все биты узла — единицы) — широковещательный, компьютерам их не назначают.
5. Наибольший адрес для компьютера — 192.168.32.190, последний байт 190.
Проверка программой:
from ipaddress import ip_network # модуль для работы с IP-сетями
net = ip_network('192.168.32.160/255.255.255.224', strict=False) # сеть по адресу узла и маске
print(net.network_address, net.broadcast_address) # 192.168.32.160 и 192.168.32.191
print(net.broadcast_address - 1) # последний адрес для узла: 192.168.32.190Ответ: 190
