IPv6-адреса

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

IPv6-адреса, (IP-адреса версії 6, англ. IPv6 address, Internet Protocol Version 6 address) — це ідентифікатор (унікальний числовий номер) мережевого інтерфейсу комп'ютерa або іншого пристрою, що є членом IPv6-мережі (Інтернет-мережі версії 6).

IPv6-адреса служить для однозначної ідентифікації окремого мережевого інтерфейсу хоста в IT мережі. Таким чином створюється можливість маршрутизації IPv6-пакетів між хостами.

IPv6 є наступником Інтернет-Протоколу версії 4 (IPv4). На відміну від IPv4, який має 32-бітові IP-адреси, IPv6-адреси мають розмір 128 біт. Таким чином, протокол IPv6 має значно більший адресний простір у порівнянні з IPv4.

Класи IPv6-адрес[ред. | ред. код]

Бінарний розклад IPv6-адреси

IPv6-адреси класифікуються наступним чином:[1]

  • Індивідуальна адреса[en] (unicast) використовується для передачі пакета до конкретного інтерфейсу хоста
  • Альтернативна адреса[en] (anycast) назначається групі інтерфейсів, які зазвичай не належать одному хосту. Пакет, який було надіслано по цій адресі, доставляється до найближчого від відправника інтерфейсу, до інших інтерфейсів з тією ж самою IPv6-адресою пакет не доставляється. Альтернативні адреси мають такий же самий формат, як і індивідуальні адреси.
  • Групова адреса (multicast) використовується спеціальними протоколами для одночасної передачі пакетів від одного відправника до багатьох хостів-отримувачів, які мають однакову групову адресу.
  • Місцева локальна (site-local) Використовувалася як аналог приватної IPv4 адреси. Перші 10 біт мають вигляд 1111111011, отже адреса завжди починається із октету FEC0. Наступні 54 біти - ідентифікатор мережі, останні 64 біти - ідентифікатор інтерфейсу. У 2004 місцеві локальні адреси визнано застарілими[2], але мережі, де ці адреси вже використовуються, можуть продовжити їх використання.

На відміну від протоколу IPv4 IPv6 не має поняття широкомовної адреси (broadcast).

Формати адрес[ред. | ред. код]

IPv6-адреса складається з 128 біт.[1] В свою чергу повна адреса поділяється на групи бітів за визначеною логікою.

Формати unicast та anycast-адрес[ред. | ред. код]

Unicast- і anycast-адреси звичайно складаються із двох частин — 64-бітного префікса мережі та 64-бітного ідентифікатора адреси інтерфейсу безпосередньо в цій мережі. В свою чергу префікс мережі поділяється на так званий префікс маршрутизації (routing prefix) та на адресу підмережі (subnet). Безпосередньо адреса інтерфейсу хоста отримується автоматично на основі його MAC-адреси чи від DHCP-сервера або в разі необхідності може встановлюватися статично.

Звичайний формат unicast-IPv6-адреси
поле префікс маршрутизації підмережа інтерфейс хосту
кількість бітів 48 — 64 0 — 16 64

Для сегментно-локальних адрес (link-local) визначено інший формат:

Link-local address format
поле префікс нулі інтерфейс хосту
кількість бітів 10 54 64

Поле префікс містить 1111111010, далі йдуть 54 нулів. Таким чином, це можна подати у шістнадцятковому форматі як fe80::/64.

Формат multicast-адрес[ред. | ред. код]

Multicast формуються за специфічними правилами в залежності від використання:

Звичайний формат multicast-адрес
field префікс флаг діапазон (scope) ідентифікатор групи
кількість бітів 8 4 4 112

Поле префікс містить 1111111, тобто це можна подати у шістнадцятковому форматі як ff::/8

Наразі три з чотирьох бітів флагу є визначеними;[1] перший біт зарезервовано для майбутнього використання.

Флаг multicast-адрес[3]
біт флаг коли значення 0 коли значення 1
8 зарезервований зарезервований зарезервований
9 R (Rendezvous) Рандеву[4] Рандеву-точка не вставлена Рандеву-точка вставлена
10 P (Prefix) Префікс[5] Без префікс-інформації Адреса на основі префікса мережі
11 T (Transient) Транзитний[1] Добре знана multicast-адреса Динамічно призначена multicast-адреса

Представлення[ред. | ред. код]

IPv6-адреса представляється як вісім груп по чотири шістнадцяткові цифри, кожна група становить 16 біт (два октети). Групи розділяються між собою двокрапкою " : ". Приклад IPv6-адреси:

   2001:0db8:0000:85a3:0000:8a2e:0370:7334

Шістнадцяткові цифри можуть подаватися без урахування регістру, але рекомендації IETF передбачають використання малих літер. IPv6-адрес можуть подаватися з використанням визначених правил для компактного запису.

  • Нулі на початкову групи не пишуться:
   2001:db8:0:85a3:0:8a2e:370:7334 
  • Групи з самих нулів можуть замінятися " :: ", але для запобігання неоднозначностей лише один раз.
    • Коли маємо більше двох таких груп, то заміну робимо для найдовшої.
    • Якщо довжина груп нулів однакова, тоді для найлівішої.

Таким чином отримаємо:

     2001:db8::85a3:0:8a2e:370:7334

Для відокремлення адреси мережі від адреси хосту за аналогією з IPv4-адресами використовується CIDR-запис, наприклад:

     2001:db8::85a3:0:8a2e:370:7334/64

Маски підмереж на відміну від IPv4 не використовуються.

Примітки[ред. | ред. код]

  1. а б в г RFC 4291, IP Version 6 Addressing Architecture, R. Hinden, S. Deering (February 2006)
  2. Huitema, Christian; Carpenter, Brian. Deprecating Site Local Addresses. tools.ietf.org (англ.). Архів оригіналу за 29 листопада 2019. Процитовано 8 лютого 2020.
  3. Silvia Hagen (May 2006). IPv6 Essentials (вид. Second). O'Reilly. ISBN 978-0-596-10058-2.
  4. RFC 3956, Embedding the Rendezvous Point (RP) Address in an IPv6 Multicast Address P. Savola, B. Haberman (November 2004)
  5. RFC 3306, Unicast-Prefix-based IPv6 Multicast Addresses, B. Haberman, D. Thaler (August 2002)