Що таке маска підмережі? Двійковий запис, розрахунок, таблиця

Маска підмережі — це 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-блок.

В октеті дійсної маски може бути лише одне з восьми значень:

Одиниць в октеті12345678
Значення октету128192224240248252254255

Нульовий октет (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.

Залишайте запас на зростання: перенумерація згодом забирає значно більше зусиль, ніж вибір трохи більшого блоку зараз. Перевірити результат можна в калькуляторі маски підмережі: введіть, наприклад, 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 придатні:

ПідмережаАдреса мережіДіапазон придатних вузлівШирокомовна адреса
1192.168.10.0/26192.168.10.1 – 192.168.10.62192.168.10.63
2192.168.10.64/26192.168.10.65 – 192.168.10.126192.168.10.127
3192.168.10.128/26192.168.10.129 – 192.168.10.190192.168.10.191
4192.168.10.192/26192.168.10.193 – 192.168.10.254192.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 використовував фіксовані класи, і перший октет адреси визначав її маску:

КласПерший октетСтандартна маскаПрефікс
A1–126255.0.0.0/8
B128–191255.255.0.0/16
C192–223255.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.25510.0.0.0/8255.0.0.016 777 216
172.16.0.0 – 172.31.255.255172.16.0.0/12255.240.0.01 048 576
192.168.0.0 – 192.168.255.255192.168.0.0/16255.255.0.065 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 також немає широкомовної адреси, тож правило «мінус два» не діє.

Типові помилки з масками підмережі

Таблиця масок підмережі: від /8 до /32

У цій таблиці наведено кожен префікс від /8 до /32. Кількість придатних вузлів — 2^(32 − префікс) − 2, з двома винятками: /31 має 2 придатні адреси на з’єднанні «точка — точка» (RFC 3021), а /32 — це один вузол.

ПрефіксМаска підмережіWildcard-маскаУсього адресПридатні вузли
/8255.0.0.00.255.255.25516 777 21616 777 214
/9255.128.0.00.127.255.2558 388 6088 388 606
/10255.192.0.00.63.255.2554 194 3044 194 302
/11255.224.0.00.31.255.2552 097 1522 097 150
/12255.240.0.00.15.255.2551 048 5761 048 574
/13255.248.0.00.7.255.255524 288524 286
/14255.252.0.00.3.255.255262 144262 142
/15255.254.0.00.1.255.255131 072131 070
/16255.255.0.00.0.255.25565 53665 534
/17255.255.128.00.0.127.25532 76832 766
/18255.255.192.00.0.63.25516 38416 382
/19255.255.224.00.0.31.2558 1928 190
/20255.255.240.00.0.15.2554 0964 094
/21255.255.248.00.0.7.2552 0482 046
/22255.255.252.00.0.3.2551 0241 022
/23255.255.254.00.0.1.255512510
/24255.255.255.00.0.0.255256254
/25255.255.255.1280.0.0.127128126
/26255.255.255.1920.0.0.636462
/27255.255.255.2240.0.0.313230
/28255.255.255.2400.0.0.151614
/29255.255.255.2480.0.0.786
/30255.255.255.2520.0.0.342
/31255.255.255.2540.0.0.122 («точка — точка»)
/32255.255.255.2550.0.0.011 (один вузол)

Перевірте себе за допомогою калькулятора підмережі

Безкоштовний Калькулятор підмережі IPv4 працює повністю у вашому браузері. Введіть адресу з префіксом, наприклад 192.168.10.37/26, або з маскою в десятковому записі після скісної риски, наприклад 10.0.0.0/255.255.0.0, і він покаже:

Для /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 Безкоштовно, без реєстрації.