Я использую этот калькулятор http://www.subnet-calculator.com/cidr.php , и я пытаюсь выяснить, как разместить две разные подсети рядом друг с другом.
Например, я хочу иметь подсеть / 27, начинающуюся с 1.0.0.1, рядом с / 25, поэтому я подумал, что подсеть / 25 должна начинаться с 1.0.0.32, так как она находится за пределами подсети / 27. Однако, когда я пытаюсь это сделать, калькулятор говорит, что диапазон для / 25 будет 1.0.0.1-1.0.0.127, а не начиная с 0,32.
Это ограничение калькулятора или как вы размещаете подсети рядом друг с другом?
РЕДАКТИРОВАТЬ : я думаю, мой вопрос, какие подсети могут идти рядом друг с другом? Что определяет это?
networking
ip-address
subnet
ipv4
instipod
источник
источник
Ответы:
Вы должны различать начальный адрес подсети и размер подсети . Число за косой чертой - это размер (в 32-х битах). Таким образом, вы можете иметь две / 27 подсетей, как это
но подсеть a / 27 и a / 25 таким же образом означала бы запуск / 25 по более позднему адресу
поскольку подсети / 25 «нужно» больше места. Вы не можете запустить подсеть / 25 по произвольному адресу, только с правильных границ:
но обратите внимание, что
потому что
10.0.0.33/25
это просто еще один способ сказать10.0.0.1/25
или10.0.0.0/25
.Вы также можете решить «заполнить» пространство между вами / 27 и вашей / 25 подсетью больше / 27 подсетей:
или с другим / 27 и / 26:
источник
Префиксы / подсети используют двоичную логику. Подсети определяются битами, которые являются фиксированными, и битами, которые можно использовать для адресов. Количество фиксированных битов - это длина префикса или маска подсети. Несколько примеров IPv4:
A
1
в битах маски подсети указывает, что соответствующий бит является фиксированным, и0
указывает, что вы можете использовать этот бит. Длина префикса - это количество битов, установленное на1
, а маска подсети - это двоичное число, записанное в виде адреса IPv4.Так что в этом примере вы можете использовать:
Еще один пример с другой длиной префикса:
В этом примере вы можете использовать меньше адресов:
Как видите, подсеть определяется значением и количеством фиксированных битов. При использовании вашего примера
1.0.0.32/25
вы получаете:Значение 32 находится в середине гибких битов. При просмотре
/25
префиксов вы получаете:При просмотре
/27
префиксов вы получаете:В подсети IPv4 первый адрес (все гибкие биты
0
) зарезервирован и называется сетевым адресом. Последний адрес (все гибкие биты1
) является широковещательным адресом подсети. Вы не можете использовать их для сетевых интерфейсов на устройствах.Если вы хотите разместить несколько подсетей рядом друг с другом, вы должны убедиться, что они не перекрываются. Если у вас не так много адресного пространства, как в случае IPv4, подгонка всех подсетей может быть очень сложным процессом, а поддерживать его в управлении при изменении плана адресации еще сложнее. Вот почему с IPv6 так приятно работать: много адресного пространства, и обычно есть подсеть
/64
(можно использовать префиксы различной длины, но это может нарушить некоторые вещи, такие как автоконфигурация).Если вас интересуют планы адресации IPv6, взгляните на документ «Подготовка плана адресации IPv6», который я написал пару лет назад для SURFnet (Голландской национальной сети исследований и образования). Способ работы подсетей в IPv6 точно такой же, как и для IPv4, за исключением того, что числа намного больше и записаны в шестнадцатеричном формате (что намного лучше соответствует битам, чем десятичное представление, используемое для IPv4!). Хотя длина префикса с фиксированными и гибкими битами работает одинаково. Краткий пример:
PS: я не использовал рекомендованную / каноническую запись здесь специально. Обычно вы сжимаете нули в адресе и пишете
2001:0db8:0000:0000:0000:0000:0000:0000
как2001:db8::
,2001:0db8:0000:0000:0000:0000:0000:0001
пишется как2001:db8::1
и т. Д.источник
Для a / 24 последний октет (обычно зарезервированный) для сети равен .0 и только .0.
1 subnet
Для / 25 он может быть равен или .0, или .128.
2 subnets
Для a / 26 это может быть или .0, .64, .128 или .192.
4 subnets
Для a / 27 это может быть либо .0, .32, .64, .96, .128, .160, .192 или .244.
8 subnets
для / 28, .0, .16, .32, .48, .64, .80, .96, .112, .128, .144, .160, .176, .192, .208, .244, или 0,240.
16 subnets
для / 29, .0, .8, .16, .24, .32, .40, .48, .56, .64, .72, .80, .88, .96, .104, .112, .120, .128, .136, .144, .152, .160, .168, .176, .184, .192, .200, .208, .216, .224, .232, .240, или. 248
32 subnets
Префикс / 30 обычно встречается в двухточечных интерфейсах.
64 subnets
Префикс / 31 обычно не встречается в дикой природе, так как он не имеет общедоступных хостов, поскольку он охватывает только 2 номера сети: «сеть» и «широковещание» без места для IP-адреса хоста.
128 subnets
(все четные числа от 0 до 254)Префикс / 32 используется для указания маршрута для одного хоста. Это наиболее специфичный из маршрутов и, если он присутствует, должен иметь приоритет маршрутизации над всеми другими записями таблицы маршрутов, которые также не являются / 32. У A / 32 нет ни «сетевого», ни «широковещательного» адреса.
256 subnets
(0 и 255 могут не работать в некоторых реализациях)источник
Простой способ понять это:
В IPv4:
Представьте себе строку из 256 * 256 * 256 * 256 (или 2 ^ 32) возможных IP-адресов.
Он имеет маску подсети 0.0.0.0 (или 0000 0000 0000 0000 0000 0000 0000 0000 в двоичном виде).
Все биты, которые не маскируются, могут использоваться для предоставления IP-адреса в этой сети.
Возможные адреса в этой единственной сети:
0000 0000 0000 0000 0000 0000 0000 0000 (<- NETMASK, здесь ничего не маскируется ...)
0000 0000 0000 0000 0000 0000 0000 (IP 0.0.0.0) до
1111 1111 1111 1111 1111 1111 1111 1111 (IP 255.255.255.255)
Вся эта сеть начинается с IP 0.0.0.0 и продолжается до IP 255.255.255.255
Каждый бит в маске подсети разделит строку на 2 равные части.
Первый бит в маске подсети разделит его на 2 равные части, каждая с IP-адресами 128 * 256 * 256 * 256 (или 2 ^ 31):
Это имеет маску подсети 128.0.0.0 (или 1000 0000 0000 0000 0000 0000 0000 0000 в двоичном виде).
Все биты, которые не маскируются, могут использоваться для предоставления IP-адреса в этой сети.
Таким образом, вы можете иметь 2 подсети, и для каждой подсети у вас есть 31 бит доступных IP-адресов.
Для первой подсети (та, где за маской сети стоит '0')
1000 0000 0000 0000 0000 0000 0000 (<- NETMASK)
0000 0000 0000 0000 0000 0000 0000 (IP 0.0.0.0) -
0111 1111 1111 1111 1111 1111 1111 1111 (IP 127.255.255.255)
и для 2-й подсети (та, где за маской сети стоит '1')
1000 0000 0000 0000 0000 0000 0000 (<- NETMASK)
1000 0000 0000 0000 0000 0000 0000 (IP 128.0.0.0) -
1111 1111 1111 1111 1111 1111 1111 1111 (IP 255.255.255.255)
Следующий дополнительный бит в маске подсети делит обе стороны на 2 равные части по 2 ^ 30 IP-адресов каждый
И так далее...
Таким образом, если вы попытаетесь назначить, скажем, подсеть / 3, это означает, что вы провели 3 итерации деления, в результате чего получилось 2 ^ 3 = 8 подсетей. Каждая подсеть может быть только одним из 8 подразделений всей линейки машин. Они не могут пересекаться. Каждый начинается после первого.
Это имеет маску подсети 0.0.0.0
Таким образом, для первой подсети (та, где за маской сети стоит «000»)
1110 0000 0000 0000 0000 0000 0000 0000 (<- NETMASK)
0000 0000 0000 0000 0000 0000 0000 (IP 0.0.0.0) -
0001 1111 1111 1111 1111 1111 1111 1111 (IP 31.255.255.255)
и для 2-й подсети (та, где за маской сети стоит '001')
1110 0000 0000 0000 0000 0000 0000 (NETMASK)
0010 0000 0000 0000 0000 0000 0000 (IP 32.0.0.0) -
0011 1111 1111 1111 1111 1111 1111 1111 (IP 63.255.255.255)
...
и для 7-й подсети (та, где за маской сети стоит «110»)
1110 0000 0000 0000 0000 0000 0000 (NETMASK)
1100 0000 0000 0000 0000 0000 0000 (IP 192.0.0.0) -
1101 1111 1111 1111 1111 1111 1111 1111 (IP 223.255.255.255)
и для 8-й подсети (та, где за маской сети стоит «111»)
1110 0000 0000 0000 0000 0000 0000 (NETMASK)
1110 0000 0000 0000 0000 0000 0000 (IP 224.0.0.0) до
1111 1111 1111 1111 1111 1111 1111 1111 (IP 255.255.255.255)
Если вы продолжаете добавлять бит в маску сети, вы продолжаете делить: подсеть / 32 выделяет одну машину.
Но помните, что вы не можете иметь только машины:
чтобы все работало, часть диапазона подсети зарезервирована:
для каждой подсети «0 бит со значением 1» и «все биты со значением 1» обычно зарезервированы для широковещательной передачи, поэтому обычно в подсети доступно только nb_of_possible_adresses_in_the_subnet-2 IP-адреса для реальных машинных интерфейсов. И лучше всего быть интерфейсом шлюза, который имеет другой интерфейс в других сетях, что позволяет вам использовать его в качестве шлюза для доступа к этим другим сетям (и всему, через шлюзы этих других сетей)
источник