Роутер (маршрутизатор) это устройство, которое предназначено для соединения сетей, фильтрации по IP-адресам, обеспечения политик безопасности, а также многих других функций (DHCP, NAT/PAT). Роутер работает с IP-адресами пакетов. Каждый роутер должен иметь таблице маршрутизации, где указано какой пакет куда отправлять (или не отправлять ) Таблица маршрутизации может заполнятся как вручную, так и с помощью протоколов маршрутизации (RIP, OSPF, IGRP, EIGRP). В таблице маршрутизации указывается на какой интерфейс отправлять пакет, который адресован на тот или иной адрес. Именно для роутера огромное значение имеют маски подсети. К каждому интерфейсу роутера должны подключатся разные сети, иначе он может некорректно работать. Коммутатор и мост ни с IP-адресами, ни с масками подсети не работают. Для них это всего лишь данные, которые нужно передать. В этом и состоит основное отличие между маршрутизатором и коммутатором
Вот мы и подошли к такому понятию как маска подсети. Маска подсети это 32-битное число, которое указывает где в IP-адресе адрес сети, а где адрес компьютера в сети. Выглядит маска сети примерно так: 255.255.255.0 или так 255.255.192.0, или даже так: 255.240.0.0
Особенностью маски подсети является то, что если записать ее в двоичной форме, то слева будут только единички, а справа нули. Это обязательное условие!
Вот запишем в двоичной форме приведенные выше маски:
255.255.255.0 11111111.11111111.11111111.00000000
255.255.192.0 11111111.11111111.11000000.00000000
255.240.0.0 11111111.11110000.00000000.00000000
Как видим, есть четкая граница между нулями и единицами. Иногда маску 255.255.255.0 обозначают просто как /24 24 единицы, вторая маска будет обозначатся как /18, третья в моем примере /12. В итоге адрес записывают так 192.168.0.1 /24
Все IP-адреса делятся на 5 классов: A, B, C, D и E
A 0.0.0.0 127.255.255.255
B 128.0.0.0 191.255.255.255
C 192.0.0.0 223.255.255.255
D 224.0.0.0 239.255.255.255
E 240.0.0.0 255.255.255.255
Для первых трех классов установлены маски по-умолчанию. Для А 255.0.0.0 или /8, для В 255.255.0.0 или /16, для С 255.255.255.0
Использование других масок тоже разрешено
Примечание: иногда бывают случаи, когда использование масок по-умолчанию нерационально. Яркий пример: соединение двух роутеров. Для соединения нужно всего два IP-адреса. Чтобы избежать нерационального использования IP-адресов и были придуманы сетевые маски переменной длинны VLSM.
Как я уже отметил, сетевая маска нужна для выделения из IP-адреса компьютера IP-адреса сети или подсети. Делается это побитовой операцией логического И между IP-адресом и маской подсети. Стоит отметить, что IP-адреса, в хостовой части которых все нули являются адресами подсетей и использовать их в качестве IP-адресов компьютеров НЕЛЬЗЯ. Например: IP-адрес 192.168.0.16 с маской 255.255.255.240
будет адресом подсети. Чтобы в этом убедится запишем в двоичной форме сам адрес, а внизу маску подсети:
11000000.10101000.00000000.00010000 адрес (синим указана хостовая часть адреса, красным сетевая согласно маске подсети)
11111111.11111111.11111111.11110000 маска
Как видим, в хостовой части (последние 4 бита) у нашего адреса все нули, следовательно, он является адресом подсети и назначить его назначить его на компьютер не получится. Именно поэтому невозможно назначить компьютеру адрес 192.168.0.0.
Кроме адреса подсети есть еще и широковещательный адрес. Если компьютеру нужно отправить сообщение всем компьютерам в сети, то вместо того, чтобы отправлять сообщение каждому из них, компьютер отправляет сообщение на адрес, в хостовой части которого все единицы. Для сети 192.168.0.0 с маской 255.255.255.0 это будет адрес 192.168.0.255. Для той же сети с маской 255.255.255.240 это будет уже 192.168.0.15
Объясню почему. Запишем опять адрес в двоичной форме:
11000000.10101000.00000000.00000000 адрес
11111111.11111111.11111111.11110000 маска
хххххххх. хххххххх. хххххххх. хххх0000 хостовая часть (жирным)
меняем в хостовой части все нули на единицы, чтобы получить широковещательный адрес:
11000000.10101000.00000000.00001111
и переводим полученное число в десятеричный вид. Получим