Какая польза от подстановочных масок против обычных масок?

12

Я всегда задавался вопросом, каково было использование подстановочных масок. Когда я узнал о них в колледже, мне стало интересно, для чего они нужны, мы увидели, что вы можете разделять подсети, например, по равномерным и неравномерным IP-адресам. Каково практическое использование групповых масок по сравнению с обычными масками подсетей?

Лукас Кауфман
источник
Таким образом, в основном маска подстановочного знака обходит использование маски подсети, потому что ее проще вычислять двоично из-за обратного двоичного кода.
Немного опечаток. Но в двоичном смысле его использование проще, чем стандартная маска подсети?
Вы хотите задать вопрос? Если это так, вы используете ответ, чтобы задать вопрос. Ответ предназначен для ответа на оригинальный вопрос. Если вы хотите задать вопрос, начните новый вопрос.
Рон Мопин

Ответы:

7

Насколько я понимаю, вопрос в том, что является причиной двух разных масок, а не в чем различия между масками. Два вопроса несколько пересекаются, но все сводится к бинарной математике (как говорит YLearn).

Во-первых, маска сети:

IP:   1100 0000 . 1010 1000 . 1111 1000 . 0110 0100 = 192.168.248.100
Mask: 1111 1111 . 1111 1111 . 1111 1111 . 1111 1000 = 255.255.255.248
AND:  1100 0000 . 1010 1000 . 1111 1000 . 0110 0000 = 192.168.248.96

Операция AND на IP-адресе с маской сети приводит к сети 192.168.248.96/29.

Далее подстановочный знак:

NET:  1100 0000 . 1010 1000 . 1111 1000 . 0110 0000 = 192.168.248.96
WC:   0000 0000 . 0000 0000 . 0000 0000 . 0000 0111 = 0.0.0.7
OR:   1100 0000 . 1010 1000 . 1111 1000 . 0110 0111 = 192.168.248.103

выполнение операции ИЛИ в сети приводит к диапазону IP (192.168.248.96-103), которые могут быть разрешены или заблокированы в сетевом операторе ACL или OSPF (помните, что OSPF ищет только интерфейсы, попадающие в указанные диапазоны, т.е. он не соответствует IP и маске сети, только IP). Очень легко проверить, находится ли IP в диапазоне:

IP или туалет == чистый или туалет

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

Tarah
источник
12

Есть несколько странных угловых случаев, которые вы можете сделать с масками подстановочных знаков, которые трудно сделать с масками подсетей - например, вы могли бы легко сделать 1.2. *. 4 в маске подстановочных знаков, что было бы трудно сделать в маске подсети. Насколько это практично, оставлено на усмотрение оператора.

По сути, маска подстановочного знака разделяет каждый бит на настройку «совпадение» или «все равно». если у вас есть 255.255.255.33. например, это будет переводиться как «11111111.11111111.11111111.00100001». Если исходный IP-адрес был 1.1.1.200, это означает 00000001.00000001.00000001.10001000. Используя приведенный пример, который начинает причинять боль моему мозгу от выполнения двоичной математики, только 3-й и 8-й бит последнего октета должны соответствовать исходному IP-адресу, чтобы быть пропуском (вместе с другими 3-мя октетами).

Аарон
источник
Действительно, это то, что мне было интересно о том, что практическое использование
Лукас Кауфман
255.255.0.255 - довольно просто, если вы спросите меня
Olipro
1
Это недопустимая маска подсети.
Джон Дженсен
2
это совершенно правильно, это просто недопустимо в целях настройки адреса в среде на основе CIDR. На брандмауэре или другой системе, которая не заботится о том, чтобы она соответствовала маске с самым длинным префиксом, она полностью действительна. iptables или access-list - хороший пример. Компьютеры не волшебны, 1.2.x.4 идентичен 255.255.0.255 с точки зрения битовой маски, это разница между регулярным выражением и логическим AND.
Олипро
«недопустимо для настройки адреса в среде на основе CIDR» - разве это не маска подсети?
Джон Дженсен
5

Маски подстановки также используются для указания подсетей источника / назначения (или определенных адресов) в списках контроля доступа. Они также используются для указания протокольных интерфейсов, которые OSPF будет использовать в более «традиционных» версиях IOS (несмотря на NX-OS и, вероятно, IOS-XR).

редактировать: работа маски подсети состоит в том, чтобы отделить биты хоста от битов сети. Количество единиц в маске подсети должно быть непрерывным .

11111111.11111111.00000000.00000000 <-- valid subnet mask (/16)
11111111.11111111.11111000.00000000 <-- valid subnet mask (/21)
11111111.11111111.00111000.00000000 <-- whoops, invalid subnet mask

Маски с подстановочными знаками не связаны этим правилом (отсюда и термин «подстановочные знаки»), поэтому вы можете делать такие вещи, как упомянул Аарон, а именно:

access-list 1 permit 192.168.200.0 0.6.0.8

Это позволит:

192.168.200.0
192.172.200.0
192.168.200.8
192.172.200.8
Джон Дженсен
источник
Хорошо, но почему обычные подсети не могут решить эту проблему?
Лукас Кауфман
1
Маска подсети не делает ничего, кроме как отделить биты хоста от битов сети. Это должно быть смежно. У вас нет этого ограничения с масками подстановочных знаков - отсюда и термин «подстановочные знаки». Это делает их более подходящими для более произвольной спецификации хоста или сети.
Джон Дженсен
@JohnJensen хорошее описание "подстановочный знак". Заставляет меня помнить это лучше :) Вы должны поместить это в первоначальный ответ!
Bulki
Я изменил свой ответ, чтобы включить это - не уверен, если вы имели в виду мой или Аарон, хотя.
Джон Дженсен
@JohnJensen Я имел в виду ваш :) (так же, как вы редактировали)
Bulki
2

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

Сегодня они все еще полезны в других случаях, как уже упоминал Аарон.

YLearn
источник