Что такое маска подсети (subnet mask) и зачем это нужно знать QA-инженеру?

Ответ

Маска подсети — это 32-битное число (для IPv4), которое определяет, какая часть IP-адреса идентифицирует сеть, а какая — конкретное устройство (хост) внутри этой сети. Она "маскирует" сетевую часть адреса.

Зачем это QA? Понимание основ сетей, включая маски подсетей, необходимо для:

  1. Тестирования сетевых функций приложения: настройка доступа по IP, работа с firewall правилами.
  2. Расследования проблем с подключением: понимание, находятся ли тестовые стенды, серверы и рабочие станции в одной сети или разных.
  3. Работы с виртуальными и изолированными тестовыми окружениями, которые часто используют специфические диапазоны IP-адресов.
  4. Настройки и диагностики тестовой инфраструктуры, например, при конфигурации виртуальных машин или контейнеров.

Простой пример:

  • IP-адрес устройства: 192.168.1.10
  • Маска подсети: 255.255.255.0 (или /24 в префиксной записи CIDR).
  • Сетевая часть (определяется единицами в маске): 192.168.1.
  • Хостовая часть (определяется нулями в маске): .10.

Все устройства с IP-адресами 192.168.1.1192.168.1.254 принадлежат одной подсети и могут общаться напрямую на канальном уровне (при прочих равных).

Практический кейс для QA: При тестировании функционала, который ограничивает доступ только для IP-адресов офиса (например, 192.168.10.0/24), QA должен проверить:

  • Позитивный сценарий: доступ с адреса внутри диапазона (например, 192.168.10.50).
  • Негативный сценарий: доступ с адреса вне диапазона (например, 192.168.20.5). Для этого может потребоваться настройка VPN или использование прокси с другим IP.

Ответ 18+ 🔞

Давай разжую эту тему про маски подсетей, чтобы у тебя в голове всё встало на свои места, а не болталось как манда с ушами.

Представь, что IP-адрес — это как адрес дома. Допустим, улица Ленина, дом 10. Так вот, маска подсети — это такая хитрая жопа, которая говорит: «Слушай, а улица Ленина — это у нас сеть, а конкретный дом 10 — это уже хост внутри неё». Она буквально маскирует, скрывает сетевую часть, оставляя на виду только номер дома.

Нахуя это тебе, как QA? Да всё просто, ёпта. Без этого ты как слепой кот в подвале.

  1. Тестируешь фичи с доступом по IP? Типа «пускать только с офисных айпишников»? Без понимания подсетей ты нихуя не настроишь и не проверишь. Будет тебе хиросима, а не тест-кейс.
  2. Всё легло и не коннектится? Чтобы копать, надо сначала понять, а в одной ли они вообще сети, эти твои стенды? Может, они как два барана на разных хуях с горы, и маршрутизатора между ними нет.
  3. Работаешь с кучей виртуалок или контейнеров? Они же все на своих подсетях сидят. Хочешь, чтобы они друг друга видели — надо понимать, как их подружить, а не просто тыкать кнопки.
  4. Настраиваешь тестовое окружение своими руками? Вот тут-то и пригодится, чтобы не получился пиздопроебибна вместо инфраструктуры.

Простой пример, на пальцах:

  • Айпишник твоего компа: 192.168.1.10
  • Маска подсети: 255.255.255.0 (или, по-пацански, /24).
  • Сеть (улица): 192.168.1 — это общее для всех.
  • Хост (дом): .10 — это уже твой личный номер.

И если у соседа адрес 192.168.1.15, то вы, блядь, на одной улице живете и можете общаться напрямую, без почтальона-роутера. Все адреса от .1 до .254 — это ваша дворовая братва.

Реальный кейс из жизни: Тебе говорят: «Сделай тесты на фичу — пускает только с офисной сети 192.168.10.0/24». Твои действия должны быть не «ой, ёклмн», а четкие:

  • Позитивка: Подключаешься с адреса, который в этой подсети. Например, 192.168.10.50. Всё должно работать. Если нет — волнение ебать, идёшь к девопсу с криком «чё за хуйня?».
  • Негативка: Надо проверить, что с левого адреса (192.168.20.5) тебя посылают нахуй. Для этого можешь VPN крутить или прокси цеплять. Главное — удостовериться, что защита работает и какой-нибудь распиздяй с левого IP не пролезет.

Вот и вся магия. Не такая уж и страшная хуйня, если разобраться. Главное — понять базовый принцип, а дальше уже легче будет.