У меня есть IP-адрес класса «B» 172.16.XXX.XXX в моей машине
Но из Википедии я получаю, что класс 'B' должен иметь 255.255.0.0 в качестве маски подсети.
Защищенная IANA частная сеть "класса B" фактически имеет маску подсети 255.240.0.0, а не 255.255.0.0.
Позвольте мне рассказать о том, как работают маски подсетей.
IP-адреса позволяют:
- несколько систем в сети, чтобы общаться друг с другом.
- И это также обеспечивает основу для компьютеров в одной сети, чтобы общаться с теми в другой сети.
Итак, нам нужно идентифицировать две вещи: компьютер и сеть, в которой он находится. Часть IP-адреса, начинающаяся слева (но не вся), используется для идентификации сети, а остальная часть идентифицирует сам компьютер.
Маска подсети определяет, где мы делаем это разделение. IP-адреса и маски подсетей записываются в десятичном формате для удобства чтения, но компьютер обрабатывает их в двоичном формате. Десятичное в двоичное работает так, например:
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
-----+-----+-----+-----+-----+-----+-----+-----+
1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | = 129 in decimal
Так что посмотри еще раз:
255.240. 0. 0 = 11111111 11110000 00000000 00000000
172. 16. 0. 1 = 10101100 00010000 00000000 00000001
Все, что обозначено 1 в маске подсети, принадлежит сети, остальные доступны для передачи компьютерам. (Поскольку все допустимые маски подсетей содержат число 1 в ряду, за которым следуют остальные, равные 0, обычно сейчас просто ссылаются на него с помощью одного числа, которое просто соответствует числу 1 в маске подсети. Выше будет выражено с /12, то есть 172.16.0.1/12 вместо 172.16.0.1/255.240.0.0)
С этим фоном вы можете понять, как работает подсеть.
Итак, вы работаете в домашней сети и решили использовать 172.16.0.0/24 для всех имеющихся там систем. Обычно вы помещаете эту информацию на DHCP-сервер, который затем будет отвечать за настройку большинства остальных ваших систем. Вы можете просто указать DHCP-серверу выдать диапазон адресов в 172.16.0.0/12, может быть, от 172.16.0.1 до 172.16.254.255, а остальное оставить для серверов или чего-либо еще. Маска подсети на всех них будет установлена на 255.240.0.0 или /12. Я мог бы иметь до 1 048 576 минус 2 компьютера на этом (0 должно оставаться зарезервированным, а самый высокий всегда является широковещательным адресом).
Но что, если вы захотите использовать вторую сеть для чего-то, может быть, DMZ или просто сохранить несколько машин изолированными. Здесь подсеть вступает в игру.
255.240. 0. 0 = 11111111 11110000 00000000 00000000 (/12)
172. 16. 0. 1 = 10101100 00010000 00000000 00000001
Я могу зарезервировать здесь несколько бит для сетей, а затем иметь под моим контролем несколько сетей, но с возможностью иметь меньше хостов в них.
Поэтому, если я захочу, я могу сказать своему DHCP-серверу, чтобы он раздавал маску подсети 255.255.0.0 и диапазон IP-адресов, таких как 172.16.0.1–172.16.255.254. Это будет сеть 0.
255.255. 0. 0 = 11111111 11111111 00000000 00000000 (/16)
XXXX
172. 16. 0. 1 = 10101100 00010000 00000000 00000001
XXXX
- это биты, которые я оставляю за собой для сетей, а не компьютеров.
Затем я могу сказать второму маршрутизатору, склонен ли я обрабатывать 172.17.0.1–172.17.255.254. Они будут изолированы, и мне понадобится отдельный маршрутизатор для подключения компьютеров 172.16.0.0/16 (16 = 255.255.0.0) и 172.17.0.0/16.
(Это не учитывает NAT и попытки подключиться к Интернету к этим сетям, что усложняет ситуацию.)
Я надеюсь, вы поняли идею. Вы бы на самом деле не делали этого слишком много в реальной жизни в домашней обстановке, но определенно в деловой среде. Я упоминаю все это только для того, чтобы вы знали, что 255.255.0.0 будет работать для 172.16.XXX.XXX, а также 255.240.0.0 по вышеуказанной причине.