Как найти адрес сети через маску

Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 8 сентября 2022 года; проверки требуют 6 правок.

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

Благодаря маске можно узнать, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети.

Например, узел с IP-адресом 12.34.56.78 и маской подсети 255.255.255.0, с длиной префикса 24 бита (/24), находится в сети 12.34.56.0.

В случае адресации IPv6 адрес 2001:0DB8:1:0:6C1F:A78A:3CB5:1ADD с длиной префикса 32 бита (/32) находится в сети 2001:0DB8::/32.

Другой вариант определения — это определение подсети IP-адресов. Например, с помощью маски подсети можно сказать, что один диапазон IP-адресов будет в одной подсети, а другой диапазон соответственно в другой подсети.

Чтобы получить адрес сети, зная IP-адрес и маску подсети, необходимо применить к ним операцию поразрядной конъюнкции (побитовое И). Например, в случае более сложной маски:

IP-адрес:       11000000 10101000 00000001 00000010 (192.168.1.2)
Маска подсети:  11111111 11111111 11111110 00000000 (255.255.254.0)
Адрес сети:     11000000 10101000 00000000 00000000 (192.168.0.0)

Легенда:

  • часть маски, определяющая адрес сети и состоящая из единиц;
  • адрес сети, который определяется маской подсети;
  • диапазон адресов устройств в этой сети.

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

Сеть назначения Маска сети Адрес шлюза
192.168.1.0 255.255.255.0 10.20.30.1

Пусть теперь маршрутизатор получает пакет данных с адресом назначения 192.168.1.2. Обрабатывая построчно таблицу маршрутизации, он обнаруживает, что при наложении (применении операции «побитовое И») на адрес 192.168.1.2 маски 255.255.255.0 получается адрес сети 192.168.1.0. В таблице маршрутизации этой сети соответствует шлюз 10.20.30.1, которому и отправляется пакет.

Битовые операции при расчёте адреса сети в IPv6 выглядят аналогично. Но в IPv6 можно просто рассчитать адрес сети по длине префикса, применив формулу: «длина префикса в битах» / 4 = «кол-во 0xF у адреса сети». Взяв полученное количество 0xF из адреса узла, получаем адрес сети.

Маски при бесклассовой маршрутизации (CIDR)[править | править код]

Маски подсети являются основой метода бесклассовой маршрутизации (англ. CIDR). При этом подходе маску подсети записывают вместе с IP-адресом в формате «IP-адрес/количество единичных бит в маске». Число после знака дроби ( длина префикса сети) означает количество единичных разрядов (бит) в маске подсети.

Рассмотрим пример записи диапазона IP-адресов в виде 10.96.0.0/11. В этом случае маска подсети будет иметь двоичный вид 1111_1111.1110_0000.0000_0000.0000_0000, или то же самое в десятичном виде: 255.224.0.0. 11 разрядов IP-адреса отводятся под адрес сети, а остальной 32-11=21 разряд полного адреса (1111_1111.1110_0000.0000_0000.0000_0000) — под локальный адрес в этой сети. Итого, 10.96.0.0/11 означает диапазон адресов от 10.96.0.0 до 10.127.255.255.

IPv4 CIDR

CIDR Последний IP-адрес в подсети Маска подсети Количество адресов в подсети Количество хостов в подсети Класс подсети
a.b.c.d/32 0.0.0.0 255.255.255.255 1 1* 1/256 C
a.b.c.d/31 0.0.0.1 255.255.255.254 2 2* 1/128 C
a.b.c.d/30 0.0.0.3 255.255.255.252 4 2 1/64 C
a.b.c.d/29 0.0.0.7 255.255.255.248 8 6 1/32 C
a.b.c.d/28 0.0.0.15 255.255.255.240 16 14 1/16 C
a.b.c.d/27 0.0.0.31 255.255.255.224 32 30 1/8 C
a.b.c.d/26 0.0.0.63 255.255.255.192 64 62 1/4 C
a.b.c.d/25 0.0.0.127 255.255.255.128 128 126 1/2 C
a.b.c.0/24 0.0.0.255 255.255.255.000 256 254 1 C
a.b.c.0/23 0.0.1.255 255.255.254.000 512 510 2 C
a.b.c.0/22 0.0.3.255 255.255.252.000 1024 1022 4 C
a.b.c.0/21 0.0.7.255 255.255.248.000 2048 2046 8 C
a.b.c.0/20 0.0.15.255 255.255.240.000 4096 4094 16 C
a.b.c.0/19 0.0.31.255 255.255.224.000 8192 8190 32 C
a.b.c.0/18 0.0.63.255 255.255.192.000 16 384 16 382 64 C
a.b.c.0/17 0.0.127.255 255.255.128.000 32 768 32 766 128 C
a.b.0.0/16 0.0.255.255 255.255.000.000 65 536 65 534 256 C = 1 B
a.b.0.0/15 0.1.255.255 255.254.000.000 131 072 131 070 2 B
a.b.0.0/14 0.3.255.255 255.252.000.000 262 144 262 142 4 B
a.b.0.0/13 0.7.255.255 255.248.000.000 524 288 524 286 8 B
a.b.0.0/12 0.15.255.255 255.240.000.000 1 048 576 1 048 574 16 B
a.b.0.0/11 0.31.255.255 255.224.000.000 2 097 152 2 097 150 32 B
a.b.0.0/10 0.63.255.255 255.192.000.000 4 194 304 4 194 302 64 B
a.b.0.0/9 0.127.255.255 255.128.000.000 8 388 608 8 388 606 128 B
a.0.0.0/8 0.255.255.255 255.000.000.000 16 777 216 16 777 214 256 B = 1 A
a.0.0.0/7 1.255.255.255 254.000.000.000 33 554 432 33 554 430 2 A
a.0.0.0/6 3.255.255.255 252.000.000.000 67 108 864 67 108 862 4 A
a.0.0.0/5 7.255.255.255 248.000.000.000 134 217 728 134 217 726 8 A
a.0.0.0/4 15.255.255.255 240.000.000.000 268 435 456 268 435 454 16 A
a.0.0.0/3 31.255.255.255 224.000.000.000 536 870 912 536 870 910 32 A
a.0.0.0/2 63.255.255.255 192.000.000.000 1 073 741 824 1 073 741 822 64 A
a.0.0.0/1 127.255.255.255 128.000.000.000 2 147 483 648 2 147 483 646 128 A
0.0.0.0/0 255.255.255.255 000.000.000.000 4 294 967 296 4 294 967 294 256 A

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

Возможных узлов подсети меньше количества адресов на два: начальный адрес сети резервируется для идентификации подсети, последний адрес используется в качестве широковещательного адреса (возможны исключения в виде адресации в IPv4 сетей /32 и /31).

Выбор маски для подсети[править | править код]

Если n — количество компьютеров в подсети, округлённое до ближайшей большей степени двойки, и {displaystyle nleqslant 254} (для сетей класса C), то маска подсети вычисляется по следующей формуле: {displaystyle 2^{8}-n-2}, где двойка вычитается, так как один IP-адрес (первый в задаваемом маской диапазоне) является IP-адресом подсети и ещё один IP-адрес (последний в задаваемом маской диапазоне) является широковещательным адресом (для отправки данных всем узлам подсети). Для {displaystyle n>254} будет другая формула.

Пример: в некой подсети класса C есть 30 компьютеров; маска для такой сети вычисляется следующим образом:

28 - 30 - 2 = 224 = E0h;
маска: 255.255.255.224 = 0xFF.FF.FF.E0.

См. также[править | править код]

  • Бесклассовая адресация

Примечания[править | править код]

Литература[править | править код]

  • Олифер В. Г., Олифер Н. А. Компьютерные сети. Принципы, технологии, протоколы: Учебник для вузов = Computer Networks. Principles, Technologies and Protocols for Network Design. — 3-е изд. — СПб.: Издательский дом «Питер», 2006. — С. 572—576. — 958 с. — ISBN 5-469-00504-6.

Ссылки[править | править код]

  • Ivan Pascal. «Вычисление сетевой маски для подсети». OpenNet.ru (3 июня 2002). Дата обращения: 21 февраля 2011.
  • Сергей Верещагин. «Wildcard Mask (шаблонная маска)» (30 мая 2009). Дата обращения: 21 февраля 2011. Архивировано 25 августа 2011 года.
Маска подсети: что такое и как узнать по IP

📜 Читайте также: Google Authenticator: установка, настройка, как пользоваться – полный гайд

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

Кратко про IP-адреса

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

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

Протокол IPv4

Стандартный IP-адрес состоит из четырех чисел, разделенных точками, и представляет собой последовательность битов, которую сетевые устройства интерпретируют для передачи данных. Эти числа могут принимать значения от 0 до 255 и используются для обозначения конкретного устройства в сети. Например, адрес 172.16.0.1 в двоичном виде будет выглядеть как 10101100.00010000.00000000.00000001.

Протокол IPv4 использует 32-битное число, которое может принимать значения от 0.0.0.0 до 255.255.255.255. Например, адрес 192.168.0.1 указывает на маршрутизатор в сети 192.168.0. Также важно отметить, что в IP-адресе первые три числа обычно относятся к номеру сети, а последнее число обозначает конкретное устройство в этой сети.

Однако, адрес маршрутизатора не может быть 192.168.0.0, так как 0 используется в качестве адреса сети и не может быть использован для обозначения конкретных устройств в этой сети. Поэтому последнее число обычно начинается с 1, например, 192.168.0.1, что указывает на первое устройство в этой сети.

Особенность IPv4 в том, что этот протокол имеет ограниченное количество уникальных адресов, равное 4 294 967 296. Этого недостаточно для современных потребностей, поэтому был создан IPv6, который использует более длинные адреса и обеспечивает практически неограниченное количество уникальных адресов. Кроме того, есть зарезервированные IP-адреса для локальных сетей или тестирования сетевых приложений, поэтому при выборе IP-адреса важно учитывать его уникальность и соответствие требованиям протокола TCP/IP.

Протокол IPv6

IPv6 является следующим поколением протокола интернета и использует 128-битные адреса. Это позволяет создать огромное количество уникальных адресов — в 1028 раз больше, чем в IPv4.

В IPv6 адреса записываются в шестнадцатеричной системе счисления, а не в десятичной, как в IPv4. Это делает адреса более короткими и легкими для запоминания. Кроме того, IPv6 позволяет использовать дополнительные опции, такие как установление качества обслуживания и совместимость с IPsec (Internet Protocol Security). В связи с этим маски подсетей в IPv6 задаются по другим правилам, связанным с шестнадцатеричным форматом адресов. Теперь перейдем к основному вопросу этой статьи и расскажем о масках подсети.

Все, что нужно знать о масках подсети

Для успешного подключения к интернету по протоколу TCP/IP необходимо указать IP-адрес и маску подсети. Существует несколько классификаций сетей, которые обозначаются буквенными обозначениями A, B и C. Класс A предназначен для наиболее масштабных сетей и имеет структуру «сеть-хост-хост-хост».

Для записи маски подсети класса A используется значение 255.0.0.0 в десятичном виде или 11111111.00000000.00000000.00000000 в двоичном виде. Эта маска указывает, что первый блок в IP-адресе является сетевым, а остальные блоки предназначены для устройств в этой сети.

В отличие от класса A, класс B имеет структуру «сеть-сеть-хост-хост» и подходит для средних сетей. Класс C, в свою очередь, имеет структуру «сеть-сеть-сеть-хост» и используется для создания небольших сетей. Каждый класс имеет свой диапазон IP-адресов и масок подсетей, что позволяет определить количество узлов, которые могут быть подключены к сети.

Выбор маски подсети

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

Для класса А используется маска подсети 255.0.0.0. Если нужно подключить менее 100 устройств, то можно использовать маску 255.255.255.128, используя только половину доступных IP-адресов. Выбор маски для разделения сети на подсети зависит от количества устройств в каждой подсети. Оптимальную маску можно выбрать, чтобы оптимизировать использование ресурсов. Например, для разделения на 4 подсети используется маска 255.255.255.192, а для 8 подсетей – 255.255.255.224.

Использование масок подсетей в IPv6

Для построения сетей в протоколе IPv6 используется бесклассовая адресация CIDR, что является уникальной особенностью этого протокола. Этот метод используется для гибкой настройки подсети, поскольку позволяет использовать больше масок подсетей, в отличие от протокола IPv4. В IPv6 также есть возможность использования префиксов, которые позволяют определять, какая часть адреса относится к сети, а какая к устройству. Это делает протокол IPv6 более гибким и позволяет лучше контролировать сетевой трафик.

Для задания маски в шестнадцатеричном формате используются числа от 0 до F, образующие последовательность из 16 символов. В этой последовательности буквы A-F соответствуют значениям 10-15, что является уникальным для шестнадцатеричной системы счисления. Это позволяет использовать более гибкие и компактные записи адресов.

Для примера рассмотрим маску aaaa:aaaa:aaaa:aaaa:aaaa:aaaa:aaaa:0000. Такая маска дает возможность работать с 65536 адресами, что является уникальной особенностью IPv6, поскольку количество доступных IP-адресов в данном случае значительно больше, чем в сетях класса C протокола IPv4. А маска aaaa:aaaa:aaaa:aaaa:aaaa:aaaa:aaaa:8000 сокращает количество адресов наполовину, что является уникальной особенностью CIDR в IPv6.

Еще одна уникальность в IPv6 заключается в том, что если нужно выделить всего 256 IP-адресов, то подойдет запись aaaa:aaaa:aaaa:aaaa:aaaa:aaaa:aaaa:ff00. Также в IPv6 есть возможность использования любых допустимых значений для записи адресов, что позволяет более гибко настраивать сеть в соответствии с нуждами организации.

Определить адрес сети при помощи IP и маски подсети

Корректное определение сети, к которой относится IP-адрес, особенно важно в контексте безопасности, поскольку позволяет контролировать доступ к ресурсам внутри сети.

Чтобы определить, к какой сети относится определенный IP-адрес с заданной маской подсети, необходимо выполнить ряд последовательных действий. Сначала нужно перевести IP-адрес и маску в двоичный вид. Для перевода можно воспользоваться калькулятором. А затем применить побитовую операцию И. Это позволит вычислить адрес сети, к которой относится данный IP-адрес.

Про побитовые операции

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

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

Запомнить, как работает операция И, можно по простому правилу: результатом побитовой операции И является единица только в случае, когда в каждом из двух чисел в соответствующем разряде стоит 1. Если в одном из чисел в данном разряде стоит 0, то и результат будет 0.

Завершение

Изучив структуру IP-адреса и масок подсети в форматах IPv4 и IPv6, мы теперь можем настроить их на основе конкретных потребностей наших сетей. Не забывайте, что правильный выбор маски подсети поможет избежать конфликтов IP-адресов и обеспечить надлежащую работу сети.

Кстати, в официальном канале Timeweb Cloud собрали комьюнити из специалистов, которые говорят про IT-тренды, делятся полезными инструкциями и даже приглашают к себе работать.💥

Что такое маска подсети

Рассказываем, что такое маска подсети, как ее узнать и использовать. А также показываем, как она связана с основным шлюзом и IP-адресами.

Изображение записи

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

Что такое подсеть

В одном из значений сеть — это группа устройств под одним управлением, способных коммуницировать между собой. Также сеть означает диапазон IP-адресов — выделенный или полученный от регистратора — для конкретной физической сети. Например, выбранный приватный диапазон 10.0.0.0/8 или полученный от регистратора диапазон внешних адресов 192.0.2.0/24.

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

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

Что такое IP-адрес

IP — Internet Protocol, межсетевой протокол — на модели OSI это протокол третьего сетевого уровня. Его главная задача — адресация узлов сети и маршрутизация пакетов до них. Ключевые сущности для межсетевого протокола: IP-адрес, маска подсети и маршрут.

Теперь к понятию IP-адреса. Это уникальный идентификатор устройства (ПК, мобильного телефона, принтера и т.д.) в компьютерной сети, содержащий данные о нем.

Из чего состоит IP-адрес: IPv4 в двоичной системе и IPv6

IPv4

В версии протокола IPv4 адрес представляет собой 4-байтовое или 32-битное число. Для удобства можно реализовать перевод IP-адреса в двоичную систему. В таком случае он записывается с разбивкой по октетам в двоично-десятичном представлении — каждое число от 0 до 255 соответствует одному байту в адресе. Самый популярный пример — адрес многих роутеров 192.168.0.1.

IPv6

В версии IPv6 длина адреса составляет 128 бит, что расширяет возможности адресации. Обычно адрес принимает вид 8 четырехзначных шестнадцатеричных чисел, для упрощения адрес записывают с пропуском начальных нулей. IP-адрес 1050:0000:0000:0000:0005:0600:300c:326b можно записать как 1050:0:0:0:5:600:300c:326b.

Утверждается, что протокол IPv6 может обеспечить до 5·1028 адресов на каждого жителя Земли. Новая версия протокола была введена из-за недостатка адресов IPv4 и для иерархичности адресов, что упрощает маршрутизацию.

Просто подберите нужную конфигурацию.
А мы предоставим ресурсы и публичный IP-адрес.

Стек протоколов и сетевая модель TCP/IP

TCP — Transmission Control Protocol, протокол контроля передачи — протокол 4 транспортного уровня модели OSI. Его ключевые функции — мониторинг передачи данных, сегментация данных при отправке и сборке пакетов в правильном порядке при получении.

TCP обеспечивает надежную доставку пакетов за счет установления предварительного логического соединения методом «трех рукопожатий», или 3-way handshake, — периодического подтверждения доставки пакетов и переотправки потерянных.

Ключевой сущностью для протокола TCP является порт — 16-битное целое число от 1 до 65535. Данное число позволяет идентифицировать конкретное приложение на узле, отправляющее трафик (порт отправителя) либо принимающее на удаленном узле (порт получателя).

Стек протоколов и сетевая модель TCP/IP имеет более упрощенное разделение по уровням, чем сетевая модель OSI, но покрывает все предоставляемые ею функции. Вместо семи уровней OSI стек TCP/IP состоит из четырех:

  • уровень приложений — сетевой протокол верхнего уровня, использует HTTP, RTSP, SMTP,
  • транспортный уровень — TCP, UDP,
  • сетевой уровень — IP,
  • канальный уровень — DHCP, ARP.

Для работы с маской подсети стоит отдельно упомянуть прикладной протокол DHCP — Dynamic Host Configuration Protocol, протокол динамической конфигурации хоста. Это широковещательный протокол, позволяющий хосту получить настройки IP в автоматическом режиме без необходимости ручной настройки. В настройки входит IP-адрес, маска подсети, основной шлюз, DNS-серверы.

Подробнее о протоколе TCP →

Что такое маска подсети

Маска подсети — 32-битное число, служащее битовой маской для разделения сетевой части (адреса подсети) и части хоста IP-адреса. Состоит из последовательности от 0 до 32 двоичных единиц, после которых остаток разрядов представляют двоичные нули. Их смешение недопустимо. Устройства в одной подсети имеют одинаковый адрес подсети и передают данные на канальном уровне.

Устройства в разных подсетях коммуницируют через маршрутизацию. Как и IP-адрес, маска может быть записана в двоично-десятичной форме (например, 255.255.0.0) или в виде префикса в CIDR-нотации — числом от 0 до 32, обозначающего длину маски в битах. Например, в подсети 192.0.2.0/24 значение /24 — это маска, равная 255.255.255.0.

Маршрутизатор и основной шлюз подсети

Пересылку пакетов данных между разными IP-сетями осуществляет маршрутизатор, или роутер, — устройство, представляющее собой компьютер с несколькими сетевыми интерфейсами, на котором установлено специальное ПО для маршрутизации.

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

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

Основной шлюз — устройство или специальная ОС, которые обеспечивают коммуникацию сетей. Сейчас TCP/IP — самый популярный стек, и шлюз фактически стал синонимом маршрутизатора. Шлюз по умолчанию — маршрут до подсетей, не имеющих в таблице маршрутизации специфического маршрута.

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

Адресный план

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

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

Агрегация

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

Классовая адресация

Классовая адресация — архитектура сетевой адресации, которая делит адресное пространство протокола IPv4 на пять классов адресов: A для больших сетей, B для средних, C для небольших, D и E — служебные сети.

Принадлежность к одному из классов задается первыми битами адреса. Класс определяет количество возможных адресов хостов внутри сети. Модель классовой адресации использовали до появления CIDR.

Бесклассовая адресация

CIDR — Classless InterDomain Routing, бесклассовая междоменная маршрутизация. Это метод адресации, который позволяет гибко управлять пространством IP-адресов за счет отсутствия жестких рамок предыдущей модели.

VLSM — Variable Length Subnet Mask, переменная длина маски подсети — ключевая сущность бесклассовой адресации. При CIDR маска может быть любой длины от 0 до 32 бит, тогда как в случае классовой адресации маске подсети давалось фиксированное значение в зависимости от класса: 8, 16 или 24 бит.

VLSM повышает удобство использования подсетей, поскольку они могут быть разного размера. Допустим, администратору нужно управлять четырьмя отделами с определенным количеством компьютеров: продажи и закупки (120 компьютеров), разработка (50), аккаунты (26) и отдел управления (5).

IP администратора 192.168.1.0/24. Для каждого сегмента производится расчет размера блока, который больше или равен фактической потребности, представляющей собой сумму адресов хостов, широковещательных адресов и сетевых адресов. Список возможных подсетей:

Обозначение  Хосты/подсети
/24 254
/25 126
/26 62
/27 30
/28 14
/29 6
/30 2

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

Наибольший доступный IP должен быть выделен для самых больших потребностей, то есть для самого большого количества ПК. У отдела продаж и закупок — 120 ПК. Он получает 192.168.1.0/25, который имеет 126 действительных адресов, легко доступные для 120 хостов. Используемая маска подсети 255.255.255.128.

Следующий сегмент — отдел разработки — требует IP для обслуживания 50 хостов. IP-подсеть с сетевым номером 192.168.1.128/26 является следующей по величине, которая может быть назначена для 62 хостов, таким образом выполняя требование отдела. Маска будет иметь значение 255.255.255.192.

Аналогично следующая IP подсеть 192.168.1.192/27 может удовлетворить требования аккаунт-отдела, так как она имеет 30 действительных IP-хостов, которые могут быть назначены 26 компьютерам. Используемая маска подсети 255.255.255.224.

Последний сегмент требует 5 действительных хостов IP, которые могут быть выполнены подсетью 192.168.1.224/29 с маской 255.255.255.248. Можно было бы выбрать IP с маской 255.255.255.240, но он имеет 14 действительных хостов IP. Поскольку требования меньше — выбирается наиболее сопоставимый вариант.

Будущее IP-адресов — архитектура RINA

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

Возможная технология будущего для IP-адресов — Recursive InterNetwork Architecture. RINA — новая сетевая архитектура, основанная на фундаментальном принципе, что сетевое взаимодействие — это межпроцессное взаимодействие (IPC). Она рекурсирует службу IPC в различных диапазонах.

Архитектура RINA обладает свойствами, которые по своей сути решают давние проблемы сетевого взаимодействия. Прежде всего, повторяющаяся структура ее модели распределенного IPC позволяет ей неограниченно масштабироваться, что позволяет избежать текущих проблем с растущими таблицами маршрутизации. Кроме того, RINA рассматривает каждый DIF как частную сеть, что обеспечивает внутреннюю безопасность.

Subnet Cheat Sheet – 24 Subnet Mask, 30, 26, 27, 29, and other IP Address CIDR Network References

As a developer or network engineer, you may need to occasionally look up subnet mask values and figure out what they mean.

To make your life easier, the freeCodeCamp community has made this simple cheat sheet. Just scroll or use Ctrl/Cmd + f to find the value you’re looking for.

Here are the charts, followed by some explanations of what they mean.

CIDR Subnet mask Wildcard mask # of IP addresses # of usable IP addresses
/32 255.255.255.255 0.0.0.0 1 1
/31 255.255.255.254 0.0.0.1 2 2*
/30 255.255.255.252 0.0.0.3 4 2
/29 255.255.255.248 0.0.0.7 8 6
/28 255.255.255.240 0.0.0.15 16 14
/27 255.255.255.224 0.0.0.31 32 30
/26 255.255.255.192 0.0.0.63 64 62
/25 255.255.255.128 0.0.0.127 128 126
/24 255.255.255.0 0.0.0.255 256 254
/23 255.255.254.0 0.0.1.255 512 510
/22 255.255.252.0 0.0.3.255 1,024 1,022
/21 255.255.248.0 0.0.7.255 2,048 2,046
/20 255.255.240.0 0.0.15.255 4,096 4,094
/19 255.255.224.0 0.0.31.255 8,192 8,190
/18 255.255.192.0 0.0.63.255 16,384 16,382
/17 255.255.128.0 0.0.127.255 32,768 32,766
/16 255.255.0.0 0.0.255.255 65,536 65,534
/15 255.254.0.0 0.1.255.255 131,072 131,070
/14 255.252.0.0 0.3.255.255 262,144 262,142
/13 255.248.0.0 0.7.255.255 524,288 524,286
/12 255.240.0.0 0.15.255.255 1,048,576 1,048,574
/11 255.224.0.0 0.31.255.255 2,097,152 2,097,150
/10 255.192.0.0 0.63.255.255 4,194,304 4,194,302
/9 255.128.0.0 0.127.255.255 8,388,608 8,388,606
/8 255.0.0.0 0.255.255.255 16,777,216 16,777,214
/7 254.0.0.0 1.255.255.255 33,554,432 33,554,430
/6 252.0.0.0 3.255.255.255 67,108,864 67,108,862
/5 248.0.0.0 7.255.255.255 134,217,728 134,217,726
/4 240.0.0.0 15.255.255.255 268,435,456 268,435,454
/3 224.0.0.0 31.255.255.255 536,870,912 536,870,910
/2 192.0.0.0 63.255.255.255 1,073,741,824 1,073,741,822
/1 128.0.0.0 127.255.255.255 2,147,483,648 2,147,483,646
/0 0.0.0.0 255.255.255.255 4,294,967,296 4,294,967,294

* /31 is a special case detailed in RFC 3021 where networks with this type of subnet mask can assign two IP addresses as a point-to-point link.

And here’s a table of the decimal to binary conversions for subnet mask and wildcard octets:

Subnet Mask Wildcard
0 00000000 255 11111111
128 10000000 127 01111111
192 11000000 63 00111111
224 11100000 31 00011111
240 11110000 15 00001111
248 11111000 7 00000111
252 11111100 3 00000011
254 11111110 1 00000001
255 11111111 0 00000000

Note that the wildcard is just the inverse of the subnet mask.

If you are new to network engineering, you can get a better idea of how computer networks work here.

Finally, this cheat sheet and the rest of the article is focused on IPv4 addresses, not the newer IPv6 protocol. If you’d like to learn more about IPv6, check out the article on computer networks above.

How Do IP Address Blocks Work?

IPv4 addresses like 192.168.0.1 are really just decimal representations of four binary blocks.

Each block is 8 bits, and represents numbers from 0-255. Because the blocks are groups of 8 bits, each block is known as an octet. And since there are four blocks of 8 bits, every IPv4 address is 32 bits.

For example, here’s what the IP address 172.16.254.1 looks like in binary:

1125px-Ipv4_address

Source: IPv4

To convert an IP address between its decimal and binary forms, you can use this chart:

128 64 32 16 8 4 2 1
x x x x x x x x

The chart above represents one 8 bit octive.

Now lets say you want to convert the IP address 168.210.225.206. All you need to do is break the address into four blocks (168, 210, 225, and 206), and convert each into binary using the chart above.

Remember that in binary, 1 is the equivalent to “on” and 0 is “off”. So to convert the first block, 168, into binary, just start from the beginning of the chart and place a 1 or 0 in that cell until you get a sum of 168.

For example:

128 64 32 16 8 4 2 1
1 0 1 0 1 0 0 0

128 + 32 + 8 = 168, which in binary is 10101000.

If you do this for the rest of the blocks, you’d get 10101000.11010010.11100001.11001110.

What is Subnetting?

If you look at the table above, it can seem like the number of IP addresses is practically unlimited. After all, there are almost 4.2 billion possible IPv4 addresses available.

But if you think about how much the internet has grown, and how many more devices are connected these days, it might not surprise you to hear that there’s already a shortage of IPv4 addresses.

Because the shortage was recognized years ago, developers came up with a way to split up an IP address into smaller networks called subnets.

This process, called subnetting, uses the host section of the IP address to break it down into those smaller networks or subnets.

Generally, an IP address is made up of network bits and host bits:

network-and-host-bits

Source: What is IPv4

So generally, subnetting does two things: it gives us a way to break up networks into subnets, and allows devices to determine whether another device/IP address is on the same local network or not.

A good way to think about subnetting is to picture your wireless network at home.

Without subnetting, every internet connected device would need its own unique IP address.

But since you have a wireless router, you just need one IP address for your router. This public or external IP address is usually handled automatically, and is assigned by your internet service provider (ISP).

Then every device connected to that router has its own private or internal IP address:

home-network-diagram

Source: What Is My IP Address?

Now if your device with the internal IP address 192.168.1.101 wants to communicate with another device, it’ll use the IP address of the other device and the subnet mask.

The combination of the IP addresses and subnet mask allows the device at 192.168.1.101 to figure out if the other device is on the same network (like the device at 192.168.1.103), or on a completely different network somewhere else online.

Interestingly, the external IP address assigned to your router by your ISP is probably part of a subnet, which might include many other IP addresses for nearby homes or businesses. And just like internal IP addresses, it also needs a subnet mask to work.

How Subnet Masks Work

Subnet masks function as a sort of filter for an IP address. With a subnet mask, devices can look at an IP address, and figure out which parts are the network bits and which are the host bits.

Then using those things, it can figure out the best way for those devices to communicate.

If you’ve poked around the network settings on your router or computer, you’ve likely seen this number: 255.255.255.0.

If so, you’ve seen a very common subnet mask for simple home networks.

Like IPv4 addresses, subnet masks are 32 bits. And just like converting an IP address into binary, you can do the same thing with a subnet mask.

For example, here’s our chart from earlier:

128 64 32 16 8 4 2 1
x x x x x x x x

Now let’s convert the first octet, 255:

128 64 32 16 8 4 2 1
1 1 1 1 1 1 1 1

Pretty simple, right? So any octet that’s 255 is just 11111111 in binary. This means that 255.255.255.0 is really 11111111.11111111.11111111.00000000 in binary.

Now let’s look at a subnet mask and IP address together and calculate which parts of the IP address are the network bits and host bits.

Here are the two in both decimal and binary:

Type Decimal Binary
IP address 192.168.0.101 11000000.10101000.00000000.01100101
Subnet mask 255.255.255.0 11111111.11111111.11111111.00000000

With the two laid out like this, it’s easy to separate 192.168.0.101 into network bits and host bits.

Whenever a bit in a binary subnet mask is 1, then the same bit in a binary IP address is part of the network, not the host.

Since the octet 255 is 11111111 in binary, that whole octet in the IP address is part of the network. So the first three octets, 192.168.0, is the network portion of the IP address, and 101 is the host portion.

In other words, if the device at 192.168.0.101 wants to communicate with another device, using the subnet mask it knows that anything with the IP address 192.168.0.xxx is on the same local network.

Another way to express this is with a network ID, which is just the network portion of the IP address. So the network ID of the address 192.168.0.101 with a subnet mask of 255.255.255.0 is 192.168.0.0.

And it’s the same for the other devices on the local network (192.168.0.102, 192.168.0.103, and so on).

What Does CIDR Mean and What is CIDR Notation?

CIDR stands for Classless Inter-Domain Routing, and is used in IPv4, and more recently, IPv6 routing.

1920px-IP_Address_Match.svg

Source: Classless Inter-Domain Routing

CIDR was introduced in 1993 as a way to slow the usage of IPv4 addresses, which were quickly being exhausted under the older Classful IP addressing system that the internet was first built on.

CIDR encompasses a couple of major concepts.

The first is Variable Length Submasking (VLSM), which basically allowed network engineers to create subnets within subnets. And those subnets could be different sizes, so there would be fewer unused IP addresses.

The second major concept CIDR introduced is CIDR notation.

CIDR notation is really just shorthand for the subnet mask, and represents the number of bits available to the IP address. For instance, the /24 in 192.168.0.101/24 is equivalent to the IP address 192.168.0.101 and the subnet mask 255.255.255.0.

How to Calculate CIDR Noation

To figure out the CIDR notation for a given subnet mask, all you need to do is convert the subnet mask into binary, then count the number of ones or “on” digits. For example:

Type Decimal Binary
Subnet mask 255.255.255.0 11111111.11111111.11111111.00000000

Because there’s three octets of ones, there are 24 “on” bits meaning that the CIDR notation is /24.

You can write it either way, but I’m sure you’ll agree that /24 is a whole lot easier to write than 255.255.255.0.

This is usually done with an IP address, so let’s take a look at the same subnet mask with an IP address:

Type Decimal Binary
IP address 192.168.0.101 11000000.10101000.00000000.01100101
Subnet mask 255.255.255.0 11111111.11111111.11111111.00000000

The first three octets of the subnet mask are all “on” bits, so that means that the same three octets in the IP address are all network bits.

Let’s take a look at the last forth octet in a bit more detail:

Type Decimal Binary
IP address 101 01100101
Subnet mask 0 00000000

In this case, because all the bits for this octet in the subnet mask are “off”, we can be certain that all of the corresponding bits for this octet in the IP address are part of the host.

When you write CIDR notation it’s usually done with the network ID. So the CIDR notation of the IP address 192.168.0.101 with a subnet mask of 255.255.255.0 is 192.168.0.0/24.

To see more examples of how to calculate the CIDR notation and network ID for a given IP address and subnet mask, check out this video:

Classful IP Addressing

Now that we’ve gone over some basic examples of subnetting and CIDR, let’s zoom out and look at what’s known as Classful IP addressing.

Back before subnetting was developed, all IP addresses fell into a particular class:

subnetting

Source: Subnetting for dummies

Note that there are class D and E IP addresses, but we’ll go into these in more detail a bit later.

Classful IP addresses gave network engineers a way to provide different organizations with a range of valid IP addresses.

There were a lot of issues with this approach that eventually lead to subnetting. But before we get into those, let’s take a closer look at the different classes.

Class A IP Addresses

For Class A IP addresses,  the first octet (8 bits / 1 byte) represent the network ID, and the remaining three octets (24 bits / 3 bytes) are the host ID.

Class A IP addresses range from 1.0.0.0 to 127.255.255.255, with a default mask of 255.0.0.0 (or /8 in CIDR).

This means that Class A addressing can have a total of 128 (27) networks and 16,777,214 (224-2) usable addresses per network.

Also, note that the range 127.0.0.0 to 127.255.255.255 within the Class A range is reserved for host loopback address (see RFC5735).

Class B IP Addresses

For Class B IP addresses, the first two octets (16 bits / 2 bytes) represent the network ID and the remaining two octets (16 bits / 2 bytes) are the host ID.

Class B IP addresses range from 128.0.0.0 to 191.255.255.255, with a default subnet mask of 255.255.0.0 (or /16 in CIDR).

Class B addressing can have 16,384 (214) network addresses and 65,534 (216) usable addresses per network.

Class C IP Addresses

For Class C IP addresses, the first three octets (24 bits / 3 bytes) represent the network ID and the last octet (8 bits / 1 bytes) is the host ID.

Class C IP Addresses range from 192.0.0.0 to 223.255.255.255, with a default subnet mask of 255.255.255.0 (or /24 in CIDR).

Class C translates to 2,097,152 (221) networks and 254 (28-2) usable addresses per network.

Class D and Class E IP Addresses

The last two classes are Class D and Class E.

Class D IP addresses are reserved for multicasts. They occupy the range from 224.0.0.0 through 239.255.255.255.

Class E IP addresses are experimental, and are anything over 240.0.0.0.

The Issue with Classful IP Addresses

The main issue with classful IP addresses is that it wasn’t efficient, and could lead to a lot of wasted IP addresses.

For example, imagine that you’re part of a large organization back then. Your company has 1,000 employees, meaning that it would fall into class B.

But if you look above, you’ll see that a class B network can support up to 65,534 usable addresses. That’s way more than your organization would likely need, even if each employee had multiple devices with a unique address.

And there was no way your organization could fall back to class C – there just wouldn’t be enough usable IP addresses.

So while classful IP addresses were used around the time IPv4 addresses became widespread, it quickly became clear that a better system would be necessary to ensure we wouldn’t use up all of the ~4.2 billion usable addresses.

Classful IP addresses haven’t been used since they were replaced by CIDR in 1993, and are mostly studied to understand early internet architecture, and why subnetting is important.

I hope this cheat sheet has been a helpful reference for you

If you found this helpful, please share it with your friends so more people can benefit from it.

Also, feel free to reach out on Twitter and let me know what you think.



Learn to code for free. freeCodeCamp’s open source curriculum has helped more than 40,000 people get jobs as developers. Get started

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