Сеть задана IP-адресом одного из входящих в неё узлов 191.128.66.83 и сетевой маской 255.192.0.0.
Найдите в данной сети наибольший IP-адрес, который может быть назначен компьютеру.
В ответе укажите найденный IP-адрес без разделителей.
Например, если бы найденный адрес был равен 111.22.3.44, то в ответе следовало бы записать: 11122344.
В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети.
Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и его маске.
Широковещательным адресом называется специализированный адрес, в котором на месте нулей в маске стоят единицы.
Адрес сети и широковещательный адрес не могут быть использованы для адресации сетевых устройств.
Сеть задана IP-адресом одного из входящих в неё узлов 191.128.66.83 и сетевой маской 255.192.0.0.
Найдите в данной сети наибольший IP-адрес, который может быть назначен компьютеру.
В ответе укажите найденный IP-адрес без разделителей.
Например, если бы найденный адрес был равен 111.22.3.44, то в ответе следовало бы записать: 11122344.
# способ 1
from ipaddress import *
# создаём сеть:
# IP-адрес: 191.128.66.83
# маска: 255.192.0.0
net = ip_network('191.128.66.83/255.192.0.0', 0)
# net[-1] — broadcast адрес
# net[-2] — последний адрес перед broadcast
last_ip = net[-2]
# переводим IP в строку и убираем точки
print(str(last_ip).replace('.', ''))
📌 Результат: сеть 191.128.0.0/10; широковещательный адрес — 191.191.255.255; наибольший адрес компьютера — 191.191.255.254; в ответе без точек: 191191255254.
# функция переводит числа в двоичный вид по 8 бит
def to_bin(*numbers):
return [f'{x:08b}' for x in numbers]
# маска сети
mask_octets = to_bin(255, 192, 0, 0)
# IP-адрес
ip_octets = to_bin(191, 128, 66, 83)
print(*mask_octets)
print(*ip_octets)
📌 Результат: по маске видно, какие биты фиксированы; в хостовой части ставим единицы, кроме последнего хоста перед broadcast — получаем 191.191.255.254.
Поверните телефон
Горизонтальный режим удобнее для таблицы и Python-кода