Loading AI tools
З Вікіпедії, вільної енциклопедії
IPv6 (англ. Internet Protocol version 6) — нова версія IP-протоколу — IP версії 6. Розробка протоколу IPv6 почалася 1992 року, а з 2003 р. його підтримку забезпечують виробники більшості телекомунікаційного устаткування (корпоративного рівня). IPv6 — новий крок у розвитку Інтернету. Цей протокол розроблено з урахуванням вимог до Глобальної мережі, що постійно зростають. 3 лютого 2011 року IANA виділила останні п'ять блоків IP-адрес /8 (IPv4).
Найбільш суттєва різниця між IPv4 та IPv6 полягає в тому, що раніше на інтернет-адресу виділяли 4 байти (32 біти), що відповідає стандартній на сьогодні чотириблоковій адресі IP, а протокол IPv6 виділяє на адресу 16 байтів (128 бітів). Це відповідає 340 секстильйонам адрес (3,4x1038) або по 5x1028 адрес на кожну людину.
Вночі 5 лютого 2008 року організація ICANN, яка наглядає за використанням інтернет-протоколів, почала додавати в DNS-сервери записи, що містять адреси у форматі протоколу IPv6[1]. Це поклало початок переходу з нинішнього протоколу IPv4 на сучасніший IPv6.
У квітні 2009 у мережі UA-IX запущено процес перевірки протоколу IPv6. Серед перших компаній, що ухвалили рішення про участь в тестуванні, — «ТопНЕТ» і «Датагруп». Вони встановили IPv6 BGP-з'єднання з маршрутизатором UA-IX і здійснили обмін маршрутною інформацією між ними. У квітні 2011 розпочалось масове впровадження IPv6 серед домашніх користувачів інтернет.
Наприкінці 1980-х стала очевидною нестача адресного простору Інтернет. На початку 1990-х, навіть після введення безкласової адресації, виявилось, що однієї економії та використання NAT'у буде замало, щоб запобігти вичерпання адресного простору, і необхідна зміна адресації. Крім того, накопичилась певна кількість пропозицій щодо усунення недоліків наявної моделі Інтернет. Наприкінці 1992 року IETF оголосила конкурс на створення протоколу Інтернет наступного покоління (англ. IP Next Generation — IPng). 25 липня 1994 року IETF ствердила модель IPng з утворенням кількох робочих груп IPng. У 1996 було створено серію RFC, що визначали новий протокол Інтернет. Оскільки версія 5 вже була раніше призначена експериментальному протоколу передачі мультимедійних потоків, новий протокол отримав версію 6.
Оцінки повного вичерпання IPv4 адрес розрізнялись в 2000-х, але потім всі оцінки збігалися до 2011 року. У 2003 році директор APNIC Пол Уілсон (англ. Paul Wilson) заявив, що, виходячи з темпів поширення мережі Інтернет того часу, вільного адресного простору вистачить на одне-два десятиріччя. У вересні 2005 року Cisco Systems відзначила, що пула доступних адрес вистачить на 4—5 років. У вересні 2010, виходячи з даних IANA, весь пул адрес IPv4 буде розподілено реєстратурам (RIR) до середини 2011 року[2], в листопаді ця дата була перенесена на березень 2011. 3 лютого 2011 року IANA виділила останні п'ять блоків IP-адрес /8 (IPv4).
8 червня 2011 року відбувся Міжнародний день IPv6 — захід з тестування готовності світової інтернет-спільноти до переходу з IPv4 на IPv6, в рамках якого компанії-учасники додали до своїх сайтів IPv6-записи на один день. Тестування пройшло вдало, накопичені дані будуть проаналізовані та враховані при наступному впровадженні протоколу і для підготовки рекомендацій.
Переведення на IPv6 почало виконуватись всередині Google з 2008 року. У специфікації стандарту мобільних мереж LTE вказана обов'язкова підтримка IPv6. Проблемою для впровадження IPv6 є те, що не всі операційні системи повністю підтримують протокол IPv6.
Розширення адресного простору скасовує необхідність використання NAT, оскільки на кожну людину припадає близько 3*108 унікальних адрес.
Принцип призначення хосту IPv6 адреси є ієрархічним. Мінімальний розмір підмережі — /64 (264). Молодша частина адреси (64 біти) використовується як унікальний ідентифікатор користувача, наступна частина визначає підмережу всередині оператора зв'язку, далі йде ідентифікатор самого оператора. Такий підхід значно спрощує маршрутизацію.
З IPv6 вилучено кілька функцій, що ускладнюють роботу маршрутизаторів:
Незважаючи на суттєве збільшення розміру адреси IPv6, завдяки цим покращенням основний заголовок пакета збільшився лише у 2 рази: з 20 до 40 байтів.
Покращення IPv6 у порівнянні з IPv4:
У момент ініціалізації мережевого інтерфейсу йому призначується локальна IPv6-адреса, з префіксом fe80::/10, у молодшій частині адреси розміщується ідентифікатор інтерфейсу. Ідентифікатором інтерфейсу часто слугує 64-бітний розширений унікальний ідентифікатор EUI-64[en], що найчастіше формується з MAC адреси. Локальна адреса дійсна тільки в межах мережевого сегмента канального рівня, і використовується, в основному, для обміну інформаційними ICMPv6 пакетами.
Для отримання інших адрес вузол може запросити інформацію про налаштування мережі у маршрутизаторів за допомогою ICMPv6 повідомлення «Router Solicitation». Цей запит відсилається на групову (multicast) адресу маршрутизаторів. У відповідь маршрутизатори відсилають ICMPv6 повідомлення «Router Advertisement», що може містити інформацію про префікс мережі, адресу шлюзу, адреси рекурсивних серверів DNS[3], MTU та багато інших параметрів. Поєднуючи мережевий префікс та ідентифікатор інтерфейсу, вузол отримує нову адресу. Для захисту персональних даних ідентифікатор інтерфейсу може бути замінений на псевдовипадкове число.
Для більшого адміністративного контролю може бути використаний DHCPv6[en], що дозволяє адміністратору маршрутизатора призначати вузлам конкретні адреси.
Адреси IPv6 мають 128 бітів. Дизайн адресного простору IPv6 реалізує зовсім іншу філософію дизайну, ніж в IPv4, в якій підмережа використовувалася для підвищення ефективності використання малого адресного простору. У IPv6 адресний простір вважається досить великим у передбачуваному майбутньому, а локальна підмережа завжди використовує 64 біти для частини що приймає адрес, позначеної як ідентифікатор інтерфейсу, тоді як найважливіші 64 біти використовуються як префікс для маршрутизаторів.
Ідентифікатор унікальний лише в підмережі, до якої підключений хост. IPv6 має механізм автоматичного виявлення адреси, так що адресу автоконфігурації завжди створює унікальну передачу.
Введення поля «Відмітка потоку» в протоколі IPv6 дозволяє значно спростити процедуру маршрутизації однорідного потоку пакетів. Потік — це послідовність пакетів, що надсилаються відправником певному адресату. При цьому припускається, що всі пакети даного потоку мають бути оброблені певним чином. Характер даної обробки задається додатковими заголовками.
Припускається існування декількох потоків між відправником та отримувачем. Відмітка потоку призначається вузлом-відправником шляхом генерації псевдовипадкового 20-бітного числа. Всі пакети одного потоку мають містити однакові заголовки, що оброблюються маршрутизатором.
При отриманні першого пакета з відміткою потоку маршрутизатор аналізує додаткові заголовки, виконує певні операції відповідно до цих заголовків та запам'ятовує результати обробки (адресу наступного вузла, опції заголовку переходів, переміщення адрес у заголовку маршрутизації тощо) в локальному кеші. Ключем для такого запису є комбінація адреси відправника та відмітки потоку. Наступні пакети з тією самою комбінацією адреси відправника та відмітки потоку обробляються з урахуванням інформації кешу без детального аналізу усіх полів заголовка.
Час життя запису у кеші становить не більше 6 секунд, навіть якщо пакети цього потоку продовжують надходити. Після видалення запису з кешу при отриманні наступного пакета потоку, пакет обробляється у звичайному режимі і для нього відбувається формування нового запису в кеші. Слід зауважити, що вказаний час життя потоку може бути явно заданий вузлом відправником за допомогою протоколу керування або опцій заголовку переходів, і може перевищувати 6 секунд.
Пріоритезація пакетів забезпечується маршрутизаторами на основі перших шести бітів поля Traffic Class. Перші три біти визначають клас трафіку, решта бітів визначають пріоритет видалення. Чим більше значення пріоритету, тим вище пріоритет пакета.
В залежності від задач розробники IPv6 рекомендують використовувати наступні коди класу трафіку:
IPv6 адреси показуються як вісім груп по чотири шістнадцяткові цифри, розділених двокрапками. Приклад адреси:
2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d
Якщо одна чи більше груп підряд дорівнюють 0000, то вони можуть скорочено записуватись як подвійна двокрапка (::). Наприклад, 2001:0db8:0000:0000:0000:0000:ae21:ad12 може бути скорочена до 2001:db8::ae21:ad12, 0000:0000:0000:0000:0000:0000:ae21:ad12 — до ::ae21:ad12. Скорочення не дозволяється у випадку, коли адреса містить 2 окремі нульові групи через виникнення невизначеності.
При використанні IPv6-адреси в URL необхідно брати адресу в квадратні дужки:
http://[2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d]/
Якщо потрібно вказати порт, то він пишеться після дужок:
http://[2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d]:8080/
Зміщення в байтах | 0 | 1 | 2 | 3 | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Відступ в бітах | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |
0 | 0 | Version | Traffic Class | Flow Label | |||||||||||||||||||||||||||||
4 | 32 | Payload Length | Next Header | Hop Limit | |||||||||||||||||||||||||||||
8 | 64 | Source Address | |||||||||||||||||||||||||||||||
C | 96 | ||||||||||||||||||||||||||||||||
10 | 128 | ||||||||||||||||||||||||||||||||
14 | 160 | ||||||||||||||||||||||||||||||||
18 | 192 | Destination Address | |||||||||||||||||||||||||||||||
1C | 224 | ||||||||||||||||||||||||||||||||
20 | 256 | ||||||||||||||||||||||||||||||||
24 | 288 |
Опис полів:
Заголовок | Тип | Розмір | Опис | RFC |
---|---|---|---|---|
Hop-By-Hop Options | 0 | — | Містить вказівки для всіх пристроїв на шляху передачі пакета. | RFC 2460 |
Routing | 43 | — | Дозволяє відправнику визначати перелік вузлів, крізь які пакет має пройти. | RFC 2460, RFC 3775, RFC 5095 |
Fragment | 44 | 64 біти | Заголовок містить інформацію щодо фрагментації пакета. | RFC 2460 |
Authentication Header (AH) | 51 | — | див. IPsec | RFC 4302 |
Encapsulating Security Payload (ESP) | 50 | — | див. IPsec | RFC 4303 |
Destination Options | 60 | — | Опції, що мають оброблятися тільки отримувачем. | RFC 2460 |
No Next Header | 59 | 0 | Визначає відсутність наступного заголовка. Дані, що містяться за цим заголовком мають ігноруватися і передаватися без змін (у випадку маршрутизації). | RFC 2460 |
Якщо використовується декілька заголовків розширення, RFC 1883 рекомендує наступний порядок:
IPv6 адреса | Довжина префікса (біти) | Опис | Примітки |
---|---|---|---|
:: | 128 | — | див. 0.0.0.0 в IPv4 |
::1 | 128 | loopback адреса | див. 127.0.0.1 в IPv4 |
::xx.xx.xx.xx | 96 | вбудований IPv4 | Нижні 32 біти — це IPv4 адреса. Також називається IPv4-сумісною IPv6 адресою. Застарілий, більше не використовується. |
::ffff: xx.xx.xx.xx | 96 | Адреса IPv6, що відображена на IPv4 | Нижні 32 біти — це адреса IPv4. Для хостів, що не підтримують IPv6. |
2001:db8:: | 32 | Документування | Зарезервовано для прикладів в документації в rfc3849 [Архівовано 20 серпня 2010 у Wayback Machine.] |
fe80:: — febf:: | 10 | link-local | Аналог 169.254.0.0/16 в IPv4 |
fec0:: — feff:: | 10 | site-local | Відмічений як застарілий в rfc3879 [Архівовано 28 липня 2010 у Wayback Machine.] |
fc00:: | 7 | Unique Local Unicast | Прийшов на заміну Site-Local rfc4193 [Архівовано 1 серпня 2010 у Wayback Machine.] |
ffxx:: | 8 | multicast |
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.