← Блог · 💻 Комп'ютерні науки

Розрахунок підмережі: CIDR і маска покроково

Як перетворити запис /24, /26 або /27 у маску підмережі, знайти адресу мережі та broadcast-адресу, і скільки хостів насправді вміщує кожна підмережа.

1. Що таке запис CIDR

Кожна IPv4-адреса складається з 32 бітів, які прийнято записувати у вигляді чотирьох октетів (по 8 бітів кожен), розділених крапками: наприклад, 192.168.1.0. Але сама по собі адреса нічого не каже про те, де закінчується «мережа» і починається «хост». Для цього використовується запис CIDR (Classless Inter-Domain Routing) — адреса з доданим через скісну риску числом-префіксом:

192.168.1.0/24 192.168.1.0 — IP-адреса /24 — префікс: перші 24 біти належать мережі

Число після риски — це кількість старших (лівих) бітів 32-бітної адреси, які вважаються мережевою частиною. Решта бітів (32 − префікс) — це біти хоста, які визначають конкретні пристрої всередині цієї мережі. Чим більший префікс, тим менше бітів лишається на хости, і тим менша підмережа.

2. Як префікс перетворюється на маску підмережі

Маска підмережі — це 32-бітне число, у якому біти мережевої частини позначені одиницями, а біти частини хоста — нулями. Щоб отримати маску з префіксу /24, потрібно записати 24 одиниці підряд, а потім 8 нулів, і розбити цей 32-бітний рядок на чотири октети:

/24 → 11111111.11111111.11111111.00000000 Октет 1: 11111111 = 255 Октет 2: 11111111 = 255 Октет 3: 11111111 = 255 Октет 4: 00000000 = 0 Маска: 255.255.255.0

Для /26 логіка та сама, лише межа між одиницями й нулями проходить усередині четвертого октета: 24 повних одиниці в перших трьох октетах плюс 2 додаткові одиниці у четвертому (26 одиниць загалом), а решта 6 бітів — нулі:

/26 → 11111111.11111111.11111111.11000000 Останній октет: 11000000 = 128 + 64 = 192 Маска: 255.255.255.192

Кожен повний октет з восьми одиниць завжди дає 255. Частково заповнений октет обчислюється як сума ваг встановлених бітів зліва направо: 128, 64, 32, 16, 8, 4, 2, 1.

3. Таблиця масок і кількості хостів

Кількість адрес хоста, придатних для реального призначення пристроям, обчислюється за формулою 2^(32 − префікс) − 2. Дві адреси віднімаються тому, що перша адреса блоку завжди зарезервована під адресу мережі, а остання — під broadcast-адресу.

Префікс CIDRМаска підмережіРозмір блокуПридатних хостів
/24255.255.255.0256254
/25255.255.255.128128126
/26255.255.255.1926462
/27255.255.255.2243230
/28255.255.255.2401614
/29255.255.255.24886
/30255.255.255.25242

Наприклад, для /28: 2^(32−28) − 2 = 2^4 − 2 = 16 − 2 = 14 придатних адрес хоста — саме те, що показано в таблиці.

4. «Магічне число»: швидкий спосіб знайти межі блоків

Не обов'язково щоразу переводити адресу в біти вручну. Існує практичний прийом — «магічне число»: береться значення маски в тому октеті, де воно відрізняється від 255, і віднімається від 256.

Магічне число = 256 − (значення маски в частковому октеті) Приклад: маска 255.255.255.192 256 − 192 = 64 → розмір блоку 64

Як це використовувати: якщо розмір блоку дорівнює 64, підмережі у відповідному октеті йдуть із кроком 64: 0, 64, 128, 192. Будь-яка адреса потрапляє в один із цих блоків — це і є межа її підмережі.

5. Покроковий приклад: 172.16.5.130/26

Знайдемо адресу мережі та broadcast-адресу для хоста 172.16.5.130 з префіксом /26.

Крок 1. Визначаємо маску

/26 → маска 255.255.255.192 (див. таблицю вище). Змінюється лише четвертий октет, перші три (172.16.5) залишаються повністю мережевими та незмінними.

Крок 2. Обчислюємо розмір блоку

Магічне число: 256 − 192 = 64. Отже, у четвертому октеті підмережі йдуть блоками по 64: 0–63, 64–127, 128–191, 192–255.

Крок 3. Знаходимо блок, у який потрапляє 130

Блоки четвертого октета (крок 64): 0–63 64–127 128–191 192–255 ↑ 130 тут

Число 130 більше за 128 і менше за 191, тож воно потрапляє у блок 128–191.

Крок 4. Визначаємо адресу мережі та broadcast

Перевірка: адреса мережі завжди має нулі в усіх бітах хоста (172.16.5.128 = 10000000 у двійковому вигляді останнього октета), а broadcast — одиниці в усіх бітах хоста (172.16.5.191 = 10111111). Хост 172.16.5.130 лежить строго між ними, отже належить саме цій підмережі.

6. Практична порада

Щоб швидко перевірити ручні розрахунки або підмережувати більшу мережу на кілька менших (наприклад, розбити /24 на кілька блоків /26 чи /27), зручно скористатися готовим інструментом замість обчислень на папері.

Спробуйте калькулятор підмереж IP на calculator.party — він миттєво показує маску, адресу мережі, broadcast-адресу та діапазон хостів для будь-якого запису CIDR.

Про цю статтю

Ця стаття є частиною бази знань calculator.party — освітнього ресурсу, що поєднує теорію з практичними інструментами. Матеріал орієнтований на студентів, ІТ-фахівців і мережевих адміністраторів, що прагнуть глибокого розуміння теми. Тут зібрані ключові концепції, формули та реальні приклади застосування.

Підмережування (subnetting) лежить в основі планування IP-мереж: від домашнього роутера до великих корпоративних та хмарних інфраструктур. Уміння вручну розрахувати маску й межі підмережі — базова навичка будь-якого мережевого інженера.

Навіщо читати цю статтю

Після прочитання ви зможете впевнено конвертувати префікс CIDR у маску підмережі, визначати адресу мережі та broadcast-адресу для будь-якої IP-адреси, а також швидко оцінювати кількість доступних хостів. Стаття охоплює теоретичне підґрунтя і числовий приклад, що полегшує запам'ятовування матеріалу.

Часті запитання (FAQ)

Що означає запис CIDR, наприклад /24?
CIDR (Classless Inter-Domain Routing) — запис IP-адреси у вигляді адреса/префікс, наприклад 192.168.1.0/24. Число після скісної риски показує, скільки старших (лівих) бітів 32-бітної IPv4-адреси відведено під мережеву частину. Решта бітів — це частина хоста, яка визначає конкретні вузли всередині підмережі. Чим більший префікс, тим менше адрес доступно у підмережі.
Як перетворити префікс CIDR на маску підмережі?
Потрібно записати рівно стільки одиниць, скільки вказує префікс, а решту з 32 бітів заповнити нулями, після чого розбити результат на чотири октети по 8 біт і перевести кожен у десяткову систему. Наприклад, для /24 маємо 24 одиниці й 8 нулів: 11111111.11111111.11111111.00000000, що дає 255.255.255.0. Для /26 це 11111111.11111111.11111111.11000000, тобто 255.255.255.192.
Що таке 'магічне число' у підмережуванні?
'Магічне число' — швидкий спосіб знайти розмір блоку підмережі без переведення в біти. Береться перше значення маски, яке відрізняється від 255 (наприклад, 192), і віднімається від 256: 256 − 192 = 64. Це число — крок, з яким ідуть межі підмереж у відповідному октеті (0, 64, 128, 192 і так далі), що дозволяє миттєво знайти адресу мережі для будь-якої IP-адреси.
Чому в кожній підмережі 2 адреси не можна використовувати для хостів?
Перша адреса блоку (усі біти хоста — нулі) зарезервована як адреса мережі — вона ідентифікує саму підмережу і не призначається жодному пристрою. Остання адреса блоку (усі біти хоста — одиниці) — це broadcast-адреса, яка використовується для надсилання пакета одразу всім вузлам підмережі. Тому формула кількості придатних для хостів адрес — 2^(32−префікс) − 2.
Скільки хостів доступно в мережі /27?
Мережа /27 має маску 255.255.255.224. Кількість адрес хоста обчислюється як 2^(32−27) − 2 = 2^5 − 2 = 32 − 2 = 30. Отже, підмережа /27 дає рівно 30 адрес, придатних для призначення реальним пристроям — комп'ютерам, серверам, маршрутизаторам тощо.