Что 24 в «192.168.15.0/24»?

41

В чем смысл /24следующей команды?

    route add -net 192.168.15.0/24 192.168.8.10
ohho
источник
Я могу ошибаться (я давно не пользовался Windows route), но этот шлюз из другой подсети. Или это просто выдуманный пример?
Azz

Ответы:

47

Это короткий способ представления маски подсети.

Как указывает Штеффен Опель в своем ответе , это называется нотацией CIDR, а число просто указывает размер префикса, используемого для построения маски подсети.

Таким образом, /nозначает, что первые nбиты (из 32 для IPv4) установлены в 1, остальные установлены в 0. Чтобы преобразовать это в десятичную маску подсети, вы записываете ее в четыре октета и преобразуете в десятичную.

Так /24получается, 255.255.255.0потому что у вас есть двадцать четыре 1бита, а затем восемь 0битов:

Binary:   11111111 11111111 11111111 00000000
Decimal:    255      255      255       0

Сокращенное значение не должно быть кратным 8 (т. Е. Оно не должно заканчиваться границей октета), например, вы можете взять /20его 255.255.240.0следующим образом:

Binary:   11111111 11111111 11110000 00000000
Decimal:    255      255      240       0

Использование с IPv6

Та же запись может быть применена и к IPv6. Поскольку IPv6 использует 128 бит вместо 32, адреса намного больше. Я не буду вдаваться в полную семантику здесь, потому что это не имеет отношения к вопросу, но приведу быстрый пример:

Подсеть, указанная в вопросе, представлена 192.168.15.0/24и включает все адреса IPv4 от 192.168.15.0до192.168.15.255

Подсеть IPv6 может быть представлена ​​таким же образом, например, 2001:DB8::/48содержит все адреса IPv6 в диапазоне 2001:DB8:0:0:0:0:0:0до 2001:DB8:0:FFFF:FFFF:FFFF:FFFF:FFFF.

Примечание: пример IPv6 беззастенчиво вырван из статьи CIDR в Википедии .


Для получения дополнительной информации о самих масках подсети, что они означают и как они используются, я бы порекомендовал вам посмотреть вопрос « Каковы основы маски подсети?».
Или посмотрите подробный ответ на вопрос « Как работает подсеть?». в случае сбоя сервера.

DMA57361
источник
2
Каждый октет состоит из 8 битов: 11111111.11111111.11111111.00000000
Джо Филлипс
3
Значит ли это, что / 16 - это 255.255.0.0, а / 8 - это 255.0.0.0?
Кори
3
@ Да, да. И - согласно двоичному файлу Джо - просто введите правильное число единиц, добавьте достаточно 0, чтобы достичь 32, разделите на четыре байта и преобразуйте в десятичную. Это также не должно быть кратным 8 - /20это, 255.255.240.0например.
DMA57361
очень хорошо, профессор DMA57361
Кокбира,
16

DMA57361s ответ на этот вопрос, представляющий маску подсети, уже правильный и достаточный (+1) - я все же хотел бы предложить другой подход в объяснении этого, чтобы обеспечить некоторую предысторию относительно истории / мотивации для этой нотации:

«192.168.15.0/24» - это компактная спецификация IP-адреса и связанного с ним префикса маршрутизации, выраженная в нотации CIDR :

Обозначение CIDR состоит из IP-адреса и размера префикса , причем последний представляет собой число первых 1 бит префикса маршрутизации. [Акцент мой]

Ссылочная короткая статья в Википедии уже хорошо объясняет эту тему; для более подробного объяснения многих связанных аспектов вы можете обратиться к соответствующему родительской темы Бесклассовой Междоменный маршрутизация - в частности , вы найдете там информацию об историческом фоне для изменения от маски подсети для префикса длиной / размера .

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

Штеффен Опель
источник
1
Добавляет хорошую глубину к теме. +1
DMA57361