Задача к ЕГЭ по информатике на тему «Номер компьютера в сети» №7

В терминологии сетей TCP/IP маска сети – это двоичное число, меньшее 232  ; в маске сначала (в старших разрядах) стоят единицы, а затем с некоторого места нули. Маска определяет, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес — в виде четырех байт, причем каждый байт записывается в виде десятичного числа. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске.

Например, если IP-адрес узла равен 131.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 131.32.240.0.

Сеть задана IP-адресом одного из входящих в неё узлов 186.215.243.5 и сетевой маской 255.255.192.0.

Найдите наибольший IP-адрес в данной сети, который может быть назначен компьютеру.

В ответе укажите найденный IP-адрес без точек и разделителей.

Решение руками

Переведём IP-адрес узла и маску сети в двоичную систему счисления:

IP узла 10111010.11010111.11110011.00000101
IP маска 11111111.11111111.11000000.00000000

Узлы в сети имеют вид: 10111010.11010111.11xxxxxx.xxxxxx

Нам нужно найти наибольший IP-адрес в данной сети, который может быть назначен компьютеру. Но мы не можем назначать компьютеру широковещательный адрес.

Поэтому, последний возможный IP-адрес будет равен: 10111010.11010111.11111111.111111102 = 186.215.255.25410

Решение программой

from ipaddress import *
# Создаем объект сети
net = ip_network(’186.215.243.5/255.255.192.0’, 0)
# Берем предпоследний адрес, так как последний - широковещательный
print(str(net[-2]).replace(’.’,’’))

Ответ: 186215255254
Оцените статью
Я решу все!