Тема . 13 Организация компьютерных сетей

.04 Определение маски

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела 13 организация компьютерных сетей
Решаем задачу:

Ошибка.
Попробуйте повторить позже

Задача 1#78246

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

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

Для узла с IP-адресом 128.225.157.50 адрес сети равен 128.225.128.0. Чему равно наибольшее возможное значение третьего слева байта маски? Ответ запишите в виде десятичного числа.

Показать ответ и решение

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

Запишем третий слева байт IP-адреса в двоичной системе счисления: 15710 = 100111012  .

Аналогично запишем третий слева байт адреса сети, также в двоичной системе счисления: 12810 = 100000002  .

Учитывая, что адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске, запишем возможный вариант маски, обозначив символом «x» те места, где маска может иметь неоднозначное значение: 1xx00000  .

Так как значение должно быть наибольшее, то вместо символов «x» ставим 1. Получаем значение третьего слева байта маски: 111000002 = 22410  .

Решение Python:

Нам нужно определить наибольшее возможное значение третьего слева байта маски сети, при котором адрес сети для IP 128.225.157.50 будет равен 128.225.128.0. Адрес сети вычисляется по правилу поразрядной конъюнкции (логического И) между IP-адресом и маской.

Для решения удобно использовать модуль ipaddress в Python. Идея заключается в переборе всех возможных масок от 0 до 32 единиц. Для каждой маски создаём объект сети с помощью ip_network(). Параметр strict=0 позволяет не ограничивать IP-адрес строго адресом сети, что удобно для перебора.

После этого выводим все варианты адресов сети и соответствующих масок. Среди этих вариантов ищем сеть 128.225.128.0. Из этих масок выбираем ту, у которой третий слева байт маски имеет наибольшее значение. Это значение и будет ответом на задачу.

from ipaddress import ip_network  # Импортируем модуль для работы с IP-адресами и сетями

# Перебираем все маски с количеством единиц от 0 до 32
for mask in range(33):
    # Создаём сетевой объект для IP 128.225.157.50 с текущей маской
    # strict=0 позволяет использовать любой IP-адрес, а не только адрес сети
    net = ip_network(f’128.225.157.50/{mask}’, 0)

    # Выводим адрес сети и маску
    # Позже среди этих вариантов ищем сеть 128.225.128.0
    # и выбираем наибольшее значение третьего байта маски
    print(net, net.netmask)

# После просмотра выводов выбираем маску с наибольшим третьим байтом
# Это и будет ответ на задачу

Ответ: 224

Специальные программы

Все специальные программы

Программа
лояльности v2.0

Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!

Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение

Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты

Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей

Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ

Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!

cyberpunkMouse
cyberpunkMouse
Рулетка
Вы можете получить скидку в рулетке!