Что означает IP-адрес с маской и как она разделяет сеть и устройство
Что проверяют
Базовый сетевой минимум тестировщика: умеете ли вы по паре адрес и маска сказать, в одной подсети две машины или нет. От этого зависит, отличите ли вы дефект приложения от того, что стенд просто не видит сервер.
Как отвечать
Адрес IPv4 это 32 бита, записанные четырьмя октетами. Маска тоже 32 бита, только слева в ней идут единицы, справа нули, и переход всегда один: единицы не чередуются с нулями. Единицы отмечают часть адреса, общую для всей подсети, нули отмечают номер устройства внутри неё.
Побитовое И адреса и маски даёт адрес сети. Пример: 192.168.1.10 с маской 255.255.255.0, она же префикс /24:
- адрес сети 192.168.1.0, широковещательный 192.168.1.255;
- под устройства остаётся диапазон от .1 до .254, то есть 254 адреса;
- /16 это 255.255.0.0, крупная сеть;
- /30 это 255.255.255.252, ровно два устройства, обычная маска для стыка маршрутизаторов.
Зачем это в работе: узел сравнивает адрес получателя со своей подсетью. Попал внутрь, пакет уходит напрямую, не попал, отправляется на шлюз. Поэтому неверная маска ломает связь избирательно: соседи по сегменту доступны, а всё за его пределами нет, и снаружи это выглядит как плавающий дефект приложения.
Где спотыкаются
Считают, что в /24 доступно 256 адресов для устройств. Два адреса служебные: нулевой обозначает сам сегмент, последний широковещательный, поэтому узлов помещается 254.
Берут маску не по границе октета и сбиваются. Для /26 шаг внутри последнего октета равен 64, значит границы подсетей это 0, 64, 128 и 192, и адрес .100 лежит в подсети .64, а не в .0.
Проверяют адрес и маску, но забывают про шлюз и разрешение имён. Если шлюз указан из другой подсети, наружу трафик не пойдёт при полностью корректной маске, а при неотвечающем DNS симптом будет тот же самый уже при исправной маршрутизации.