Настройка Netmask (NM)

Описание

(о формате описания настроек см. здесь)

Назначение:Задаёт диапазон IP-адресов локальной подсети
Формат команды Set (S):SNMnn...n, где nn...n - маска локальной подсети в десятичной записи с точками (например, 255.255.255.0)
Формат команды Get (G):GNM
Действие команды Init (I):Инициализируется безусловно - сетевой командой, командой через последовательный порт или быстрой инициализацией
Значение после инициализации:0.0.0.0
Изменение вступает в силу:После перезагрузки
Переопределяющее условие:Может автоматически обновляться маской, полученной от сервера DHCP (если настройка DHCP (DH) равна 1 (включено))
Условия применимости:Текущий Routing Mode (RM) [настройка/ параметр]= 1 (сервер/клиент) или 2 (клиент)
Впервые появилась:Раньше «базовых» V3.14/V3.51

Подробности

Маска подсети (Netmask) задаёт границы локальной подсети. Устанавливая исходящее соединение с сетевым хостом назначения по адресу текущий Destination IP-address (DI) [настройка / параметр / инструкция ], DS сравнивает этот адрес с маской подсети и собственным IP-адресом (IP), чтобы определить, находится ли адресат в локальной или чужой подсети. Если хост назначения находится в локальной подсети, DS (пытается) подключиться напрямую к текущему Destination IP-address (DI), а если в чужой - к Gateway IP-address (GI).

Сравнение выполняется так:

  • Все четыре байта IP-адреса (IP) логически умножаются (AND) на четыре байта маски подсети.
  • Все четыре байта текущего Destination IP-address (DI) логически умножаются (AND) на четыре байта маски подсети.
  • Результаты двух предыдущих шагов сравниваются: если они равны, адресат находится в одной подсети с DS; если различаются - адресат в чужой подсети, и DS будет подключаться через шлюз.

Пример: пусть IP-адрес (IP) DS равен 192.168.100.40 (C0.A8.64.28 в HEX), текущий Destination IP-address (DI) - 192.168.100.90 (C0.A8.64.5A в HEX), а маска подсети - 255.255.255.0 (FF.FF.FF.00 в HEX). Тогда:

  • C0.A8.64.28 AND FF.FF.FF.00 даёт C0.A8.64.00
  • C0.A8.64.5A AND FF.FF.FF.00 даёт C0.A8.64.00
  • Результаты совпадают, значит, адресат находится в той же подсети

Работу маски подсети можно объяснить и иначе. В двоичной записи маска всегда состоит из некоторого числа единиц слева и некоторого числа нулей справа (в примере выше маска равна 1111111. 11111111. 11111111. 00000000). Позиции с единицами (слева) обозначают часть, в которой текущий Destination IP-address (DI) должен совпадать с IP-адресом (IP) DS, чтобы считаться локальным. Позиции с нулями (справа) обозначают диапазон IP-адресов, принадлежащих той же подсети. Если маска равна 255.255.255.0, то любой IP-адрес, начинающийся с 255.255.255, будет находиться в той же подсети.

Маска подсети не имеет значения, когда текущий Routing Mode (RM) [настройка / параметр ] равен 0 (сервер), поскольку в этом режиме исходящие соединения запрещены.

Когда DHCP включён (настройка DHCP (DH) равна 1 (включено)), Gateway IP-address, полученный от сервера DHCP, сохраняется в эту настройку, перезаписывая заданное ранее значение. Это происходит, только если сервер DHCP настроен на выдачу маски подсети.