Как поставить две подсети рядом друг с другом?

Я использую этот калькулятор 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, а не начиная с .32.

Это ограничение калькулятор или как вы положили подсети рядом друг с другом?

EDIT: Я думаю, мой вопрос в том, что подсети могут идти рядом друг с другом? Что определяет это?

27
задан instipod
31.03.2023 19:08 Количество просмотров материала 3579
Распечатать страницу

4 ответа

нужно различать подсети начальный адрес и подсети в размере. Число за косой чертой-это размер (в 32-х битах). Таким образом, вы можете иметь две /27 подсети, как это

10.0.0.1/27  == 10.0.0.1  -> 10.0.0.30
10.0.0.33/27 == 10.0.0.33 -> 10.0.0.62

но подсеть /27 и /25 таким же образом означала бы запуск /25 по более позднему адресу

10.0.0.1/27   == 10.0.0.1   -> 10.0.0.30
10.0.0.129/25 == 10.0.0.129 -> 10.0.0.254

поскольку подсети /25 "требуется" больше места. Вы не можете запустить подсеть /25 по произвольному адресу, только при правильном границы:

10.0.0.1/25   == 10.0.0.1   -> 10.0.0.126
10.0.0.129/25 == 10.0.0.129 -> 10.0.0.254

но обратите внимание, что

10.0.0.33/25   == 10.0.0.1   -> 10.0.0.126

, потому что 10.0.0.33/25 это просто еще один способ сказать 10.0.0.1/25 или 10.0.0.0/25.

вы также можете "заполнить" пространство между вами /27 и вашей /25 подсетью большим количеством / 27 подсетей:

10.0.0.1/27   == 10.0.0.1   -> 10.0.0.30
10.0.0.33/27  == 10.0.0.33  -> 10.0.0.62
10.0.0.65/27  == 10.0.0.65  -> 10.0.0.94
10.0.0.97/27  == 10.0.0.97  -> 10.0.0.126
10.0.0.129/25 == 10.0.0.129 -> 10.0.0.254

или с другим /27 и /26:

10.0.0.1/27   == 10.0.0.1   -> 10.0.0.30
10.0.0.33/27  == 10.0.0.33  -> 10.0.0.62
10.0.0.65/26  == 10.0.0.65  -> 10.0.0.126
10.0.0.129/25 == 10.0.0.129 -> 10.0.0.254
7
отвечен Stefan Seidel 2023-04-02 02:56

префиксы / подсети используют двоичную логику. Подсети определяются фиксированными битами и битами, которые можно использовать для адресов. Число фиксированных битов-это длина префикса или маска подсети. Несколько примеров IPv4:

Prefix:           10.0.0.0/8
Prefix length:    8
Subnet mask:      255.0.0.0
Prefix bits:      00001010 00000000 00000000 00000000 = 10.0.0.0
Subnet mask bits: 11111111 00000000 00000000 00000000 = 255.0.0.0

на 1 в маске подсети бит указывает, что соответствующий бит является фиксированным, а 0 означает, что этот бит можно использовать. Длина префикса - это количество битов, равное 1, а маска подсети-это записанное двоичное число как IPv4-адрес.

Итак, в этом примере вы можете использовать:

First address in the prefix: 00001010 00000000 00000000 00000000 = 10.0.0.0
Last address in the prefix:  00001010 11111111 11111111 11111111 = 10.255.255.255

другой пример с другой длиной префикса:

Prefix:           10.0.0.0/10
Prefix length:    10
Subnet mask:      255.192.0.0
Prefix bits:      00001010 00000000 00000000 00000000 = 10.0.0.0
Subnet mask bits: 11111111 11000000 00000000 00000000 = 255.192.0.0

в этом примере вы можете использовать меньше адресам:

First address in the prefix: 00001010 00000000 00000000 00000000 = 10.0.0.0
Last address in the prefix:  00001010 00111111 11111111 11111111 = 10.63.255.255

как вы можете видеть, подсеть определяется значением и количеством фиксированных битов. При использовании вашего примера 1.0.0.32/25 вы получаете:

Prefix:           1.0.0.32/25
Prefix length:    25
Subnet mask:      255.255.255.128
Prefix bits:      00000001 00000000 00000000 00100000 = 10.0.0.32
Subnet mask bits: 11111111 11111111 11111111 10000000 = 255.255.255.128

First address in the prefix: 00000001 00000000 00000000 00000000 = 1.0.0.0
Last address in the prefix:  00000001 00000000 00000000 01111111 = 1.0.0.127

значение 32 в середине гибкая биты. При взгляде на /25 префиксы get:

Prefix length:      25
Subnet mask bits:   11111111 11111111 11111111 10000000

1st /25 in 1.0.0.0: 00000001 00000000 00000000 00000000 = 1.0.0.0/25
2nd /25 in 1.0.0.0: 00000001 00000000 00000000 10000000 = 1.0.0.128/25
3rd /25 in 1.0.0.0: 00000001 00000000 00000001 00000000 = 1.0.1.0/25
4th /25 in 1.0.0.0: 00000001 00000000 00000001 10000000 = 1.0.1.128/25
5th /25 in 1.0.0.0: 00000001 00000000 00000010 00000000 = 1.0.2.0/25
Etc.

при взгляде на /27 приставки вы получаете:

Prefix length:      27
Subnet mask bits:   11111111 11111111 11111111 11100000

1st /25 in 1.0.0.0: 00000001 00000000 00000000 00000000 = 1.0.0.0/27
2nd /25 in 1.0.0.0: 00000001 00000000 00000000 00100000 = 1.0.0.32/27
3rd /25 in 1.0.0.0: 00000001 00000000 00000000 01000000 = 1.0.0.64/27
4th /25 in 1.0.0.0: 00000001 00000000 00000000 01100000 = 1.0.0.96/27
5th /25 in 1.0.0.0: 00000001 00000000 00000000 10000000 = 1.0.0.128/27
Etc.

в подсети IPv4 первый адрес (гибкие биты все 0) зарезервирован и называется сетевым адресом. Последний адрес (гибкие биты все 1) - широковещательный адрес подсети. Их нельзя использовать для сетевых интерфейсов на устройствах.

если вы хотите разместить несколько подсетей рядом друг с другом, вам нужно убедиться, что они не перекрываются. Когда у вас нет много адресного пространства, как с IPv4 делает все подсети подходят может быть очень сложным процессом, и держать его управляемым при изменении плана адресации еще труднее. Вот почему с IPv6 так приятно работать: много адресного пространства, а подсеть обычно /64 (можно использовать разные длины префиксов, но это нарушает некоторые вещи, такие как автоматическая конфигурация).

если вы заинтересованы в планах адресации IPv6, то взгляните на 'подготовка IPv6 Обращаясь К Плану' документ я написал пару лет назад для SURFnet (голландская Национальная научно-образовательная сеть). Способ работы подсетей в IPv6 точно такой же, как и для IPv4, за исключением того, что номера намного больше и написаны в шестнадцатеричном формате (что соответствует гораздо лучше битам, чем десятичная нотация, используемая для IPv4!). Длины префиксов, имеющие фиксированные и гибкие биты, все работают точно так же. Короткий пример:

Prefix:           2001:0db8:0000:0000:0000:0000:0000:0000/64
Prefix length:    64
Subnet mask:      not really used anymore in IPv6, but it would have been:
                  ffff:ffff:ffff:ffff:0000:0000:0000:0000
Prefix bits:      0010 0000 0000 0001 0000 1101 1011 1000 = 2001:0db8
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
Subnet mask bits: 1111 1111 1111 1111 1111 1111 1111 1111 = ffff:ffff
                  1111 1111 1111 1111 1111 1111 1111 1111 = ffff:ffff
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000

First address in the prefix:
                  0010 0000 0000 0001 0000 1101 1011 1000 = 2001:0db8
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
Last address in the prefix:
                  0010 0000 0000 0001 0000 1101 1011 1000 = 2001:0db8
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
                  1111 1111 1111 1111 1111 1111 1111 1111 = ffff:ffff
                  1111 1111 1111 1111 1111 1111 1111 1111 = ffff:ffff

So from 2001:0db8:0000:0000:0000:0000:0000:0000
     to 2001:0db8:0000:0000:ffff:ffff:ffff:ffff

PS: Я специально не использовал здесь рекомендуемую / каноническую нотацию. Обычно вы сжимаете нули в адресе и пишете 2001:0db8:0000:0000:0000:0000:0000:0000 as 2001:db8::,2001:0db8:0000:0000:0000:0000:0000:0001 написано 2001:db8::1, etc.

4
отвечен Sander Steffann 2023-04-02 05:13
  • для A /24 последний октет (обычно зарезервированный) для сети .Ноль и только. 0. 1 subnet

  • для A / 25, это может быть либо .0 или .128. 2 subnets

  • для /26, это может быть либо .0, .64, .128, или .192. 4 subnets

  • для /27, это может быть либо .0, .32, .64, .96, .128, .160, .192, или .224. 8 subnets

  • для /28, .0, .16, .32, .48, .Шестьдесят четыре, .80, .96, .112, .128, .144, .Сто шестьдесят, .176, .192, .208, .224, или .240. 16 subnets

  • для /29, .0, .8, .16, .24, .32, .40, .48, .56, .64, .72, .80, .Восемьдесят восемь, .96, .104, .112, .120, .128, .136, .144, .152, .160, .168, .Сто семьдесят шесть, .184, .192, .200, .208, .216, .224, .232, .240, или .248 32 subnets

  • префикс /30 обычно находится на интерфейсах точка-точка. 64 subnets

  • префикс /31 обычно не встречается в дикий, как у него нет обычно адресуемые хосты, так как он охватывает только 2 номера сети, "сеть" и "широковещание" без космоса для IP хозяина. 128 subnets (все четные числа от 0 до 254)

  • префикс /32 используется для указания маршрута для одного хоста. это самый специфический из маршрутов и если настоящий момент, должен принять трассу приоритет над всеми другими записями таблицы маршрутов, которые не являются также /32s. А /32 Нет 'сеть', ни 'эфир' адрес. 256 subnets (0 и 255 могут не работать на некоторых реализациях)

1
отвечен Nevin Williams 2023-04-02 07:30

простой способ понять это :

В IPv4:

представьте себе линию 256*256*256*256 (или 2^32) возможные IP-адреса.

[] [] [] [] .................. [] [] []
       256*256*256*256 total IP adresses

Это маска подсети 0.0.0.0 (или 0000 0000 0000 0000 0000 0000 0000 0000 в бинарные)

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

возможных адресов в одной сети:

0000 0000 0000 0000 0000 0000 0000 0000 (<-- маска, здесь ничего не маскируется...)

0000 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 равные части, каждая из которых 128*256*256*256 (или 2^31) IP-адреса :

[] [] [] .......... [] [] []  |  [] [] ........... [] []
128*256*256*256 IP Adresses       128*256*256*256 IP Adr

Это маска подсети 128.0.0.0 (или 1000 0000 0000 0000 0000 0000 0000 0000 в бинарные)

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

таким образом, вы можете иметь 2 подсети, и для каждой подсети, у вас есть 31 бит доступных IP-адресов.

для первой подсети (той, где за маской подсети стоит '0')

1000 0000 0000 0000 0000 0000 0000 0000 (<-- маска)

0000 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 0000 (<-- маска сети)

1000 0000 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 подразделений всей линейки машин. Они не могут пересекаться. Каждый из них начинается после первого.

[] ... [] | [] ... [] | [] ... [] | [] ... [] | [] ... [] | [] ... [] | [] ... [] | [] ... []
32*256*256*256 or 2^30 IP Adresses each.

это имеет маску подсети 0.0.0.0

Так для первого подсеть (та, где за маской подсети стоит '000')

1110 0000 0000 0000 0000 0000 0000 0000 (<-- маска сети)

0000 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 0000 (NETMASK)

0010 0000 0000 0000 0000 0000 0000 0000 (IP 32.0.0.0) для

0011 1111 1111 1111 1111 1111 1111 1111 (ИС 63.255.255.255)

...

а для 7-й подсети (той, где за маской подсети стоит '110')

1110 0000 0000 0000 0000 0000 0000 0000 (NETMASK)

1100 0000 0000 0000 0000 0000 0000 0000 (IP 192.0.0.0) для

1101 1111 1111 1111 1111 1111 1111 1111 (ИС 223.255.255.255)

и для 8nd подсети (где, за netmask, is '111')

1110 0000 0000 0000 0000 0000 0000 0000 (NETMASK)

1110 0000 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-адресов доступна в подсети для реальных машинных интерфейсов. И лучше всего быть интерфейсом шлюза, который имеет другой интерфейс в других сетях, позволяя вам использовать его в качестве шлюза для доступа к этим другим сетям (и ко всему, через шлюзы этих других сетей)

0
отвечен Olivier Dulac 2023-04-02 09:47

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх