Как разбить сеть на подсети cisco
Перейти к содержимому

Как разбить сеть на подсети cisco

  • автор:

Пример деления сети на подсети.

Представим, что у нас есть сеть из трех маршрутизаторов, трех коммутаторов и нескольких компьютеров, которую требуется разделить на 6 подсетей. Схема сети показана на рисунке ниже.

схема сети: 3 роутера, 3 коммутатора и несколько компьютеров

На всю сеть нам выделили один IP-адрес 192.168.0.0/24, который нам и требуется разделить на 6 подсетей. В двоичном виде этот IP-адрес выглядит так (порцию сети я выделю более жирным шрифтом): 11000000.10101000.00000000.00000000 .

    Требуемое количество узлов (хостов, в данном случае компьютеров) в каждой подсети:
  • Подсеть A — 100 узлов
  • Подсеть B — 50 узлов
  • Подсеть C — 20 узлов
  • Подсеть D — 2 узла
  • Подсеть E — 2 узла
  • Подсеть F — 2 узла

Запомните, начинать делить сеть требуется с сети с максимальным количеством узлов.

«/24» — это префикс маски подсети (краткая запись маски). Полная запись маски подсети 255.255.255.0. В двоичном отображении маска подсети выглядит так: 11111111.11111111.11111111.00000000 — это значит, что нам доступно 8 бит для деления сети.

Воспользуемся шпаргалкой выше (а именно таблицей «BIN to DEC»). Первой подсети A нам требуется выделить IP-адреса для 100 узлов. В таблице «BIN to DEC» мы видим, что заняв в маске один бит из восьми, мы получим 1 бит к порции сети (а это 2 подсети) и 7 битов в порции адреса (01111111 = 127). 127 вместе с нулем по количеству равен 128, это полное количество адресов, что удовлетворяет требованиям (и даже остается несколько адресов про запас).

И так, меняем маску с «/24» на «25» (в двоичном формате будет 11111111.11111111.11111111.10000000). Применим новую маску к нашей сети и получим 2 подсети (порцию сети я выделю более жирным шрифтом):
1 — 11000000.10101000.00000000.00000000 (сеть 192.168.0.0/25)
2 — 11000000.10101000.00000000.10000000 (сеть 192.168.0.128/25)

В новых двух сетях порция сети составляет 7 битов. По формуле (которая есть в шпаргалке) проверим, хватит ли нам 7 битов для сети со 100 узлами. 2^7-2=128-2=126, это значит что 7 битов даёт нам 126 адресов для узлов. (Напомню формулу: 2^X-2=количество адресов для узлов, где X равен количеству нулей, а «-2» — это под специальные адреса, которые нельзя назначать узлам.)

Осталась у нас одна сеть 192.168.0.128/25, и требуется для подсети B 50 адресов для узлов. Как и в предыдущий раз, мы видим в таблице «BIN to DEC» 00111111 = 63, это больше 50, а значит удовлетворяет требованиям. Занимаем еще один бит у порции адреса, остается 6 (2^6-2=62). Маска становится на единицу больше /26, применяем её к нашей сети и получаем две новых подсети (порцию сети я выделю более жирным шрифтом):
1 — 11000000.10101000.00000000.10000000 (сеть 192.168.0.128/26)
2 — 11000000.10101000.00000000.11000000 (сеть 192.168.0.192/26)

Таким же образом отделяем еще 1 бит от порции адреса узла (00011111 = 31, что больше 20, и следовательно нам подходит), маска уже /27. Снова две сети: 1 — 11000000.10101000.00000000.11000000 (сеть 192.168.0.192/27)
2 — 11000000.10101000.00000000.11100000 (сеть 192.168.0.224/27)

Осталось нам выделить 3 подсети по 2 адреса для узлов. По таблице видим, что нам достаточно для порции адреса узла всего двух битов (00000011 = 3), 2^2-2=2 адреса для двух узлов.

В свою очередь для трех, одинаковых по размеру, подсетей достаточно тоже двух битов (2^2=4, формула из шпаргалки). Всего в IP-адресе 32 бита, вычитаем требующиеся нам 2 и получаем 30, следовательно используем маску /30. Для нашей оставшейся сети это выглядит так (порцию сети я выделю более жирным шрифтом): 11000000.10101000.00000000.11100000 (сеть 192.168.0.224/30) .

Делим нашу новую сеть на 3 подсети:
1 — 11000000.10101000.00000000.11100000 (сеть 192.168.0.224/30) .
2 — 11000000.10101000.00000000.11100100 (сеть 192.168.0.228/30) .
3 — 11000000.10101000.00000000.11101000 (сеть 192.168.0.232/30) .

    Готово, задача выполнена:
  • Подсеть A — 192.168.0.0/25
  • Подсеть B — 192.168.0.128/26
  • Подсеть C — 192.168.0.192/27
  • Подсеть D — 192.168.0.224/30
  • Подсеть E — 192.168.0.228/30
  • Подсеть F — 192.168.0.232/30

Это не простой пример деления сети на подсети, поэтому если Вам требуется попроще пример для понимания — пишите письма на eaneav@gmail.com.

Пример деления сети на подсети.

Представим, что у нас есть сеть из трех маршрутизаторов, трех коммутаторов и нескольких компьютеров, которую требуется разделить на 6 подсетей. Схема сети показана на рисунке ниже.

схема сети: 3 роутера, 3 коммутатора и несколько компьютеров

На всю сеть нам выделили один IP-адрес 192.168.0.0/24, который нам и требуется разделить на 6 подсетей. В двоичном виде этот IP-адрес выглядит так (порцию сети я выделю более жирным шрифтом): 11000000.10101000.00000000.00000000 .

    Требуемое количество узлов (хостов, в данном случае компьютеров) в каждой подсети:
  • Подсеть A — 100 узлов
  • Подсеть B — 50 узлов
  • Подсеть C — 20 узлов
  • Подсеть D — 2 узла
  • Подсеть E — 2 узла
  • Подсеть F — 2 узла

Запомните, начинать делить сеть требуется с сети с максимальным количеством узлов.

«/24» — это префикс маски подсети (краткая запись маски). Полная запись маски подсети 255.255.255.0. В двоичном отображении маска подсети выглядит так: 11111111.11111111.11111111.00000000 — это значит, что нам доступно 8 бит для деления сети.

Воспользуемся шпаргалкой выше (а именно таблицей «BIN to DEC»). Первой подсети A нам требуется выделить IP-адреса для 100 узлов. В таблице «BIN to DEC» мы видим, что заняв в маске один бит из восьми, мы получим 1 бит к порции сети (а это 2 подсети) и 7 битов в порции адреса (01111111 = 127). 127 вместе с нулем по количеству равен 128, это полное количество адресов, что удовлетворяет требованиям (и даже остается несколько адресов про запас).

И так, меняем маску с «/24» на «25» (в двоичном формате будет 11111111.11111111.11111111.10000000). Применим новую маску к нашей сети и получим 2 подсети (порцию сети я выделю более жирным шрифтом):
1 — 11000000.10101000.00000000.00000000 (сеть 192.168.0.0/25)
2 — 11000000.10101000.00000000.10000000 (сеть 192.168.0.128/25)

В новых двух сетях порция сети составляет 7 битов. По формуле (которая есть в шпаргалке) проверим, хватит ли нам 7 битов для сети со 100 узлами. 2^7-2=128-2=126, это значит что 7 битов даёт нам 126 адресов для узлов. (Напомню формулу: 2^X-2=количество адресов для узлов, где X равен количеству нулей, а «-2» — это под специальные адреса, которые нельзя назначать узлам.)

Осталась у нас одна сеть 192.168.0.128/25, и требуется для подсети B 50 адресов для узлов. Как и в предыдущий раз, мы видим в таблице «BIN to DEC» 00111111 = 63, это больше 50, а значит удовлетворяет требованиям. Занимаем еще один бит у порции адреса, остается 6 (2^6-2=62). Маска становится на единицу больше /26, применяем её к нашей сети и получаем две новых подсети (порцию сети я выделю более жирным шрифтом):
1 — 11000000.10101000.00000000.10000000 (сеть 192.168.0.128/26)
2 — 11000000.10101000.00000000.11000000 (сеть 192.168.0.192/26)

Таким же образом отделяем еще 1 бит от порции адреса узла (00011111 = 31, что больше 20, и следовательно нам подходит), маска уже /27. Снова две сети: 1 — 11000000.10101000.00000000.11000000 (сеть 192.168.0.192/27)
2 — 11000000.10101000.00000000.11100000 (сеть 192.168.0.224/27)

Осталось нам выделить 3 подсети по 2 адреса для узлов. По таблице видим, что нам достаточно для порции адреса узла всего двух битов (00000011 = 3), 2^2-2=2 адреса для двух узлов.

В свою очередь для трех, одинаковых по размеру, подсетей достаточно тоже двух битов (2^2=4, формула из шпаргалки). Всего в IP-адресе 32 бита, вычитаем требующиеся нам 2 и получаем 30, следовательно используем маску /30. Для нашей оставшейся сети это выглядит так (порцию сети я выделю более жирным шрифтом): 11000000.10101000.00000000.11100000 (сеть 192.168.0.224/30) .

Делим нашу новую сеть на 3 подсети:
1 — 11000000.10101000.00000000.11100000 (сеть 192.168.0.224/30) .
2 — 11000000.10101000.00000000.11100100 (сеть 192.168.0.228/30) .
3 — 11000000.10101000.00000000.11101000 (сеть 192.168.0.232/30) .

    Готово, задача выполнена:
  • Подсеть A — 192.168.0.0/25
  • Подсеть B — 192.168.0.128/26
  • Подсеть C — 192.168.0.192/27
  • Подсеть D — 192.168.0.224/30
  • Подсеть E — 192.168.0.228/30
  • Подсеть F — 192.168.0.232/30

Это не простой пример деления сети на подсети, поэтому если Вам требуется попроще пример для понимания — пишите письма на eaneav@gmail.com.

Шпаргалка к экзамену Cisco CCNA «Деления сети на подсети графическим способом методом квадратов (или методом прямоугольников)»

Существует несколько способов деления сети на подсети, один из них носит название – метод квадратов (или метод прямоугольников). Это графический метод и поэтому достаточно удобен для восприятия и прост в обучении.

Суть этого способа заключается в делении квадрата пополам, а получившегося прямоугольника снова пополам, и так, пока не разделим сеть как требуется в задании.

Для Вас Я сделал PDF версию (253КБ) этого примера. Отличные цветные картинки, краткий и лаконичный текст, всего 2 страницы — это и есть удобный пример деления сети на подсети 😉

Шпаргалка «Деления сети на подсети методом квадратов».

Пример деления сети на подсети методом квадратов»

Допустим на выдали IP-адрес 192.168.0.0/24 и нам требуется разделить этот адрес на 6 подсетей согласно рисунку ниже.

схема сети: 3 роутера, 3 коммутатора и несколько компьютеров

Выпишем требуемые подсети в столбик и упорядочим их по убыванию. Упорядочивание требуется сделать из-за того, что сеть всегда начинают делить сначала на самую большую подсеть, затем на меньшую, а потом еще меньше и так до самого конца.

Подсеть A – 100 узлов.
Подсеть B – 50 узлов.
Подсеть C – 20 узлов.
Подсеть D – 2 хоста.
Подсеть E – 2 хоста.
Подсеть F – 2 хоста.

Запишем ip-адрес с префиксом 192.168.0.0/24 в двоичном виде (/24 — это и есть префикс и он обозначает маску). Часть адреса сети в ip-адресе я выделю подчеркиванием.

Из заданного IP-адреса определяем количество доступных адресов по формуле 2X-2, где X=количеству нулевых битов в указанной маске, а «-2» — в каждой сети есть 2 специальных ip-адреса, которые нельзя назначать хостам.

Мы видим, что в маске остаётся 8 нулевых битов. Посчитаем количество доступных адресов (в том числе и специальных): 2^8=256. Теперь рисуем квадрат и по краям расставим числа начала диапазона и конца диапазона доступных адресов: 0 и 255 (если считать с нуля, то будет всего 256 адресов), а в правый верхний угол ставим начальную маску — /24.

При делении квадрата пополам длина маски будет увеличиваться на 1 бит.

Деление сети на подсети, первый квадрат

В нашем квадрате 256 адресов. Для подсети A нам требуется 100, поэтому делим квадрат пополам, и снова проставляем значения, только уже в двух прямоугольниках начала диапазона и конца (256/2=128). Маска, как упоминалось выше, при делении также изменится с /24 на /25.

Деление сети на подсети, второй квадрат

Теперь у нас 2 прямоугольника по 128 адресов в каждом. Запомните, делить надо начинать с самой большой подсети к меньшей. Поэтому первый прямоугольник оставим под первую подсеть A (разделить еще раз пополам мы не можем, т.к. будет меньше требуемых 100 узлов), а второй разделим снова пополам (подсети B требуется 50 узлов, поэтому мы можем разделить 128/2=64, что удовлетворяет требованиям).

Деление сети на подсети, третий квадрат

После деления получаем две новые подсети по 64 адреса и с маской /26. Один квадрат оставляем под подсеть B, которой требуется 50 адресов для хостов. А второй квадрат снова делим пополам и проставляем новые полученные значения (64/2=32; 192+32=224), маска уже /27.

Деление сети на подсети, четвертый квадрат

Снова у нас два прямоугольника, один оставим подсети C, а второй разделим снова пополам. Для удобства разделения прямоугольников я увеличу картинку.

Деление сети на подсети, пятый квадрат

В новых двух квадратиках имеем по 16 адресов, а у нас еще осталось 3 сети, причем каждой требуется по 2 адреса для хостов. Помимо двух адресов у каждой сети должно быть еще 2 специальных адреса: адрес «этой» сети и широковещательный адрес, следовательно нашим сетям требуется по 4 адреса каждой.

В таком случае, если один квадратик разделим пополам (16/2=8, маска изменится на /29), а затем два получившихся прямоугольника еще раз пополам (маска уже /30), мы получим 4 новых квадратика по 4 адреса. Этого нам вполне достаточно, причём у нас останется про запас маленький квадратик с 4 адресами и побольше — с 16 адресами.

Для удобства просмотра конечного результата я ещё больше увеличу картинку.

Деление сети на подсети, шестой квадрат

Всё, сеть поделена.
Выпишем подсети и их диапазон адресов:

Подсеть A:
192.168.0.0 – 192.168.0.127
Маска: /25 (255.255.255.128)
Адрес сети: 192.168.0.0
Широковещательный: 192.168.0.127
Адресов для узлов (хостов): 126
Первый адрес для узла: 192.168.0.1
Последний адрес для узла: 192.168.0.126

Подсеть B:
192.168.0.128 – 192.168.0.191
Маска: /26 (255.255.255.192)
Адрес сети: 192.168.0.128
Широковещательный: 192.168.0.191
Адресов для узлов (хостов): 62
Первый адрес для узла: 192.168.0.129
Последний адрес для узла: 192.168.0.190

Подсеть C:
192.168.0.192 – 192.168.0.223
Маска: /27 (255.255.255.224)
Адрес сети: 192.168.0.192
Широковещательный: 192.168.0.223
Адресов для узлов (хостов): 30
Первый адрес для узла: 192.168.0.193
Последний адрес для узла: 192.168.0.222

Подсеть D:
192.168.0.224 – 192.168.0.227
Маска: /30 (255.255.255.252)
Адрес сети: 192.168.0.224
Широковещательный: 192.168.0.227
Адресов для узлов (хостов): 2
Первый адрес для узла: 192.168.0.225
Последний адрес для узла: 192.168.0.226

Подсеть E:
192.168.0.232 – 192.168.0.235
Маска: /30 (255.255.255.252)
Адрес сети: 192.168.0.232
Широковещательный: 192.168.0.235
Адресов для узлов (хостов): 2
Первый адрес для узла: 192.168.0.233
Последний адрес для узла: 192.168.0.234

Подсеть F:
192.168.0.228 – 192.168.0.231
Маска: /30 (255.255.255.252)
Адрес сети: 192.168.0.228
Широковещательный: 192.168.0.231
Адресов для узлов (хостов): 2
Первый адрес для узла: 192.168.0.229
Последний адрес для узла: 192.168.0.230

Как видите, этот способ достаточно прост и нагляден. На всех экзаменах CCNA можно пользоваться карандашом и листом бумаги, поэтому можете пользоваться этим способом сколько хотите и где хотите.

Разбиение сети на подсети одинакового размера

Сети необходимо разбивать на подсети меньшего размера для увеличения производительности сетей и обеспечения безопасности. Подробнее об этом можно прочесть в соответствующей статье. Существует два способа такого разбиения: простой и более гибкий (с использованием VLSM) в данной статье речь пойдёт о более простом способе — разбиение сети на подсети одинакового размера. Перед прочтением этого материала я рекомендую посмотреть информацию о структуре IP адреса (сетевой и хостовой частях).

Пример 1

Рассмотрим для начала самый простой пример: имеется сеть 10.10.0.0/16 и стоит задача получить несколько десятков сетей поменьше. В исходной сети два октета (10.10) являются сетевой частью IP адреса и два (0.0) — хостовой. Простейшим вариантом разбиения будет увеличение префикса с /16 до /24. Таким образом, мы получаем в наше распоряжение весть третий октет, теперь мы можем в нём менять значения и получать 256 разных сетей, в каждой из которых будет по 254 хоста. А именно:

10.10.0.0/24 10.10.1.0/24 10.10.2.0/24 . ещё 252 сети . 10.10.255.0/24

Важно что эти подсети в сумме образуют нашу исходную сеть 10.10.0.0/16 и не один адрес не выходит за её пределы. Как же произошло такое разбиение? Исходный адрес выглядел в двоичном виде так: 00001010. 00001010.|00000000.00000000 (вертикальная черта означает границу между сетевой и хостовой частями). После изменения префикса с /16 на /24 адрес стал выглядеть так: 00001010. 00001010.|00000000.|00000000 мы меняем третий октет (между двумя вертикальными чертами на любые значения и при этом гарантированно не вылезаем за пределы предоставленной нами сети (для того чтобы вылезти за её пределы надо поменять первые два октета). Сколько подсетей мы получили? Для того чтобы жто посчитать — надо узнать сколько бит мы добваили к префиксу (выделили на подсети): 24-16=8. 8 бит позволяют разместить 2 8 =256 различных подсетей.

Пример 2

Возьмём более сложный пример. У нас есть сеть 192.168.128.128/25 и нам надо во что бы то ни стало получить 10 подсетей. Посчитаем, сколько бит нам надо выделить, чтобы в них влезло 10 подсетей. Для этого найдём минимальную степень двойки, которая была бы больше или равна 10 — это 16, то есть 2 4 . Таким образом, мы можем выделить 4 бита и получим 16 подсетей. Префикс был 25, а стал 25+4=29. Какого же размера окажутся полученные подсети? В хостовой части останется 32-29=3 бита, то есть сети будут на 2 3-2 =8-2=6 IP адресов. Если нас устраивают такие маленькие сети, то давайте вычислим их.

Исходный адрес имеет вид 11000000.10101000.10000000.1|0000000, после выделения подсетей получим адрес 11000000.10101000.10000000.1|0000|000 в котором мы можем расписать все комбинации для выделенных четырёх бит. Получаются сети:

11000000.10101000.10000000.1|0000|000 – 192.168.128.128/29 11000000.10101000.10000000.1|0001|000 – 192.168.128.136/29 11000000.10101000.10000000.1|0010|000 – 192.168.128.144/29 11000000.10101000.10000000.1|0011|000 – 192.168.128.152/29 11000000.10101000.10000000.1|0100|000 – 192.168.128.160/29 11000000.10101000.10000000.1|0101|000 – 192.168.128.168/29 11000000.10101000.10000000.1|0110|000 – 192.168.128.176/29 11000000.10101000.10000000.1|0111|000 – 192.168.128.184/29 11000000.10101000.10000000.1|1000|000 – 192.168.128.192/29 11000000.10101000.10000000.1|1001|000 – 192.168.128.200/29 11000000.10101000.10000000.1|1010|000 – 192.168.128.208/29 11000000.10101000.10000000.1|1011|000 – 192.168.128.216/29 11000000.10101000.10000000.1|1100|000 – 192.168.128.224/29 11000000.10101000.10000000.1|1101|000 – 192.168.128.232/29 11000000.10101000.10000000.1|1110|000 – 192.168.128.240/29 11000000.10101000.10000000.1|1111|000 – 192.168.128.248/29

Благодаря тому что мы нигде не меняли ни одного бита левее первой вертикальной черты (исходного префикса) мы точно не вылезли за пределы предоставленной нам исходной сети. Как видно, этот пример, в отличие от предыдущего не так просто посчитать в уме, надо смотреть на адреса в двоичном виде.

Алгоритм разбиения сети на подсети одинакового размера

Подытожим в общем виде алгоритм резбиения сети на подсети одинакового размера. Сначала нам надо понять сколько бит выделить на подсети. Если у нас стоит задача получить n подсетей, то мы ищем минимальную степень двойки k такую что 2 k ≥n и делаем новый префикс m (исходный префикс + k). Другая задача, если у нас не задано количество подсетей, но есть требования к их размеру (чтобы в них вмещалось как минимум n хостов), то мы опять же ищем минимальную степень двойки k Такую что 2 k ≥n+2 (два адреса добавляется потому что сеть ещё должна вместить адрес сети и брудкастовый адрес). И устанавливаем новый префикс m=32-k (чтобы в хостовой части у нас осталось k бит для адресации устройств).

Как бы ни формулировалось исходное требование, после первого шага алгоритма мы получаем новый префикс m. На втором шаге алгоритма мы должны выделить место на подсети. Оно будет находиться в адресе в промежутке между исходным префиксом и новым префиксом m. Далее надо просто в двоичном виде заполнить эти биты (выделенные для подсетей) всеми возможными комбинациями единиц и нулей, перевести адреса в десятичный вид. Разбиение готово.

Рекомендации по разбиению сетей

Если вы не чувствуете в себе силы справиться с этой задачей легко и не имеете достаточного опыта, то у меня есть рекомендация: делайте всё всегда в двоичном виде по приведённому выше алгоритму. Моя практика показывает, что большая часть ошибок возникает, когда студент пытается разбивать сети на глаз, интуитивно, прямо в десятичном виде, считая, что он уже постиг все принципы. Делайте все вычисления в двоичном виде. Со временем вы накопите опыт, поймёте закономерности и сможете решать большую часть таких задач в уме. Но для начала — переводите в двоичный вид и рисуйте вертикальные чёрточки. Всё что получилось между двумя вертикальными чертами (старым и новыми префиксами) — это и есть ваши подсети.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *