простой способ понять это :
В IPv4:
представьте себе линию 256*256*256*256 (или 2^32) возможные IP-адреса.
[] [] [] [] .................. [] [] []
256*256*256*256 total IP adresses
Это маска подсети 0.0.0.0 (или 0000 0000 0000 0000 0000 0000 0000 0000 в бинарные)
Все биты, которые не замаскированы, могут использоваться, чтобы дать IP-адрес в той сети.
возможных адресов в одной сети:
0000 0000 0000 0000 0000 0000 0000 0000 (<-- маска, здесь ничего не маскируется...)
0000 0000 0000 0000 0000 0000 0000 0000 (IP 0.0.0.0)
для
1111 1111 1111 1111 1111 1111 1111 1111 (IP 255.255.255.255)
вся эта сеть начинается с IP 0.0.0.0 и продолжается до IP 255.255.255.255
каждый бит в маске подсети делит строку на 2 равные части.
Первый БИТ в маске подсети разделит ЭТО на 2 равные части, каждая из которых 128*256*256*256 (или 2^31) IP-адреса :
[] [] [] .......... [] [] [] | [] [] ........... [] []
128*256*256*256 IP Adresses 128*256*256*256 IP Adr
Это маска подсети 128.0.0.0 (или 1000 0000 0000 0000 0000 0000 0000 0000 в бинарные)
Все биты, которые не замаскированы, могут использоваться, чтобы дать IP-адрес в той сети.
таким образом, вы можете иметь 2 подсети, и для каждой подсети, у вас есть 31 бит доступных IP-адресов.
для первой подсети (той, где за маской подсети стоит '0')
1000 0000 0000 0000 0000 0000 0000 0000 (<-- маска)
0000 0000 0000 0000 0000 0000 0000 0000 (IP 0.0.0.0)
для
0111 1111 1111 1111 1111 1111 1111 1111 (IP 127.255.255.255)
а для 2-й подсети (той, где за маской подсети стоит '1')
1000 0000 0000 0000 0000 0000 0000 0000 (<-- маска сети)
1000 0000 0000 0000 0000 0000 0000 0000 (IP 128.0.0.0)
для
1111 1111 1111 1111 1111 1111 1111 1111 (IP 255.255.255.255)
следующий дополнительный бит в маске подсети делит обе стороны на 2 равные части по 2^30 IP адресов каждый
и так далее...
таким образом, если вы попытаетесь назначить, скажем, подсеть /3, это означает, что вы потратили 3 итерации деления, в конечном итоге с 2^3=8 подсетей.
Каждая подсеть может быть только одной из 8 подразделений всей линейки машин. Они не могут пересекаться. Каждый из них начинается после первого.
[] ... [] | [] ... [] | [] ... [] | [] ... [] | [] ... [] | [] ... [] | [] ... [] | [] ... []
32*256*256*256 or 2^30 IP Adresses each.
это имеет маску подсети 0.0.0.0
Так для первого подсеть (та, где за маской подсети стоит '000')
1110 0000 0000 0000 0000 0000 0000 0000 (<-- маска сети)
0000 0000 0000 0000 0000 0000 0000 0000 (IP 0.0.0.0)
для
0001 1111 1111 1111 1111 1111 1111 1111 (IP 31.255.255.255)
а для 2-й подсети (той, где за маской подсети стоит '001')
1110 0000 0000 0000 0000 0000 0000 0000 (NETMASK)
0010 0000 0000 0000 0000 0000 0000 0000 (IP 32.0.0.0)
для
0011 1111 1111 1111 1111 1111 1111 1111 (ИС 63.255.255.255)
...
а для 7-й подсети (той, где за маской подсети стоит '110')
1110 0000 0000 0000 0000 0000 0000 0000 (NETMASK)
1100 0000 0000 0000 0000 0000 0000 0000 (IP 192.0.0.0)
для
1101 1111 1111 1111 1111 1111 1111 1111 (ИС 223.255.255.255)
и для 8nd подсети (где, за netmask, is '111')
1110 0000 0000 0000 0000 0000 0000 0000 (NETMASK)
1110 0000 0000 0000 0000 0000 0000 0000 (IP 224.0.0.0)
для
1111 1111 1111 1111 1111 1111 1111 1111 (IP 255.255.255.255)
Если вы продолжаете добавлять бит в сетевую маску, вы продолжаете гадать: подсеть /32 выделяет одну машину.
но помните, что вы не можете иметь только машины:
чтобы сделать вещи работать, некоторые диапазон подсети зарезервирован:
для каждой подсети "0 бит в значение "1"," и "все биты в значение 1", Как правило, зарезервированы для широковещания, поэтому вы, как правило, имеют только nb_of_possible_adresses_in_the_subnet-2 IP-адресов доступна в подсети для реальных машинных интерфейсов. И лучше всего быть интерфейсом шлюза, который имеет другой интерфейс в других сетях, позволяя вам использовать его в качестве шлюза для доступа к этим другим сетям (и ко всему, через шлюзы этих других сетей)