Как проверить недействительный блок CIDR?

Для моего VPC зарезервирован следующий CIDR -> 10.0.0.0/22

Это говорит мне о том, что у меня осталось 10 бит для IP-адресов моего хоста или 1,024 адресов. Я пытался вычислить диапазон действительных адресов, поскольку Amazon запрашивает действительный блок IPv4 CIDR при создании новой частной подсети.

Я полагал, что 6/8 бит берутся из 3-го октета, а последний октет - это все 0, что приводит меня к диапазону IP 10.0.0.0 -> 10.0.3.255.

Когда я подхожу к экрану, чтобы выбрать свой блок CIDR IPv4, я получаю сообщение «Недопустимая ошибка», подтверждающее, что я не понимаю, как на самом деле работают математические вычисления. Я ввел 10.0.2.1/28, что дает ошибку Должен быть действительным Ipv4 CIDR.

Мой мыслительный процесс:

Это выглядело так, как будто это было в диапазоне, который я рассчитал, и что я хотел, чтобы моя частная подсеть зарезервировала 16 IP-адресов.

Что я делаю неправильно?


person John Lippson    schedule 08.09.2018    source источник
comment
В этом ответе, состоящем из двух частей, есть раздел, в котором объясняется это и в чем проблема, а также вся ваша математика IPv4. .   -  person Ron Maupin    schedule 03.04.2019


Ответы (2)


Вы начинаете с VPC 10.0.0.0/22. Вы правы в том, что допустимый диапазон адресации: 10.0.0.0 -> 10.0.3.255.

Теперь вы хотите создать подсеть из этого VPC, используя блоки / 28 CIDR. / 28 означает, что последние четыре бита равны 0, что дает вам диапазон от 0 до 15. Блоки CIDR всегда должны начинаться на их собственной границе. Примеры для / 28:

10.0.0.0 -> 10.0.0.15

10.0.0.16 -> 10.0.0.31

Вы пытались создать подсеть с блоком CIDR 10.0.2.1/28. Это недопустимо, поскольку оно не начинается со смещения 0 в пределах допустимого диапазона CIDR для / 28. Вы можете создать допустимую подсеть как 10.0.2.0/28 или 10.0.2.16/28 и т. Д. Обратите внимание, что в начале каждой подсети последние четыре бита равны 0.

Быстрый способ взглянуть на это - для любой подсети, часть хоста начинается с 0 и заканчивается всеми единицами.

person John Hanley    schedule 08.09.2018
comment
Ах, это был ключ, которого мне не хватало, что им нужно было начать с их собственных границ. Большое спасибо за то, что написали это. - person John Lippson; 08.09.2018
comment
Я не совсем уверен, что понимаю, что вы имеете в виду, говоря «Обратите внимание» на то, что в начале каждой подсети последние четыре бита равны 0. Вы имеете в виду только этот адрес? 10.0.0.0 - person John Lippson; 08.09.2018
comment
Для всех примеров, которые я показал, последние четыре бита (младшие значащие биты) равны 0. Эти биты представляют собой хост-часть подсети. - person John Hanley; 08.09.2018
comment
Если вы конвертируете 10.0.2.16 в шестнадцатеричное значение 0A.00.02.10, последний октет (0x10) будет иметь битовую комбинацию 0001 0000. Последние четыре бита - нули. Верхний допустимый адрес в шестнадцатеричном формате - 0A.00.02.1F. Обратите внимание на то, что все последние четыре бита равны единице. - person John Hanley; 08.09.2018

Я просто хочу, чтобы вы рассказали вам о следующих правилах выбора блока CIDR:

  1. Все IP-адреса должны быть в списке.
  2. Количество IP-адресов, которые вы можете получить, составляет 2 n
  3. Первый IP-адрес в блоке должен быть без остатка делиться на размер блока, т.е. (2 n).

Третий момент важен так же, как и второй.

10.0.2.1/28 - It is not the proper CIDR block ID.

Как 3-й пункт здесь не последовало.

person Neeraj Sonaniya    schedule 03.04.2019