Перед обсуждением вопросов о подсетях, нам нужно узнать основные принципы IP адресации.
Самое первое, что надо уяснить себе - IP назначаются не хостам. IP адреса назначаются сетевым интерфейсам хостов. Eh - как так?
Очень многие (если не большинство) компьютеров в IP сети имеют единственный сетевой интерфейс (и как следствие один IP адрес). Но компьютеры и другие устройства могут иметь несколько (если не больше) сетевых интерфейсов - и каждый интерфейс будет иметь свой собственный IP адрес.
Так устройство с 6 активными интерфейсами (например, маршрутизатор) будет иметь 6 IP адресов - по одному на каждый интерфейс в каждой сети, к которой он подключен. Причина этого станет ясной, если мы взглянем на IP сеть!
Подозреваю, что большинство людей имеют в виду хостовый адрес, когда ссылаются на IP адрес. Только помните, это просто сокращание IP адреса определенного интерфейса на этом хосту. Многие (если не большинство) из устройств в Internet имеют только один интерфейс и значит один IP адрес.
В текущей (IPv4) реализации адресов IP, IP адреса состоят из 4 байт (8 бит) - дающих в совокупности 32 бита доступной информации. Это приводит к тому, что числа выглядят слишком большими (даже когда записаны в десятичном исчислении). Поэтому для читабельности (и по организационным причинам) IP адреса обычно записываются в "точечно-разделительной нотации". Вот пример IP адреса
192.168.1.24
- 4 (десятичных) числа, разделенных (.) точками.
Так как каждое из четырех чисел - это десятичное представление 8-битного байта, то каждое число может принимать значения от 0 до 255 (что дает 256 уникальных значений - помните, ноль - это тоже величина).
Кроме того, часть IP адреса хоста определяет сеть, в которой находится хост, а оставшиеся 'биты' IP адреса определяют сам хост (oops - сетевой интерфейс). То, сколько бит используется сетевым ID и сколько бит доступно для идентификации хостов (интерфейсов) в этой сети, определяется сетевыми 'классами'.
Существует три класса IP адресов
Однако сети 0.0.0.0 (известная как маршрут по умолчанию) и 127.0.0.0 (loop back сеть) имеют специальное назначение и не доступны для использования в качестве идентификаторов сети. ПОэтому доступно только 126 адресов сетей класса A.
Сетевой класс Диапазон значений первого байта (десятичный)
A от 1 до 126
B от 128 до 191
C от 192 до 254
Существует также специальные адреса, которые зарезервированы для
'несвязанных' сетей - это сети, которые используют IP, но не подключены
к Internet. Вот эти адреса:-
10.0.0.0
172.16.0.0 - 172.31.0.0
192.168.0.0 - 192.168.255.0
IP адрес может означать одно из трех:-
(один байт под адрес сети, три байта под номер хоста)
10.0.0.0 сеть класса А, потому что все хостовые биты равны 0.
10.0.1.0 адрес хоста в этой сети
10.255.255.255 широковещательный адрес этой сети,
поскольку все сетевые биты установлены в 1
(два байта под адрес сети, два байта под номер хоста)
172.17.0.0 сеть класса B
172.17.0.1 адрес хоста в этой сети
172.17.255.255 сетевой широковещательный адрес
(три байта под адрес сети, один байт под номер хоста)
192.168.3.0 адрес сети класса C
192.168.3.42 хостовый адрес в этой сеть
192.168.3.255 сетевой широковещательный адрес
Едва ли не все доступные сетевые IP адреса принадлежат классу C.
Сетевую маску более правильно называть подсетевой маской. Однако в основном говорят "сетевая маска".
Сетевая маска определяет как будут локально интерпретироваться IP адреса в сегменте IP сети, что для нас весьма важно, поскольку определяет процесс разбивки на подсети.
Стандартная (под-) сетевая маска - все сетевые биты в адресе установлены в '1' и все хостовые биты установлены в '0'. Это означает, что стандартные сетевые маски для трех классов сетей:-