При заданном префиксе Y
легко подсчитать соответствующую маску сети: положите Y
время установленного бита, а затем заполните «вправо» нулями до тех пор, пока не получите 32 бита (IPv4).
Пример:
Префикс 24
, таким образом, маска сети 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%.)
Если вы используете префиксы и сети, то ответ - нет, биты должны быть смежными. Существуют случаи, когда можно использовать маску подстановки (обратную маску), например Cisco ACL, и это может быть любая битовая комбинация. Например, вы можете заблокировать трафик со всех нечетных узлов в сети. Это, кажется, все еще преподается, но я не видел, чтобы это использовалось очень часто (хотя я видел это) в реальном мире.
источник
Нет. Маска сети - это непрерывная серия единиц.
(Другие являются шаблонами подстановочных знаков.)
источник
Когда TCP / IP впервые вышел и получил широкое распространение, на самом деле было много подсетей с несмежными масками. Но по мере того, как адреса становились дефицитными, накладные расходы на остальную часть сети позволяли глобальную маршрутизацию этих префиксов, а не заставляли все быть только на основе префиксов; было слишком много, и глобальная сеть изменилась только на поддержку префиксов. В действительности все еще могут существовать устаревшие сети, которые используют несмежные маски внутри себя (многие IGP поддерживают это, тем не менее). Но когда такая сеть подключается к Интернету, у нее появляется один префикс, охватывающий все из них, который он рекламирует в BGP. И, конечно, EGP (предшественник BGP) поддерживает только классовую адресацию.
Я знаю нескольких игроков с оригинальными сетями класса А, которые использовали несмежные маски внутри сети по тем или иным причинам. Я просто не знаю, кто-нибудь из них все еще это делает. Многие из них даже не выходят. ARPAnet имел внутреннюю маску 255.0.0.255 (IIRC).
источник