Понимание двоичной системы исчисления особенно важно, чтобы установить, находятся ли два узла в одной и той же сети. Как вы помните, IP-адрес является иерархическим адресом, который состоит из двух частей: сетевой и узловой. Определяя ту или иную часть, необходимо обращать внимание не на десятичное значение, а на 32-битный поток. В 32-битном потоке одна часть битов составляет сеть, а другая — узел.
Биты в сетевой части адреса должны быть одинаковыми для всех устройств, которые находятся в одной и той же сети. Биты в узловой части адреса должны быть уникальными, чтобы можно было определить конкретный узел в сети. Независимо от того, совпадают ли десятичные числа в двух IPv4-адресах, если два узла имеют одну битовую комбинацию в определённой сетевой части 32-битного потока, то эти два узла находятся в одной и той же сети.
Но как узлы определяют, какая из частей 32-битного потока является сетевой, а какая — узловой? Для этого используется маска подсети.
При настройке IP-узла ему присваивается не только IP-адрес, но и маска подсети. Как и IP-адрес, маска состоит из 32 бит. Она определяет, какая часть IP-адреса относится к сети, а какая — к узлу.
Маска сравнивается с IP-адресом побитно, слева направо. В маске подсети единицы соответствуют сетевой части, а нули — адресу узла. Как показано на рисунке 1, маска подсети создаётся путём размещения единицы (1) в каждой позиции бита, представляющей сетевую часть, и размещения нуля (0) в каждой позиции бита, которая представляет узловую часть. Обратите внимание, что маска подсети не содержит сетевую или узловую часть IPv4-адреса; она только сообщает компьютеру, в каком месте искать эти части в данном IPv4-адресе.
Как и IPv4-адреса, маска подсети для простоты использования представлена в десятичном формате с разделительными точками. Маска подсети настроена на узловом устройстве в сочетании с IPv4-адресом и необходима для того, чтобы узел мог определить, к какой сети он принадлежит. На рис. 2 показаны допустимые маски подсети для IPv4-октета.