ㅤ
Могут ли быть маски подсети /32 или /31?
Я не буду много рассказывать про маски, кому интересно, гляньте в википедии. Мы же остановимся только на масках подсетей /32 /31, потому что они являются исключением из правил.
Физические сети, построенные с этими масками не могут иметь широковещательного адреса. Но это не значит, что данные МАСКИ нельзя использовать.
Да, данные маски нельзя использовать для построения классических сетей (хотя здесь говорят, что /31 - можно), и некоторые маршрутизаторы не дадут этого сделать.
Но данные маски вполне могут (а иногда должны) быть использованы для для разбиения ЛЮБОГО непрерывного диапазона ip на записи в формате CIDR.
И без масок /31 /32 этот ряд будет не полным. Мало того,
iptables использует только нотацию CIDR. Например, подсеть /32 задает отдельный ip, поэтому правила, содержащие одиночный адрес, задаются с маской /32, даже если вы это не указали. (192.168.0.1=192.168.0.1/32) Маска 31 - задает два рядом стоящих ip и позволяет уменьшить количество записей, увеличив скорость.
Но не любые соседние ip могут быть объединены этой маской, а только отличающихся последним битом,
Например:
192.168.0.1 и 192.168.0.0 можно объединить в 192.168.0.0/31, а 192.168.0.1 и 192.168.0.2 - нельзя.Ну и теперь посмотрим, что об этой фигне говорят сетевые калькуляторы
ipcalc и sipcalc.Я тут из вывода удалил менее информативные поля. Если кому интересно - смотрите полный вывод сами.
apt install ipcalc sipcalc
sipcalc 192.168.0.1/32
# вывод
Host address - 192.168.0.1
Network address - 192.168.0.1
Network mask (bits) - 32
Broadcast address - 192.168.0.1
Addresses in network - 1
Network rang - 192.168.0.1 - 192.168.0.1
ipcalc -b 192.168.0.1/32
# вывод
Address: 192.168.0.1
Netmask: 255.255.255.255 = 32
Hostroute: 192.168.0.1
Hosts/Net: 1
sipcalc 192.168.0.1/31
# вывод
Host address - 192.168.0.1
Network address - 192.168.0.0
Network mask (bits) - 31
Broadcast address - 192.168.0.1
Addresses in network - 2
Network range - 192.168.0.0 - 192.168.0.1
ipcalc -b 192.168.0.1/31
# вывод
Address: 192.168.0.1
Netmask: 255.255.255.254 = 31
Network: 192.168.0.0/31
HostMin: 192.168.0.0
HostMax: 192.168.0.1
Hosts/Net: 2
На мой взгляд,
ipcalc для такой экзотики работает более правильно, поскольку Broadcast для подсетей >30 не выводится.Вывод: при построении физических сетей с масками >30 возникают трудности.
А при фильтрации маски /31 /32 ничем не отличаются от остальных /1-/30
А как, чем, и для чего разбивать диапазоны ip, читайте в следующей статье.
tags: #networks © by Tagd Tagd
—
🔔 @bashdays➡️ @gitgate