В связи с постоянно растущим давлением по сохранению пространства IP-адресов на Интернет, могут быть внедрены в практику для повышения эффективности нумерации. Смысл заключается в сокращении вдвое использование адресного диапазона, назначаемого для соединений точка-точка.
В большинстве кейсов пронумерованные подсети Интернета не используют больше, чем 30-битную маску подсетей (/30). Для которой требуется четыре адреса на стык – два адреса хоста, один адрес сети и один широковещательный. Это плохо для соединений точка-точка, поскольку имеют только два полезных адреса из четырех.
Но что мешает нам использовать префикс /31? Давайте попробуем в этом разобраться.
Рассмотрим использование префикса /30 и /31:
172.16.0.1/30 Адрес: 172.16.0.1 Bitmask: 30 Netmask: 255.255.255.252 Network: 172.16.0.0 Broadcast: 172.16.0.3 Hostmin: 172.16.0.1 Hostmax: 172.16.0.2
/30 Маска разрешает использовать 4 адреса. Первый будет адресом сети, последний бродкастом, оставшихся два полезные, используются для соединения.
172.16.0.1/31 Адрес: 172.16.0.1 Bitmask: 31 Netmask: 255.255.255.254 Network: 172.16.0.0 Broadcast: 172.16.0.1 Hostmin: 172.16.0.0 Hostmax: 172.16.0.1
/31 Маска разрешает использовать 2 адреса. Первый будет адресом сети, последний бродкастовым, ну а для соединения узлов используем все те же адреса.
Ограничения при использовании префикса /31:
1. Перестают работать протоколы использующие L3 brodcast.
На самом деле на текущий момент протоколов использующих в своей работе L3 brodcast практически не осталось. Основные актуальные на сегодняшний день протоколы такие как OSPF, IS-IS, EIGRP, BGP используют в работе multicast или unicast адреса.
Вообще это ограничение можно даже записать в плюс, потому что повышается устойчивость к DoS атакам основанных на рассылке бродкаст трафика.
2. Не все устройства поддерживают префиксы /31
На Juniper и Cisco вы можете смело использовать маску /31, хотя cisco при этом выдает предупреждение (% Warning: use /31 mask on non point-to-point interface cautiously).
А вот ZyXEL уже не дает выбрать маску /31.
Mikrotik официально так же не поддерживает /31, но на практике иногда получается использовать /31 с некоторыми ухищрениями.
В итоге накладываются дополнительные ограничения на эксплуатацию сети, использования оборудования разных производителей и даже на использование оборудования одного вендора но с разными версиями прошивок.
Если вас не пугают приведенные ограничения то смело экономьте адреса используя префикс /30
Использование префикса /31 детально описано в RFC 3021 Using 31-Bit Prefixes on IPv4 Point-to-Point Links.