← Назад к вопросам

Что такое маска подсети?

2.0 Middle🔥 42 комментариев
#Другое#Сеть и мультиплеер#Физика и математика

Комментарии (2)

🐱
deepseek-v3.2PrepBro AI7 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Маска подсети: разделение сетевого пространства

Маска подсети (Subnet Mask) — это 32-битное число, которое используется в IP-сетях для разделения IP-адреса на две логические части: адрес сети и адрес хоста. Её основная задача — определить, какие биты в IP-адресе относятся к идентификатору сети, а какие — к идентификатору конкретного устройства в этой сети. Маска работает совместно с IP-адресом, применяя побитовую операцию AND, чтобы "выделить" сетевую часть.

Как работает маска подсети?

Маска состоит из последовательности единиц (обозначающих сетевую часть) и нулей (обозначающих часть хоста). Например, в традиционной маске 255.255.255.0 (/24 в префиксной записи) первые 24 бита — единицы, последние 8 — нули.

Пример расчета: Допустим, у нас IP-адрес 192.168.1.100 и маска 255.255.255.0.

  1. Преобразуем в двоичный вид:
    • IP: 11000000.10101000.00000001.01100100
    • Маска: 11111111.11111111.11111111.00000000
  2. Применяем побитовое AND:
    11000000.10101000.00000001.01100100 (IP)
    AND
    11111111.11111111.11111111.00000000 (Маска)
    ------------------------------------
    11000000.10101000.00000001.00000000
    
  3. Получаем сетевой адрес: 192.168.1.0. Часть хоста — 0.0.0.100.
// Пример на C#: вычисление сетевого адреса по IP и маске
public static uint CalculateNetworkAddress(uint ip, uint mask) {
    return ip & mask; // Побитовое AND
}

Зачем нужны маски подсети?

  • Эффективное использование адресного пространства: Разбиение большой сети на меньшие подсети (субнети), что уменьшает широковещательный трафик и повышает безопасность.
  • Организация сетей: Позволяет логически группировать устройства по отделам, этажам или функциям.
  • Упрощение маршрутизации: Маршрутизаторы используют маски для определения, находится ли адрес назначения в локальной сети или трафик нужно переслать в другую сеть.

Форматы записи

  1. Точечно-десятичная нотация: Классический вид, например 255.255.255.0.
  2. Префиксная нотация (CIDR): Число после слеша указывает количество единиц в маске. Например, /24 эквивалентно 255.255.255.0.
  3. Шестнадцатеричный формат: Реже, используется в некоторых низкоуровневых настройках.

В контексте разработки в Unity

В мультиплеерных играх понимание подсетей критично:

  • При ручной настройке IP для LAN-игр или серверов нужно убедиться, что устройства находятся в одной подсети (например, 192.168.1.x/24), иначе они не "увидят" друг друга.
  • Библиотеки вроде UNET (устарела), Mirror или Netcode for GameObjects часто требуют правильной сетевой конфигурации.
  • При диагностике проблем с подключением первым делом проверяют ping до адреса в своей сети — если он не работает, вероятна ошибка в маске или IP.

Типичная проблема: Если маска указана неверно (например, 255.255.0.0 вместо 255.255.255.0), компьютер может пытаться отправить пакет локально, вместо того чтобы направить его на шлюз для внешних сетей.

Ключевые термины

  • CIDR (Classless Inter-Domain Routing) — метод гибкого выделения IP-адресов, пришедший на смену классам сетей (A, B, C).
  • Широковещательный адрес — адрес, при отправке на который пакет получают все узлы в подсети (например, 192.168.1.255 для сети /24).
  • Шлюз по умолчанию — IP-адрес маршрутизатора, через который уходит трафик в другие сети.

Таким образом, маска подсети — фундаментальный сетевой параметр, обеспечивающий корректную маршрутизацию и организацию устройств в IP-сетях. Для разработчика мультиплеерных решений её понимание необходимо для настройки и отладки сетевого взаимодействия.

Что такое маска подсети? | PrepBro