Я понимаю, что такое CIDR и для чего он используется, но я все еще не могу понять, как рассчитать его в своей голове. Может кто-нибудь дать объяснение типа "для чайников" с примерами?
networking
subnet
cidr
боб
источник
источник
Ответы:
CIDR (бесклассовая междоменная маршрутизация, произносится как «шутка» или «сидр» - добавьте свой собственный локальный вариант к комментариям!) - это система определения сетевой части IP-адреса (обычно люди думают об этом как о маске подсети) , Причина, по которой он «бесклассовый», заключается в том, что он позволяет более гибко разбивать IP-сети, чем их базовый класс.
Когда IP-сети были впервые определены, IP-адреса имели классы на основе их двоичного префикса:
(Обратите внимание, что это источник людей, называющих / 24 «классом С», хотя это не совсем точное сравнение, потому что класс С должен иметь определенный префикс)
Эти двоичные префиксы использовались для маршрутизации больших кусков пространства IP вокруг. Это было неэффективно, потому что это приводило к тому, что большие блоки назначались организациям, которые не обязательно в них нуждались, а также потому, что классы C могли назначаться только с 24-битными приращениями, а это означало, что таблицы маршрутизации могли становиться излишне большими, так как несколько классов C были направлены в в том же месте.
CIDR был определен, чтобы позволить маскам подсети переменной длины (VLSM) применяться к сетям. Как следует из названия, группы адресов или сети могут быть разбиты на группы, которые не имеют прямого отношения к естественному «классу», к которому они принадлежат.
Основная предпосылка VLSM состоит в том, чтобы обеспечить подсчет количества сетевых битов в сети. Поскольку IPv4-адрес - это 32-разрядное целое число, VLSM всегда будет в диапазоне от 0 до 32 (хотя я не уверен, в каком случае у вас может быть маска 0-длины).
Самый простой способ начать вычисление VLSM / CIDR в вашей голове - это понять «естественные» 8-битные границы:
(Кстати, вполне допустимо и довольно часто в ACL использовать маску / 32. Это просто означает, что вы ссылаетесь на один IP)
Как только вы поймете это, это простая двоичная арифметика для перемещения вверх или вниз, чтобы получить количество хостов. Например, если / 24 имеет 256 IP-адресов (давайте пока не будем указывать сетевые и широковещательные адреса, это другой вопрос теории сетей), увеличение подсети на один бит (до / 25) уменьшит пространство на хосте на один бит (до 7), то есть будет 128 IP-адресов.
Вот таблица последнего октета. Эта таблица может быть сдвинута на любой октет, чтобы получить точечный четырехугольный эквивалент.
В качестве примера смещения их на другой октет, / 18 (то есть / 26 минус 8 битов, поэтому смещенный октет) будет 255.255.192.0.
источник
Каждый октет стоит 8.
Таким образом, вы можете быстро сузить свою подсеть, а затем вы просто беспокоитесь о последних 8 битах.
Надеюсь, это достаточно ясно
источник
Поздний день (так), надеюсь, не за доллар. CIDR - это количество непрерывных битов в маске IPv4 (32 бита), начиная с самого старшего бита.
10000000 00000000 00000000 00000000 где 1 = старший значащий бит
Общими масками являются / 8, / 16, / 24, которые все попадают на 8-битную (октетную) границу.
11111111 00000000 00000000 00000000 = / 8 = 255.0.0.0
11111111 11111111 00000000 00000000 = / 16 = 255,255.0,0
11111111 11111111 11111111 00000000 = / 24 = 255.255.255.0
Это не очень сложно, когда он не выровнен по октету, но он требует некоторой простой математики и понимания того, что такое октет.
11111111 11111111 11100000 00000000 = / 19
Первые два октета маски - 255.255 (/ 16 меньше / 19). Последний октет равен 0 (/ 19 меньше / 24). Пока мы знаем
11111111 11111111 11100000 00000000 = / 19 = 255,255.?.0
При взгляде на каждый октет помните, что это 8-битное значение, 0 - 255.
Таким образом, третий октет (?) 11100000 равен 128 + 64 + 32 = 224. Это означает
11111111 11111111 11100000 00000000 = / 19 = 255,255,224,0
источник
Очень легко вычислять нетривиальные сети вручную. Попробуйте вместо этого калькулятор CIDR .
источник
ipcalc
иsipcalc
лучший выбор, но в любом случае +1Наоборот, я думаю, что хорошо понимать CIDR и иметь возможность делать вычисления в своем мозгу ... но иногда вы хотите перепроверить ваши вычисления. Мне нравится использовать калькулятор подсети PHP : http://share-foo.com/SubnetCalc.php
источник
Еще один хороший документ, если вам нужна только настольная ссылка, это RFC 1878 - Таблица подсети переменной длины для IPv4 .
источник