1

Каждая маска сети, с которой я когда-либо сталкивался, является префиксом, четко выраженным с помощью нотации CIDR : /8 для 255.0.0.0, /16 для 255.255.0.0 и /24 для 255.255.255.0.

Конечно, мы можем изменить длину маски сети и получить много разных значений.

Вопрос в том, может ли существовать сетевая маска, в которой "биты сети" не являются префиксом адреса? Что-то вроде 255.0.255.0.

3 ответа3

2

Зависит от того, что вы хотите с этим сделать.

В старину сетевая маска действительно была маской, которая применялась к IP-адресу. Тем не менее, с введением CIDR все ожидают строку с единицами (1), за которой следуют нули (0). Вы можете поспорить, что высокоскоростные основные маршрутизаторы теперь оптимизированы для этого шаблона и могут быть перепутаны с различными битовыми масками.

Для локальных статических сетей вы все равно можете использовать маску, например 255.0.255.0, и даже связывать сети вместе с такими масками. Но если вы столкнетесь с маршрутизатором, который принимает только нотацию CIDR, вы не сможете правильно маршрутизировать.

0

Нет. Определение сетей IP-адресов указывает, что первая часть является постоянной частью, которая появляется во всех хостах, а вторая часть является переменной частью, которая применяется к отдельным хостам. Маска сети должна быть строкой 1 с, за которой следует строка 0 с.

Кто бы ни решил отказаться от голосования, я должен прочитать https://en.wikipedia.org/wiki/Subnetwork

-1

Нет, потому что это не маска. Маска определена так, что если вы И адрес, и маска, биты сети всегда будут оставаться как есть, а биты хоста - все 0.

Например, если мы И вместе IP и МАСКА, мы получим это:

00110010 00101010 11100011 10101010
11111111 11111111 00000000 00000000
---------------AND-----------------
00110010 00101010 00000000 00000000

Нерегистративная маска, как вы предлагаете, не могла этого сделать. Вот интересный документ о бинарной природе IP-адресов / масок.

Предлагаемое вами значение можно использовать в качестве шаблона для сопоставления определенных IP-адресов, когда применяется маска, но, поскольку оно по существу игнорирует второй октет ЛЮБОГО IP-адреса, который оно пытается обработать, маршрутизаторы и другие устройства не смогут определить сетевой адрес правильно, и, следовательно, не может доставить трафик, как ожидалось.

Обратите внимание, что двоичная операция И и характер самой маски были разработаны для аппаратного расчета с одной операцией над парой регистров, а операция И является примерно такой же базовой, как и логические операции.

-----РЕДАКТИРОВАТЬ---------------

Не уверен, почему понизить голос, но я хотел бы отметить, что в соответствии с RFC 1519 (CIDR), маски должны быть влево слева:

Реализация, следующая этим правилам, также должна быть обобщена, чтобы произвольный номер сети и маска принимались для всех пунктов назначения маршрутизации. Единственным невыполненным ограничением является то, что маска должна оставаться смежной.

Единственный случай, когда в адресе может использоваться неконфликтная маскировка (согласно RFC 950):

  1. Классовая подсеть используется
  2. "Нечетные" биты должны присутствовать в последнем октете маски, который имеет смысл (например, 255.255.88.0, 255.255.255.88)

Поскольку биты, которые идентифицируют подсеть, определяются битовой маской, они не должны быть соседними в адресе. Однако мы рекомендуем, чтобы биты подсети были смежными и располагались как наиболее значимые биты локального адреса.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .