Files
SecondBrain/90 Library/Networking/VLSM.md
T
2026-05-24 15:03:28 +03:00

6.2 KiB

status, type, tags, created, updated, title
status type tags created updated title
stable concept
network
networking
2025-12-17 2026-05-07 VLSM

VLSM

Стоит вспомнить про IP-адрес, а конкретно то, что существует две версии IPv4 и IPv6.

IP бывают публичные и приватные. Публичный адрес уникален, он виден всем в интернете. Каждый сайт глобальной сети имеет свой IP-адрес (белый). Устройства же также имеют публичный IP-адрес, но под ним же в сеть могут выходить ещё сотни устройств, т.к. это IP не конкретного устройства, а маршрутизатора, который эти устройства обслуживает.

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

  1. 10.0.0.0-10.255.255.255
  2. 172.16.0.0 - 172.31.255.255
  3. 192.168.0.0 - 192.168.215.255

В период зарождения интернета, было принято делить IP-адреса в интернете на классы:

При этом, 0.0.0.0 используется для протокола DHCP, этот адрес присваивается новому устройству в сети и он отправляет широковещательный (broadcast) запрос на адрес 255.255.255.255, т.е. всем устройствам сети, в надежде найти DHCP-сервер.

127.*.*.* - используются для lookback-адресации (адресация на самом хосте).

IP-адрес, в сущности, имеет две части:

  1. Адрес сети
  2. Адрес узла, который определяется маской сети

Маска сети - это 32-битное число, где подряд идущие биты всегда равны единице. Вообще говоря, каждое десятичное число IP-адреса - это сумма степеней двойки.

Принадлежность адреса к классу определялась по первым битам. Для сетей класса A, первый бит всегда был равен 0, B - 10, C - 110. И, разумеется, за каждым классом закреплялась своя маска подсети:

  • A -> 255.0.0.0
  • B -> 255.255.0.0
  • C -> 255.255.255.0

Со временем стало ясно, что система классов не особо эффективно использует адреса. Поэтому мир перешел на CIDR (Classless Inter-Domain Routing) или, проще говоря, бесклассовую адресацию.

Однако, даже это не решило проблему полностью. Отделу бухгалтерии в крупной фирму надо выделить сеть с адресом 192.168.1.0/24, при этом в отделе всего 25 хостов, значит 229 адресов остаются неиспользованными. 192.168.1.0 - адрес сети 192.168.1.255 - широковещательный адрес.

Есть формула для вычисления кол-ва занятых адресов в указанной сети:

H = 2^{n}-2,\ \text{где H - число хостов, n - число бит, отведенных под номер хоста}

Например, в адресе 192.168.1.0 - первые 24 бита 192.168.1 - определяются номер сети, а остальные 8 бит .0 - номер конкретного устройства, поэтому 2^{8}-2 = 254 хоста.

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

В сегментировании сети используется маска сети с переменной длиной VLSM (Variable Length Subnet Mask). Суть состоит в том, что вам выделяют пул (диапазон) адресов и надо их распределить так, чтобы никто не мог перехватить трафик, но и всем досталось, как минимум, по одному адресу.

Выделением IP-адресов занимается организация IANA (Internet Assigned Numbers Authority). Она делегирует права на выделение региональным регистраторам, которые выделяют адреса национальным регистраторам. Например, для Европы, региональным является RIPE. А те делят адреса между провайдерами.

IANA -> Региональные регистраторы - Национальные регистрации -> Провайдеры

192.168.25.0/24, где 24 - кол-во единиц в маске. 255.255.255.0

Для определения количества подсетей: N = 2^{n}, где N - число подсетей, а n - число бит, заимствованных из хостовой части IP-адреса.