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

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

  • автор:

Subnetting. Разбиение сети на подсети, суммироваеие, нахождение адреса сети и широковещательного адреса.

При подготовке к CCIE RS Written есть тема, которая посвящена маскам подсети, и прочему.
Я напишу небольшую заметку о том как разбивать сети на подсети, как суммировать их, как найти адреса сети и широковещательных адресов и так далее.

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

Допустим нам дан некий IP адрес, с маской подсети, например 152.21.121.37 /26, нам необходимо найти адрес сети и широковещательный адрес, а так же первый и последний адреса которые можно присвоить хосту.

Алгоритм действий такой:

Префикс 26 нам говорит о том, что с последнего октета, под сеть выделено 2 бита, и на хосты у нас осталось 6 бит (64 хоста).

Представим этот префикс в двоичном виде и далее переведем последний октет в IP адресе в двоичную систему (нет смысла переводить весь IP адрес в бинарку)

/26 — 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 0 0 0 0 0 0
x.x.x.37 — x x x x x x x x . x x x x x x x x . x x x x x x x x . 0 0 1 0 0 1 0 1

Теперь можем определить адрес сети.
Для этого проведем линию по нашему префиксу. Теперь это будет выглядеть так.

/26 — 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 | 0 0 0 0 0 0
x.x.x.37 — x x x x x x x x . x x x x x x x x . x x x x x x x x . 0 0 | 1 0 0 1 0 1

И выпишем значения которые могут быть минимальным (все биты равны нулю) и максимальное (когда все биты равны единицы) в хостовой части.
это соответственно — 0 0 0 0 0 0 — что в 10-ной системе равно «0» и 1 1 1 1 1 1 что в 10-ой системе равно 63

Значит адрес нашей сети равен: 152.21.121.0.
Широковещательный адрес: 152.21.121.63
Соответственно первый IP адрес, который можно назначить хосту: 152.21.121.1
Последний IP адрес, который можно назначить хосту: 152.21.121.62

Нахождение IP адреса по номеру подсети и номеру хоста.
Не представляю особо где может понадобиться, но тем не менее ��

Дана сеть, скажем 49.0.0.0, которая поделена маской /25 на множество подсетей.
Необходимо найти IP адрес, если известно что он принадлежит 429 подсети и имеет номер 41.

49.0.0.0 согласно классификации сетей принадлежит классу А, следовательно префикс такой сети равен /8, Запишем его в бинарном виде.

8/ — 1 1 1 1 1 1 1 1 . 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0

Представим префикс /25 так же в бинарном виде:

/25 — 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 0 0 0 0 0 0 0

Так как разрешено использовать для подсети все единицы и нули, то из требуемой подсети 429 вычитаем 1. Получаем 428, это число нам нужно представить в бинарном ввиде, на том месте где у нас «единички» в подсети.

428 — 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0 . 1 1 0 1 0 1 1 0 . 0 0 0 0 0 0 0 0

Представим в бинарном виде 41 (номер нашего искомого хоста в нужной подсети).

41 — 0 0 1 0 1 0 0 0

Что у нас получилось?

49.0.1 1 0 1 0 1 1 0 . 0 0 1 0 1 0 0 1

Переведем весь адрес в десятичный вид:

Суммирование сетей очень важно уметь делать, ибо применяется в маршрутизации повсеместно, а именно там, где нам нужно объединить кучу сетей, в одну, тоесть иными словами «суммировать».
Давайте также разберемся на примере.

Дано:
Сети адреса которых:

* 140.176.2.128 / 25
* 140.176.3.0 / 25
* 140.176.3.192 / 26
* 140.176.3.128 / 26
* 140.176.2.0 / 25

Необходимо заменить все эти подсети — одной, которая будет объеденять все вышеуказанные, с наименьшей потерей адресов. Можно конечно не сильно присматриваясь сделать так: 140.176.0.0 /16 , да, это будет работать, но это грубое суммирование и не корректное.

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

В данном примере 140.176. является статичной, поэтому ее трогать не будем, будем переводить последние два октета:

2.128 / 25 — 0 0 0 0 0 0 1 0 . 1 0 0 0 0 0 0 0
3.0 / 25 — 0 0 0 0 0 0 1 1 . 0 0 0 0 0 0 0 0
3.192 / 26 — 0 0 0 0 0 0 1 1 . 1 1 0 0 0 0 0 0
3.128 / 26 — 0 0 0 0 0 0 1 1 . 1 0 0 0 0 0 0 0
2.0 / 25 — 0 0 0 0 0 0 1 0 . 0 0 0 0 0 0 0 0

Далее нам необходимо найти неизменяемые не в одной подсети значения, я отметил их жирным.
Таким образом получается что префикс новой сумированной сети будет: /23

Полностью суммированная сеть будет выглядеть так: 140.176.2.0/23

Разбиение сети на подсети.

Например, есть у нас сеть класса С, 192.168.0.0 / 24
Нам необходимо разбить эту сеть на две одинаковые подсети.
Разбиение осуществляется путем заимствования бита из поля, которое предназначено для хоста, в поле которое предназначено для маски.
Наша основная сеть имеет префикс 24 бита, мы добавляем к нему 1, и получаем новый префикс /25
Так как мы взяли всего один бит, следовательно и сетей у нас может быть только две (бит может принимать значение 1 или 0).
В каждой такой сети есть 128 адреса (2 в 7 степени (32 — 25 = 7 ) ).

Итак у нас получилось две подсети с адресами:

192.168.0.0 — 192.168.0.127 /25 (Доступные адреса для хостов: 192.168.0.1 — 192.168.0.126)
192.168.0.128 — 192.168.0.255/25 (Доступные адреса для хостов: 192.168.0.129 — 192.168.0.254)

Это был очень простой пример.

Так же каждую такую сеть вы можете еще разбить на несколько подсетей, не обязательно поровну, но и на различное количество хостов в каждой подсети.
Например, мы хотим разбить сеть 192.168.0.128/25 на одну сеть которая бы имела не менее 30 адресов, и другую сеть, которая имела бы не менее 60 адресов.

Находим необходимые префиксы наших новых сетей.
30 адресов, ищим ближайшее значение степени двойки, 2^5 = 32. Это то, что нужно.
Тоесть для этой сети нам достаточно сети пяти бит. (32 -5 = 27), итак префикс нашей новой подсети будет /27

Для второй сети, 60 адресов, ближайшая степень двойки — 64, 2^6 = 64.
Тоесть для новой сети нам необходимо 6 бит (32-6 = 26), префикс будет /26

Ну и запишем что у нас получилось:

1. 192.168.0.128 — 192.168.0.159/27
2. 192.168.0.160 — 192.168.0.123/26

Когда перед нами стоят такие задачи, то нужно начинать разбиение сети с наибольшего количества, адресов, и так по убыванию (в моем примере наоборот).

Волчье логово / Ulvens Lair / Wolfshöhle / Wolfs Lair

Начну с того, что не буду рассказывать про двоичное счисление, Булеву алгебру, о том, как переводить из двоичной системы в десятичную и наоборот. Знание вышеназванных тем — основное требование для прочтения данной статьи. Если есть сложности в такого рода вычислениях, рекомендую обратиться к сторонним учебным пособиям и ресурсам. В крайнем случае статьи на ресурсе, не заслуживающем доверия, вполне хватит: Википедия о двоичном счислении.

ЧТО ТАКОЕ IP АДРЕС?

ЧТО ТАКОЕ МАСКА СЕТИ И ДЛИНА ПРЕФИКСА?

В качестве указателя используется маска подсети — комбинация битов равная по длине IP адресу, которая указывает, где в IP адресе сетевая, а где хостовая часть.
Маска записывается в виде последовательности из единиц и нулей, причем сначала подряд идут единицы (указание на сетевую часть), а потом идет последовательность нулей (хостовая часть).

Например:
В двоичном виде: 11111111111111111111111100000000
То же самое в десятичном виде: 255.255.255.0
Такая маска говорит о том, что первые три октета отвечают за сетевой адрес, а последний, 4й октет указывает на номер хоста в сети.

Маска используется следующим образом: возьмем наш адрес и произведем побитовое умножение элементов адреса с элементами маски (помним, что 1х1=1, а 1х0=0).

Теперь мы видим, что:
1 — адрес сети («улица») — 173.5.82.0
2 — адреса хостов («дома») могут лежать в диапазоне от 173.5.82.1 до 173.5.82.254
3 — широковещательный адрес — это последний адрес в сети, у которого все биты в хостовой части равны единице — 173.5.82.255.

NB! Часто задаваемый вопрос: Можно ли использовать «рваную маску» (маска, в указателе на сетевую часть которой присутствует нуль)? Например, такую: 254.255.255.0 — НЕТ, в общем случае НЕЛЬЗЯ , хотя есть исключения.

Подробнее о масках можно почитать в RFC1519.

Еще один способ указания на то, какая часть является адресом сети, а какая является адресом хоста — это использование префиксов (RFC4632).
Запись в этом случае будет выглядеть следующим образом: 173.5.82.12/24, где через косую черту указывается длина префикса — количество бит, начиная с самого старшего, первого бита, которые отведены под адрес подсети.
Префикс — это адрес сети, в нашем случае — 173.5.82.0.

Маска/длина префикса может быть различна. От чего это зависит? От того, какое количество хостов нам необходимо обеспечить адресами. Изначально использовали только три маски, разбив адресное пространство на три основных класса: А, B, С.

По указанным маскам можно вычислить, какое количество хостовых адресов мы можем получить. К примеру, сеть класса А имеет 24 бита, отведенные под хостовые адреса. При этом помним, что адрес, у которого на месте хостовых битов только нули — это адрес сети, а если там все единицы — то это широковещательный адрес. Оба этих адреса нельзя назначить хосту, поэтому вычитаем их из общего количества хостовых адресов. В итоге:

Класс А позволяет назначить адреса 2^24-2=16777214 хостам, сеть класса B содержит 2^16-2=65534 хостовых адреса, а сеть класса С имеет 2^8-2=254 хостовых адреса.

VARIABLE LENGTH SUBNET MASKS (VLSM) или БЕСКЛАССОВАЯ АДРЕСАЦИЯ

Чтобы вычислить количество хостовых адресов, необходимо воспользоваться формулой 2^N-2, где N — количество хостовых битов в данной подсети.
В современных сетях существуют ситуации, когда есть необходимость только в двух адресах между устройствами. Возьмем самую маленькую сеть класса С. Для строящейся сети типа «точка-точка» мы взяли только 2 адреса из сети класса С. Остальные адреса (а их осталось 252) мы использовать не можем, они просто есть на указанном участке сети типа «точка-точка». Было бы удобнее, если бы мы могли выдать то количество адресов на подсеть, которое необходимо. И не выбрасывали на ветер остальные адреса. Так появилась бесклассовая адресация или VLSM. Суть её заключается в том, что мы можем выдать на подсеть ровно столько адресов, сколько нужно (ну почти), а оставшееся адресное пространство использовать где-нибудь еще.
Проще всего объяснить на примере:

Дана сеть 192.168.0.0/24 (или маска 255.255.255.0). Сеть класса С, 254 адреса. Мы можем забрать один бит от сетевой части и отдать под адреса хостов. Тогда:

192.168.0.0/24 превратится в 192.168.0.0/23 (маска 255.255.254.0) Количество хостов:
2^9-2=510 — именно столько адресов мы можем выдать конечным устройствам.

Адрес сети: 192.168.0.0
Диапазон хостовых адресов: 192.168.0.1 — 192.168.1.254
Широковещательный адрес: 192.168.1.255

Обращаем внимание на третий и четвертый октеты:

Возьмем другой пример. Пусть дана сеть 172.16.20.0/22. Определить маску, количество и диапазон хостовых адресов и широковещательный адрес.

/22 — 22 бита отвечают за хостовый адрес. Узнать маску можно написав сначала 22 единицы, добить это до 32 бит нулями, после чего разделить на 4 октета и перевести в десятичную форму. не вдаваясь в подробности вычислений, получаем: 255.255.252.0

Количество хостовых адресов мы можем определить по формуле, указанной выше. Число хостовых бит равно 10 (длина адреса — длина префикса: 32-22=10). Следовательно, количество хостовых адресов равно 1022 (за вычетом широковещательного и сетевого адресов).

Широковещательный адрес — адрес, у которого в хостовой части все биты имеют значение единицы. Для наглядности посмотрим на рисунок с изображением 3го и 4го октетов:

И адрес имеет вид 172.16.23.255.
Диапазон хостовых адресов: 172.16.20.1 — 172.16.23.254

А что, если вместо одной большой сети у нас есть много маленьких? Как обеспечить такую сеть адресами? Для этого и придумали деление на подсети (не знаю, как лучше перевести понятие subnetting).
Допустим, у нас есть адресное пространство — сеть класса С: 192.168.35.0/24. И есть две физические сети, в которых по 120 машин. Нам необходимо разделить это адресное пространство так, чтобы каждой физической сетке досталось адресов ровно столько, сколько нужно, или хотя бы с минимальным количеством лишних, неиспользованных адресов.

Для начала ответим на вопрос, сколько хостовых битов должно быть в наших подсетях? Попробуем взять 7 бит: 2^7-2=126 адресов. Если возьмем 6, то количество хостовых адресов в подсети будет уже равно 62, что не достаточно для наших целей. Итак, нам нужно 7 хостовых битов. Следовательно, мы можем передвинуть границу сети класса C вправо, забрав один бит из хостовой области в сетевую. Этим битом мы можем управлять, как нам захочется. Ну. Вариантов-то не много, а точнее — два: либо он будет равен 0, либо 1. Отсюда мы получаем две сети:

Первая сеть: 192.168.35.0/25
Диапазон адресов: 192.168.35.1 — 192.168.35.126
Широковещательный адрес: 192.168.35.127
Вторая сеть: 192.168.35.128/25
Диапазон адресов: 192.168.35.129 — 192.168.35.254
Широковещательный адрес: 192.168.35.255
Итог: у нас есть две сети, отвечающие нашим нуждам, которые к тому же имеют по 6 дополнительных адресов про запас.

Допустим, концепция резко изменилась, и нам потребовалось срочно вместо одной сети со 120 хостами получить 3 сети по 20 хостов. Возьмем полученную в предыдущем случае сеть 192.168.35.0/25 и разделим её так же, как поступали ранее с большой сетью

Необходимое количество хостовых бит, обеспечивающих наши потребности, равно 5 (2^5-2=30 хостовых адресов). Меньше не получится (4 бита дают лишь 14 хостовых адреса). Поэтому сдвигаем на два бита вправо границу между сетевой и хостовой частью: длина префикса становится равной /27. Посмотрим, какие сети у нас получились:

Зеленым выделены биты, которые мы можем менять. У нас получилось 4 дополнительные сети, в каждой имеется по 30 сетевых адресов.

Первая сеть: 192.168.35.0/27
Диапазон адресов: 192.168.35.1 — 192.168.35.30
Широковещательный адрес: 192.168.35.31
Вторая сеть: 192.168.35.32/27
Диапазон адресов: 192.168.35.33 — 192.168.35.62
Широковещательный адрес: 192.168.35.63
Третья сеть: 192.168.35.64/27
Диапазон адресов: 192.168.35.65 — 192.168.35.94
Широковещательный адрес: 192.168.35.95
Четвертая сеть: 192.168.35.96/27
Диапазон адресов: 192.168.35.97 — 192.168.126
Широковещательный адрес: 192.168.35.127
По условию задачи мы можем выдать 3 подсети нашим физическим сетям, которые требуют 20 адресов каждая (в запасе останется 10 хостовых адресов), и остается одна сеть, которую мы можем отдать под иные нужды целиком или разбив на более мелкие подсети.

Действия в общем случае при необходимости разбиения адресного пространства на подсети:
1. Определяем, сколько подсетей нам потребуется.
2. Определяем, сколько хостов будет в каждой из подсетей.
3. Выбираем некоторую начальную сеть, деление которой мы и будем производить.
4. Расставляем требуемые сети в порядке убывания количества хостов в них.
5. Начинаем деление на подсети: сначала выделяем адреса для сети с наибольшим количеством хостов, после идем по списку, дробя адресное пространство на более мелкие части.

Для проверки этого алгоритма попробуем решить задачу из курса CCNA Exploration.

Для проектирования сети мы решили взять сеть класса В. Используем адресный блок 172.16.0.0/16. Нам требуется обеспечить адресами 7 сетей со следующими требованиями:

1st сеть содержит 512 хостов;
2nd сеть содержит 12 хостов;
3rd сеть содержит 28 хостов;
4th сеть содержит 6 хостов;
5th, 6th, 7th — сети типа «point-to-point», требуют по 2 адреса каждая.

Видим, что наибольшее количество хостов в подсети равно 512. Выделим адреса для этой сети.
Расчеты показывают, что мы должны оставить в хостовой части 10 бит, иначе нам не хватит адресного пространства ( 2^10-2=1022 — 510 адресов будут не использованы, но если взять меньшее количество бит, например, 9, то нам не хватит 2х адресов. Что ж, бывают и такие огорчения, но ничего не поделать).

Значит, получаем сети с длиной префикса /22. Из выданного нам блока таких сетей будет 64 (начальная длина префикса 16, мы используем под сетевые адреса еще 6 бит из хостовой части, следовательно, количество получаемых сетей 2^6=64):

172.16.0.0/22
172.16.4.0/22
172.16.8.0/22
172.16.12.0/22
172.16.16.0/22
. . . . . . . . . . .
172.16.252.0/22

Одну из этих сетей забираем для сети 1. Пусть это будет сеть 172.16.0.0/22. Остается еще 63 сеть, которую мы можем использовать по своему усмотрению.
Приступим к следующим подсетям. По количество хостов следующей у нас является сеть 3 — 28 требуемых адресов. Возьмем любую из тех оставшихся сетей, и разделим её. Допустим, возьмем сеть 172.16.4.0/22.
Получим 32 сети, но с маской 255.255.255.224:

172.16.4.0/27
172.16.4.32/27
172.16.4.64/27
172.16.4.96/27
.
172.16.7.224/27

Опять возьмем первый диапазон из списка и назначим его сети №3.

Далее сеть №2 — 12 хостов. Возьмем диапазон 172.16.4.32/27 и снова разделим. Необходимо оставить 4 бита под хосты. Получаем сети с длиной префикса /28:

172.16.4.32/28
172.16.4.48/28 — т.к. мы задействовали всего один дополнительный бит от хостовой части, то получили лишь две сети при делении. Но этого нам вполне достаточно.

Используем первый диапазон для сети №2, а второй разделим так, чтобы получить нужное количество хостовых адресов для 4й сети:

172.16.4.48/29 — отдаем сети №4
172.16.4.56/29 — это диапазон разобьем между сетями 5,6,7.

Здесь получилось интересно: всего для этих трех сетей требуется 2 адреса в каждой подсети. А это 2 бита в хостовой части. Но сеть 172.16.4.56/29 может быть разделена только на 2 подсети с длиной префикса /30. Что делать? Ничего страшного. Мы оставим эту сетку для каких-нибудь иных целей, а для решения последней части мы возьмем еще одну сеть /27, и разобьем её на множество сетей /30, а если точнее — на 8 таких сетей:

172.16.4.64/30
172.16.4.68/30
172.16.4.72/30
.
172.16.4.92/30

Первые три подсети мы отдадим соответственно 5,6 и 7 сетям.

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

В запасе у нас осталось:

60 сетей с маской 255.255.252.0 (/22)
29 сетей с маской 255.255.255.224 (/27)
1 сеть с маской 255.255.255.248 (/29)
5 сетей с маской 255.255.255.252 (/30)

Тренинг Cisco 200-125 CCNA v3.0. Сертифицированный сетевой специалист Cisco (ССNA). День 3. Подсети

Сегодня мы будем говорить о подсетях. Как я рассказывал в последнем видеоуроке, подсети – это очень простая концепция, и для того, чтобы её понять, вам не понадобится ручка и бумага. Я уверен, что если вы внимательно посмотрите этот видеоурок и постараетесь выучить всё, о чём я рассказываю, то знания надёжно закрепятся в вашей голове.

Когда я начал готовить эту презентацию, то понял, что подсети представляют собой обширную тему, которую нельзя уместить в одно видео, поэтому решил разделить так – дневной урок мы посвятим IP-адресам класса С, а для IP-адресов класса А и В у меня есть другое видео, которое я решил назвать вечерним уроком. Кроме того, на последнем уроке третьего дня мы рассмотрим концепцию суперсетей.

Что же такое подсети? Как мы обсудили в предыдущем видео, подсети появляются в результате разбиения на части одной большой сети.

Если посмотреть на приведённый рисунок, вы увидите одно большое помещение, разделенное внутренней стеной на 2 отдельные комнаты. Точно также одну большую сеть можно разделить на несколько сетей и использовать их как отдельные сети. Для понимания сущности подсетей нам нужно немного поговорить об IP-адресах. Есть два типа IP-адресов: частные IP-адреса и публичные IP-адреса. Что же представляет собой частный IP-адрес?

В классе А эти адреса расположены в диапазоне 10.0.0.0 – 10.255.255.255, то есть имеется 16 777 216 частных IP-адресов этого класса. В классе В для частных адресов предусмотрен диапазон 172.16.0.0 – 172.31.255.255, и их общее число равно 1 048 576. В классе С эти адреса расположены в диапазоне 192.168.0.0 – 192.168.255.255, здесь есть ещё 65 536 частных адресов.

Чем отличаются публичные и частные IP-адреса? Частные IP-адреса – это адреса, которые не могут быть доступны в интернете. Так что если вы, вернее, ваш веб-сервер получает пакет, в котором сказано, что исходный IP — адрес 192 168 1.1, этот пакет будет немедленно отброшен, потому что получен с частного адреса, который может существовать только в локальной сети.

В современной ситуации, изображенной на рисунке, Интернет присваивает вашим роутерам публичные IP-адреса, обеспечивая общую доступность, и ваши компьютеры, которые имеют частные IP-адреса в локальной сети, подсоединены к роутеру, обеспечивающему доступ к Интернету. Сегодня интернет работает таким образом, но когда разработчики создавали IP — адреса версии 4, они надеялись, что все компьютеры в сети будут иметь отдельный уникальный общедоступный IP-адрес, уникальную IP-версию адреса.

Они считали, что 4,2 миллиарда адресов в 32-х битной версии IPv4 будет вполне достаточно для всего мира, потому что не ожидали, что Интернет будет расти и развиваться с такой скоростью на протяжении последних десятилетий. Однако вскоре они поняли, что свободные IP-адреса версии 4 заканчиваются, и создали IP-адреса версии 6 вместе с соответствующими концепциями, такими, как NAT, о которой мы будем говорить позже. Понятие NAT расшифровывается как «Преобразование сетевых адресов». Таким образом, в IPv6 появились частные IP-адреса, которые решили проблему нехватки IP-адресов в общей сети интернет.

По мере развития техники все компьютеры, планшеты, мобильные устройства стали пытаться подключиться к интернету, поэтому на сегодня 4,2 миллиарда адресов составляют очень маленькое адресное пространство для быстро растущего интернета. С внедрением концепции NAT и появлением частных и общедоступных адресов резко уменьшилось количество адресов, которые присваивались каждому компьютеру, и теперь ни один компьютер не имеет IP-адрес, который обеспечивал бы прямую связь с интернетом. Поэтому, как только адреса IPv4 стали заканчиваться, возникла необходимость изменить весь дизайн интернета. Компании, в которых имеется несколько компьютеров, были вынуждены обращаться к провайдеру интернета, чтобы он назначал им частные IP-адреса для каждого из имеющихся в компании устройств. При этом происходило так, что интернет провайдер выделял им, например, диапазон 192.168. 1.0 — 192.168. 1.255, и как мы говорили в последнем видео, это составляло 254 действующих IP-адреса. Но если компания имела всего 10 компьютеров, получалось, что 244 адреса пропадали зря. Возникла ситуация, когда IP-адреса интернета стали очень быстро заканчиваться, и разработчики поняли, что им необходимо создавать подсети, которые бы делили общую сеть на отдельные сегменты.

Перед тем, как мы переедем к рассмотрению подсетей, давайте рассмотрим, как работают классы IP-адресов. Предположим, у нас имеется адрес 192.168.100.225 класса С и маска подсети 255.255.255.0.

Если преобразовать его в двоичную форму, мы получим вот что:

Из предыдущего видеоурока мы знаем, что разделение на номер сети и номер хоста для этого класса адресов происходит после третьего октета, а три октета из единиц в маске подсети означают ни что иное, как /24. Воспользовавшись уже известной нам формулой, мы увидим, что наша сеть имеет 254 адреса хостов.

Когда мы приравниваем биты хоста нулю, получается нулевой адрес, который является идентификатором данной сети. Далее биты номера хоста начинают расти от единицы до тех пор, пока все биты последнего октета не превратятся в единицы, что в десятичном эквиваленте соответствует числу 255. Таким образом, у нас образуется сеть, первый адрес которой будет равен 0, последний – 255, а между ними расположатся 254 действующих адресов хостов.

Давайте перейдём непосредственно к рассмотрению подсети. Возьмём тот же адрес 192.168.100.225 класса С и маску подсети 255.255.255.0.

Когда мы переходим к подсетям, у нас возникает понятие бесклассовых адресов.

Косая черта в данном случае обозначает собой CIDR (Classless Inter-Domain Routing) — метод бесклассовой адресации в компьютерных сетях на основе IP-протокола. Как только вы приступаете к созданию подсетей, вы берёте всю концепцию классов IP-адресов и выбрасываете её в окно, так как с этих пор мы будем иметь дело с бесклассовыми IP-адресами.

Итак, мы возьмём адрес 192.168.100.225, это IP-адрес класса C, это /24, но при этом мы не можем сказать, что у него есть класс C, потому что мы делаем подсети и теперь будем иметь дело с CIDR. Давайте попробуем разбить нашу сеть на две части, как это показано на рисунке. Представим яблоко, которое мы разрезаем пополам.

Мы занимаем один бит из номера хоста в последний октет, где у нас изначально были одни нули. Тогда линия, разделяющая номер сети и номер хоста, переместится на один знак вправо, и теперь все единицы, расположенные левее нулей, представляют собой сетевую часть адреса – я выделю её желтым цветом.

Итак, у нас имеются две отдельные сети — подсеть 1 и подсеть 2, для каждой из которых мы должны назначить идентификатор сети Network ID и широковещательный адрес Broadcast ID. Как же мы это сделаем? Мы видим маску подсети и её последний бит, который равен 1 и принадлежит месту значений 128, если вы помните таблицу преобразования двоичных чисел в бинарные – в этой таблице у нас имеется 8 столбцов, в которых слева направо расположены значения 128, 64, 32, 16, 8, 4, 2, 1. Это означает, размер блока адресов каждой из наших подсетей имеет размер 128, включая 0, таким образом, число хостов в каждой подсети будет равно 126, то есть 128-2.

То есть у нас имеется 126 адресов плюс идентификатор сети и широковещательный адрес для каждой подсети. Теперь мы поступаем так: для первой сети идентификатор будет выглядеть как 192.168.100.0, а для второй идентификатор сети будет 192.168.100.128. Тогда широковещательный адрес первой подсети будет равен 128-1 = 127, и поскольку мы не можем превысить значение 255, то этот номер и будет означать широковещательный адрес второй подсети.

Это все, что нужно знать о том, откуда берутся подсети – они получаются заимствованием бита из номера хоста, служащего для создания сети, то есть вы разбиваете одну сеть на две. Говоря о заимствовании, давайте вспомним, что маска подсети у нас была 255.255.255.0.

Из-за того, что мы одолжили один бит и добавили его в адрес маски подсети, наши адреса можно представить в виде /25, так как теперь маска подсети содержит не 24, а 25 бит. Для того, чтобы лучше понять концепцию подсети, рассмотрим другой пример. Возьмём IP-адрес 192.168.100.225 и маску подсети 255.255.255.192.

Преобразуем маску подсети в двоичную фору, так, что она будет выглядеть таким образом, то есть займём еще один бит из места значений 64.

Предыдущее разделение номера сети и номера хоста располагалось по синей линии, а новое разделение расположено по желтой линии. Поскольку последний бит находится в области 64, каждая из 4-х получившихся подсетей будет иметь размер блока, равный 64. То есть если целую сеть размером 256 разделить на 4, получается 64. При таком размере блока каждая подсеть будет иметь 62 действующих IP-адреса. Это число рассчитывается по формуле (2 6 -2), где 6 – это количество 0 в бинарном выражении последнего октета маски подсети.

При этом идентификатор первой подсети будет иметь адрес 192.168.100.0, второй сети — 192.168.100.64, третьей 192.168.100.128 и четвертой 192.168.100.192. Широковещательные адреса получаются отниманием 1 от идентификатора последующей сети: 64-1 = 63, 128-1 = 127, 192-1 = 191 и последний равен 255. Эти адреса можно представить с /26, так как 192 ни что иное, как 2 заимствованных бита.

Я составил небольшую таблицу заимствований для IP-адресов класса С.

Если мы одалживаем 1 бит, значение маски равно 128, и адрес маски подсети будет иметь вид 255.255.255.128. При этом у нас получается 2 подсети. Откуда берётся такое количество? Это очень просто – нужно просто возвести 2 в степень, равную числу позаимствованных битов, поэтому 2 1 = 2. Как видно из нижней таблицы, при заимствовании 1 бита размер блока будет равен 128, а количество хостов, то есть число действующих адресов, всегда рано размеру блока минус 2, что в нашем случае будет равно 126.

CIDR будет равно /25, потому что если прибавить 1 заимствованный бит к выражению CIDR для адресов класса С, то есть к /24, то мы получим /25.

Если позаимствовать 2 бита, то значение маски будет 192, и адрес маски подсети примет вид 255.255.255.192. Из нижней таблицы видно, откуда взялось это число 192 – мы позаимствовали 1 бит пространства 128 и 1 бит пространства 64, а сумма 128 и 64 равна 192.

Заимствование 2-х битов создаёт 4 подсети, потому что 22 = 4. Размер блока равен 64, количество хостов 64-2 = 62, CIDR = /26.

Аналогично происходит при заимствовании 3-х битов: маска равняется 224, так как заимствование 3-х единичных битов согласно нижней таблице даёт в сумме 128+62+32 = 224, и адрес маски подсети будет 255.255.255.224. При этом у нас образуется 23= 8 подсетей с размером блока 32, количество хостов будет равно 32-2 = 30, а CIDR = /27.

Точно также происходит при заимствовании 4,5 и 6 бит, при этом образуется соответственно 16,32 и 64 подсети с количеством действующих IP-адресов 14,6 и 2.

Я не призываю вас запоминать все таблицу, достаточно помнить значения маски во второй строке: 128, 192, 224, 240, 248 и 252, которые соответствуют заимствованию 1,2,3,4,5 и 6 битов. Запомнить эти числа довольно просто. Размер блоков вы можете запомнить из нижней «волшебной» таблицы, просто суммируя значения из верхней строки над количеством заимствованных битов.

Значение CIDR также довольно просто запоминается, если прибавлять каждый раз 1 к /24. Всё это касается адресов класса С, об IP-адресах класса А и В мы поговорим в последнем видеоуроке 3-го дня.

Для лучшего понимания принципа создания подсетей рассмотрим пример. У нас имеются такие условия:

1). Требуется создать 3 подсети;
2). Нужно использовать IP-адреса класса С вида 192.168.1.0;
3). Определить идентификатор сети и широковещательный адрес для каждой подсети.

Во-первых, мы должны разобраться, можно ли разделить сеть на 3 подсети. Это невозможно, так как сеть можно разделить только на 2 или 4 подсети, количество подсетей всегда представляет собой четное число. Поэтому, чтобы получить 3 подсети, мы должны разбить общую сеть на 4 сегмента. Для этого мы должны одолжить 2 бита, и поскольку последний единичный бит расположен в таблице под числом 64, размер блока каждой из 4-х подсетей будет равен 64. Отняв от 64 два, получим 62 действующих адреса хостов.

Для получения идентификаторов сети каждой подсети Network ID начнём с адреса 192.168.1.0, каждый раз прибавляя в последний октет число 64:

192.168.1.0
192.168.1.64
192.168.1.128
192.168.1.192

Для получения широковещательных адресов Broadcast ID мы будем отнимать единицу от идентификатора следующей сети: для первой подсети это будет 64-1=63, для второй 128-1=127, для третьей 192-1=1 и для четвертой это будет число 255. Как видите, это довольно просто. Вопрос типа «определите Network ID и Broadcast ID» является частью вашей работы в качестве CCNA, поэтому выполнение подобных вычислений в уме не должно составлять для вас никакого труда.

Обычно эти вопросы задают на экзамене, и если вы сейчас потратите достаточно времени на то, как быстро производить подобные вычисления в уме, то сэкономите время на экзаменационные ответы, чтобы как только вы увидите подобный вопрос, сразу же смогли вычислить значение идентификатора сети и широковещательного адреса и дать ответ.

Теперь попробуем ответить на такой вопрос: найдите Network ID и Broadcast ID для IP- адреса 192.168.225.212/27, то есть вам будет дана маска подсети, для которой нужно будет определить идентификатор сети и широковещательный адрес. Так как у нас имеется /27, мы знаем, что согласно «волшебной» таблице это число получается при заимствовании 3-х единичных битов: /24 +1 +1 +1 = /27, значит, каждая из имеющихся подсетей имеет размер блока 32, то есть каждая из подсетей имеет по 30 хостов.

Поэтому мы начнём с адреса 192.168.255.0 – это будет идентификатор первой подсети, и начнём прибавлять по 32, получая таким образом идентификаторы всех остальных подсетей. Для определения широковещательных адресов нам надо будет отнимать 1 от идентификатора каждой следующей сети.

Если теперь посмотреть на последний октет нашего адреса 192.168.225.212, то мы увидим, что 212 находится между 192 и 223, то есть этот IP-адрес находится в седьмой подсети. В таком случае ответом на поставленный вопрос будет:

На экзамене вам будут задаваться подобные вопросы и будут предложены 4 варианта ответа, и если вы хорошо в этом разбираетесь, то сразу сможете выбрать правильный ответ и, не теряя времени, перейти к следующему вопросу.

Теперь давайте рассмотрим концепцию под названием VLSM, это сокращение от Variable Length of Subnet Mask, или «переменная длина маски подсети». Во всех предыдущих примерах мы делили сеть на части одинакового размера, то есть размеры всех подсетей были одинаковыми. Однако во многих случаях это не очень удобно или не соответствует потребностям. Давайте рассмотрим пример с такими условиями:

1). Требуется создать 3 сети для отделов маркетинга, продажи и управления;
2). В сети отдела маркетинга используется 60 компьютеров, в сети отдела продаж – 100 компьютеров;
3). Сеть отдела управления использует 34 компьютера.

Как и в предыдущем примере, невозможно разбить сеть на 3 подсети, поэтому мы делим её на 4 подсети. Но в этом случае каждая из подсетей будет иметь только по 62 хоста, а в отделе продаж у нас имеется 100 компьютеров. Поскольку нам нужно всего 3 сети, последний четвертый сегмент является лишним. Поэтому мы попробуем разбить сеть таким образом:

Теперь у нас получится 126 хостов для отдела продаж и по 62 хоста для отделов маркетинга и управления. Как мы это проделали?

Во-первых, нам нужно удовлетворить максимальные требования, в данном случае это создание сети на 100 компьютеров. Обратимся к «волшебной» таблице и посмотрим, сколько битов мы должны позаимствовать для такой сети. Если позаимствовать 1 бит, то у нас получится 126 действующих адресов. Можем ли мы позаимствовать 2 бита? Если мы это сделаем, то получим всего 62 действующих хоста, то есть не впишемся в условия задачи. Если мы позаимствуем 1 бит, то получим подсеть со следующими характеристиками:

Network ID: 192.168.1.0 /25
Broadcast ID: 192.168.1.127 /25

Поскольку мы одолжили 1 бит, следующая сеть будет начинаться с идентификатора 128, поэтому широковещательный адрес первой подсети будет 128 — 1 = 127. Таким образом мы получим 126 действующих IP-адресов, что полностью удовлетворить потребности отдела продаж.

Следующим максимальным требованием является наличие 60 компьютеров в отделе маркетинга. В данном случае можно позаимствовать 2 бита, потому что согласно таблице при этом получится блок размером 64 адреса, из которых действующими будут 62 адреса. Поскольку последний адрес предыдущей подсети равен 127, идентификатор последующей сети будет 128.

Тогда идентификатор второй подсети, подсети отдела маркетинга будет 192.168.1.128 /26, а широковещательный адрес — 192.168.1.191 /26, при этом 191 = 128+62+1. В предыдущей подсети у нас было /25, в этой появляется /26. Итак, мы получили 62 действующих адреса, которых вполне хватает для 60 компьютеров отдела маркетинга.

Теперь мы переходим к отделу управления, в котором имеется 34 компьютера. Мы не можем позаимствовать 3 бита, потому что в этом случае согласно таблице получим всего 32 адреса. Нам придётся использовать размер блока, равный 64, поэтому мы оставляем 2 заимствованных бита. Нам известно, что следующий IP-адрес, который служит идентификатором третьей подсети, будет иметь в конце число 192. Поскольку мы одолжили 2 бита, и размер блока будет 64, широковещательный адрес будет 192+64-1 = 255.

Идентификатор этой сети будет 192.168.1.192 /26, а широковещательный адрес 192.168.1.255 /26.

Как видите, всё это довольно просто. Конечно, вам понадобиться попрактиковаться в решении подобных задач, но зато потом вы легко сможете решать задачи на эту тему. Как я уже говорил, в следующем видеоуроке мы рассмотрим подсети с IP-адресами класса А и класса В и концепцию, которая носит название «суперсети». Мы также рассмотрим ряд экзаменационных вопросов CCNA и попрактикуемся в их решении. Повторю ещё раз – вы можете пересматривать это видео до тех пор, пока изложенный в нём контекст о строении подсетей не станет вам полностью понятен, и вы сможете решать эти задачи в уме, не пользуясь при этом ручкой, бумагой или калькулятором. Потому что понятно, что вы не сможете взять калькулятор на экзамен, так что даже не думайте об этом. Производите все вычисления в уме, так чтобы ответы на эти вопросы «отскакивали от зубов».

Выучите правила бинарных умножений и запомните двоичные таблицы, чтобы это стало вашей второй натурой, тогда вы легко быстро найти ответы на любые вопросы о строении подсетей.
Как я обычно говорю, если у вас остались вопросы – обращайтесь непосредственно ко мне или оставляйте свои комментарии под этим видео. Благодарю за внимание!

Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас оформив заказ или порекомендовав знакомым, 30% скидка для пользователей Хабра на уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps от $20 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).

VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps до весны бесплатно при оплате на срок от полугода, заказать можно тут.

СТОиПИ, практические, лабараторные и итоговый проект / pz 9 / 9.1.4.6 Packet Tracer — Subnetting Scenario 1 Instructions

© Корпорация Cisco и/или её дочерние компании, 2014. Все права защищены.

В данном документе содержится общедоступная информация корпорации Cisco.

Packet Tracer: организация подсети по сценарию 1

Часть 1. Разработка схемы IP-адресации

Часть 2. Назначение сетевым устройствам IP-адресов и проверка подключения

В этом упражнении вам предоставляется сетевой адрес 192.168.100.0/24 для подсети, и вы должны составить схему IP-адресации сети, изображённой в топологии. Для каждой локальной сети в сети требуется достаточно пространства для, по крайней мере, 25 адресов для конечных устройств, коммутатора и маршрутизатора. Для соединения между маршрутизаторами R1 и R2 потребуется по одному IP-адресу на каждом конце канала.

© Корпорация Cisco и/или её дочерние компании, 2014. Все права защищены.

В данном документе содержится общедоступная информация корпорации Cisco.

Packet Tracer: организация подсети по сценарию 1

Часть 1: Разработка схемы IP-адресации

Шаг 1: Разбиение сети 192.168.100.0/24 на нужное количество подсетей.

a. В соответствии с имеющейся топологией сколько потребуется подсетей? 5

b. Сколько необходимо заимствовать битов для поддержки нескольких подсетей в таблице топологии?

c. Сколько в результате этого создаётся подсетей? 8

d. Сколько при этом в каждой подсети будет доступно пригодных к использованию узлов? 30 Примечание. Если ваш ответ — менее 25 узлов, значит, вы позаимствовали слишком много бит.

e. Рассчитайте двоичное значение для первых пяти подсетей. Первая подсеть уже показана.

Net 0: 192 . 168 . 100 . 0 0 0 0 0 0 0 0

Net 1: 192 . 168 . 100 . ___ ___ ___ ___ ___ ___ ___ ___

Net 2: 192 . 168 . 100 . ___ ___ ___ ___ ___ ___ ___ ___

Net 3: 192 . 168 . 100 . ___ ___ ___ ___ ___ ___ ___ ___

Net 4: 192 . 168 . 100 . ___ ___ ___ ___ ___ ___ ___ ___

f. Рассчитайте двоичное и десятичное значение новой маски подсети.

11111111.11111111.11111111. ___ ___ ___ ___ ___ ___ ___ ___

255 . 255 . 255 . ______

g. Заполните таблицу подсетей , перечислив десятичные значения всех доступных подсетей, первый и последний используемый адрес узла и широковещательный адрес. Повторяйте действие до отображения всех адресов.

Примечание. Возможно, потребуется использовать не все строки.

© Корпорация Cisco и/или её дочерние компании, 2014. Все права защищены.

В данном документе содержится общедоступная информация корпорации Cisco.

Packet Tracer: организация подсети по сценарию 1

Шаг 2: Назначьте подсети для сети, отображаемой в топологии.

a. Назначьте подсеть 0 локальной сети, подключённой к интерфейсу GigabitEthernet 0/0

маршрутизатора R1: ___________________

b. Назначьте подсеть 1 локальной сети, подключённой к интерфейсу GigabitEthernet 0/1

маршрутизатора R1: ___________________

c. Назначьте подсеть 2 локальной сети, подключённой к интерфейсу GigabitEthernet 0/0

маршрутизатора R2: ___________________

d. Назначьте подсеть 3 локальной сети, подключённой к интерфейсу GigabitEthernet 0/1

маршрутизатора R2: ___________________

e. Назначьте подсеть 4 каналу WAN между маршрутизаторами R1 и R2: ___________________

Шаг 3: Задокументируйте схему адресации.

Заполните таблицу адресации , используя следующие рекомендации.

a. Назначьте первые используемые IP-адреса маршрутизатору R1 для двух каналов локальной сети и одного канала сети WAN.

b. Назначьте первые используемые IP-адреса маршрутизатору R2 для каналов локальной сети. Последний из используемых IP-адресов назначьте каналу WAN.

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

d. Последний из используемых IP-адресов назначьте узлам.

© Корпорация Cisco и/или её дочерние компании, 2014. Все права защищены.

В данном документе содержится общедоступная информация корпорации Cisco.

Packet Tracer: организация подсети по сценарию 1

Часть 2: Назначение сетевым устройствам IP-адресов и проверка подключения

Основная часть IP-адресации на данной сети уже настроена. Выполните следующие шаги для завершения настройки адресации.

Шаг 1: Настройка IP-адресации на интерфейсах локальной сети маршрутизатора R1.

Шаг 2: Настройте IP-адресацию на S3, включая шлюз по умолчанию.

Шаг 3: Настройте IP-адресацию на ПК4, включая шлюз по умолчанию.

Шаг 4: Проверка подключения.

Связь можно проверить только между маршрутизатором R1, коммутатором S3 и компьютером ПК4. При этом необходимо отправлять команду ping каждому IP-адресу, перечисленному в таблице адресации .

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

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