Безкоштовні інструменти

IPv6: розгортання та стиснення

Розгортає адресу IPv6 до повної форми та стискає її до канонічної нотації RFC 5952.

Що робить інструмент розгортання та стиснення IPv6

IPv6-адреси можна записати багатьма способами, які всі означають те саме 128-бітне значення, і саме ця гнучкість робить їх важкими для читання та порівняння. Цей інструмент бере IPv6-адресу в будь-якій дозволеній формі й дає вам дві канонічні відповіді: повністю розгорнуту адресу з усіма вісьмома 16-бітними групами й кожним виписаним провідним нулем, і повністю стиснуту адресу в стандартній скороченій формі RFC 5952. Подайте йому 2001:db8::1 — і він розгорне її до 2001:0db8:0000:0000:0000:0000:0000:0001; подайте йому цю довгу версію назад — і він стисне її до 2001:db8::1. Він також розуміє адреси, що містять хвіст IPv4 (як-от ::ffff:192.168.0.1), і відкидає індекс зони, як-от %eth0, перед розбором. Ви використовуєте його щоразу, коли дві адреси, які мали б збігатися, відмовляються це робити, або коли файл конфігурації, ACL чи база даних вимагають однієї узгодженої нотації.

Як це працює технічно

IPv6-адреса — це 128 бітів, записаних як вісім груп по чотири шістнадцяткові цифри (кожна група — 16 бітів), розділених двокрапками. Подвійна двокрапка :: — це скорочення для «однієї або кількох послідовних груп із самих нулів», і вона може з'явитися лише раз, бо інакше адреса була б неоднозначною. Щоб розгорнути, інструмент розбиває адресу за ::, підраховує групи з кожного боку, вставляє посередині рівно стільки груп 0000, скільки потрібно, щоб дістати до восьми загалом, і доповнює кожну групу до чотирьох цифр. Щоб стиснути, він застосовує правила RFC 5952, які роблять адресу канонічною: шістнадцяткові символи в нижньому регістрі, провідні нулі в кожній групі видаляються, а єдиний найдовший ряд послідовних нульових груп замінюється на :: — причому за нічиєї перемагає найлівіший ряд, а ряд лише з однієї нульової групи лишається нестиснутим. Будь-яка вбудована частина IPv4 спершу перетворюється на дві шістнадцяткові групи, щоб арифметика лишалася однорідною. Парсер відхиляє неправильно сформований ввід: більш ніж одну ::, неправильну кількість груп або октет IPv4 понад 255.

Конкретні приклади та сценарії використання

  • fe80::1 — локальна для каналу адреса розгортається до fe80:0000:0000:0000:0000:0000:0000:0001, зручно, коли інструмент наполягає на повній формі.
  • 2001:0DB8:0000:0000:0000:0000:0000:0001 — у верхньому регістрі й доповнена нулями від одного постачальника, стискається до охайної 2001:db8::1, якої очікує інший постачальник.
  • Зворотний DNS — побудова PTR-запису ip6.arpa вимагає повністю розгорнутої форми, ніббл за ніблом, яку розгортач дає вам безпосередньо.
  • ACL та брандмауери — нормалізація обох боків порівняння запобігає правилам, які тихо ніколи не спрацьовують, бо одна адреса була стиснута, а інша — ні.

Практичні поради та підводні камені

Найпоширеніша помилка — спроба використати :: двічі або використати її для позначення однієї нульової групи там, де канонічна форма цього не робила б — обидва варіанти роблять адресу нестандартною, навіть якщо деякі парсери це терплять. Регістр має значення для охайності, але не для значення: 2001:DB8::1 та 2001:db8::1 — це та сама адреса, а RFC 5952 просить нижній регістр, який і видає цей інструмент. Коли адреса несе префікс (як-от 2001:db8::/32) або ідентифікатор зони (fe80::1%eth0), тримайте їх окремо у своїй свідомості — інструмент нормалізує частину адреси й відкидає зону перед розбором. І пам'ятайте, що :: на самому початку чи в кінці все одно рахується як нульовий ряд, тож ::1 — це петля зворотного зв'язку, а сама лише :: — невизначена адреса з самих нулів.

Приватність: кожне розгортання й стиснення обчислюється локально у вашому браузері за допомогою JavaScript. Адреса, яку ви вводите, лишається на вашому пристрої — нічого не надсилається на сервер, не завантажується й не журналюється — тож із внутрішніми та продакшн IPv6-адресами тут безпечно працювати. Якщо ви розгортаєте IPv6 і хочете переконатися, що ваше справжнє з'єднання не витікає за межі зашифрованого тунелю, наш VPN створений, щоб запобігати саме такому виду розкриття.

Цю сторінку знаходять за запитами

Реальні пошукові фрази, на які відповідає ця сторінка — за посиланнями відкриються матеріали, що розкривають тему глибше.