Сетевая маска используется для определения того, какая часть IP-адреса представляет сетевой адрес, а какая часть - машину address*.
Рассмотрим сеть класса A от 10.0.0.0 до 10.255.255.255 (это обозначенный “частный” блок класса A, т.е. пакеты, предназначенные для этих адресов, не будут маршрутизироваться). В двоичном виде эти адреса являются адресами: 00001010.00000000.0000000000 до 00001010.11111111.11111111.11111111. Сетевая маска генерируется путем назначения 1 для каждого бита в этих адресах, что не изменяет IE:
00001010.00000000.00000000.00000000
00001010.11111111.11111111.11111111
-----------------------------------
11111111.00000000.00000000.00000000
, что преобразует в 255.0.0.0, классическую маску сети класса А.
* На самом деле, чтобы получить сетевой адрес, заданный IP-адресом, вы просто делаете логическую операцию AND. Например, для маски сети 255.0.0.0.0 и IP-адреса 10.0.0.1:
00001010.00000000.00000000.00000001
11111111.00000000.00000000.00000000
-----------------------------------
00001010.00000000.00000000.00000000
И 00001010.00000000.000000.00000000 преобразуется в 10.0.0.0, что на самом деле является сетевым адресом.
Обратите внимание, что обычно вам не нужна сеть класса A для домашней сети (нужно ли вам более 255 адресов?) и, таким образом, вы можете использовать 255.255.255.0 в качестве сетевой маски и/или использовать сеть класса C (например, 192.168.1.0).