Маска подсети определяет, какая часть IP-адреса является сетевым адресом, а какая часть является адресом хоста. Маска делает это «маскируя», т.е. «закрывая» с помощью двоичного числа ту часть сетевого IP-которая отведена для нумерации подсетей. Ниже приведен пример IP-адреса и маски подсети.
* IP-адрес в виде четырех десятичных чисел: 207.219.170.193
* Маска подсети в десятичном виде: 255.255.255.0
* IP-адрес в виде 32-х разрядного двоичного числа:
11001111.11011011.10101010.11000001
* Маска подсети в двоичном виде: 11111111.11111111.11111111.00000000
Путем установки 1 во все первые 24 бита три первых числа октета были замаскированы, т.е. сделаны недопустимыми для назначения адресов хостов, и выделены для указания номера подсети. Т.е. в нашем случае, все числа, «накрытые маской», являются номерами подсетей, а последнее десятичное число, или восемь битов, оставлено для адресов хостов подсети.
При организации связей между компьютерами маски подсети используют для определения, находится ли целевой хост внутри той же самой подсети, что и исходный хост, или же целевой хост – удаленный, т.е. лежит вне подсети. Если целевой хост – удаленный, исходный хост пошлет информацию по IP-адресу основного шлюза, заданного при настройке протокола TCP/IP компьютера.
Чтобы определить местоположение целевого хоста, следует для целевого и исходного хостов вычислить идентификаторы подсетей, которые должны быть одинаковыми у всех хостов подсети. Если два полученных идентификатора сети будут равны – хосты находятся в одной подсети, и наоборот. Для вычисления идентификатора сети применяется операция, называемая ANDing.