сетевая маска может рассматриваться как битовая маска для IP-адреса.
, если (address1 & netmask) == (address2 & netmask)
, то 2 IP-адреса рассматриваются в одной подсети. (это выражение можно записать разными способами ...)
маска сети - это только способ «виртуального» разделения сети: маска сети не является частью заголовка ip,и не передается по проводам.никто не знает маску сети устройства в сети, кроме самого устройства.он используется внутри стека tcp устройства для принятия некоторых базовых решений по маршрутизации.обратите внимание, что существуют другие способы определения подсети, которые могут не включать маску сети, но достигают того же результата: группировать несколько устройств в «виртуальную» сеть.
маршрутизатор, к которому подключено устройство, может даже иметь другое определение маски сети для этого же устройства: это не имеет значения, если маршрутизатор правильно маршрутизирует пакеты.маска сети используется в основном для автоматического вычисления некоторых известных адресов: например, широковещательный адрес, используемый для широковещательных пакетов udp, вычисляется из ip-адреса устройства и его маски сети.
в вашем конкретном случае :
физический маршрутизатор отсутствует, но ваш компьютер является маршрутизатором (он маршрутизирует пакеты внутри различных сетевых интерфейсов).ваш компьютер содержит таблицу маршрутизации, в которой указывается, какой исходящий интерфейс должен использовать конкретный пакет (в Windows попробуйте route print
, в Linux - в качестве пользователя root, попробуйте route
).
обычнотаблица маршрутизации настроена так, что пакет отправляется через интерфейс, который находится в той же подсети, что и целевое устройство.компьютер использует приведенное выше логическое выражение на каждом интерфейсе, чтобы определить, находится ли пункт назначения в той же подсети, что и этот интерфейс.если выражение истинно, пакет выходит.каждая запись имеет параметр (называемый метрикой), который позволяет выбрать, казалось бы, лучший интерфейс в случае, если возможно несколько маршрутов.
Вы должны отметить, что таблица маршрутизации является динамической: ее можно изменить вручную, чтобы добавитьконкретный маршрут (например, если вы знаете, что определенное устройство доступно через интерфейс, но это устройство имеет IP-адрес, который не имеет отношения к этому IP-адресу интерфейса / маска сети) .Есть также некоторые протоколы (arp, dhcp ...) , используемые в локальной сети, которые передают информацию о маршрутизации, которая автоматически обрабатывается вашей системой для изменения таблицы маршрутизации.