Да, простой способ думать о том, что маски подсетей всегда начинаются с 1. Если у индикатора размера подсети нет 1 в начале двоичного представления, то я бы сказал, что индикатор размера подсети не является правильной «маской подсети», используя современные стандарты.
RFC 1219 утверждает, что более ранний RFC 950 разрешает несмежные биты. На самом деле, в RFC 950 стр. 15 (раздел 3) явно есть пример, который «иллюстрирует несмежные биты подсети». Однако нет способа преобразовать такие подсети в нотацию CIDR. Нотация в стиле CIDR - это то, что использовал IPv6 (в по крайней мере, начиная с RFC 1884, стр. 7 , первое предложение раздела 2.4), поэтому несмежные биты никогда не были широко поддержаны для сетей IPv6. Метод RFC 1219 указывает, что «биты подсети (маска = 1) назначаются из наиболее значимых работающих битов по крайней мере ". ( Раздел 3.1 RFC 4632 , упомянутый в ответе Сами, указывает на официальный стандарт, в котором обсуждается нотация CIDR.)
На странице 2 RFC 1878 показаны стандартные обозначения «маски подсети» для всех подсетей IPv4, кроме /0
.
Тем не менее, я собираюсь немного прояснить ответ Сами, изучая «почему» (на конкретном примере, как вопрос задавался) ...
Некоторое оборудование Cisco профессионального уровня поддерживает так называемую «маску подстановки», которая инвертирует биты. Таким образом, нормальная подсеть может быть представлена чем-то, что называется 00000000.00000000.00000000.11111111
.
С подстановочными масками Cisco не было правила, что все нули должны идти первыми. Так что вы могли бы использовать 00000000.00000000.00000000.11111110
.
В результате будет создана группа, содержащая все четные IP-адреса.
Это было на самом деле важно знать, потому что обучение Cisco покрывало это, и поэтому процесс экспертизы профессиональных сертификатов Cisco мог бы спросить о такой вещи.
Тем не менее, я думаю, что это было в основном бесполезно. Вместо того чтобы делить сеть пополам с использованием адресов с четными номерами или адресов с нечетными номерами, вы можете просто разделить сеть пополам, используя адреса с низким номером и адреса с высоким номером, создав обычные подсети, которые в два раза меньше.
Маски с подстановочными знаками с несмежными битами не очень полезны, и с ними может быть сложнее работать. Смысл бита маски подсети, установленного в 1, состоит в том, что этот бит помогает идентифицировать подсеть, в которой находится устройство. Нет веской причины распределять эти биты по всему адресу, вместо того, чтобы просто сгруппировать их в начале адреса , Результатом стало то, что поддержка этих типов масок представляла дополнительную сложность без особой выгоды.
Я предполагаю, что в конечном итоге Cisco согласилась с тем, что нет смысла использовать такие нетрадиционные маски подсетей, поскольку в конечном итоге они утратили поддержку «масок подстановочных знаков». Старые брандмауэры Pix поддерживают «маски подстановочных знаков», но более новые блоки ASA вместо этого используют стандартные «маски подсетей». ,
Я бы даже не пытался создать сеть с несмежными «битами подсети» в маске, потому что многие программы следовали бы новым тенденциям / стандартам и отвергали бы такой дизайн сети. Даже если бы я использовал более старое программное обеспечение, я бы хотел, чтобы мою сеть можно было легко модифицировать, чтобы можно было использовать более новое программное обеспечение без необходимости переделки сети. Таким образом, смежные «биты подсети» - единственный путь.
Если вам задают вопрос на тесте, я бы с уверенностью сказал, что все 1 должны быть в начале адреса. Это то, что любой здравомыслящий тестер хотел бы, чтобы большинство учеников изучали в наши дни.