Почему 172.16/12 является смежным?

Почему 172.16/12 является смежным?

Я в замешательстве.

ОтЗапрос предложений 1918:

10.0.0.0        -   10.255.255.255  (10/8 prefix)
172.16.0.0      -   172.31.255.255  (172.16/12 prefix)
192.168.0.0     -   192.168.255.255 (192.168/16 prefix)

Мне кажется странным префикс 172.16/12для диапазона 16- 31. Маски естьпредполагается использовать смежные двоичные единицы.

Префикс /12для смежных единиц должен указывать:

11111111.11110000

Только 172.16( 10101100.00010000) маскируется этим диапазоном. Все не- 16биты для оклетов 17- 31не защищены маской.

Но, бинарная маска для покрытия 172.16- 172.31это

11111111.00011111

Список 172.16- 172.31:

10101100.00010000
10101100.00011111
10101100.00011110
10101100.00011101
10101100.00011100
10101100.00011011
10101100.00011010
10101100.00011001
10101100.00011000
10101100.00010111
10101100.00010110
10101100.00010101
10101100.00010100
10101100.00010011
10101100.00010010
10101100.00010001

Поэтому префикс 172.16/16( 11111111.11111111) для маскировки всего этого имеет, на мой взгляд, больше смысла.

Является ли этот диапазон RFC 1918 172.16.0.0не 172.31.255.255непрерывным?

Или /12префикс на самом деле означает:

11111111.00001111

Но этот диапазон чисел простирается только до 15, и в этом случае нам нужно:

11111111.00011111

И это должно быть так 172.16/13, если он не смежный.

решение1

Только 172.16( 10101100.00010000) маскируется этим диапазоном. Все оклеты 17-31 не защищены маской.

Нет, это неправда. Все октеты от 16 до 31 покрываются маской одинаково, поскольку все они имеют вид 0001xxxx.

Целью масок сетей является указаниестатическийчасть адреса, и если вы посмотрите на список в вашем посте, первые 12 смежных бит являются статическими, а остальные — переменными. Вот почему первый октет маски — это 11111111, в конце концов, а не 00000000— он указывает, что все восемь бит (из 172) фиксированы, и аналогично второй октет должен 11110000указывать, что фиксированы первые 4 бита.

Но даже если бы сетевая маска указывала на переменную часть, она все равно была бы непрерывной, поскольку последние 4 бита 2-го октетаивсе биты 3-го–4-го октетов переменные, без пробелов.

решение2

Заэтот терпеливый ответ от u1686_grawity, маска не покрываетвозможныйчисла, нонеизменныйцифры!

11111111.11110000

Защищает первые двенадцать ячеек:

10101100.0001xxx

позволяя этот диапазон 16-31

Связанный контент