Перейти до вмісту
Обране

Калькулятор CIDR – перетворення діапазону IP у CIDR

Оновлено:

Перетворюйте блок CIDR IPv4, як-от 10.0.0.0/22, у його діапазон адрес, маску мережі та кількість хостів; конвертуйте діапазон із першої й останньої IP-адрес у мінімальний набір блоків CIDR або агрегуйте список блоків у один підсумковий перелік.

Перетворення діапазонів IP-адрес у блоки CIDR і навпаки

Поля введення
IPv4-адреса з довжиною префікса (/0–/32); адреса без префікса вважається /32.
Початок діапазону (включно).
Якщо увімкнено, результат оновлюватиметься автоматично після зміни будь-якого значення.

Формула CIDR

Формула
\[ N = 2^{32-p} \\\\\\[4pt] \text{маска} = \underbrace{111\ldots1}_{p\text{ біт}}\underbrace{000\ldots0}_{32-p\text{ біт}} \\\\\\[4pt] \text{мережа} = \text{IP} \mathbin{\&} \text{маска} \\\\\\[4pt] \text{широкомовна} = \text{мережа} + N - 1 \\\\\\[4pt] \text{придатні хости} = N - 2 \quad (0 \le p \le 30) \]

Де:

  • \(p\) — довжина префікса, тобто кількість початкових бітів, які фіксує блок (0–32)
  • \(N\) — загальна кількість адрес, які охоплює блок
  • \(\text{IP}\) — адреса, яку ви вводите; побітова операція AND (&) обнулює біти хоста
  • \(\text{мережа}\) і \(\text{широкомовна}\) — перша й остання адреси блока

Блок CIDR визначається лише довжиною префікса: блок /\(p\) містить \(2^{32-p}\) адрес, починається з адреси, останні \(32-p\) бітів якої — нулі, а в його масці мережі стоять рівно \(p\) одиничних бітів, за якими йдуть нулі. Маска wildcard — це просто побітова інверсія маски мережі.

CIDR — приклад обчислення

Приклад: перетворимо блок 10.0.0.0/22 на його діапазон адрес — це типове значення калькулятора.

\[ N = 2^{32-22} = 2^{10} = 1024 \]

\[ \text{маска} = 255.255.252.0 \quad \Rightarrow \quad \text{wildcard-маска} = 0.0.3.255 \]

\[ \text{широкомовна} = 10.0.0.0 + 1023 = 10.0.3.255 \]

Результат: блок 10.0.0.0/22 охоплює діапазон 10.0.0.0 – 10.0.3.255 — разом 1 024 адреси, з яких 1 022 придатні для хостів (адреси мережі та широкомовлення зарезервовані).

Як користуватися калькулятором

  1. Виберіть режим: «CIDR → діапазон адрес», «Діапазон адрес → блоки CIDR» або «Агрегація списку CIDR». Показано лише поля, які використовує обраний режим.
  2. У режимі CIDR → діапазон адрес введіть блок CIDR, наприклад 10.0.0.0/22. Окрема адреса на кшталт 192.168.1.1 трактується як /32 (один хост). У результатах показано першу адресу (мережу), останню адресу (широкомовну), загальну кількість адрес, маску мережі, маску wildcard та канонічний блок.
  3. У режимі Діапазон адрес → блоки CIDR введіть перший IP-адреси й останню IP-адресу діапазону (обидві включно). Калькулятор повертає найменшу кількість блоків CIDR, які точно покривають діапазон — без пропусків і перекриттів, — а також розбивку по кожному блоку.
  4. У режимі Агрегація списку CIDR вставте свої блоки в поле Блоки CIDR — по одному на рядок, хоча коми й крапки з комою теж працюють. Блоки, що перекриваються, і безпосередньо сусідні блоки об’єднуються автоматично, і весь список підсумовується в найменший точний набір блоків.
  5. Під результатами відкрийте Деталі обчислення, щоб побачити покрокову логіку, зокрема позначку, коли введена адреса мала встановлені біти хоста. Для планування підмереж навколо одного блоку калькулятор підмереж IP виконує ті самі операції з погляду поділу на підмережі.

Що таке CIDR?

Classless Inter-Domain Routing (CIDR) замінив стару класову систему A/B/C гнучкою нотацією, в якій адреса та довжина префікса записуються разом: a.b.c.d/p. Префікс \(p\) показує, скільки початкових бітів спільні для всіх адрес блока; решта \(32-p\) бітів змінюються вільно, тому блок містить \(2^{32-p}\) адрес. Це єдине правило пояснює все інше: /24 має \(2^8 = 256\) адрес і маску 255.255.255.0, /22 — \(2^{10} = 1024\) адреси і маску 255.255.252.0, а /32 — одну точну адресу.

Ключовий наслідок бітової структури — вирівнювання: блок із \(2^k\) адрес може починатися лише з адреси, кратної \(2^k\). Саме тому, наприклад, 192.168.1.16/28 коректний (16 адрес, починаючи з адреси, кратної 16), а 192.168.1.8/28 — ні, бо це не справжня межа блока. Перетворюючи довільний діапазон «перший–останній» у CIDR, рідко вдається зрівняти його з одним блоком, тому діапазон доводиться розбивати. Калькулятор застосовує жадібний алгоритм: на кожному кроці береться найбільший блок, який і вкладається в адреси, що залишилися, і правильно вирівняний, — а це, як можна довести, дає мінімально можливу кількість блоків.

На практиці важливо правильно тлумачити ці числа. «Загальна кількість адрес» — це просто розмір блока, але за класичного розбиття на підмережі (префікси від /0 до /30) перша адреса резервується під ідентифікатор мережі, а остання — під широкомовну адресу, тож для хостів залишається на дві адреси менше. /31 (відповідно до RFC 3021, для з’єднань «точка–точка») і /32 (окремий хост) — винятки, в яких придатна кожна адреса. Якщо ваша мета — спланувати, як більший блок поділяється на менші підмережі з певною кількістю хостів у кожній, скористайтеся калькулятором підмереж; а щоб перевірити адресну арифметику вручну, двійковий конвертер показує бітові візерунки, що стоять за масками.

Поради та обмеження

  • Калькулятор працює лише з IPv4 (чотири октети, 0–255, префікси /0–/32). Адреси IPv6 не приймаються.
  • Якщо ви введете адресу з встановленими бітами хоста, наприклад 10.0.1.7/22, результати описуватимуть блок, який її містить (10.0.0.0/22), і деталі обчислення це позначать. Щоб уникнути двозначності, завжди вводьте адресу мережі.
  • Діапазон «перший–останній» перетворюється на мінімальний точний набір блоків — покриття без пропусків і дублікатів. Саме це зазвичай потрібно таблицям маршрутизації та спискам контролю доступу.
  • Агрегація об’єднує блоки, лише коли вони перекриваються або є безпосередньо сусідніми; навіть пропуск в одну адресу залишає їх окремими.
  • Дуже великі результати (наприклад, агрегація багатьох розрізнених /32) можуть налічувати тисячі блоків; таблиця показує перші 200 і повідомляє повну кількість.

Довідник поширених префіксів CIDR

Префікс Маска мережі Wildcard Адреси Придатні хости
/30 255.255.255.252 0.0.0.3 4 2
/29 255.255.255.248 0.0.0.7 8 6
/24 255.255.255.0 0.0.0.255 256 254
/22 255.255.252.0 0.0.3.255 1 024 1 022
/20 255.255.240.0 0.0.15.255 4 096 4 094
/16 255.255.0.0 0.0.255.255 65 536 65 534
/8 255.0.0.0 0.255.255.255 16 777 216 16 777 214

Кожен доданий біт у префіксі вдвічі зменшує блок, а кожен віднятий — удвічі збільшує. Формули \(N = 2^{32-p}\) достатньо, щоб відновити будь-який рядок цієї таблиці.

Часті запитання

Як обчислити діапазон CIDR вручну, без калькулятора?

Візьміть довжину префікса p і обчисліть розмір блока \(N = 2^{32-p}\). Запишіть маску мережі як p одиничних бітів, за якими йдуть (32 − p) нульових: для /22 це 11111111.11111111.11111100.00000000 = 255.255.252.0. Виконайте побітове AND вашої адреси з маскою — отримаєте адресу мережі, а потім додайте \(N - 1\), щоб отримати широкомовну. Два зручні орієнтири: кожен октет охоплює 256 адрес, а кожен біт префікса вдвічі зменшує блок, тож /24 = 256, /23 = 512, /22 = 1024.

Як перетворити маску мережі, як-от 255.255.240.0, на нотацію CIDR?

Переведіть маску у двійкову форму й порахуйте одиничні біти. 255.255.240.0 = 11111111.11111111.11110000.00000000 — тут 20 одиничних бітів, тобто це /20. Прискорений спосіб: октети маски завжди набувають значень 255, 254, 252, 248, 240, 224, 192 або 0 (256 мінус степінь двійки), що відповідає 8, 7, 6, 5, 4, 3, 2 чи 0 бітам в октеті. 255+255+240+0 дає 8+8+4+0 = 20.

Чому довільний діапазон IP не можна записати одним блоком CIDR?

Блок CIDR розміру \(2^k\) мусить починатися з адреси, кратної \(2^k\). Наприклад, 192.168.1.16/28 коректний, бо 16 кратне 16, а 192.168.1.8/28 — ні, бо це не справжня межа блока. Якщо перша й остання адреси не відповідають цьому вирівнюванню, діапазон доведеться розбити на кілька блоків — жадібний алгоритм, яким користується калькулятор, завжди дає мінімально можливу кількість.

Чи означає /24 те саме, що старий клас C?

/24 має той самий розмір і маску (255.255.255.0), що й мережа класу C, але CIDR повністю скасував фіксовані класи — будь-який префікс від /0 до /32 можна застосувати до будь-якої адреси, тож /24 нічого не каже про те, до якого «класу» належить адреса. Сьогодні актуальнішими є приватні діапазони, визначені RFC 1918: 10.0.0.0/8, 172.16.0.0/12 і 192.168.0.0/16. Блок CIDR у цих діапазонах не маршрутизується в публічному інтернеті.

Навіщо потрібна маска wildcard?

Маска wildcard — це побітова інверсія маски мережі, тож блок /22 з маскою 255.255.252.0 має wildcard 0.0.3.255. Її використовують головно в списках контролю доступу Cisco та командах network для OSPF, де біт 0 означає «мусить збігатися», а біт 1 — «не має значення». Це не те саме, що маска підмережі, тому не вводьте її там, де очікується маска мережі, — це поширена помилка налаштування.

Чому 10.0.1.7/22 дає ті самі результати, що й 10.0.0.0/22?

10.0.1.7 — це не адреса мережі блока /22: її останні 10 бітів (біти хоста) не всі нульові. Побітове AND із маскою /22 255.255.252.0 обнулює ці біти й дає блок, що містить адресу, — 10.0.0.0/22, саме його й описує калькулятор. Завжди вводьте адресу мережі, якщо хочете однозначності; деталі обчислення позначать, чи мала введена адреса встановлені біти хоста.

Скільки підмереж /26 вміщується в /22?

Порівняйте різницю префіксів: /22 → /26 — це 4 біти, і кожен запозичений біт подвоює кількість підмереж, тож виходить \(2^4 = 16\) підмереж по 64 адреси (62 придатні для хостів). Загалом блок /p містить \(2^{q-p}\) підмереж довжини /q. Якщо ж вам потрібна фіксована кількість хостів на підмережу, пам’ятайте: підмережа для \(H\) хостів потребує \(H + 2\) адрес (мережа та широкомовна зарезервовані), округлених до степеня двійки.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *