Cisco формула расчёта сетей, примеры использования
Cisco формула расчёта сетей
Количество подсетей = 2n, где n – это количество занятых бит от порции хоста.
Cisco формула расчёта хостов (узлов)
Количество хостов в подсети = 2n-2, где n – это количество свободных бит (нулей) в порции хоста, а «-2» - это вычет адреса сети (в порции хоста все нули) и широковещательного адреса (в порции хоста все единицы).
Объяснение формул расчета сетей
IP адрес
IP адрес состоит из 32 битов, которые поделены на 4 части по 8 бит соответственно (эти части называются октетами). В жизни используется запись IP адреса в десятичном виде.
Примеры IP адресов:
172.16.2.15 = 10101100.00010000.00000010.00001111
178.68.128.168 = 10110010.01000100.10000000.10101000
217.20.147.94 = 11011001.00010100.10010011.01011110
Из этих 32 битов часть относится к адресу хоста, которому принадлежит этот IP адрес, а другая часть относится к адресу сети, в которой находится этот хост. Первая часть (слева направо) IP адреса обозначает адрес сети, а вторая часть (оставшиеся биты) – адрес хоста. Чтобы узнать, сколько битов относится к адресу сети, надо воспользоваться маской сети.
Маска сети
Маска сети тоже состоит из 32 битов, но в отличие от IP адреса, в маске единицы и нолики не могут перемешиваться. В жизни используется запись сетевой маски в десятичном виде.
Примеры масок сети:
255.255.255.0 = 11111111.11111111.11111111.00000000
255.0.0.0 = 11111111.00000000.00000000.00000000
255.255.240.0 = 11111111.11111111.11110000.00000000
255.255.255.128 = 11111111.11111111.11111111.10000000
Префикс маски
Еще чаще, маска сети записывается в виде короткого префикса маски. Число в префиксе обозначает количество бит относящихся к адресу сети.
/16 = 11111111.11111111.00000000.00000000 = 255.255.0.0
/24 = 11111111.11111111.11111111.00000000 = 255.255.255.0
/26 = 11111111.11111111.11111111.11000000 = 255.255.255.192
IP адрес и маска сети
Чтобы узнать, какая часть IP адреса относится к порции сети, необходимо выполнить бинарную логическую операцию AND (И).
Бинарная логическая операция AND (И)
Смысл операции заключается в сравнении двух битов, причем только в одном случае бинарная операция даёт единицу на выходе – в случае сравнения двух единиц. В остальных случаях логическая операция AND даёт на выходе 0.
Результаты сравнения логической операцией AND двух битов:
1 AND 1 = 1
1 AND 0 = 0
0 AND 1 = 0
0 AND 0 = 0
Операция AND над IP адресом и маской
Представим, что у нас есть IP адрес 192.168.1.31 с маской сети в виде префикса /24, наша задача вычислить адрес сети, порцию сети, порцию хоста.
Сначала надо перевести IP адрес из десятичной системы счисления в двоичную систему. Затем перевести префикс в двоичный вид и нормальный вид маски сети (десятичный). Далее останется только сложить IP адрес с маской с помощью логической операции AND.
192.168.1.31/24
192.168.1.31 = 11000000.10101000.00000001.00011111
/24 = 11111111.11111111.11111111.00000000 = 255.255.255.0
11000000.10101000.00000001.00011111 (IP)
AND
11111111.11111111.11111111.00000000 (Mask)
=
11000000.10101000.00000001.00000000 (Адрес сети в двоичном виде)
192.168.1.0/24 (Адрес сети в десятичном виде с сетевым префиксом)
AND
11111111.11111111.11111111.00000000 (Mask)
=
11000000.10101000.00000001.00000000 (Адрес сети в двоичном виде)
192.168.1.0/24 (Адрес сети в десятичном виде с сетевым префиксом)
Вот мы и узнали адрес сети. Единички в маске указывают на длину порции адреса сети (11000000.10101000.00000001.), а нолики – на порцию адреса хоста (.00011111).
Примеры расчета сетей
Деление сети осуществляется присвоением битов из порции адреса хоста к порции адреса сети. Тем самым мы увеличиваем возможное количество подсетей, но уменьшаем количество хостов в подсетях. Чтобы узнать, сколько получается подсетей из присвоенных битов надо воспользоваться cisco формулой расчета сетей: 2n, где n является количеством присвоенных бит.
Пример расчета сети на 2 подсети.
У нас есть адрес сети 192.168.1.0/24, нам надо разделить имеющуюся сеть на 2 подсети. Попробуем забрать от порции хоста 1 бит и воспользоваться формулой: 21=2, это значит, что если мы заберём один бит от части хоста, то мы получим 2 подсети. Присвоение одного бита из порции хоста увеличит префикс на один бит: /25. Теперь надо выписать 2 одинаковых IP адреса сети в двоичном виде изменив только присвоенный бит (у первой подсети присвоенный бит будет равен 0, а у второй подсети = 1). Захваченный бит я выделю более жирным шрифтом красного цвета.
2 подсети (захваченный бит я выделю более жирным шрифтом красного цвета):
1) 11000000.10101000.00000001.00000000
2) 11000000.10101000.00000001.10000000
2) 11000000.10101000.00000001.10000000
Теперь запишем рядом с двоичным видом десятичный, и добавим новый префикс. Красным пометил порцию подсети, а синим – порцию хоста.
1) 11000000.10101000.00000001.00000000 = 192.168.1.0/25
2) 11000000.10101000.00000001.10000000 = 192.168.1.128/25
2) 11000000.10101000.00000001.10000000 = 192.168.1.128/25
Всё, сеть разделена на 2 подсети. Как мы видим выше, порция хоста теперь составляет 7 бит.
Чтобы высчитать, сколько адресов хостов можно получить используя 7 бит, необходимо воспользоваться cisco формулой расчёта хостов: 2n-2, где n = количество бит в порции хоста.
27 - 2 = 126 хостов. В начале статьи было сказано, что вычитаемая цифра 2 является двумя адресами, которые нельзя присвоить хосту: адрес сети и широковещательный адрес.
Адрес сети, это когда в порции хоста все нули, а широковещательный адрес, это когда в порции хоста все единицы. Выпишем эти адреса для каждой подсети в двоичном и десятичном виде:
11000000.10101000.00000001.00000000 = 192.168.1.0/25 (адрес сети первой подсети)
11000000.10101000.00000001.01111111 = 192.168.1.127/25 (широковещательный адрес первой подсети)
11000000.10101000.00000001.10000000 = 192.168.1.128/25 (адрес сети второй подсети)
11000000.10101000.00000001.11111111 = 192.168.1.255/25 (широковещательный адрес второй подсети)
Пример расчета сети на 4 подсети.
Этот пример делается абсолютно по тому же алгоритму, что и предыдущий, поэтому я запишу текст немного короче. Адрес я буду использовать тот же, чтобы вы видели отличия. Если нужны подробности, пишите на почту eaneav@gmail.com.
У нас есть адрес сети 192.168.1.0/24, надо разделить сеть на 4 подсети. Высчитываем по формуле, сколько нам надо занять бит от хоста: 22 = 4. Префикс изменяется на /26.
4 подсети (захваченный бит я выделю более жирным шрифтом красного цвета):
1) 11000000.10101000.00000001.00000000
2) 11000000.10101000.00000001.01000000
3) 11000000.10101000.00000001.10000000
4) 11000000.10101000.00000001.11000000
2) 11000000.10101000.00000001.01000000
3) 11000000.10101000.00000001.10000000
4) 11000000.10101000.00000001.11000000
Красным пометил порцию подсети, а синим – порцию хоста:
1) 11000000.10101000.00000001.00000000 = 192.168.1.0/26
2) 11000000.10101000.00000001.01000000 = 192.168.1.64/26
3) 11000000.10101000.00000001.10000000 = 192.168.1.128/26
4) 11000000.10101000.00000001.11000000 = 192.168.1.192/26
2) 11000000.10101000.00000001.01000000 = 192.168.1.64/26
3) 11000000.10101000.00000001.10000000 = 192.168.1.128/26
4) 11000000.10101000.00000001.11000000 = 192.168.1.192/26
Всё, сеть разделена на 4 подсети. Порция хоста теперь составляет 6 бит.
26 - 2 = 62 хостов.
11000000.10101000.00000001.00000000 = 192.168.1.0/26 (адрес сети первой подсети)
11000000.10101000.00000001.00111111 = 192.168.1.63/26 (широковещательный адрес первой подсети)
11000000.10101000.00000001.01000000 = 192.168.1.64/26 (адрес сети второй подсети)
11000000.10101000.00000001.01111111 = 192.168.1.127/26 (широковещательный адрес второй подсети)
11000000.10101000.00000001.10000000 = 192.168.1.128/26 (адрес сети третьей подсети)
11000000.10101000.00000001.10111111 = 192.168.1.191/26 (широковещательный адрес третьей подсети)
11000000.10101000.00000001.11000000 = 192.168.1.192/26 (адрес сети четвёртой подсети)
11000000.10101000.00000001.11111111 = 192.168.1.255/26 (широковещательный адрес четвёртой подсети)
Заключение
Таким способом можно разделить любую сеть на подсети, а cisco формулы расчета сетей и хостов помогут вам в этом деле.