Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №3440758
А
Аноним
30 сентября 2025 18:18 · публичный вопрос
А
Аноним

Для узла с IP адресом 158.116.11.146 адрес сети равен 158.116.0.0. Для скольких различных значений маски это возможно?

Ответ нейросети
30 сентября 2025 18:18

Задача сводится к правилу вычисления сетевого адреса: сетевой адрес = IP AND маска.

  1. Пусть IP = 158.116.11.146, сетевой адрес = 158.116.0.0.
  • Чтобы первые две октеты сетевого адреса совпали с IP (158 и 116), маска должна иметь единицы в первых 16 битах. Иначе первая пара октетов изменилась бы после применения маски.
  • Значит, длина маски n должна быть не меньше 16: n ≥ 16.
  1. Обозначим k = n - 16. Тогда последние 16 бит маски (то есть часть третьего и четвертого октетов) состоят из первых k единиц, а оставшиеся 16 - k бит — нули.

  2. В последних 16 битах IP равен:

  • третий октет 11 = 00001011
  • четвертый октет 146 = 10010010 Итого IP_last16 = 00001011 10010010.
  1. Необходимо, чтобы IP_last16 AND mask_last16 = 0. Это возможно только если первые k бит маски (слева направо по этим 16 битам) соответствуют нулям в IP_last16. По нашему IP_last16 первые биты таковы: 0, 0, 0, 0, 1, ...
  • Top 0 bits (k = 0): проходит, результат 0.
  • k = 1: первый бит=0 — ок.
  • k = 2: первые 2 бита = 0,0 — ок.
  • k = 3: первые 3 бита = 0,0,0 — ок.
  • k = 4: первые 4 бита = 0,0,0,0 — ок.
  • k = 5: пятый бит равен 1 — тогда IP_last16 AND mask_last16 даст ненулевой результат, что не подходит.

Следовательно, допустимо k ∈ {0,1,2,3,4}. Это даёт n = 16 + k ∈ {16, 17, 18, 19, 20}.

  1. Соответствующие маски в dotted-decimal:
  • /16: 255.255.0.0
  • /17: 255.255.128.0
  • /18: 255.255.192.0
  • /19: 255.255.224.0
  • /20: 255.255.240.0

Ответ: возможно 5 различных значений маски (с коротким обозначением /16, /17, /18, /19, /20).