Возможные (бит) шаблоны сетевой маски

Учитывая префикс Y , легко вычислить соответствующую сетевую маску: Поместите Y раз бит набора, а затем заполните «вправо» нулями до тех пор, пока один имеет 32 бита (IPv4).

Пример:

Префикс 24 , таким образом netmask 11111111 11111111 11111111 00000000 или 255.255.255.0 .

Может ли быть сетевая маска с другим шаблоном бит , например

  • 00000000 11111111 00000000 11111111 ( 0.255.0.255 )
  • 00000000 11111111 11111111 11111111 ( 0.255.255.255 )
  • 11111111 11111111 11111111 00000001 ( 255.255.255.1 )

Задание «префикса», очевидно, не будет работать для этих случаев.

(Я уверен, что ответ «НЕТ», но я пишу код сети, и это должно работать во всех возможных случаях, поэтому я хочу быть уверенным на 101%.)

13 голосов | спросил Daniel Jour 6 J000000Wednesday16 2016, 02:12:18

4 ответа


9

RFC950 утверждает, что

  

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

Большинство устройств следуют этой рекомендации, чтобы обеспечить ее соблюдение. Мне только удалось использовать несмежные маски подсети в сетях только для Linux еще в 2012 году; Windows, OSX, Cisco и устройства HP, которые я тестировал, не обрабатывали /не разрешали.

ответил Filip Haglund 6 J000000Wednesday16 2016, 11:56:07
7

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

ответил Ron Maupin 6 J000000Wednesday16 2016, 02:23:40
3

Нет. Маска сети - это непрерывная серия из них.

(Другие - шаблоны подстановочных знаков.)

ответил Ricky Beam 6 J000000Wednesday16 2016, 02:24:21
2

Когда TCP /IP впервые появился и получил широкое распространение, на самом деле было много подсетей с несмежными масками. Но по мере того, как адреса становились скудными, накладные расходы на остальную часть сети позволяли глобальную маршрутизацию этих префиксов, а не заставляли все быть только префиксом; было слишком много, и глобальная сеть изменилась только на поддерживающие префиксы. На самом деле все еще могут быть устаревшие сети, которые используют непересекающиеся маски внутри (многие IGP поддерживают это, все еще). Но когда такая сеть подключается к Интернету, у нее есть один префикс, который охватывает все, что он рекламирует в BGP. И, конечно же, EGP (предшественник BGP) поддерживал только классную адресацию.

Я знаю нескольких игроков с оригинальными сетями класса А, которые использовали непоследовательные сетевые маски по той или иной причине. Я просто не знаю, все ли это делают. Многие из них даже больше не выходят. У ARPAnet была внутренняя сетевая маска 255.0.0.255 (IIRC).

ответил MAP 6 J000000Wednesday16 2016, 03:39:58

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132