Как рассчитать параметры IP-подсети вручную
Чтобы рассчитать подсеть, нужно определить количество требуемых хостов, подобрать соответствующую маску (префикс /XX) и вычислить границы диапазона адресов. Ключевая формула: количество доступных адресов равно $2^{(32 - \text{префикс})} - 2$. Например, для 50 устройств подойдет маска /26 (62 адреса), где сетевой адрес — первый в блоке, а широковещательный — последний.
Основы адресации: что нужно знать перед расчетом
IP-адрес версии 4 (IPv4) состоит из 32 бит. Маска подсети делит эти биты на две части:
- Сетевая часть (идентифицирует саму подсеть).
- Хостовая часть (идентифицирует конкретное устройство внутри сети).
Маска может записываться в двух форматах:
- Десятичный с точками:
255.255.255.0 - Бесклассовый (CIDR):
/24(количество единичных бит в маске).
Важно: В любой подсети два адреса зарезервированы и не могут быть назначены устройствам:
- Сетевой адрес (все биты хоста равны 0) — идентификатор сети.
- Широковещательный адрес (все биты хоста равны 1) — используется для отправки данных всем узлам сети.
Алгоритм расчета подсети по количеству хостов
Если вы проектируете сеть с нуля, отталкивайтесь от количества устройств.
Шаг 1. Определите необходимое число адресов
Допустим, вам нужно подключить 50 устройств. Всегда добавляйте запас (минимум 10–20%) на рост сети, шлюзы, принтеры и серверы. Итого: ориентируемся на ~60 адресов.
Шаг 2. Подберите степень двойки
Найдите минимальную степень числа 2, которая покрывает ваше число + 2 зарезервированных адреса. Формула: $2^h \ge N + 2$, где $h$ — количество бит под хосты, $N$ — число устройств.
- $2^5 = 32$ (мало, 32 - 2 = 30 узлов)
- $2^6 = 64$ (подходит, 64 - 2 = 62 узла)
Значит, нам нужно 6 бит под хосты.
Шаг 3. Вычислите маску (префикс)
Всего в адресе 32 бита. Если 6 бит отдано под хосты, то под сеть остается: $32 - 6 = 26$. Маска: /26.
Шаг 4. Переведите маску в десятичный вид
Префикс /26 означает, что первые 26 бит — единицы, остальные 6 — нули.
Четвертый октет (последние 8 бит): 11111100 в двоичной системе.
Переводим в десятичную: $128 + 64 + 32 + 16 + 8 + 4 = 252$? Нет, считаем только единицы.
Правильный расчет для последних 8 бит при /26:
Первые 2 бита четвертого октета относятся к сети (так как 24 бита — это три полных октета, осталось 2 бита до 26).
Четвертый октет: 11000000.
$128 + 64 = 192$.
Итоговая маска: 255.255.255.192.
Расчет диапазона адресов на примере
Дано:
- Базовый IP:
192.168.1.0 - Маска:
/26(или255.255.255.192)
Чтобы найти границы подсети, нужно определить размер блока (шаг). Размер блока = $256 - \text{значение последнего ненулевого октета маски}$. $256 - 192 = 64$.
Это значит, что подсети идут с шагом 64 в последнем октете:
192.168.1.0–192.168.1.63192.168.1.64–192.168.1.127192.168.1.128–192.168.1.191192.168.1.192–192.168.1.255
Если наш базовый адрес 192.168.1.0, мы попадаем в первую подсеть.
Параметры первой подсети (192.168.1.0/26):
| Параметр | Значение | Пояснение |
|---|---|---|
| Сетевой адрес | 192.168.1.0 | Первый адрес блока |
| Первый хост | 192.168.1.1 | Сетевой адрес + 1 |
| Последний хост | 192.168.1.62 | Широковещательный адрес - 1 |
| Широковещательный | 192.168.1.63 | Последний адрес блока |
| Маска | 255.255.255.192 | /26 |
Лайфхак для быстрого подсчета: Если маска /24, шаг 1. Если /25, шаг 128. Если /26, шаг 64. Если /27, шаг 32. Если /28, шаг 16. Если /29, шаг 8. Если /30, шаг 4. Просто делите 256 на шаг, чтобы понять, сколько подсетей влезает в октет.
Частые ошибки при планировании сети
- Забыть про шлюз. Шлюз (роутер) тоже занимает IP-адрес. Если вам нужно 62 устройства, а вы взяли подсеть /26 (всего 62 доступных хоста), места для шлюза не останется. Всегда оставляйте запас.
- Путаница с порядком байт. При расчете шага подсети изменяется только тот октет, где заканчивается маска. Для /23 меняется третий октет, для /26 — четвертый.
- Использование пересекающихся диапазонов. Убедитесь, что следующая подсеть начинается строго после широковещательного адреса предыдущей. В примере выше следующая подсеть начинается с
.64, а не с.63или.65. - Неучет VLAN. Если вы используете VLAN, каждый VLAN должен находиться в своей уникальной подсети. Маршрутизация между ними требует правильного указания шлюзов.
Таблица популярных масок подсети
Эта шпаргалка поможет быстро выбрать маску под типичные задачи.
| Префикс (CIDR) | Маска (Decimal) | Всего адресов | Доступных хостов | Типичное применение |
|---|---|---|---|---|
| /30 | 255.255.255.252 | 4 | 2 | Соединение точка-точка (WAN, линки между роутерами) |
| /29 | 255.255.255.248 | 8 | 6 | Очень маленькие офисы, DMZ для нескольких серверов |
| /28 | 255.255.255.240 | 16 | 14 | Малые группы устройств, управление оборудованием |
| /27 | 255.255.255.224 | 32 | 30 | Небольшие отделы, гостевые Wi-Fi сети |
| /26 | 255.255.255.192 | 64 | 62 | Средние отделы, серверные стойки |
| /25 | 255.255.255.128 | 128 | 126 | Крупные отделы, этажи здания |
| /24 | 255.255.255.0 | 256 | 254 | Стандартная домашняя или офисная локальная сеть |
FAQ: Часто задаваемые вопросы
Вопрос: Можно ли использовать адрес .1 или .254 в качестве шлюза? Да, технически вы можете назначить шлюзу любой свободный адрес из диапазона хостов. Однако по негласному стандарту администраторы часто используют первый (.1) или последний (.254/.253) доступный адрес для удобства запоминания.
Вопрос: Что делать, если устройств больше 254?
Используйте маску короче /24, например /23 (510 хостов) или /22 (1022 хоста). В этом случае изменится третий октет маски и шаг подсети. Например, для /23 маска 255.255.254.0, шаг подсетей равен 2 в третьем октете (0, 2, 4...).
Вопрос: Почему нельзя использовать маску /31? В классической схеме /31 дает всего 2 адреса, минус 2 зарезервированных = 0 хостов. Однако в современных реалиях (RFC 3021) маска /31 допускается для соединений точка-точка, где широковещательный адрес не нужен. Но для обычных локальных сетей она не подходит.
Вопрос: Как проверить расчеты без калькулятора? Используйте метод "магического числа" (шага). Определите интересный октет (где маска не 0 и не 255). Вычтите значение маски этого октета из 256. Полученное число — это шаг. Адреса подсетей будут кратны этому шагу.