Чтобы расширить сеть за пределы 254 хостов, есть два основных варианта, если я правильно понял:

  • Я мог бы использовать вторую сеть с другим сетевым префиксом и соединить две сети с маршрутизатором (или для этого уже нужны два маршрутизатора?)
  • Я мог бы изменить маску сети, чтобы использовать сетевой префикс, который позволяет использовать больше сетевых адресов без необходимости в маршрутизаторе, т.е. 255.255.254.0 (512 адресов) или 255.255.252.0 (1024 адреса)

Ну, это теория до сих пор. У меня есть несколько вопросов по этому поводу:

Subnetmasking

Если бы я выбрал маску подсети 255.255.252.0 , это дало бы мне сеть, поддерживающую 1024 адреса (ofc. Минус адрес широковещательного / сетевого имени) без маршрутизации, верно?

Как определить фактический префикс сети? Я имею в виду, что для маски подсети 255.255.255.0 очевидно, что сеть варьируется от x.y.z.1 до x.y.z.254 где я полностью свободен в выборе x , y и z .

Как будет выглядеть этот диапазон для сети 255.255.252.0 ?

Из двоичного представления маски подсети 11111111.1111111.11111100.00000000 я бы понял, что действительные адреса находятся в диапазоне от x.y.252.1 до x.y.255.254 - это правильно?

Имею ли я - с этой маской подсети - какое-либо влияние на второй последний номер адреса? Я имею в виду, могу ли я установить диапазон от x.y.0.1 до x.y.3.254 ? (Фиксированные цифры из-за первого ответа)

(Если да: использование x.y.1.1 - x.y.4.254 не сработает, я полагаю, причина .4. Является частью сети /22 отличной от .0. , .1. И .2. , Верно?)

маршрутизация

Если бы я использовал 4 маршрутизатора для подключения четырех /24 сетей, они все равно должны иметь разные Network-Prefixes , верно?

в заключение

Итак, где же на самом деле разница между расширением маски подсети и подключением нескольких сетей с помощью маршрутизаторов? (За исключением физического расположения.) Есть ли различия в производительности или какие-то другие ограничения?

Может ли один DHCP (Windows Server) предоставлять адреса для сети /22 ? Есть ли недостатки?

1 ответ1

2

Как определить фактический префикс сети? Я имею в виду, что для маски подсети 255.255.255.0 очевидно, что сеть варьируется от xyz1 до xyz254, где я полностью свободен в выборе x, y и z.

Так же, как и с «обычными» масками - использование побитовых операций (& is AND, | is OR, ~ is NOT):

  • сеть = адрес и маска (все 0 битов в маске должны быть 0 в сетевом адресе)

  • трансляция подсети = адрес | ~ маска (все 0 битов в маске должны быть 1 в широковещательном адресе)

  • адреса хоста = [сеть +1 .. широковещательная-1]

Из двоичного представления маски подсети 11111111.1111111.11111100.00000000 я бы понял, что действительные адреса находятся в диапазоне от xy252.1 до xy255.254 - это правильно?

Имею ли я - с этой маской подсети - какое-либо влияние на второй последний номер адреса? Я имею в виду, могу ли я установить диапазон от xy1.1 до xy4.254?

По сути, вы можете выбрать все биты, которые соответствуют 1 в маске. Итак, в вашем примере вы можете выбрать любой z, если последние два бита (и все t бита) равны нулю, и это будет начальный адрес. Это дает вам 64 разных подсети с одинаковым x.y: 192.168.0.0/22, 192.168.4.0/22, 192.168.8.0/22 и т.д. (Оканчивающиеся на .3.255, .7.255, .15.255 и т.д.).

Вы правы, что xy2.1 и xy5.254 будут принадлежать отдельным подсетям; xy0.0/22 и xy4.0/22 соответственно. (Но оба будут принадлежать одному и тому же xy0.0/21.)

Итак, где же на самом деле разница между расширением маски подсети и подключением нескольких сетей с помощью маршрутизаторов? (За исключением физического расположения.) Есть ли различия в производительности или какие-то другие ограничения?

Я оставлю это, чтобы кто-то еще ответил.

Если бы я использовал 4 маршрутизатора для подключения четырех /24 сетей, они все равно должны иметь разные сетевые префиксы, верно?

Да. Вы не можете маршрутизировать между двумя сетями с одинаковым префиксом.

Может ли один DHCP (Windows Server) предоставлять адреса для сети /22?

Да. Все современные DHCP-серверы должны позволять вам настраивать любой префикс длины.


Такие инструменты, как ipcalc или Python, могут быть полезны для создания списка подсетей:

>>> import ipaddress

>>> sub = ipaddress.IPv4Network("192.168.0.0/22")
>>> sub.network_address
IPv4Address('192.168.0.0')
>>> sub.broadcast_address
IPv4Address('192.168.3.255')

>>> sup = ipaddress.IPv4Network("192.168.0.0/16")
>>> list(sup.subnets(22-16))
[IPv4Network('192.168.0.0/22'), IPv4Network('192.168.4.0/22'),
 IPv4Network('192.168.8.0/22'), IPv4Network('192.168.16.0/22'),
 ...]
>>> for x in sup.subnets(22-16):
>>>     print(x)
192.168.0.0/22
192.168.4.0/22
192.168.8.0/22
...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .