Що таке маска підмережі? Двійковий запис, розрахунок, таблиця
Маска підмережі — це 32-бітне число, яке ділить IPv4-адресу на мережеву частину та частину вузла. Біти зі значенням 1 позначають мережу, біти зі значенням 0 — вузол. Найпоширеніша маска, 255.255.255.0, починається з 24 одиниць, тому її також записують як /24, і вона залишає 254 придатні адреси вузлів.
Спробуйте безкоштовно: Калькулятор підмережі IPv4 Безкоштовно, без реєстрації.
Тож що таке маска підмережі на практиці? Кожен пристрій через маску порівнює власну адресу з адресою призначення й вирішує, чи призначення розташоване в локальній мережі, чи до нього треба йти через маршрутизатор. У цьому посібнику показано двійкове представлення, як обчислити маску, приклад поділу на підмережі, wildcard-маски та повну таблицю. Щоб перевірити будь-який приклад під час читання, введіть його в безкоштовний Калькулятор підмережі IPv4.
Що таке маска підмережі у двійковому вигляді?
IPv4-адреса складається з чотирьох 8-бітних чисел (октетів), і маска підмережі теж. У двійковому записі 255.255.255.0 виглядає так:
11111111.11111111.11111111.00000000
Одиниці завжди стоять спочатку й ідуть без розривів: дійсна маска — це ряд одиниць, за яким іде ряд нулів, і ніколи не суміш. Тому маску можна описати одним числом — кількістю одиниць. Ця коротка форма є довжиною префікса в нотації CIDR: 192.168.1.10/24 означає адресу 192.168.1.10 з маскою 255.255.255.0. Детальніше про CIDR-блоки читайте в статті як обчислити CIDR-блок.
В октеті дійсної маски може бути лише одне з восьми значень:
| Одиниць в октеті | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|
| Значення октету | 128 | 192 | 224 | 240 | 248 | 252 | 254 | 255 |
Нульовий октет (0) — дев’ятий варіант; будь-яке інше число, наприклад 255.255.255.100, робить маску недійсною.
Як маска знаходить мережу: розібраний приклад з AND
Пристрій отримує адресу мережі, поєднуючи IP-адресу та маску побітовою операцією AND: біт результату дорівнює 1 лише тоді, коли обидва вхідні біти дорівнюють 1. Візьмемо 192.168.10.37/26. Маска /26 має 26 одиниць, тобто 255.255.255.192:
IP-адреса 192.168.10.37 11000000.10101000.00001010.00100101
Маска 255.255.255.192 11111111.11111111.11111111.11000000
AND 192.168.10.0 11000000.10101000.00001010.00000000
Перші три октети проходять без змін. В останньому 37 — це 00100101, а маска — 11000000, тож залишаються лише два старші біти, і обидва дорівнюють 0. Адреса мережі — 192.168.10.0.
Широкомовна адреса (broadcast) — це адреса мережі, у якій усі біти вузла встановлено в 1: 00111111 в останньому октеті, тобто 63. Отже, повна картина така:
| Параметр | Значення |
|---|---|
| Адреса мережі | 192.168.10.0 |
| Перший придатний вузол | 192.168.10.1 |
| Останній придатний вузол | 192.168.10.62 |
| Широкомовна адреса | 192.168.10.63 |
| Усього адрес | 64 |
| Придатних вузлів | 62 |
Пристрій з адресою 192.168.10.37/26 надсилає трафік для 192.168.10.50 напряму, бо ця адреса лежить у тій самій /26. Трафік для 192.168.10.70 іде на шлюз за замовчуванням, бо .70 належить до наступного блоку.
Як обчислити маску підмережі
Є дві типові відправні точки: ви знаєте довжину префікса або знаєте, скільки вузлів потрібно мережі.
За довжиною префікса
Запишіть стільки одиниць, скільки вказує префікс, доповніть нулями до 32 бітів і переведіть кожен октет у десяткове число. Для /20:
11111111.11111111.11110000.00000000 = 255.255.240.0
Третій октет містить чотири одиниці, а таблиця вище дає для чотирьох одиниць 240. Скорочений спосіб: префікс показує, скільки повних октетів 255 (20 ÷ 8 = 2, остача 4), а остача визначає значення наступного октету.
За потрібною кількістю вузлів
Кожна підмережа втрачає дві адреси — адресу мережі та широкомовну адресу, тому правило таке:
придатні вузли = 2^h − 2, де h — кількість бітів вузла (нулів у масці).
Знайдіть найменше h, за якого 2^h − 2 не менше за потрібну кількість вузлів, і обчисліть префікс = 32 − h.
- 50 вузлів: 2^5 − 2 = 30 — замало, а 2^6 − 2 = 62 — достатньо. Отже, h = 6, префікс /26, маска
255.255.255.192. - 500 вузлів: 2^8 − 2 = 254 — замало, а 2^9 − 2 = 510 — достатньо. Отже, h = 9, префікс /23, маска
255.255.254.0.
Залишайте запас на зростання: перенумерація згодом забирає значно більше зусиль, ніж вибір трохи більшого блоку зараз. Перевірити результат можна в калькуляторі маски підмережі: введіть, наприклад, 10.0.0.0/23 і подивіться першу та останню адресу.
Що таке поділ на підмережі? Ділимо /24 на чотири мережі /26
Поділ на підмережі (subnetting) означає розбиття однієї мережі на менші шляхом зсуву межі між бітами мережі й бітами вузла праворуч. Кожен біт, запозичений у частини вузла, подвоює кількість підмереж і вдвічі зменшує їхній розмір.
Припустімо, у вас є 192.168.10.0/24 (256 адрес) і потрібні чотири окремі мережі, наприклад для працівників, гостей, серверів і камер. Для чотирьох підмереж потрібно 2 запозичені біти (2^2 = 4), тож префікс зростає з /24 до /26, а маска стає 255.255.255.192. Кожна підмережа має 2^6 = 64 адреси, з них 62 придатні:
| Підмережа | Адреса мережі | Діапазон придатних вузлів | Широкомовна адреса |
|---|---|---|---|
| 1 | 192.168.10.0/26 | 192.168.10.1 – 192.168.10.62 | 192.168.10.63 |
| 2 | 192.168.10.64/26 | 192.168.10.65 – 192.168.10.126 | 192.168.10.127 |
| 3 | 192.168.10.128/26 | 192.168.10.129 – 192.168.10.190 | 192.168.10.191 |
| 4 | 192.168.10.192/26 | 192.168.10.193 – 192.168.10.254 | 192.168.10.255 |
Адреси мереж зростають кроком 64 — це розмір блоку. Швидко знайти його можна так: 256 мінус значущий октет маски, тобто 256 − 192 = 64. Разом чотири підмережі дають 248 придатних вузлів замість 254, бо кожна витрачає дві адреси на власні адресу мережі та широкомовну адресу.
Wildcard-маски: інверсія маски підмережі
Wildcard-маска (зворотна маска) інвертує кожен біт маски підмережі: нулі позначають біти, які мають збігатися, одиниці — біти, які можуть змінюватися. Її обчислюють, віднімаючи кожен октет від 255, тож 255.255.255.192 перетворюється на 0.0.0.63.
Маршрутизатори Cisco використовують wildcard-маски у списках контролю доступу (ACL) та в командах network протоколу OSPF:
access-list 10 permit 192.168.10.0 0.0.0.63
router ospf 1
network 192.168.10.0 0.0.0.63 area 0
Обидва рядки стосуються тієї самої /26, що й у прикладі. На відміну від масок підмережі, wildcard-маски в ACL не мусять бути неперервними, але для звичайних підмереж це просто інверсія.
Класова адресація та стандартні маски
До 1993 року IPv4 використовував фіксовані класи, і перший октет адреси визначав її маску:
| Клас | Перший октет | Стандартна маска | Префікс |
|---|---|---|---|
| A | 1–126 | 255.0.0.0 | /8 |
| B | 128–191 | 255.255.0.0 | /16 |
| C | 192–223 | 255.255.255.0 | /24 |
Клас D (224–239) зарезервовано для multicast, клас E (240–255) — для експериментального використання, а 127 відведено під loopback. Оскільки організації могли отримати лише блоки з 256, 65 536 або 16 777 216 адрес, система марнувала адресний простір. Безкласова міждоменна маршрутизація (CIDR) замінила її префіксами довільної довжини, а чинна специфікація — RFC 4632. Сьогодні клас адреси не має технічного значення, хоча старі стандартні маски досі з’являються як запропоноване значення в багатьох вікнах налаштування.
Приватні діапазони адрес та їхні маски
RFC 1918 резервує три блоки для приватних мереж, які не маршрутизуються в публічному інтернеті:
| Приватний діапазон | Префікс | Маска підмережі | Усього адрес |
|---|---|---|---|
| 10.0.0.0 – 10.255.255.255 | 10.0.0.0/8 | 255.0.0.0 | 16 777 216 |
| 172.16.0.0 – 172.31.255.255 | 172.16.0.0/12 | 255.240.0.0 | 1 048 576 |
| 192.168.0.0 – 192.168.255.255 | 192.168.0.0/16 | 255.255.0.0 | 65 536 |
Цілий блок рідко використовують як одну мережу. Типовий домашній маршрутизатор, наприклад, виділяє одну мережу 192.168.1.0/24 або 192.168.0.0/24 з маскою підмережі 255.255.255.0.
Маски підмережі в IPv6
В IPv6 немає масок підмережі з крапками. Мережі записують лише з довжиною префікса, як-от 2001:db8:1234:5678::/64, і /64 — стандартний розмір для одного сегмента LAN, бо автоконфігурація без збереження стану (SLAAC) потребує 64-бітного ідентифікатора інтерфейсу. В IPv6 також немає широкомовної адреси, тож правило «мінус два» не діє.
Типові помилки з масками підмережі
- Маски з розривами.
255.0.255.0чи255.255.255.100не є дійсними масками підмережі, бо одиниці мають утворювати один суцільний ряд. - Забуті адреса мережі та широкомовна адреса. Мережа /24 має 256 адрес, але лише 254 придатні вузли. Якщо призначити пристрою в /24 адресу
.0або.255, виникнуть проблеми. - Різні маски в одній мережі. Якщо один пристрій використовує /24, а інший /25 в тому самому сегменті, вони по-різному визначають, які адреси локальні, і частина трафіку йде на шлюз або губиться.
- Плутанина маски підмережі з wildcard-маскою.
0.0.0.255у полі маски підмережі чи255.255.255.0в ACL дає зовсім інший результат.
Таблиця масок підмережі: від /8 до /32
У цій таблиці наведено кожен префікс від /8 до /32. Кількість придатних вузлів — 2^(32 − префікс) − 2, з двома винятками: /31 має 2 придатні адреси на з’єднанні «точка — точка» (RFC 3021), а /32 — це один вузол.
| Префікс | Маска підмережі | Wildcard-маска | Усього адрес | Придатні вузли |
|---|---|---|---|---|
| /8 | 255.0.0.0 | 0.255.255.255 | 16 777 216 | 16 777 214 |
| /9 | 255.128.0.0 | 0.127.255.255 | 8 388 608 | 8 388 606 |
| /10 | 255.192.0.0 | 0.63.255.255 | 4 194 304 | 4 194 302 |
| /11 | 255.224.0.0 | 0.31.255.255 | 2 097 152 | 2 097 150 |
| /12 | 255.240.0.0 | 0.15.255.255 | 1 048 576 | 1 048 574 |
| /13 | 255.248.0.0 | 0.7.255.255 | 524 288 | 524 286 |
| /14 | 255.252.0.0 | 0.3.255.255 | 262 144 | 262 142 |
| /15 | 255.254.0.0 | 0.1.255.255 | 131 072 | 131 070 |
| /16 | 255.255.0.0 | 0.0.255.255 | 65 536 | 65 534 |
| /17 | 255.255.128.0 | 0.0.127.255 | 32 768 | 32 766 |
| /18 | 255.255.192.0 | 0.0.63.255 | 16 384 | 16 382 |
| /19 | 255.255.224.0 | 0.0.31.255 | 8 192 | 8 190 |
| /20 | 255.255.240.0 | 0.0.15.255 | 4 096 | 4 094 |
| /21 | 255.255.248.0 | 0.0.7.255 | 2 048 | 2 046 |
| /22 | 255.255.252.0 | 0.0.3.255 | 1 024 | 1 022 |
| /23 | 255.255.254.0 | 0.0.1.255 | 512 | 510 |
| /24 | 255.255.255.0 | 0.0.0.255 | 256 | 254 |
| /25 | 255.255.255.128 | 0.0.0.127 | 128 | 126 |
| /26 | 255.255.255.192 | 0.0.0.63 | 64 | 62 |
| /27 | 255.255.255.224 | 0.0.0.31 | 32 | 30 |
| /28 | 255.255.255.240 | 0.0.0.15 | 16 | 14 |
| /29 | 255.255.255.248 | 0.0.0.7 | 8 | 6 |
| /30 | 255.255.255.252 | 0.0.0.3 | 4 | 2 |
| /31 | 255.255.255.254 | 0.0.0.1 | 2 | 2 («точка — точка») |
| /32 | 255.255.255.255 | 0.0.0.0 | 1 | 1 (один вузол) |
Перевірте себе за допомогою калькулятора підмережі
Безкоштовний Калькулятор підмережі IPv4 працює повністю у вашому браузері. Введіть адресу з префіксом, наприклад 192.168.10.37/26, або з маскою в десятковому записі після скісної риски, наприклад 10.0.0.0/255.255.0.0, і він покаже:
- адресу мережі, маску підмережі, маску у двійковому вигляді, нотацію CIDR і wildcard-маску;
- розмір мережі (усі адреси блоку, включно з адресою мережі та широкомовною адресою);
- першу й останню придатну адресу та широкомовну адресу;
- історичний клас IP-адреси.
Для /31 він показує обидві адреси як придатні й без широкомовної адреси, а адреса без маски вважається одним вузлом (/32). Кнопки «Попередній блок» і «Наступний блок» переходять до сусідньої підмережі того самого розміру — це зручно, щоб пройти чотири мережі /26 з прикладу вище. Інструмент підтримує лише IPv4, відхиляє маски з розривами, не приймає маску, відокремлену пробілом, і не обчислює префікс за кількістю вузлів; для цього кроку скористайтеся формулою вище.
Часті запитання
Що означає маска підмережі 255.255.255.0?
Це маска /24: перші три октети ідентифікують мережу, а останній — вузол. Мережа /24 має 256 адрес, з яких 254 можна призначити пристроям, наприклад від 192.168.1.1 до 192.168.1.254 у 192.168.1.0/24.
Як дізнатися маску підмережі свого комп’ютера?
У Windows запустіть ipconfig і знайдіть рядок «Маска підмережі». У Linux команда ip addr показує адресу з префіксом, наприклад 192.168.1.20/24. У macOS ipconfig getoption en0 subnet_mask виводить маску інтерфейсу en0, і її також видно в налаштуваннях мережі.
Чому /31 має дві придатні адреси?
Якщо відняти адресу мережі та широкомовну адресу, у блоці з двох адрес не лишилося б жодного вузла. RFC 3021 дозволяє мережі /31 на з’єднаннях «точка — точка», де широкомовна розсилка не потрібна, тож обидва кінці з’єднання можуть використовувати обидві адреси.
Маска підмережі — це те саме, що шлюз за замовчуванням?
Ні. Маска підмережі визначає, які адреси належать до локальної мережі, а шлюз за замовчуванням — це адреса маршрутизатора, який обробляє все інше. Пристрій спочатку за маскою перевіряє, чи призначення локальне, і надсилає трафік на шлюз лише тоді, коли воно не локальне.
Спробуйте безкоштовно: Калькулятор підмережі IPv4 Безкоштовно, без реєстрації.