Що насправді означає скісна риска
Усе на цій сторінці випливає з однієї думки. Адреса — це рядок бітів (32 в IPv4, 128 в IPv6), а
довжина префікса каже, скільки з цих бітів визначають мережу. Те, що лишилося, визначає
вузол усередині неї. У 192.168.1.10/24 перші 24 біти — мережа, останні 8 —
вузол; тому ця мережа вміщує 256 адрес, і тому всі адреси від 192.168.1.0 до
192.168.1.255 належать їй.
Ця нотація замінила стару систему класів адрес 1993 року, і згадувати класи варто лише тому, що
їхній словник дожив до місць, де йому не місце. «Мережі класу C» більше не існує; існують
префікси, і префікс може бути будь-якої довжини. Саме через живучість цієї звички стільки людей
вважає кожну мережу /24, а потім дивується /22.
Звідси одразу випливає дві речі, і вони пояснюють більшість помилок у поділі мереж:
- Кожен префікс — степінь двійки, вирівняна сама на себе.
/26вміщує 64 адреси й може починатися лише з числа, кратного 64. Мережі192.168.1.50/26не існує — ця адреса лежить усередині192.168.1.0/26, і калькулятор так і скаже. - Довший префікс означає меншу мережу.
/25— це половина/24, а не вдвічі більше. Число рахує зафіксовані біти, а не розмір, і ця інверсія спочатку збиває з пантелику майже всіх.
Поля й для чого кожне придатне
- Адреса мережі
- Перша адреса блоку, усі біти вузла нульові. Вона називає мережу, а не машину в ній, — тому у звичайних підмережах IPv4 її не призначають пристроям.
- Маска й wildcard-маска
- Два записи того самого префікса. Маску (
255.255.255.0) просить операційна система; wildcard-маска (0.0.0.255) є її побітовою інверсією і потрібна спискам доступу Cisco та частині маршрутних конфігурацій. Переплутати їх — отримати правило, яке мовчки збігається не з тим трафіком, а це гірше за правило, яке просто не працює. - Широкомовна адреса
- Остання адреса, усі біти вузла одиничні. Трафік на неї йде до кожного вузла сегмента. Існує лише в IPv4; IPv6 прибрав широкомовлення повністю й користується натомість групами багатоадресної розсилки.
- Перший і останній придатний вузол
- Діапазон, який справді можна роздавати, — усе між адресою мережі й широкомовною. На практиці ще одну забирає маршрутизатор, тож адрес, доступних вашим машинам, зазвичай на дві менше за арифметику, а тоді ще на одну.
- Кількість вузлів
- Двійка в степені кількості бітів вузла мінус адреса мережі й широкомовна. Саме в цьому відніманні живуть винятки — одразу нижче.
- Двійкова форма
- Варто подивитися хоча б раз. Побачити, як межа префікса падає всередину октету, — це те, після чого поділ мереж перестає бути завченою таблицею й стає очевидним.
Два винятки з правила «мінус два»
У /31 за стандартною арифметикою немає жодного придатного вузла: дві адреси, обидві
з'їдені мережею й широкомовленням. Проте з 2000 року цілком законно й звично використовувати
/31 на з'єднанні точка-точка між двома маршрутизаторами, де призначені обидві адреси,
а поняття мережі й широкомовлення не мають чого описувати, бо учасників рівно двоє. Це економить
дві адреси на кожному каналі, а у великій мережі це відчутний обсяг дедалі дорожчого простору
IPv4.
/32 — це одна адреса: один вузол, без мережі, без широкомовлення. Ви зустрінете її
як loopback-адресу маршрутизатора, у правилі фаєрвола, що відповідає рівно одній машині, і в
таблицях маршрутизації як найбільш конкретний можливий маршрут.
Діапазони, які варто впізнавати з погляду
10.0.0.0/8,172.16.0.0/12,192.168.0.0/16- Приватний простір. Можна повторно використовувати в будь-якій мережі, ніколи не маршрутизується в інтернеті. Придивіться до середнього: це
172.16–172.31, а не весь172.x, — межа, яка спричинила чимало випадкових зіткнень адресації. 100.64.0.0/10- Спільний простір для carrier-grade NAT. Якщо ваш маршрутизатор показує адресу з цього діапазону на зовнішньому інтерфейсі, ви за NAT провайдера, і жодне вхідне з'єднання до вас не дійде, — це і є відповідь на велику частку питань «чому в мене не відкривається порт».
169.254.0.0/16- Link-local, адреса, яку пристрій призначає собі сам, коли DHCP не спрацював. Адреса звідси майже завжди означає «я не достукався до сервера DHCP», і діагностувати будь-що інше до усунення цього — марна робота.
127.0.0.0/8- Loopback. Увесь блок, а не лише
127.0.0.1: жодна адреса з цього діапазону не покидає машину. 192.0.2.0/24,198.51.100.0/24,203.0.113.0/24- Зарезервовано для документації й прикладів. Пишучи інструкції, беріть саме їх, а не вигадуйте адресу, яка комусь реально належить.
Як поділити мережу й не наплутати
Поділ блоку — головна робота калькулятора. Кожен додатковий біт префікса ділить мережу навпіл:
/24 стає двома /25, чотирма /26, вісьмома /27.
Правило, яке тримає результат у притомному стані, одне: кожна підмережа мусить починатися на своїй
межі — /26 на кратному 64, /28 на кратному 16.
Помиляються здебільшого в розмірах. Плануйте під те, що сегмент нестиме за кілька років, а не
під сьогоднішнє, але стримуйте рефлекс роздавати всім /24 тільки тому, що воно
звичне: каналу точка-точка треба дві адреси, мережі керування на десяток комутаторів не потрібні
254, а щедро роздане на старті — саме те, що потім змушує болісно перенумеровувати все. Беріть
різні розміри свідомо: /30 або /31 для каналів, /28 для
невеликого серверного сегмента, /24 там, де справді сидять користувачі.
І перевіряйте перекриття, перш ніж закріпити план. Дві підмережі перекриваються щоразу, коли коротший префікс містить довший; у десятковому записі це легко проґавити, а у двійковій формі видно одразу. Перекриття не оголошує про себе — воно просто дає трафік, який доходить куди треба інколи.
Арифметика IPv6 — інша звичка
Математика та сама, а інстинкти інші, бо IPv6 прибирає причину заощаджувати. Правила, які важать на практиці:
/64— це одна підмережа, завжди. Не рекомендація: автоматичне налаштування адрес побудоване навколо 64-бітного ідентифікатора інтерфейса, і довший префікс на звичайному сегменті його ламає. Не діліть нижче /64, щоб «заощадити» адреси, — заощаджувати нема чого.- Одна
/64вміщує вісімнадцять квінтильйонів адрес. Кількість вузлів перестає бути осмисленим полем. Підмережі не заповнюють — їх упорядковують. - Майданчик отримує від провайдера
/48або/56. Це 65 536 або 256 окремих підмереж/64на внутрішній розподіл — достатньо, щоб питанням проєктування стало «яка схема нумерації читабельна», а не «як усе вмістити». - Широкомовної адреси не існує. Остання адреса підмережі IPv6 — звичайна придатна адреса. Роботу широкомовлення виконують групи багатоадресної розсилки.
Коли мережу сплановано, корисний наступний крок — переконатися, що вона працює обома протоколами. З погляду клієнта на це відповідає тест IPv6, а запит до DNS покаже, чи публікують імена AAAA-записи, без яких дістатися до вас через IPv6 не вийде взагалі.
Нічого з введеного не покидає ваш браузер
Уся арифметика виконується в JavaScript на вашій машині. Немає ані надсилання форми, ані запиту до нас, ані рядка в наших журналах: ми не знаємо, які префікси ви рахували. Це навіть не політика приватності, а опис механізму — сторінка не змогла б передати нам вашу внутрішню схему адресації, навіть якби ми цього хотіли, і після завантаження вона працює з відключеною мережею.