Подсеть
Функционал
Компьютеры, принадлежащие одной подсети, имеют одинаковую группу старших битов (most-significant bits) в своих IP-адресах. Это приводит к логическому делению IP-адреса на два поля: сетевой номер или маршрутизирующий префикс и остальное поле или идентификатор хоста. Идентификатор хоста уникально определяет конкретный хост или сетевой интерфейс.
Маршрутизирующий префикс может быть выражен как первый адрес сети в нотации CIDR (Classless Inter-Domain Routing) — адрес, за которым следует косая черта (/) и длина префикса в битах. Например, запись обозначает сеть IPv4, в которой 24 бита зарезервированы под адрес сети, а остальные 8 бит используются для адресации хостов. Адреса в диапазоне от до принадлежат этой сети, а используется как широковещательный адрес подсети. Аналогично для IPv6 запись определяет большой блок из 296 адресов с 32-битным маршрутизирующим префиксом.
Для IPv4 сеть также может характеризоваться маской подсети (subnet mask, netmask), которая является битовой маской, отделяющей префикс сети. Маски подсети записывают в точечной десятичной нотации аналогично IP-адресам. Например, для префикса маска подсети будет .
Обмен трафиком между подсетями осуществляется через маршрутизаторы в случае, если маршрутизирующие префиксы исходного и целевого адреса различаются. Таким образом, маршрутизатор служит логической или физической границей между подсетями.
Польза разбиения сети на подсети может различаться в зависимости от сценария использования. В архитектуре адресации Интернета с использованием CIDR и в крупных организациях эффективное распределение адресного пространства критически важно. Кроме того, разбиение на подсети может повысить эффективность маршрутизации или упростить администрирование в случаях, когда подсетями управляют различные подразделения. Подсети могут быть логически организованы в иерархическую структуру (дерево маршрутизации) или сетевые топологии типа "меш".
Адресация и маршрутизация в сети
Компьютеры, участвующие в IP-сети, имеют как минимум один сетевой адрес. Обычно он уникален для каждого устройства и может быть назначен автоматически с помощью сетевой службы (DHCP), вручную администратором или автоматически операционной системой через механизм безусловной автоконфигурации адресов (stateless address autoconfiguration).
Сетевой адрес выполняет функции идентификации и определения местоположения хоста в сети для маршрутизации. Наиболее распространённая архитектура адресации — IPv4, однако его преемник IPv6 активно внедряется с 2006 года. Адрес IPv4 состоит из 32 бит, адрес IPv6 — из 128 бит. В обоих случаях IP-адрес логически делится на две части: маршрутизирующий префикс и идентификатор хоста. Все хосты в одной подсети имеют одинаковый префикс (он занимает старшие биты адреса), а количество бит, выделяемых под префикс, может различаться и определяется архитектурой сети. Идентификатор хоста обычно уникален в пределах локальной сети и может соответствовать номеру хоста или идентификатору интерфейса.
Такая структура адресации позволяет избирательно маршрутизировать IP-пакеты между разными сетями через шлюзовые компьютеры (маршрутизаторы), если префиксы адресов источника и назначения различаются, или доставлять пакеты напрямую в пределах одной подсети при совпадающих префиксах. Маршрутизаторы определяют границы между подсетями и управляют межподсетевым трафиком. Каждая подсеть обслуживается назначенным по умолчанию маршрутизатором, но может состоять из нескольких физических сегментов Ethernet, связанных сетевыми коммутаторами.
Маршрутизирующий префикс адреса определяется маской подсети, записываемой аналогично IP-адресу. Например, маска соответствует тому, что старшие 24 бита IPv4-адреса выделены под префикс.
Современным стандартом задания префикса сети является нотация CIDR, используемая как для IPv4, так и для IPv6. В ней число бит в префиксе добавляется к адресу после символа /. Эта запись была введена с появлением бесклассовой маршрутизации (Classless Inter-Domain Routing), описанной в RFC 4632[2]. Этот документ имеет статус «Наилучшая текущая практика» (Best Current Practice, BCP 122) и аннулировал предыдущую спецификацию RFC 1519[2]. В IPv6 это единственный стандартный способ обозначения префикса сети.
Например, сеть IPv4 с маской записывается как , а для IPv6 определяет адрес с 32-старшими битами для префикса.
В классовой (classful) адресации IPv4 до появления CIDR префикс сети определялся автоматически по старшему биту IP-адреса, что однозначно определяло класс (A, B, C) и соответствующую маску. После перехода к CIDR для интерфейса требуется явно указывать адрес и маску подсети.
Зная исходный IPv4-адрес, связанную с ним маску подсети и адрес назначения, маршрутизатор может определить, находится ли целевой адрес в локальной сети или вне её. Маска подсети назначения для этого не требуется, и обычно маршрутизатор не знает её[3]. Данный документ имеет статус «Стандарт Интернета» (Internet Standard) и, хотя был обновлён более поздними RFC, остаётся одной из основополагающих спецификаций[4]. Для IPv6 алгоритм обнаружения на одной подсети отличается и требует применения протокола NDP, который определён в RFC 4861 (статус «Проект стандарта»)[5]. Положения этого документа были уточнены в RFC 5942 (статус «Предлагаемый стандарт»)[6], который разъясняет, что в IPv6 префикс «on-link» не обязан совпадать с префиксом адреса интерфейса (за исключением локальных адресов).
Каждая физически подключённая подсеть должна иметь отдельную запись в маршрутизирующей таблице каждого связанного маршрутизатора, что увеличивает сложность маршрутизации. Однако при грамотной организации маршруты к удалённым подсетям в ветвях дерева могут быть агрегированы в supernetwork и представлены одной маршрутной записью.
Протокол IPv4
Определение префикса сети
Маска подсети IPv4 состоит из 32 бит: последовательности единиц (1), за которыми следуют нули (0). Единицы указывают биты, относящиеся к префиксу, а нули — к идентификатору хоста.
Пример разбиения адреса и маски () на префикс сети и идентификатор хоста:
| Двоичная форма | Десятичная запись | |
|---|---|---|
| IP-адрес | 11000000.00000000.00000010.10000010
|
192.0.2.130 |
| Маска подсети | 11111111.11111111.11111111.00000000
|
255.255.255.0 |
| Префикс сети | 11000000.00000000.00000010.00000000
|
192.0.2.0 |
| Идентификатор хоста | 00000000.00000000.00000000.10000010
|
0.0.0.130 |
Результатом побитовой операции И между адресом и маской подсети является префикс сети . Часть адреса, соответствующая хосту, определяется побитовой операцией И между адресом и инверсией (единичным дополнением) маски подсети.
Разбиение на подсети
Разбиение на подсети (сабнеттинг) осуществляется путём включения части старших битов поля хоста в префикс сети и соответствующего изменения маски подсети, в результате чего исходная сеть разбивается на более мелкие подсети. Например, если добавить два бита к префиксу, то из одной сети получаем четыре подсети — каждая вчетверо меньше исходной.
| Двоичная форма | Десятичная запись | |
|---|---|---|
| IP-адрес | 11000000.00000000.00000010.10000010
|
192.0.2.130 |
| Маска подсети | 11111111.11111111.11111111.11000000
|
255.255.255.192 |
| Префикс сети | 11000000.00000000.00000010.10000000
|
192.0.2.128 |
| Идентификатор хоста | 00000000.00000000.00000000.00000010
|
0.0.0.2 |
Метод масок подсети переменной длины (VLSM, англ. Variable Length Subnet Mask) позволяет разделять одно адресное пространство на подсети разных размеров, применяя маски различной длины в зависимости от требуемого количества хостов. Использование VLSM обеспечивает эффективное использование IP-адресов, минимизируя потерю неиспользуемых адресов, что особенно важно для экономии ограниченного пула IPv4. Кроме того, метод повышает гибкость и масштабируемость сети, а также оптимизирует маршрутизацию за счёт поддержки иерархического дизайна и эффективного суммирования маршрутов[7].[8].
В качестве примера использования VLSM сеть 192.168.1.0/24 (256 адресов) можно разделить на сегменты разного размера: для крупного отдела на 50 устройств может быть выделена подсеть 192.168.1.0/26 (64 адреса), для небольшого отдела на 10 устройств — 192.168.1.64/28 (16 адресов), а для соединения «точка-точка» из двух устройств — 192.168.1.80/30 (4 адреса)[9].
Специальные адреса и подсети
В IPv4 выделяются специальные форматы адресов для поддержки специфических функций. Первая и последняя подсети, полученные разбиением большей сети, традиционно имели особое назначение и ранее использовались по-особому. Кроме того, последний адрес внутри любой подсети (адрес «все единицы» в поле хоста) используется для широковещательной рассылки (broadcast) по всей подсети.
Первая подсеть при разбиении имеет в позиции битов подсети все нули и называется нулевой подсетью (subnet zero). Последняя подсеть состоит исключительно из единичных битов в позиции битов подсети и называется всеединичной подсетью (all-ones subnet).
Ранее рабочее использование этих двух подсетей IETF рекомендовала избегать. Если длина префикса недоступна, адрес всей сети и первой подсети совпадают, что может вызывать путаницу. Аналогично возможна путаница вследствие совпадения адреса трансляции и адреса последней подсети. Поэтому на публичных сетях рекомендовалось резервировать подсети с нулём и единицами в поле подсети[10], что уменьшало количество доступных подсетей на две для каждой операции разбиения. Со временем эта неэффективность была устранена; практика запрещения использования нулевой и всеединичной подсети объявлена устаревшей в 1995 году и теперь актуальна только для устаревшего оборудования[11]. Позднее самому документу RFC 1878 был присвоен статус «Исторический»[12].
Хотя значения адресов с "все нули" и "все единицы" в поле хоста резервируются как сетевой адрес подсети и ее широковещательный адрес соответственно, при использовании CIDR все подсети становятся доступными для использования. Например, сеть с префиксом /24 можно разделить на 16 корректных подсетей размером /28 каждая. Адрес трансляции (например, *.15, *.31 и т. д.) уменьшает только число доступных хостов в конкретной подсети.
Стандарт RFC 1918 определяет диапазоны частных IP-адресов, которые используются во внутренних сетях. Устройства в таких сетях получают частные адреса и связываются с Интернетом через маршрутизаторы или межсетевые экраны с использованием технологии NAT, которая транслирует их в публичные IP-адреса. К диапазонам частных адресов относятся: 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16[13].[14]
Согласно документу RFC 6890, также выделен ряд зарезервированных адресов специального назначения, среди которых:[15][16]
- 100.64.0.0/10 (RFC 6598) — адресное пространство для сетей сервис-провайдеров (Shared Address Space). Оно применяется для провайдерского NAT (CGNAT), что позволяет избежать конфликтов маршрутизации с внутренними подсетями клиентов[13].[15]
- 169.254.0.0/16 (RFC 3927) — канальные адреса (Link Local), используемые для автоматического назначения IP-адреса при недоступности DHCP-сервера[15].[16]
- 198.18.0.0/15 (RFC 2544) — адреса для стендов тестирования производительности сетевых устройств (Benchmarking)[15].[16]
Количество хостов в подсети
Количество доступных подсетей и хостов легко вычисляется. Например, сеть можно разбить на четыре подсети . Жирным выделены два бита, добавляемые к сетевому номеру:
| Сеть | Сеть (двоично) | Широковещательный адрес |
|---|---|---|
| 192.168.5.0/26 | 11000000.10101000.00000101.00000000
|
192.168.5.63 |
| 192.168.5.64/26 | 11000000.10101000.00000101.01000000
|
192.168.5.127 |
| 192.168.5.128/26 | 11000000.10101000.00000101.10000000
|
192.168.5.191 |
| 192.168.5.192/26 | 11000000.10101000.00000101.11000000
|
192.168.5.255 |
Оставшиеся после выделения битов подсети используются для адресации хостов. В данном примере маска состоит из 26 бит (255.255.255.192), оставляя 6 бит для идентификатора хоста, то есть 62 возможных хоста (26−2).
В общем случае число возможных хостов в подсети — 2h−2, где h — число бит поля хоста; а число подсетей — 2n, где n — битов в сетевом префиксе.
Исключениями являются префиксы /31 и /32. Префикс /31 (маска из 31 бита)[17] применяется для соединений «точка-точка» (2 хоста)[18][19], где отдельное выделение адресов сети и трансляции не требуется; этот документ имеет статус «Предлагаемый стандарт» (Proposed Standard)[17]. Префикс /32 обозначает маршрут к одному конкретному узлу (1 хост)[18][19].
| Маска | IP-адреса | Хосты | Маска подсети |
|---|---|---|---|
| 2 | 2 | ||
| 4 | 2 | ||
| 8 | 6 | ||
| 16 | 14 | ||
| 32 | 30 | ||
| 64 | 62 | ||
| 128 | 126 | ||
| 256 | 254 | ||
| 512 | 510 | ||
| 1024 | 1022 | ||
| 2048 | 2046 | ||
| 4096 | 4094 | ||
| 8192 | 8190 | ||
| 16384 | 16382 | ||
| 32768 | 32766 | ||
| 65536 | 65534 |
Рынок IPv4-адресов
К 2026 году свободные пулы IPv4-адресов оказались практически исчерпаны (осталось около 3,9 млн нераспределённых адресов), в результате чего вторичный рынок трансферов и аренды стал основным источником получения ресурсов[20]. За 2025 год через реестры было передано более 33 млн адресов[21]. На вторичном рынке сформировалась разница в ценообразовании: стоимость крупных блоков (от /16) закрепилась на уровне ниже 20 долларов США за IP-адрес, тогда как мелкие (например, /24) торгуются в диапазоне 25—45 долларов. Устойчиво растёт рынок аренды (лизинга), где средние ставки составляют 0,30—0,50 доллара за адрес в месяц, а в Азиатско-Тихоокеанском регионе превышают 0,60 доллара[20]. Региональные интернет-регистраторы (RIR) применяют различные подходы к регулированию трансферов:
- RIPE NCC (Европа и Ближний Восток) выступает главным мировым центром ликвидности благодаря отсутствию требований к обоснованию потребности для большинства трансферов, однако действует 24-месячный запрет на повторную перепродажу полученных блоков[22][23].
- ARIN (Северная Америка) требует обоснования потребности в адресах и применяет 12-месячный период удержания после трансфера[22].
- APNIC (Азия и Тихоокеанский регион) сохраняет строгие требования к использованию адресов и применяет пятилетний запрет на передачу блоков, выделенных из последнего пула 103/8[22][24].
- LACNIC (Латинская Америка) из-за жёстких правил обоснования и исторического запрета на лизинг в 2025 году стал крупнейшим источником оттока адресов на глобальный рынок[22][23].
- AFRINIC (Африка) в феврале 2026 года ратифицировал политику межрегиональных трансферов, что позволило региону интегрироваться в глобальный рынок[23].
Ужесточение регуляторных требований (включая верификацию и проверку санкционных списков) и внедрение стандартов безопасности маршрутизации (RPKI/ROA) увеличивают сроки оформления сложных трансферов до 4—8 недель[25][26].
Протокол IPv6
Архитектура адресного пространства IPv6 кардинально отличается от IPv4. Главная причина разбиения на подсети в IPv4 — экономно использовать сравнительно небольшой адресный диапазон, особенно в корпоративных сетях. В IPv6 этот фактор неактуален, поскольку пространство адресации настолько велико, что ограничения отсутствуют.
Как и в IPv4, разбиение на подсети в IPv6 строится на концепциях VLSM (маски переменной длины) и методологии CIDR. Оно используется для маршрутизации как между глобальными областями, так и внутри локальных сетей клиентов, а также в инфраструктуре сети Интернет в целом.
Стандартной практикой для любой конечной подсети (например, LAN) является использование префикса /64[27]. Это связано с требованием механизма автоматической конфигурации адресов (SLAAC), который использует 64 бита для формирования идентификатора интерфейса[27]. Для двухточечных соединений (point-to-point), например, между маршрутизаторами, лучшей практикой (BCP 198), согласно RFC 7608, является использование префикса /127[28]. Такой подход экономит адресное пространство и защищает от атак на исчерпание кэша соседей, в отличие от устаревшей практики использования /64 для таких каналов[29].
В IPv6 отсутствуют широковещательные адреса (broadcast) и адреса сети в том виде, как они существуют в IPv4. Однако некоторые адреса зарезервированы. Согласно RFC 4291, адрес с нулевым идентификатором интерфейса (например, 2001:db8:1:: в подсети /64) является зарезервированным anycast-адресом маршрутизатора подсети (Subnet-Router anycast address)[30]. Пакет, отправленный на этот адрес, доставляется ближайшему маршрутизатору в данной подсети. Этот адрес является обязательным для всех маршрутизаторов и не может быть присвоен отдельному хосту[30].
Рекомендации по выделению префиксов конечным пользователям (сайтам) изменились со временем. Хотя первоначально стандарт RFC 3177 предлагал выделять /48 каждому сайту, более гибкий подход, изложенный в RFC 6177 (BCP 157), стал текущей практикой[31]. Современные рекомендации[29]:
- /48 — для крупных организаций, что позволяет создать 65 536 подсетей /64.
- /56 — стандартный размер для домашних пользователей и малого бизнеса, предоставляющий 256 подсетей /64.
Выделение единственного префикса /64 конечному сайту считается ошибкой, так как это лишает пользователя возможности создавать собственные подсети (например, для гостевой сети)[32]. Также рекомендуется, чтобы выделяемые префиксы были постоянными (persistent), а не динамическими, для стабильной работы сетевых сервисов[29].
В соответствии с актуальными стандартами (в частности, RFC 8064), подходы к формированию 64-битных идентификаторов интерфейса (IID) сместились в сторону защиты приватности и отказа от привязки к аппаратному MAC-адресу (устаревший метод Modified EUI-64). Современные операционные системы по умолчанию используют стабильные приватные адреса (Stable Privacy Addresses, RFC 7217), которые генерируются с помощью криптографического хеширования и остаются неизменными в пределах одной подсети, а также временные адреса (Privacy Extensions, RFC 8981) для исходящих соединений[33][34].
Внутри каждой подсети IPv6 зарезервированы 128 старших значений идентификатора интерфейса для назначения в качестве anycast-адресов. Помимо упомянутого Subnet-Router Anycast Address (идентификатор 0), к ним относятся IPv6 over GeoNetworking geographic anycast (125), Mobile IPv6 Home-Agents anycast (126), а также зарезервированные пулы (1–124 и 127)[35]. Кроме того, для новых протоколов маршрутизации выделен специфический глобальный блок адресов, например, 5f00::/16 для Segment Routing (SRv6) SIDs (RFC 9602)[36].
Современные сетевые архитектуры
Облачные сети и VPC
В облачных инфраструктурах подсети используются для сегментации виртуальных частных облаков (VPC), позволяя разделить общий диапазон IP-адресов на более мелкие логические сегменты. Это обеспечивает изоляцию ресурсов и повышает безопасность. Традиционно подсети делятся на публичные и приватные. Публичные подсети имеют прямой доступ к интернету и предназначены для размещения публичных ресурсов, таких как веб-серверы и балансировщики нагрузки. Приватные подсети изолированы от прямого входящего интернет-трафика и используются для защиты критичных внутренних компонентов, таких как базы данных и серверы приложений. Реализация подсетей различается в зависимости от облачного провайдера: например, в Amazon Web Services (AWS) каждая подсеть жёстко привязана к одной зоне доступности, тогда как в Microsoft Azure подсеть является региональной конструкцией и может охватывать несколько зон доступности[37]..
Программно-определяемые сети
В программно-определяемых сетях (SDN) виртуальные подсети абстрагированы от физической топологии. Для создания логических сегментов поверх маршрутизируемой IP-инфраструктуры (андерлея) применяются оверлейные протоколы инкапсуляции, такие как VXLAN и GENEVE. Это позволяет растягивать подсети на любое количество хостов и центров обработки данных независимо от нижележащей физической сети[38][39]. В фабриках маршрутизации на базе BGP EVPN для обеспечения мобильности узлов используется технология распределённого шлюза (Anycast Gateway). Она позволяет хостам одной подсети свободно перемещаться между различными физическими локациями без изменения IP-адреса, так как все граничные коммутаторы настраиваются с идентичными IP- и MAC-адресами шлюза.
Контейнерные среды
В Kubernetes для динамического управления подсетями и распределения IP-префиксов между узлами кластера применяются сетевые плагины стандарта CNI (Container Network Interface). При инициализации каждый узел получает начальный пул IP-адресов[40]. При запуске нового Pod'а компонент kubelet инициирует настройку сети и обращается к CNI-плагину, который автоматически выбирает свободный адрес из выделенной узлу подсети и назначает его контейнеру[41]. В процессе работы кластера пулы адресов могут расширяться динамически: если количество свободных IP-адресов на узле падает ниже определённого порога, узел запрашивает дополнительный блок адресов[40].
Мобильные сети 5G и pLTE
В частных сетях 5G и pLTE применяется технология сетевого слайсинга (англ. Network Slicing), позволяющая создавать виртуальные изолированные логические подсети (слайсы) на базе единой физической инфраструктуры. С помощью программно-определяемых сетей (SDN) и виртуализации сетевых функций (NFV) ресурсы могут динамически перераспределяться под конкретные задачи. Строгая логическая изоляция сегментов обеспечивает высокий уровень безопасности: компрометация одной подсети не влияет на работу других[42]. Для различных типов трафика в сетях 5G создаются логические подсети с индивидуальными конфигурациями:
- Для трафика URLLC (сверхнадёжная связь с низкой задержкой) подсети конфигурируются с использованием маршрутов с наименьшим числом промежуточных узлов. Радиоресурсы распределяются по нескольким частотным каналам, а при превышении порогов задержки трафик оперативно перенаправляется на резервные маршруты[43].
- Для трафика mMTC (массовая межмашинная связь), ориентированного на высокую плотность подключений, радиоресурсы выделяются на одном частотном канале и разделяются между множеством устройств с помощью механизмов случайного доступа[43].
Безопасность и микросегментация
В рамках модели Zero Trust концепция традиционных подсетей уступает место микросегментации. Акцент смещается с обеспечения связности на безопасность и изоляцию отдельных рабочих нагрузок с помощью программно-определяемых политик. Традиционные подсети проектировались как решения для маршрутизации с целью максимизации связности, опираясь на классические модели безопасности с минимальной защитой внутреннего периметра. Они практически не обеспечивают защиту коммуникаций внутри среды (трафик «восток-запад»), что позволяет атакующим свободно перемещаться внутри сети после первоначальной компрометации. В отличие от них, микросегментация выступает в качестве строгой границы безопасности. Она обеспечивает строгий контроль трафика между отдельными сервисами и рабочими нагрузками, используя гранулярные программно-определяемые политики, масштабируемые вместе с динамической инфраструктурой. Такой подход позволяет снизить риск латерального перемещения злоумышленников на 80 % и более[44].
Инструменты планирования
Для планирования и расчёта подсетей применяются специализированные программные инструменты, поддерживающие работу с протоколами IPv4 и IPv6, а также визуальное моделирование иерархии VLSM[45][46]. К числу таких инструментов относятся:
- IP Subnet Calculator Tool — веб-инструмент, предоставляющий функции визуальной бинарной разбивки, построения карты подсетей, VLSM-планирования с визуальной диаграммой распределения и пресетами для AWS VPC[45].
- SoftPerfect IP Calculator — десктопное приложение, включающее интерактивное планирование подсетей, бинарную визуализацию, VLSM-калькулятор, функции обнаружения пересечений и экспорт данных в форматах CSV и HTML[46].
Примечания
Литература
- Blank, Andrew G. TCP/IP Foundations. — Wiley, 2006. — ISBN 9780782151138.
- Lammle, Todd. CCNA Cisco Certified Network Associate Study Guide 5th Edition. — San Francisco, London : Sybex, 2005.
- Groth, David. Network + Study Guide / David Groth, Toby Skandier. — 4-е. — San Francisco, London : Wiley, 2005.