Рассмотрим, как рассчитать подсети, работая с двоичными числами. Двоичная система основана на использовании только двух цифр — 0 и 1. Перед прочтением данного материала рекомендуем ознакомиться с двоичными числами в этой статье.
Содержание:
Подсети класса C
Начнем с простой сети класса C 192.168.1.0 с маской подсети 255.255.255.0 (по умолчанию). Сетевое устройство знает, какая часть является сетевой, а какая — узловой. Определяет она это с помощью маски подсети. Известно, что сеть 192.168.1.0 класса C имеет 3 байта для сетевой части и 1 байт для узловой части.
Примечание: в статье об IPv4 можно узнать о разделении адреса на сетевую и узловую части для разных классов адресации.
Вот что получается в двоичном виде:
Сеть | Сеть | Сеть | Узел | |
IP-адрес (десятичный формат) | 192 | 168 | 1 | 0 |
IP-адрес (двоичный формат) | 11000000 | 10101000 | 00000001 | 00000000 |
Маска подсети (десятичный формат) | 255 | 255 | 255 | 0 |
Маска подсети (двоичный формат) | 11111111 | 11111111 | 11111111 | 00000000 |
Другими словами, маска подсети сообщает, что первые 24 бита (192.168.1) являются сетевой частью, а остальные 8 бит (0) выделены для узлов.
Ниже представлены 8 бит для преобразования десятичного числа в двоичное:
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Какое максимальное значение можно получить с помощью этих 8 бит? Возведём все биты в первую степень:
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Используя 8 бит, наибольшее значение, которое можно получить — 255. Означает ли это, что сеть будет иметь 255 узлов? Ответ отрицательный, потому что для каждой сети есть 2 адреса, которые нельзя использовать в качестве индивидуального адреса устройства, а именно:
Адрес сети — это адрес, где все биты узловой части установлены в 0:
192 | 168 | 1 | 0 |
11000000 | 10101000 | 00000001 | 00000000 |
Широковещательный адрес — это адрес, где все биты узловой части установлены в 1:
192 | 168 | 1 | 255 |
11000000 | 10101000 | 00000001 | 11111111 |
В итоге, сеть 192.168.1.0/24 имеет диапазон рабочих адресов 192.168.1.1 — 192.168.1.254. Это 254 индивидуальных адреса для узлов в этой сети.
Примечание: для данной сети количество доступных адресов равняется 256, включая адрес сети и широковещательный адрес.
Маска подсети определяет размер сети, и при создании подсетей приходится «заимствовать» биты из узловой части. С помощью каждого заимствованного бита можно удвоить количество подсетей — заимствуя 1 бит, создаем 2 подсети из этой единственной сети. Заимствуя 2 бита, получаем 4 подсети, 3 бита = 8 подсетей.
Существует формула расчета количества подсетей:
2^n
где n — число бит, которое «заимствовано».
Пример:
Давайте разделим сеть 192.168.1.0/24 на 2 подсети, заимствуя 1 бит:
255 | 255 | 255 | 128 |
11111111 | 11111111 | 11111111 | 10000000 |
Первые 24 бита одинаковы, берем первый бит из 4-го октета. Это значение равняется 128, поэтому маска подсети становится 255.255.255.128.
Теперь в узловой части осталось 7 бит. Сколько можно получить адресов в подсети при помощи этих 7 бит?
Примечание: для данной подсети количество доступных адресов равняется 128, включая адрес сети и широковещательный адрес, но сетевыми устройствами будут использоваться только 126 адресов.
Первоначальная сеть класса C теперь превратилась в две подсети, каждая из которых имеет по 128 адресов. Давайте посмотрим на них в двоичном формате.
Подсеть №1
Начинаем с 192.168.1.0, маска подсети — 255.255.255.128:
IP-адрес | 192 | 168 | 1 | 0 |
11000000 | 10101000 | 00000001 | 00000000 | |
Маска подсети | 255 | 255 | 255 | 128 |
11111111 | 11111111 | 11111111 | 10000000 |
Первый IP-адрес узла: 192.168.1.1
Первый IP-адрес узла — тот, который идёт сразу после сетевого адреса, то есть на единицу больше.
192 | 168 | 1 | 1 |
11000000 | 10101000 | 00000001 | 00000001 |
Последний IP-адрес узла: 192.168.1.126
На самом деле 192.168.1.126 — это предпоследний адрес, который используется узлом, поскольку последним адресом подсети является широковещательный адрес.
192 | 168 | 1 | 126 |
11000000 | 10101000 | 00000001 | 01111110 |
Широковещательный адрес: 192.168.1.127
Широковещательный адрес имеет все единицы в узловой части.
192 | 168 | 1 | 127 |
11000000 | 10101000 | 00000001 | 01111111 |
Подсеть №2
Первая подсеть закончилась адресом 192.168.1.127, поэтому следующая сеть начинается с 192.168.1.128:
IP-адрес | 192 | 168 | 1 | 128 |
11000000 | 10101000 | 00000001 | 10000000 | |
Маска подсети | 255 | 255 | 255 | 128 |
11111111 | 11111111 | 11111111 | 10000000 |
Первый IP-адрес узла: после адреса сети это будет 192.168.1.129
192 | 168 | 1 | 129 |
11000000 | 10101000 | 00000001 | 10000001 |
Последний IP-адрес узла: перед широковещательным будет адрес 192.168.1.254
192 | 168 | 1 | 254 |
11000000 | 10101000 | 00000001 | 11111110 |
Широковещательный адрес: 192.168.255.255
192 | 168 | 1 | 255 |
11000000 | 10101000 | 00000001 | 11111111 |
Самая маленькая подсеть класса С, которую можно создать, имеет маску подсети 255.255.255.252 (это 6 заимствованных битов). Данная подсеть имеет только 4 адреса: 1 адрес сети, 1 широковещательный адрес и 2 индивидуальных IP-адреса для сетевого устройства. Эта подсеть идеально подходит для двухточечных соединений, где требуется только 2 используемых IP-адреса.
Подсети класса B
Возьмем сеть 172.16.0.0 класса B с маской подсети 255.255.0.0 и создадим из нее 2 подсети:
IP-адрес | 172 | 16 | 0 | 0 |
10101100 | 00010000 | 00000000 | 00000000 | |
Маска подсети | 255 | 255 | 0 | 0 |
11111111 | 11111111 | 00000000 | 00000000 |
Правило с заимствованием битов с узловой части не меняется. Разница с сетью класса C заключается в том, что в классе В присутствует большее количество бит узла.
Давайте посмотрим на новую маску подсети в двоичном формате:
255 | 255 | 128 | 0 |
11111111 | 11111111 | 10000000 | 00000000 |
В узловой части осталось 7 бит в третьем октете и 8 бит в четвертом. Посмотрим, сколько получится адресов в подсети с помощью этих 15 бит:
16384 | 8192 | 4096 | 2048 | 1024 | 512 | 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Примечание: для данной подсети количество доступных адресов равняется 32 768, включая адрес сети и широковещательный адрес, но сетевыми устройствами будут использоваться только 32 766 адресов.
Существует формула расчета количество узлов, которая значительно экономит время:
2^n – 2
где n — число бит, которые остались в узловой части.
Пример:
Давайте посмотрим, как выглядят подсети.
Подсеть №1
При применении новой маски подсети, остаются 15 бит в узловой части адреса:
IP-адрес | 172 | 16 | 0 | 0 |
10101100 | 00010000 | 00000000 | 00000000 | |
Маска подсети | 255 | 255 | 128 | 0 |
11111111 | 11111111 | 10000000 | 00000000 |
Первый IP-адрес узла: 172.16.0.1
172 | 16 | 0 | 1 |
10101100 | 00010000 | 00000000 | 00000001 |
Последний IP-адрес узла: 172.16.127.254
172 | 16 | 127 | 254 |
10101100 | 00010000 | 01111111 | 11111110 |
Широковещательный адрес: 172.16.127.255
172 | 16 | 127 | 255 |
11000000 | 10101000 | 01111111 | 11111111 |
Подсеть №2
Первая подсеть закончилась адресом 172.16.127.255, поэтому продолжаем со следующего доступного адреса, который равен 172.16.128.0:
IP-адрес | 172 | 16 | 128 | 0 |
10101100 | 00010000 | 10000000 | 00000000 | |
Маска подсети | 255 | 255 | 128 | 0 |
11111111 | 11111111 | 10000000 | 00000000 |
Первый IP-адрес узла: 172.16.128.1
172 | 16 | 128 | 1 |
10101100 | 00010000 | 10000000 | 00000001 |
Последний IP-адрес узла: 172.16.255.254
172 | 16 | 255 | 254 |
10101100 | 00010000 | 11111111 | 11111110 |
Широковещательный адрес: 172.16.255.255
172 | 16 | 255 | 255 |
11000000 | 10101000 | 11111111 | 11111111 |
Подсети класса А
Возьмем сеть 10.0.0.0 класса A с маской подсети 255.0.0.0:
IP-адрес | 10 | 0 | 0 | 0 |
00001010 | 00000000 | 00000000 | 00000000 | |
Маска подсети | 255 | 0 | 0 | 0 |
11111111 | 00000000 | 00000000 | 00000000 |
Попробуем разбить эту сеть на 4 подсети, для этого заимствуем 2 бита. Давайте посмотрим на это в двоичном формате:
255 | 192 | 0 | 0 |
11111111 | 11000000 | 00000000 | 00000000 |
В узловой части осталось 6 + 8 + 8 = 22 бит узла, которые можно использовать. Давайте просто используем «степень 2», чтобы решить этот вопрос:
Посмотрим, как выглядят подсети.
Подсеть №1
При применении новой маски подсети, остаются 22 бита в узловой части адреса:
IP-адрес | 10 | 0 | 0 | 0 |
00001010 | 00000000 | 00000000 | 00000000 | |
Маска подсети | 255 | 192 | 0 | 0 |
11111111 | 11000000 | 00000000 | 00000000 |
Первый IP-адрес узла: 10.0.0.1
10 | 0 | 0 | 1 |
00001010 | 00000000 | 00000000 | 00000001 |
Последний IP-адрес узла: 10.63.255.254
10 | 63 | 255 | 254 |
00001010 | 00111111 | 11111111 | 11111110 |
Широковещательный адрес: 10.63.255.255
10 | 63 | 255 | 255 |
00001010 | 00111111 | 11111111 | 11111111 |
Подсеть №2
Первая подсеть закончилась адресом 10.63.255.255, поэтому следующая подсеть начинается с 10.64.0.0:
IP-адрес | 10 | 64 | 0 | 0 |
00001010 | 01000000 | 00000000 | 00000000 | |
Маска подсети | 255 | 192 | 0 | 0 |
11111111 | 11000000 | 00000000 | 00000000 |
Первый IP-адрес узла: 10.64.0.1
10 | 64 | 0 | 1 |
00001010 | 01000000 | 00000000 | 00000001 |
Последний IP-адрес узла: 10.127.255.254
10 | 127 | 255 | 254 |
00001010 | 00111111 | 11111111 | 11111110 |
Широковещательный адрес: 10.127.255.255
10 | 127 | 255 | 255 |
00001010 | 00111111 | 11111111 | 11111111 |
Подсеть №3
Вторая подсеть закончилась адресом 10.127.255.255, поэтому следующая подсеть начинается с 10.128.0.0:
IP-адрес | 10 | 128 | 0 | 0 |
00001010 | 10000000 | 00000000 | 00000000 | |
Маска подсети | 255 | 192 | 0 | 0 |
11111111 | 11000000 | 00000000 | 00000000 |
Первый IP-адрес узла: 10.128.0.1
10 | 128 | 0 | 1 |
00001010 | 10000000 | 00000000 | 00000001 |
Последний IP-адрес узла: 10.191.255.254
10 | 191 | 255 | 254 |
00001010 | 10111111 | 11111111 | 11111110 |
Широковещательный адрес: 10.191.255.255
10 | 191 | 255 | 255 |
00001010 | 10111111 | 11111111 | 11111111 |
Подсеть №4
Третья подсеть закончилась адресом 10.191.255.255, поэтому последняя подсеть начинается с 10.192.0.0:
IP-адрес | 10 | 192 | 0 | 0 |
00001010 | 11000000 | 00000000 | 00000000 | |
Маска подсети | 255 | 192 | 0 | 0 |
11111111 | 11000000 | 00000000 | 00000000 |
Первый IP-адрес узла: 10.192.0.1
10 | 192 | 0 | 1 |
00001010 | 11000000 | 00000000 | 00000001 |
Последний IP-адрес узла: 10.255.255.254
10 | 255 | 255 | 254 |
00001010 | 11111111 | 11111111 | 11111110 |
Широковещательный адрес: 10.255.255.255
10 | 255 | 255 | 255 |
00001010 | 11111111 | 11111111 | 11111111 |
Выводы
Спасибо за уделенное время на прочтение статьи. Теперь Вы знаете, как рассчитывать сети в двоичном формате. Надеемся, наш материал будет для Вас полезным. Пишите о своих успехах в комментариях!
Если возникли вопросы — задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.