Задача: получить из сети 192.168.1.0/24 несколько, а если быть точным, то на восемь подсетей. Количество машин в сетях:
сеть 1 - 7 хостов сеть 2 - 20 хостов сеть 3 - 30 хостов сеть 4 - 37 хостов сеть 5 - 20 хостов сеть 6 - 14 хостов сеть 7 - 24 хоста сеть 8 - 28 хостовНу что ж, представим для наглядности наши исходные адрес и маску в бинарном виде.
адрес: 192.168.1.0 -> 11000000.10101000.00000001.00000000 маска: 255.255.255.0 -> 11111111.11111111.11111111.00000000Первые три октета ip адреса отвечают за сеть в которой он находится, последний же октет за определённый адрес в этой сети. Первый и последний адреса сети зарезервированы для адреса самой сети и адреса бродкаста и об этом не стоит забывать когда пилишь сеть. Префикс /24 показывает сколько задействовано бит в нашей маске. В данном случае задействовано 24 бита, вследствии чего последний октет маски получется состоит из нулей. /25 - префикс "откусит" из последнего октета 1 бит, теперь маска примет форму
255.255.255.128 -> 11111111.11111111.11111111.10000000для /26 уже будет:
255.255.255.192 -> 11111111.11111111.11111111.11000000и так далее.
Что нам это даёт? Хех, да это ключь к решению всего "зла" с разбиениями сетей на подсети:). Первые, занятые биты октета скажут нам на сколько ровных подсетей мы сможем разбить нашу сеть, а последние, свободные биты из нулей — скажут нам сколько хостов может быть в каждой подсети.
Используем формулы вычисления количества подсетей (1) и количества хостов в подсети (2):
(1) 2^n, где n - кол-во занятых бит в последнем октете маски
(2) 2^m-2, где m - кол-во свободных бит в последнем октете
Вернёмся к изначальной задаче. Нам надо получить 8 подсетей. Что ж, 8 = 2 ^ 3, следовательно забиваем еденицами первые три бита последнего октета маски и получаем сеть с префиксом /27 и маской 255.255.255.224:
11111111.11111111.11111111.11100000 -> 255.255.255.224 -> /27Всё бы ничего, да только нам этот вариант не подходит. Сети у нас равные, что значит что количество хостов в них одно и то же: 2^5-2 = 32. Но для нашей задачи это не подходит, слишком уж расточительно, да и в некоторых сетях количество хостов должно быть больше 32-х. Придётся подбирать оптимальный вариант.
Мы можем разбивать сеть так, что у нас будет 128, 64, 32, 16, 8 или 4 адресов в подсети. Глядя на исходные данные о количестве хостов в подсетях, можно сказать что нам понадобятся: 5 подсетей с 32 адресами, 2 подсети с 16 адресами и 1 сеть с 64 адресами для сети 4, в которой 37 хостов (эх, было бы их на 7 меньше...). Как будем разбивать:
Итак, имеем сеть 192.168.1.0/24, разбиваем её на 2 сети с префиксом /25, для нас обе получившиеся сети слишком большие, бьём их ещё на несколько. Первую часть разбивавем ещё на четыре с префиксом /27 по 32 адреса. Уже лучше, можно назначить адреса трём сетям, в частности:
сеть 3 -> 192.168.1.0 - 192.168.1.31 сеть 7 -> 192.168.1.32 - 192.168.1.63 сеть 5 -> 192.168.1.64 - 192.168.1.95
Всего 3, осталась ещё одна, вот её то мы и используем для сетей 6 и 1, эти сети содержать самое маленькое количество хостов, следовательно для них хватит /28, содержащее по 16 адресов:
сеть 6 -> 192.168.1.96 - 192.168.1.111 сеть 1 -> 192.168.1.112 - 192.168.1.127Вернёмся ко второй, пока не тронутой половинке сети с префиксом /25. Её мы тоже так просто оставлять не будем а разобьём на 2 части, одну из которых мы оставим не тронутой для сети 4, так как чило хостов, которые надо подключить 37, то придётся использовать диапазон в 64 адреса (в 32 не влезли :( ).
сеть 4 -> 192.168.1.128 - 192.168.1.191Вторую половинку половинки:) снова разбиваем на 2. И у нас как раз ещё 2 не определённых сети - 2 и 8. Вот им то и назначаем адреса с префиксом /27:
сеть 2 -> 192.168.1.192 - 192.168.1.233 сеть 8 -> 192.168.1.224 - 192.168.1.255Вот и всё. С задачей справились, сети
P.S. Небольшая табличка в помощь:
Кол-во адресов: 256 128 64 32 16 8 4 2 Маска подсети: 0 128 192 224 240 248 252 254 Кол-во подсетей: 1 2 4 8 16 32 64 Кол-во хостов: 254 126 62 30 14 6 2 Маска: /24 /25 /26 /27 /28 /29 /30 /32Нашёл на этом сайтике, кстати там много полезной инфы по этой теме:)
Комментариев нет:
Отправить комментарий