Как найти наибольшее количество возможных адресов сети

Организация
компьютерных сетей. Адресация.

При подключении
компьютера к сети в параметрах настройки протокола TCP(протокол управления
передачей)/IP(межсетевой протокол) должны быть указаны IP-адрес компьютера и
маска сети.

IP-адрес уникально
идентифицирует узел (компьютер) в сети. Первая часть IP-адреса обозначает адрес
сети, вторая часть – адрес узла (номер компьютера).

Маска сети
показывает, какая часть IP-адреса узла относится к адресу сети, а какая – к
адресу узла в этой сети и необходима для определения того, какие компьютеры
находятся в той же подсети

IP-адрес и маска
состоят из четырех десятичных чисел, разделенных точками (каждое из этих чисел
находится в интервале 0…255)  – IP-адрес: 192.168.123.132;  Маска:    
255.255.255.0

В маске
сети:

 всегда впереди
стоят «1», а в конце «0»Например, 255.255.224.0=11111111.11111111.11100000.00000000

 старшие биты (слева),
имеющие значение «1» отведены в IP-адресе компьютера для адреса сети;

 младшие биты (справа),
имеющие значение «0» отведены в IP-адресе компьютера для адреса
   компьютера в сети
;

 от количества «0»
в маске зависит, сколько компьютеров можно подключить к данной сети.

Маска тоже состоит
из четырёх чисел (в интервале 0..255),

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

0

00000000

128

10000000

192

11000000

224

11100000

240

11110000

248

11111000

252

11111100

254

11111110

255

11111111

Разбор типичных задач.

№1

IP-адрес:  192.168.123.42

Маска:  255.255.255.192

Определить
порядковый номер компьютера в сети.

Решение:

Двоичное
представление-

IP-адрес: 11000000.10101000.01111011.00101010

Маска: 11111111.11111111.11111111.11  000000

                               
адрес сети                  номер компьютера

Нулевые биты маски
и соответствующие им биты IP-адреса, определяющие номер компьютера в сети: 1010102
= 4210 (номер компьютера (узла)=42)

№2

По заданным IP-адресу
узла и маске определить адрес сети.

            IP-адрес
узла:  218.137.218.137

            Маска:
255.255.248.0

Решение:

Адрес сети
получается в результате поразрядной конъюнкции (умножение бит на бит) чисел
маски и чисел адреса узла (в двоичном коде).

  
11011010.10001001.11011010.10001001

*

   11111111.11111111.11111000.00000000

  
11011010.10001001.11011000
.00000000

Результат перевести в
десятичную систему счисления: 218.137.216.0 – адрес сети

№3

По заданной маске
определить число компьютеров в сети.

Маска сети:  255.255.254.0

Решение:

25410 = 111111102

254.0 g 11111110.00000000

Общее количество нулевых бит – 9 (N)

Число компьютеров 2N: 29 = 512

№4

Для узла с IP-адресом 111.81.208.27 адрес
сети равен 111.81.192.0. Чему равно наименьшее возможное значение третьего
слева байта маски?

Решение:

Запишем тре­тий байт IP-ад­ре­са и ад­ре­са
сети в дво­ич­ной си­сте­ме счис­ле­ния:

20810 = 110100002

19210 = 110000002

С каким числом нужно произвести конъюнкцию
110100002 , чтобы получить 110000002 ? Очевидно, что
первые две цифры должны быть единицами, а 4-я нулем.

Это или 11000000, или 11100000. По условию
задачи требуется найти наименьшее значение – это 11000000. Следовательно:
110000002 = 19210

№5

Для узла с
IP-адресом 98.162.71.94 адрес сети равен 98.162.71.64. Чему равно НАИБОЛЬШЕЕ
количество возможных адресов в этой сети?

Решение:

Запишем четвёртый байт
IP-адреса и адреса сети в двоичной системе счисления, третий байт не подходит
(71) т.к. – 01000111 (последние едиицы):

9410 = 010 111102.

6410 = 010 000002.

Заметим, что 3 первых
слева бита адреса сети совпадают с IP-адресом, а затем идут нули. Чтобы найти,
чему равно наибольшее количество возможных адресов в сети, нужно найти количество
нулевых бит в последнем байте маски
. Значит, значение последнего байта маски
равняется 11 0000002 = 19210(мах  количество «0»). Количество
нулей в последнем байте маски равняется 6.

Следовательно, наибольшее
количество возможных адресов в этой сети равняется 26 = 64.

№6

Для узла с
IP-адресом 98.162.71.94 адрес сети равен 98.162.71.64. Чему равно НАИМЕНЬШЕЕ
количество возможных адресов в этой сети?

Решение:

Запишем четвёртый байт
IP-адреса и адреса сети в двоичной системе счисления:

9410 = 010
111102.

6410 = 010
000002.

Заметим, что 3 первых
слева бита адреса сети совпадают с IP-адресом, а затем идут нули. Чтобы найти,
чему равно наименьшее количество возможных адресов в сети, нужно найти количество
нулевых бит в последнем байте маски
. Значит, значение последнего байта маски
равняется 111 000002 = 22410 (MIN количество «0», правило
маски, слева «1»,справа «0»,т.е. после «1» должны быть «0»). Количество нулей в
последнем байте маски равняется 5.

Следовательно, наименьшее
количество возможных адресов в этой сети равняется 25 = 32.

Хотите узнать 7 главных секретов подготовки к ЕГЭ по информатике?

Секрет №1. Чем раньше, тем лучше. Освоить всю программу информатики с 5-го по 11-й класс «за ночь до экзамена» не получится. Многие ребята начина-ют изучать основы программирования на кружке робототехники уже в 1-ом классе. Кто-то годами ходит на курсы и к репетиторам по информатике. Поэтому ребятам, начавшим подготовку слишком поздно, будет тяжело составить конкуренцию ученика, более продвинутым в сфере IT. Тем более, что экзамен каждый год усложняется, а значит, времени на подготовку приходится тратить еще больше.

Секрет №2. Регулярность. Многие ребята начинают готовиться к ЕГЭ ещё в девятом, или в начале 10-го класса (и правильно делают!). Но вскоре им это надоедает. И вспоминают они об экзамене лишь к концу 11-го учебного года. Это плохой путь. Кто-то думает, что если занимался программированием в какой-то период своей жизни, то сдаст ЕГЭ по информатике без подготовки. Это не так!!! Ведь, во-первых, сфера программирования очень широка, и умение, к примеру, писать сайты никак не поможет в решении задач на программирование в ОГЭ и ЕГЭ по информатике. А, во-вторых, ЕГЭ состоит не только из программирования. Если вам удастся решить верно задачи только на программирование, а остальное вы пропустите, даже тройки за экзамен получить не удастся. Поэтому, обязательно уделяйте по несколько часов в неделю прочтению учебника/просмотру видеоуроков по информатике и/или решению тестов.

Секрет №3. Самонадеянность может вас подвести. Кроме ребят, знакомых лишь с программированием и уверенных в своей стопроцентной сдачи ЕГЭ по информатике на максимальный балл, встречаются и такие, чьи знания информатики ограничиваются лишь умением переустановить Windows. Но и они по-чему-то уверены, что пятерка на экзамене им гарантирована. Прежде чем делать какие-то выводы, ознакомьтесь хотя бы с Демоверсией ЕГЭ (сайт ФИПИ).

Секрет №4. Анализ. После выполнения любого теста проверяйте, в каких заданиях были сделаны ошибки. Уделяйте разбору этих номеров особое внимание. Делайте работу над ошибками.

Секрет №5. Внимательность. Обязательно читайте задания по два раза перед их выполнением. Также будьте внимательны, решая задания. К примеру, в заданиях на системы счисления или алгоритмы необходимо производить много вычислений, хоть и простых с виду. Это ОЧЕНЬ ЧАСТО приводит к вычислительным ошибкам. Как показывает статистика, многие делают ошибки из-за невнимательности, а не из-за незнания,особенно расстраивают глупые ошибки. И это можно сказать о каждом задании! Поэтому, пожалуйста, будьте внимательны.

Секрет №6. Программируйте. Если вы еще не умеете «кодить», самое время начать. Почитайте книги об азах программирования, посмотрите уроки на YouTube. Сначала попытайтесь написать простую программу. Потом усложняйте себе задачу. Ну а если вы уже знатный «кодер» и задачи №24 и №27 из ЕГЭ по информатике решаете «на ура», не останавливайтесь на достигнутом. Программируйте для души! Постарайтесь придумать что-то новое или начните решать другие задачи из ЕГЭ, например, системы логических уравнений (задание 18 при помощи Python!!!). В любом случае, уделяйте программированию какое-то время в вашей подготовке.

Секрет №7. Неочевидный. Бывает, что умение программировать не помогает, а наоборот, мешает сдать ЕГЭ по информатике! Знания многих ребят не ограничиваются Паскалем и Бэйсиком. Они вовсю пишут на Питоне и изучают Котлин. Конечно, эти языки программирования очень хороши. Ведь в некоторых случаях пять строчек, написанных на языке Pascal можно заменить всего одной строчкой на языке Python. Но члены экспертной комиссии не всегда владеют этими языками! В связи с этим, вы рискуете не досчитаться баллов за задание! Поэтому не по-ленитесь и напишите свой код на языке Pascal или С++. Их эксперты точно знают! И будьте любезны, оставляйте в Вашей программе комментарии, для экспертов в том числе )))

Применяйте эти советы — и вы обязательно сдадите ЕГЭ по информатике на высокий балл. Всем продуктивной подготовки и великолепных результатов!

Автор статьи Анна Полякова, репетитор по информатике. Ну а автор этого сайта внёс в статью А.Поляковой некоторые коррективы ))

Распределение IP-сети на подсети

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

Определение параметров сети по известному IP-адресу узла и префиксу описано в статье

Пример. Пусть дана сеть 10.0.0.0. Необходимо разбить данную сеть на подсети. В каждой подсети планируется использовать следующее количество узлов:

1 сеть – 3 узла;

2 сеть – 25 узлов;

3 сеть – 62 узла;

4 сеть – 120 узлов;

5 сеть – 250 узлов;

6 сеть – 400 узлов;

7 сеть – 1017 узлов.

Необходимо понимать, что в данном случае такие понятия как сеть и подсеть идентичны. То есть IP-подсеть обладает всеми параметрами сети и ее можно также рассматривать как отдельную сеть.

Ход решения.

Переведем заданный номер сети в двоичный код и определимся с номерами бит. Предлагаю нумеровать биты в IP-адресе справа налево, чтобы работать с меньшими цифрами (Можно нумеровать и слева направо, ошибки не будет).

Рисунок 1
Рисунок 1

Для решения задачи необходимо построить дерево IP-адресов. Оно строится произвольным образом, с соблюдением определенных правил. Следует учитывать, что используется двоичный код, поэтому все числа являются степенями двойки (то есть 2, 4, 8, 16, 32 и так далее). Для начала можно сложить все то количество узлов, для которых необходимо составить IP-адресацию.

3+25+62+120+250+400+1017=1877

Ближайшее большее число степени двойки это 2048 (два в одиннадцатой степени – 2^11). Это число можно поделить на два значения по 1024 каждый (2^10). При этом одиннадцатый бит будет принимать значения либо ноль, либо один. Нарисуем получившееся начало дерева. Не имеет значения какой бит (верхний или нижний) примет нулевое значение. Желательно при создании дерева определится, чтобы было одинаково, например, все верхние биты равны нулю, а все нижние единицы (как в данном рисунке).

Распределение IP-сети на подсети

Таким образом продолжаем делить каждую ячейку до необходимых значений. Здесь нужно пояснить, что пытаемся решить задачу с минимально необходимым выделением адресов. То есть, если нужно выделить сеть на 62 узла, например, то нужно выбрать ячейку на 64 адреса. Можно выбрать и 128 адресов, но тогда будет избыточное значение незадействованных адресов. Также нужно понимать, что в любой сети (большой или маленькой) два IP-адреса являются служебными и их нельзя назначать в качестве IP-адресов узлов. Это самый первый адрес, который является номером сети и самый последний адрес – широковещательный адрес сети. То есть если нужно выделить сеть, например, для 63 узлов, то ячейки на 64 адреса будет недостаточно, нужно выбирать ячейку на 128 адресов.

Также необходимо по мере деления адресного пространства назначать определенные ячейки в качестве сетей. Самое большое количество адресов требуется для седьмой сети (1017 адресов), для этой сети необходимо выделить ячейку в 1024 адреса. Выберем для этого верхнюю ячейку (хотя можно и нижнюю, не имеет значение).

Распределение IP-сети на подсети

Таким образом верхняя ячейка получается полностью задействована для адресации седьмой сети в 1017 адресов. То, что часть адресов останется свободной не имеет значение. Их все равно уже нельзя использовать в других сетях. Далее делим только нижнюю ячейку в 1024 адреса, так как она осталась свободной. Не забываем на линии перехода подписывать номера бит и их значения. Соответственно между 1024 и 512 уже будет находится десятый бит. Для шестой сети нужно 400 адресов, ближайшая наибольшая ячейка это 512. Выберем нижнюю для адресации шестой сети.

Распределение IP-сети на подсети

Продолжаем делить оставшуюся часть адресного пространства в 512 адресов по тому же принципу, что и раньше. Подписываем номера бит и выделяем адресное пространство для пятой сети в 250 адресов.

Распределение IP-сети на подсети

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

Распределение IP-сети на подсети

Продолжая подобным образом находим места на дереве для третьей, второй и первой сети.

Рисунок 2
Рисунок 2

Таким образом, были определены места для всех заданных сетей. Одно важное замечание. Если по каким-либо причинам не хватило место для всех сетей, то нужно продолжить дерево влево, то есть увеличить адресное пространство в два раза, задействовав уже 4096 адресов. Пример приведен на рисунке

Распределение IP-сети на подсети

Теперь необходимо исходя из построенного дерева определить адресные параметры для каждой сети: номер сети, префикс и маску сети, широковещательный адрес сети. А также диапазон и количество адресов, которые будут назначаться в качестве IP-адресов узлов.

Алгоритм решения можно представить следующим образом:

1. Определение границы сети.

2. Определение номера сети.

3. Определение маски (префикса) сети.

4. Определение широковещательного адреса сети.

5. Определение диапазона и количества адресов.

Рассмотрим на примере первой сети для трех узлов. Для этой сети выбрано адресное пространство на 8 узлов.

1. Определение границы сети. Речь идет об определении границы в IP-адресе между номером сети и номером узла (хоста). Для этого необходимо найти по дереву IP-адресов (рисунок №2) номер бита, который является последним для данной подсети (это четвертый бит), соответственно граница проходит между четвертым и нижележащим (третьим) битом.

Распределение IP-сети на подсети

2. Определение номера сети. Для этого значения бит справа от границы сети заполняем нулями (это биты 3, 2 и 1). Для заполнения значения бит слева от границы используем дерево IP-адресов (рисунок №2). Нужно передвигаться от выбранной ячейки (8 адресов) по ветвям дерева к вершине и записывать значения бит. Четвертый бит равен нулю, пятый бит – единице, шестой – единице, седьмой – нулю и так далее. До одиннадцатого бита, который равен единице. Когда дерево закончилось, то значения бит необходимо переписать исходя из первоначально заданной сети (рисунок 1). Получаем следующую запись:

Рисунок 3
Рисунок 3

Теперь переводим номер подсети в десятичную систему: 10.0.4.176.

Перемещение от ячейки в 8 адресов до вершины дерева представлено на следующем рисунке

Распределение IP-сети на подсети

3. Определение маски (префикса) сети. Маска – второй параметр сети, поэтому его записываем отдельно. Для определения маски необходимо все биты, находящиеся слева от границы, заполнить единицами, а справа – нулями:

Распределение IP-сети на подсети

Переводим маску подсети в десятичную систему: 255.255.255.248. Префикс — это еще один вид записи маски, он указывает количество бит в IP-адресе отведенных под номер сети. В данном случае это количество единиц в двоичном коде маске (то есть префикс равен 29).

4. Определение широковещательного адреса сети. Широковещательный адрес сети – это самый последний адрес в данной сети. Для его определения переписываем биты относящиеся к адресу сети (рисунок 3) без изменения, а биты относящиеся к адресу узла (справа от границы сети) заменяем на единицы:

Распределение IP-сети на подсети

Переводим широковещательный адрес в десятичную систему счисления: 10.0.4.183.

5. Определение диапазона и количества адресов. Для того чтобы вычислить адрес первого узла в подсети, необходимо к номеру подсети прибавить единицу (10.0.4.177), а для того чтобы определить адрес последнего узла, – от широковещательного узла подсети отнять единицу (10.0.4.182). Получаем следующий диапазон адресов узлов: 10.0.4.177 – 10.0.4.182. Таким образом, максимальное количество адресов в подсети 10.0.4.176 с маской 255.255.255.248 составляет 6. Данное количество адресов достаточно для того, чтобы в подсети разместить 3 узла.

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

Распределение IP-сети на подсети

Номер подсети и префикс: 10.0.4.176/29

Маска подсети: 255.255.255.248

Широковещательный адрес: 10.0.4.183

Адрес первого узла: 10.0.4.177

Адрес последнего узла: 10.0.4.182

Диапазон адресов: с 10.0.4.177 до 10.0.4.182

Количество IP-адресов для адресации узлов: 6

Для более точного понимания перечислим эти шесть адресов:

10.0.4.177, 10.0.4.178, 10.0.4.179, 10.0.4.180, 10.0.4.181, 10.0.4.182

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

Для определения IP-адресации подсетей с 25, 62 и 120 узлами повторяем все те же действия, что описаны выше.

Могут возникнуть трудности для определения параметров сети с общим количеством адресов 512 и выше. Рассмотрим пример решения для шестой сети, в которой необходимо выделить адресацию на 400 узлов и для которой выделена ячейка на 512 адресов (рисунок 2). Алгоритм решения такой же, но из-за того, что граница проходит через третий байт, вычисления немного усложняются.

Следуя вышеуказанному алгоритму получаем:

Распределение IP-сети на подсети

Номер подсети и префикс: 10.0.6.0/23

Маска подсети: 255.255.254.0

Широковещательный адрес: 10.0.7.255

Адрес первого узла: 10.0.6.1

Адрес последнего узла: 10.0.7.254

Диапазон адресов: с 10.0.6.1 до 10.0.7.254

Количество IP-адресов для адресации узлов: 510

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

10.0.6.1 – 10.0.6.255 это 255 адресов

10.0.7.0 – 10.0.7.254 это 255 адресов

Итого 255+255=510 адресов

Для седьмой сети (на 1017 узлов) определяем аналогичным образом:

Номер подсети и префикс: 10.0.0.0/22

Маска подсети: 255.255.252.0

Широковещательный адрес: 10.0.3.255

Адрес первого узла: 10.0.0.1

Адрес последнего узла: 10.0.3.254

Диапазон адресов: с 10.0.0.1 до 10.0.3.254

Количество IP-адресов для адресации узлов: 1022

Для определения количества адресов разложим на четыре поддиапазона:

10.0.0.1 – 10.0.0.255 это 255 адресов

10.0.1.0 – 10.0.1.255 это 256 адресов

10.0.2.0 – 10.0.2.255 это 256 адресов

10.0.3.0 – 10.0.3.254 это 255 адресов

255+256+256+255=1022

Номер одной подсети может совпасть с номером первоначально заданной сети. Это допустимо, но только для одной подсети.

Маска сети для IPv4 адресации ­– это 4-х байтное число, которое делит IP адрес на адрес сети (первая часть) и адрес узла (вторая часть). Для части IP адреса, соответствующей адресу сети в маске сети содержатся двоичные единицы, а для части IP адреса, соответствующей адресу узла в маске сети содержатся двоичные нули. IP адрес, в котором в части адреса узла содержатся только двоичные нули – служебный адрес сети. IP адрес, в котором в части адреса узла содержатся только двоичные единицы – адрес ограниченного широковещания. Эти два адреса нельзя использоваться для адресации узлов.

Какое максимальное количество IP адресов для узлов доступно в сети с маской сети «255.255.248.0» ?

MSDN.WhiteKnight's user avatar

задан 15 янв 2012 в 13:15

Евгений536's user avatar

Евгений536Евгений536

6902 золотых знака11 серебряных знаков30 бронзовых знаков

В маске 11 младших разрядов нулевые

Поэтому число узлов (2 ^ 11) – 2 = 2046 ( 0 и -1 в адресе хоста – бродкаст)

ответ дан 15 янв 2012 в 13:22

avp's user avatar

2

Приветствую вас на очередном выпуске. И сегодня речь пойдет о том, какие бывают IP-адреса, и как ими пользоваться. Что такое маска подсети, как она считается, и для чего она нужна. Как делить сети на подсети и суммировать их. Заинтересовавшихся приглашаю к прочтению.

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

Итак IP-адрес — это адрес, используемый узлом на сетевом уровне. Он имеет иерархическую структуру. Что это значит? Это значит, что каждая цифра в его написании несет определенный смысл. Объясню на очень хорошем примере. Примером будет номер обычного телефона — +74951234567. Первой цифрой идет +7. Это говорит о том, что номер принадлежит зоне РФ. Далее следует 495. Это код Москвы. И последние 7 цифр я взял случайными. Эти цифры закреплены за районной зоной. Как видите здесь наблюдается четкая иерархия. То есть по номеру можно понять какой стране, зоне он принадлежит. IP адреса придерживаются аналогично строгой иерархии. Контролирует их организация IANA(англ. Internet Assigned Numbers Authority). Если на русском, то это «Администрация адресного пространства Интернет». Заметьте, что слово «Интернет» с большой буквы. Мало кто придает этому значение, поэтому объясню разницу. В англоязычной литературе термин «internet» используется для описания нескольких подключённых друг к другу сетей. А термин «Internet» для описания глобальной сети. Так что примите это к сведению.

Несмотря на то, что тема статьи больше теоретическая, нежели практическая, я настоятельно рекомендую отнестись к ней со всей серьезностью, так как от нее зависит понимание дальнейших тем, а особенно маршрутизации. Не для кого, я думаю, не секрет, что мы привыкли воспринимать числовую информацию в десятичном формате (в числах от 0-9). Однако все современные компьютеры воспринимают информацию в двоичном (0 и 1). Не важно при помощи тока или света передается информация. Вся она будет воспринята устройством как есть сигнал (1) или нет (0). Всего 2 значения. Поэтому был придуман алгоритм перевода из двоичной системы в десятичную, и обратно. Начну с простого и расскажу, как выглядят IP адреса в десятичном формате. Вся эта статья посвящена IP адресам версии 4. О версии 6 будет отдельная статья. В предыдущих статьях, лабах, да и вообще в жизни, вы видели что-то вроде этого «193.233.44.12». Это и есть IP адрес в десятичной записи. Состоит он из 4-х чисел, называемых октетами и разделенных между собой точками. Каждое такое число (октет) может принимать значение от 0 до 255. То есть одно из 256 значений. Длина каждого октета равна 8 битам, а суммарная длина IPv4 = 32 битам. Теперь интересный вопрос. Каким образом этот адрес воспримет компьютер, и как будет с ним работать?

Можно конечно набить это в калькулятор, коих навалом в Интернете, и он переведет его в двоичный формат, но я считаю, что переводить вручную должен уметь каждый. Особенно это касается тех, кто планирует сдавать экзамен. У вас не будет под рукой ничего, кроме бумаги и маркера, и полагаться придется только на свои навыки. Поэтому показываю, как это делать вручную. Строится таблица.

Вместо «x» записывается либо 1, либо 0. Таблица разделена на 8 колонок, каждая из которых несет в себе 1 бит (8 колонок = 8 бит = 1 октет). Расположены они по старшинству слева направо. То есть первый (левый) бит — самый старший и имеет номер 128, а последний (правый) — самый младший и имеет номер 1. Теперь объясню, откуда эти числа взялись. Так как система двоичная, и длина октета равна 8-ми битам, то каждое число получается возведением числа 2 в степень от 0 до 7. И каждая из полученных цифр записывается в таблицу от большего к меньшему. То есть слева направо. От 2 в 7-ой степени до 2 в 0-ой степени. Приведу таблицу степеней 2-ки.

Думаю теперь понятно, каким образом строится таблица. Давайте теперь разберем адрес «193.233.44.12» и посмотрим, как он выглядит в двоичном формате. Разберем каждый октет отдельно. Возьмем число 193 и посмотрим, из каких табличных комбинаций оно получается. 128 + 64 + 1 = 193.

Те числа, которые участвовали в формировании комбинации получают 1, а все остальные получают 0.

Берем первый октет 233. 128 + 64 + 32 + 8 + 1.

Для 44 — это 32 + 8 + 4.

И напоследок 12. 8 + 4.

Получается длинная битовая последовательность 11000001.11101001.00101100.00001100. Именно с данным видом работают сетевые устройства. Битовая последовательность обратима. Вы можете так же вставить каждый октет (по 8 символов) в таблицу и получить десятичную запись. Я представлю совершенно случайную последовательность и приведу ее к десятичному виду. Пусть это будет 11010101.10110100.11000001.00000011. Строю таблицу и заношу в нее первый блок.

Получаю 128 + 64 + 16 + 4 + 1 = 213.

Вычисляю второй блок.

Считаю 128 + 32 + 16 + 4 = 180.

Третий блок.

128 + 64 + 1 = 193.

И напоследок четвертый.

2 + 1 = 3

Собираем результаты вычислений и получаем адрес 213.180.193.3. Ничего тяжелого, чистая арифметика. Если тяжело и прям невыносимо трудно, то попрактикуйтесь. Сначала может показаться страшным, так как многие закончили учебу лет 10 назад и многое позабыли. Но уверяю, что как только набьете руку, считать будет гораздо легче. Ну а для закрепления дам вам несколько примеров для самостоятельного расчета (под спойлером будут ответы, но открывайте их только когда прорешаете сами).

Задача №1

1) 10.124.56.220
2) 113.72.101.11
3) 173.143.32.194
4) 200.69.139.217
5) 88.212.236.76
6) 01011101.10111011.01001000.00110000
7) 01001000.10100011.00000100.10100001
8) 00001111.11011001.11101000.11110101
9) 01000101.00010100.00111011.01010000
10) 00101011.11110011.10000010.00111101

Ответы

1) 00001010.01111100.00111000.11011100
2) 01110001.01001000.01100101.00001011
3) 10101101.10001111.00100000.11000010
4) 11001000.01000101.10001011.11011001
5) 01011000.11010100.11101100.01001100
6) 93.187.72.48
7) 72.163.4.161
8) 15.217.232.245
9) 69.20.59.80
10) 43.243.130.61

Теперь IP-адреса не должны быть чем-то страшным, и можно углубиться в их изучение.
Выше мы говорили о структуре телефонных номеров и их иерархии. И вот на заре рождения Интернета в том представлении, в каком мы его привыкли видеть, возник вопрос. Вопрос заключался в том, что IP-адреса нужно как-то сгруппировать и контролировать выдачу. Решением было разделить все пространство IP-адресов на классы. Это решение получило название классовая адресация (от англ. Classful). Она уже давно устарела, но практически в любой книге на нее отводятся целые главы и разделы. Cisco тоже не забывает про это и в своих учебных материалах рассказывает про нее. Поэтому я пробегусь по этой теме и покажу, чем она блистала с 1981 по 1995 год.

Пространство было поделено на 5 классов. Каждому классу был назначен блок адресов.

Начнем с класса A. Если внимательно посмотреть на таблицу, то можно заметить, что этому блоку дан самый большой блок адресов, а если быть точным, то половина всего адресного пространства. Предназначался данный класс для крупных сетей. Структура этого класса выглядит следующим образом.

В чем суть. Первый октет, то есть 8 бит, остаются за адресом сети, а 3 последних октета (то есть оставшиеся 24 бита) назначаются хостам. Вот для того, чтобы показать, какой кусок относится к сети, а какой к хостам, используется маска. По структуре записи она аналогична записи IP-адреса. Отличие маски от IP-адресов в том, что 0 и 1 не могут чередоваться. Сначала идут 1, а потом 0. Таким образом, там где есть единица, значит это участок сети. Чуть ниже, после разбора классов, я покажу, как с ней работать. Сейчас главное знать, что маска класса A — 255.0.0.0. В таблице еще упомянут какой-то первый бит и для класса A он равен 0. Этот бит как раз нужен для того, чтобы сетевое устройство понимало, к какому классу оно принадлежит. Он же еще задает начальный и конечный диапазон адресов. Если в двоичном виде записать на всех октетах единицы, кроме первого бита в первом октете (там всегда 0), то получится 127.255.255.255, что является границей класса A. Например, возьмем адрес 44.58.63.132. Мы знаем, что у класса A первый октет отдается под адрес сети. То есть «44» — это адрес сети, а «58.63.132» — это адрес хоста.

Поговорим про класс B

Этому классу был дан блок поменьше. И адреса из этого блока предназначались для сетей средних масштабов. 2 октета отданы под адрес сети, и 2 — под адрес хостов. Маска у B класса — 255.255.0.0. Первые биты строго 10. А остальные меняются. Перейдем к примеру: 172.16.105.32. Два первых октета под адрес сети — «172.16». А 3-ий и 4-ый под адрес хоста — «105.32».

Класс C

Этот класс обделили адресами и дали ему самый маленький блок. Он был предназначен для мелких сетей. Зато этот класс отдавал целых 3 октета под адрес сети и только 1 октет — под хосты. Маска у него — 255.255.255.0. Первые биты 110. На примере это выглядит так — 192.168.1.5. Адрес сети «192.168.1», а адрес хоста «5».

Классы D и E. Я неcпроста объединил их в один. Адреса из этих блоков зарезервированы и не могут назначаться сетям и хостам. Класс D предназначен для многоадресной рассылки. Аналогию можно привести с телевидением. Телеканал вещает группе лиц свой эфир. И те, кто подключены, могут смотреть телепередачи. То есть в распоряжение администраторов могут попасть только 3 первых класса.

Напомню, что первые биты у класса D — это 1110. Пример адреса — 224.0.0.5.

А первые биты у класса E — это 1111. Поэтому, если вдруг увидите адрес вида 240.0.0.1, смело говорите, что это адрес E класса.

Про классы обмолвились. Теперь озвучу вопрос, который мне недавно задали. Так зачем тогда маски? У нас итак хосты понимают в каком они классе. Но суть вот в чем. Например, у вас есть маленький офис, и вам нужен блок IP-адресов. Никто не будет вам выдавать все адреса класса C. А дадут только его кусок. Например 192.168.1.0 с маской 255.255.255.0. Так вот эта маска и будет определять вашу границу. Мы уже говорили, что октет варьируется в значении от 0 до 255. Вот этот 4 октет полностью в вашем распоряжении. За исключением первого адреса и последнего, то есть 0 и 255 в данном случае. Первый адрес — это адрес сети (в данном случае 192.168.1.0), а последний адрес — широковещательный адрес (192.168.1.255). Напомню, что широковещательный адрес используется в том случае, когда надо передать информацию всем узлам в сети. Поэтому есть правило. Если вам надо узнать номер сети, то все биты относящиеся к хосту обращаете в 0, а если широковещательный, то все биты — в 1. Поэтому, если из 256 адресов забирается 2 адреса, то на назначение хостам остается 254 адреса (256 — 2). На собеседованиях и экзаменах часто любят спрашивать: «Количество IP-адресов в сети?» и «Сколько доступных IP-адресов в сети для назначения хостам?». Два разных вопроса, которые могут поставить в тупик. Ответом на первый будет — все адреса, включая адрес сети и широковещательный адрес, а на второй вопрос — все адреса, кроме адреса сети и широковещательного адреса.

Теперь углубимся в изучении маски.

Я записал адрес класса C 192.168.1.1 с маской 255.255.255.0 в десятичном и двоичном формате. Обратите внимание на то, как выглядит IP-адрес и маска в двоичном формате. Если в IP-адресе 0 и 1 чередуются, то в маске сначала идут 1, а потом 0. Эти биты фиксируют адрес сети и задают размер. По таблице выше можно сделать вывод, что в двоичном виде маска представлена последовательностью 24 единиц подряд. Это говорит о том, что целых 3 октета выделено под сеть, а 4 октет свободен под адресацию для хостов. Здесь ничего необычного. Это стандартная маска класса C.

Но вот в чем загвоздка. Например, в вашем офисе 100 компьютеров, и расширяться вы не планируете. Зачем плодить сеть из 250+ адресов, которые вам не нужны?! На помощь приходит разделение на подсети. Это очень удобная вещь. Объясню принцип на примере того же класса C. Как бы вы не хотели, но трогать 3 октета нельзя. Они фиксированы. Но вот 4 октет свободен под хосты, поэтому его можно трогать. Заимствуя биты из хостового куска, вы дробите сеть на n-ое количество подсетей и, соответственно, уменьшаете в ней количество адресов для хостов.

Попробуем это воплотить в реальность. Меняю маску. Заимствую первый бит из хостовой части(то есть 1-ый бит 4-ого октета выставляю в единицу). Получается следующая маска.

Данная маска делит сеть на 2 части. Если до дробления у сети было 256 адресов(от 0 до 255), то после дробления у каждого куска будет по 128 адресов(от 0 до 127 и от 128 до 255).
Теперь посмотрю, что изменится в целом с адресами.

Красным цветом я показал те биты, которые зафиксированы и не могут изменяться. То есть маска ей задает границу. Соответственно биты помеченные черным цветом определены для адресации хостов. Теперь вычислю эту границу. Чтобы определить начало, надо все свободные биты(помеченные черным цветом) обратить в ноль, а для определения конца обратить в единицы. Приступаю.

То есть в четвертом октете меняются все биты, кроме первого. Он жестко фиксирован в рамках этой сети.

Теперь посмотрим на вторую половину сети и вычислим ее адреса. Деление у нас производилось заимствованием первого бита в 4-ом октете, значит он является делителем. Первая половина сети получалась, когда этот бит принимал значение 0, а значит вторая сеть образуется, когда этот бит примет значение 1. Обращаю этот бит в 1 и посмотрю на границы.

Приведу в десятичный вид.

Соответственно .128 и .255 назначать хостам нельзя. Значит в доступности 128-2=126 адресов.
Вот таким образом можно при помощи маски управлять размером сети. Каждый заимствованный бит делит сеть на 2 части. Если откусить 1 бит от хостовой части, то поделим на 2 части (по 128 адресов), 2 бита = 4 части (по 64 адреса), 3 бита = 8 (по 32 адреса) и так далее.

Если вы рассчитали количество бит, отдаваемые под хосты, то количество доступных IP-адресов можно вычислить по формуле

В книге У. Одома по подготовке к CCNA R&S приведена хорошая формула для расчета битов, отдаваемых на подсеть и хосты:

N + S + H = 32, где N — кол-во битов сети (класс A — 8 бит, B — 16 бит, C — 24 бита), S — кол-во заимствованных битов на подсеть (это то, что мы делали выше, когда заимствовали 1 бит из хостовой части), H — кол-во бит отводимых хостам.

Внесу ясность и объясню, как и где применять эти формулы.

Возьмем пример:

Нам выдали сеть 172.16.0.0 и попросили создать 120 подсетей со 180 хостами и записать маску. Приступим.

В качестве шпаргалки, и для быстроты вычисления, я ниже подготовил таблицу степеней двойки.

Двигаемся дальше. Первое главное условие, при использовании классовой адресации — это то, что должна использоваться одна маска для всех подсетей. То есть, если у вас для одной подсети маска 255.255.255.0, то для другой подсети она не может быть 255.255.255.128.

Теперь смотрим на выданную сеть. Путем логических размышлений понимаем, что это адрес класса B. А значит его N (кол-во битов сети) = 16. Ок. Значит на хосты выделено тоже 16 бит. Вспоминаем условия задачи. Нужно создать 120 подсетей. «Откусывать» биты от сетевой части запрещено, значит кусаем от хостовой части.

Теперь нужно взять такое кол-во бит, чтобы хватило для 120 подсетей, однако оставляло достаточное кол-во под биты для хоста. Смотрим на таблицу выше. Если взять 7 бит, то получим 128. 128>120, следовательно попадаем под условие. Если возьмем 6 бит, то получим 64. 64<128, поэтому не попадаем под условие и отбрасываем этот вариант.

Ок. Выяснили, что S надо выделить не меньше 7 бит. Теперь посмотрим, что осталось под хосты.
Если N + S + H = 32 => H = 32 — (N + S) => H = 32 — (16 + 7) = 9. Смотрим на таблицу выше (или возводим 2 в 9 степень в уме) и получаем число 512. Отнимаем 2 (адрес сети и широковещательный адрес) и получаем 510 адресов. Нам нужно 180, а значит под условие мы попадаем причем с большим запасом. В таких случаях вам предоставляется право выбора. Сделать больше подсетей или хостов на подсеть. Объясняю, что это значит. У нас есть 9 бит на хосты. Если мы возьмем 8 бит, то получим число 256. 256 — 2 = 254 адреса. Этот вариант нам тоже подходит. Возьмем 7 бит. Получаем 128. Даже не отнимая 2 адреса, становится понятно, что это меньше 180 => данный вариант отбрасывается сразу. Итого получаем, что минимальное количество для подсети — 7 бит, а для хостов — 8 бит. Поэтому свободный бит можно отдать либо на подсеть, либо на хосты. Маска получается сложением N и S. В нашем случае получаем, если под подсеть отдаем 7 бит, то получаем 23. В десятичном виде маска будет выглядеть 255.255.254.0. А если отдадим под подсеть 8 бит, то получим 24 (или в десятичном виде 255.255.255.0). Иногда бывает, что под задачу существует всего одна маска. Ну и, конечно, могут быть случаи, когда маска не попадает не под какие условия. В этих случаях нужно брать сеть другого класса или доказывать заказчику, что это невозможно.

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

Задача №2

1) Записать маску для проекта: сеть 172.16.0.0. 250 подсетей и 220 хостов.
2) Записать маску для проекта: сеть 10.0.0.0. 2000 подсетей и 1500 хостов.
3) Записать маску для проекта: сеть 192.168.0.0. 4 подсети и 60 хостов.

Ответы на задачи

1) 24 бита или 255.255.255.0
2) 19 бит (255.255.224.0), 20 бит (255.255.240.0), 21 бит (255.255.248.0)
3) 26 бит или 255.255.255.192

На этом разговор про классовые сети начну закруглять и подведу итоги. Классовая адресация — это зарождение сегодняшнего интернета, и именно с нее все началось. Поэтому плюсов у нее много, и за это создателям спасибо. Но, как вы могли заметить, у нее было жесткая привязка к одной маске. За счет этого IP-адреса использовались не экономно и расточительно. А в связи с бурным ростом Интернета адресов стало не хватать, и срочно нужно было вносить изменения.

Поняли ведущие умы, что использовать классовые сети не удобно и нужно от них отказываться. Это привело к созданию бесклассовой адресации и маскам переменной длины, о чем мы ниже поговорим. Но перед этим пару слов о видах IP-адресов. Несмотря на то, что переход от классовой адресации к бесклассовой предполагал экономию IP-адресов, на деле эта проблема все равно решалась не полностью. Все упиралось в саму технологию IPv4. Объясню почему. Выше я говорил, что длина IP адреса равна 32 бита. Каждый бит может принимать значение 0 или 1, то есть два значения. Соответственно, чтобы вычислить все комбинации, надо возвести 2 в 32-ую степень. Получаем 4294967296 адресов. Если вычесть отсюда зарезервированные для специальных нужд и прочего, то останется примерно 4.2 млрд. адресов, когда на Земле проживает около 7.3 млрд. человек. Поэтому ведущие умы быстро просекли эту фишку и начали искать решение. Они решили выделить некое адресное пространство, которое будет использоваться только в пределах локальной сети и не будет использоваться в Интернете. Это разделило адреса на 2 лагеря: белые или публичные (англ. public) и серые или частные (англ. private).

Привожу диапазон адресов, которые выделены под локальные сети:

1) 10.0.0.0 — 10.255.255.255 с маской 255.0.0.0 (или кратко 10/8).
2) 172.16.0.0 — 172.31.255.255 с маской 255.240.0.0 (или кратко 172.16/12).
3) 192.168.0.0 — 192.168.255.255 (или кратко 192.168/16).

Если честно, я мало где видел применение адресации 172.16.X.X. Обычно в корпоративной среде всегда используется 10.X.X.X, а в домах/квартирах и мелких офисах 192.168.X.X.

Теперь прошу обратить внимание на очень важную вещь, которую многие путают. Не путайте классовую адресацию и диапазон частных адресов. Очень много людей наступают на эти грабли и свято верят, что диапазон частных адресов 10.0.0.0 — 10.255.255.255 — это диапазон A класса.
Разобрались, что такое частные адреса или private адреса. Но это еще не все. Есть еще список зарезервированных адресов, которые не могут светиться в Интернете. По ним написана целая документация на IETF. Привожу ссылку, где можете прочитать оригинал. Я кратко опишу часто встречающиеся.

1) 0.0.0.0/8 — диапазон адресов, используемый хостами для самоидентификации. Обычно это можно увидеть, когда хост пытается получить IP-адрес от DHCP сервера. Так как изначально у него нету IP-адреса, то в поле источника он вставляет адрес из данного диапазона.

2) 127.0.0.0/8 — loopback или localhost адреса. Это IP-адреса, используемые компьютером, чтобы обратиться к самому себе. Очень полезно для проверки работы TCP/IP. Дело в том, что независимо от наличия соединения с Интернетом или локальной сетью, адреса из этого пула должны всегда пинговаться. Если этого не происходит, значит система накрылась или накрывается медным тазом.

3) 169.254.0.0/16 — link-local address или локальные адреса. Автоматически используются хостами при отсутствии DHCP-сервера или его недоступности. Это позволяет быстро организовать локальную сеть и проверить работу узлов. Однако данный пул адресов не маршрутизируется. Следовательно, выйти в Интернет с них не получится.

4) 224.0.0.0/4 — блок адресов, зарезервированный под многоадресную рассылку или multicast. Для тех, кто хочет побольше узнать про multicast, оставляю ссылку.

Бесклассовая адресация (англ. Classless Inter-Domain Routing или CIDR). Описана была в стандарте RFC1519 в 1993 году. Она отказалась от классовых рамок и фиксированной маски. Адреса делятся только на публичные и зарезервированные, о которых написано выше. Если в классовой адресации маска нарезалась единой для всех подсетей, то в бесклассовой — у каждой подсети может быть своя маска. На теории все хорошо и красиво, но нет ничего лучше, чем практика. Поэтому перехожу к ней и объясню, как можно делить на подсети с разным количеством хостов.

В качестве шпаргалки приведу список всех возможных масок.

Представим ситуацию. Вам выдали сеть 192.168.1.0/24 и поставили следующие условия:

1) Подсеть на 10 адресов для гостей.
2) Подсеть на 42 адреса для сотрудников.
3) Подсеть на 2 адреса для соединения 2 маршрутизаторов.
4) Подсеть на 26 адресов для филиала.

Ок. Данная маска показывает, что в нашем распоряжении находятся 256 адресов. По условию эту сеть надо каким-то образом разделить на 4 подсети. Давайте попробуем. 256 очень хорошо делится на 4, давая в ответе 64. Значит один большой блок в 256 адресов можно поделить на 4 равных блока по 64 адреса в каждом. И все было бы прекрасно, но это порождает большое число пустых адресов. Для сотрудников, которым нужно 42 адреса, ладно, может в дальнейшем компания еще наймет. Но вот подсеть для маршрутизаторов, которая требует всего 2 адреса, оставит 60 пустых адресов. Да, вы можете сказать, что это private адреса, и кому дело до них. А теперь представьте, что это публичные адреса, которые маршрутизируются в Интернете. Их и так мало, а тут мы еще будем их отбрасывать. Это не дело, тем более, когда мы можем гибко управлять адресным пространством. Поэтому возвращаемся к примеру и нарежем подсети так, как нам нужно.

Итак, какие подсети должны быть нарезаны, чтобы вместились все адреса, заданные по условию?!

1) Для 10 хостов, наименьшей подсетью будет блок из 16 адресов.
2) Для 42 хостов, наименьшей подсетью будет блок из 64 адресов.
3) Для 2 хостов, наименьшей подсетью будет блок из 4 адресов.
4) Для 26 хостов, наименьшей подсетью будет блок из 32 адресов.

Я понимаю, что не все могут с первого раза в это вникнуть, и в этом нет ничего страшного. Все люди разные и по-разному воспринимают информацию. Для полноты эффекта покажу деление на картинке.

Вот у нас блок, состоящий из 256 адресов.

После деления на 4 части получается следующая картинка.

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

Как видите, в свободном доступе осталось куча адресов, которые мы в дальнейшем сможем использовать. Можно посчитать точную цифру. 256 — (64 + 32 + 16 + 4) = 140 адресов.

Вот столько адресов мы сэкономили. Двигаемся дальше и ответим на следующие вопросы:

— Какими будут сетевые и широковещательные адреса?
— Какие адреса можно будет назначить хостам?
— Как буду выглядеть маски?

Механизм деления на подсети с разной маской получил название VLSM (от англ. Variable Length Subnet Mask) или маска подсети переменной длины. Дам важный совет! Начинайте адресацию с самой большой подсети. Иначе вы можете попасть на то, что адреса начнут перекрываться. Поэтому сначала планируйте сеть на бумаге. Нарисуйте ее, изобразите в виде фигур, просчитайте вручную или на калькуляторе и только потом переходите настройке в боевых условиях.

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

Адрес подсети — 192.168.1.0.
Широковещательный адрес — 192.168.1.63.
Пул адресов для назначения хостам от 192.168.1.1 до 192.168.1.62.
Теперь выбор маски. Тут все просто. Отнимаем от целой сети нужный кусок и полученное число записываем в октет маски. То есть 256 — 64 = 192 => маска 255.255.255.192 или /26.

Дальше идет подсеть поменьше. Состоит она из 32 адресов. Если первая заканчивалась на .63, то эта будет начинаться с .64:

Адрес подсети — 192.168.1.64.
Широковещательный адрес — 192.168.1.95.
Пул адресов для назначения хостам будет от 192.168.1.65 до 192.168.1.94.
Маска: 256 — 32 = 224 => 255.255.255.224 или /27.

3-я подсеть, которая предназначена для филиала, начнет старт с .96:

Адрес подсети — 192.168.1.96.
Широковещательный адрес — 192.168.1.111.
Пул адресов для назначения хостам будет от 192.168.1.97 до 192.168.1.110.
Маска: 256 — 16 = 240 => 255.255.255.240 или /28.

Ну и для последней подсети, которая уйдет под интерфейсы, соединяющие роутеры, будет начинаться с .112:

Адрес подсети — 192.168.1.112.
Широковещательный адрес — 192.168.1.115.
Разрешенными адресами будут 192.168.1.113 и 192.168.1.114.
Маска: 256 — 4 = 252 => 255.255.255.252 или /30.

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

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

Задача №3

Разделите сеть 192.168.1.0/24 на 3 разные подсети. Найдите и запишите в каждой подсети ее адреса, широковещательный адрес, пул разрешенных к выдаче адресов и маску. Указываю требуемые размеры подсетей:

1) Подсеть на 120 адресов.
2) Подсеть на 12 адресов.
3) Подсеть на 5 адресов.

Ответ

1) Адрес подсети — 192.168.1.0.
Широковещательный адрес — 192.168.1.127.
Пул адресов для назначения хостам будет от 192.168.1.1 до 192.168.1.126.
Маска: 256 — 128 = 128 => 255.255.255.128 или /25.

2) Адрес подсети — 192.168.1.128.
Широковещательный адрес — 192.168.1.143.
Пул адресов для назначения хостам будет от 192.168.1.129 до 192.168.1.142.
Маска: 256 — 16 = 240 => 255.255.255.240 или /28.

3) Адрес подсети — 192.168.1.144.
Широковещательный адрес — 192.168.1.151.
Пул адресов для назначения хостам будет от 192.168.1.145 до 192.168.1.150.
Маска: 256 — 8 = 248 => 255.255.255.248 или /29.

Теперь, когда вы знаете, как делить сети на подсети, самое время научиться собирать подсети в одну общую подсеть. Иначе это называется суммированием или summarization. Суммирование чаще всего используется в маршрутизации. Когда у вас в таблице маршрутизатора несколько соседних подсетей, маршрутизация которых проходит через один и тот же интерфейс или адрес. Скорее всего этот процесс лучше объяснять при разборе маршрутизации, но учитывая то, что тема маршрутизации и так большая, то я объясню процесс суммирования в этой статье. Тем более, что суммирование это сплошная математика, а в этой статье мы ею и занимаемся. Ну что же, приступлю.

Представим, что у меня компания состоящая из главного здания и корпусов. Я работаю в главном здании, а в корпусах коллеги. Хоть у меня и главное здание, но в нем всего 4 подсети:

— 192.168.0.0/24
— 192.168.1.0/24
— 192.168.2.0/24
— 192.168.3.0/24

Тут коллеги с соседнего здания очухались и поняли, что у них слетела конфигурация на маршрутизаторе, а бекапов нет. Наизусть они не помнят, какие в главном здании подсети, но помнят, что они находятся рядом друг с другом, и просят прислать одну суммированную. Теперь у меня возникает задача, как их суммировать. Для начала я переведу все подсети в двоичный вид.

Посмотрите внимательно на таблицу. Как видите, у 4 подсетей первые 22 бита одинаковые. Соответственно, если я возьму 192.168.0.0 с маской /22 или 255.255.252.0, то покрою свои 4 подсети. Но обратите внимание на 5 подсеть, которую я специально ввел. Это подсеть 192.168.4.0. 22-ой бит у нее отличается от предыдущих 4-х, а значит выше выбранное не покроет эту подсеть.
Ок. Теперь я отправлю коллегам суммированную подсеть, и, если они все правильно пропишут, то маршрутизация до моих подсетей будет работать без проблем.

Возьмем тот же пример и немного изменим условия. Нас попросили прислать суммарный маршрут для подсетей 192.168.0.0 и 192.168.1.0. Я не поленюсь и создам еще одну таблицу.

Обратите внимание, что у 2 первых подсетей одинаковые не 22 бита, а 23 бита. Это значит, что их можно просуммировать еще компактнее. В принципе работать будет и так, и так. Но как говорилось в одной рекламе: «Если нет разницы — зачем платить больше?». Поэтому старайтесь суммировать, не задевая при этом соседние подсети.

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

Вообще суммирование полезно применять, когда надо объединить несколько подсетей, расположенных вблизи друг с другом. Это позволит сэкономить ресурсы маршрутизаторов. Однако это не всегда возможно. Просуммировать, например, подсеть 192.168.1.0 и 192.168.15.0, не захватив при этом соседние подсети, невозможно. Поэтому перед суммированием стоит подумать над ее целесообразностью. Поэтому повторюсь еще раз, что начинать какую-либо революцию надо на бумажке. Ну и для закрепления материала оставлю небольшую задачу.

Задача №4

Даны 4 подсети:

1) 10.3.128.0
2) 10.3.129.0
3) 10.3.130.0
4) 10.3.131.0

Просуммируйте подсети и найдите маску, которая сможет покрыть их, не задевая при этом соседние подсети.

Ответ


Исходя из этого, ответом будет 10.3.128.0/22 (255.255.252.0)

Пришло время закругляться. Статья получилась не очень длинной. Я бы даже сказал наоборот. Но все, что требует знать Cisco про IPv4, мы рассмотрели. Самое главное, что требуется от вас — это научиться работать с адресами и масками и уметь конвертировать их из десятичной в двоичную и обратно. Ну и, конечно, правильно делить на подсети и распределять адресное пространство. Спасибо, что дочитали. А если еще и задачки все сами прорешали, то цены вам нет) А если еще не прорешали, то приятного времяпровождения.

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