Адресация IPv6
Длина IPv6-адресов составляет 128 бит. Одна из причин такого большого адресного пространства заключается в том, чтобы разделить доступные адреса на иерархию доменов маршрутизации, отражающих топологию Интернета. Другая причина состоит в том, чтобы сопоставить адреса сетевых адаптеров (или интерфейсов), которые подключают устройства к сети. IPv6 обладает встроенной возможностью разрешать адреса на их самом низком уровне, который находится на уровне сетевого интерфейса, а также позволяет выполнять автоматическую настройку.
Текстовое представление
Ниже приведены три стандартные формы, которые используются для представления адресов IPv6 в виде текстовых строк:
Смешанная форма. Эта форма объединяет адреса IPv4 и IPv6. В этом случае адрес имеет формат n:n:n:n:n:n:d.d.d.d, где n соответствует шестнадцатеричным значениям шести элементов 16-разрядного IPv6-адреса старшего порядка, а d соответствует десятичному значению IPv4-адреса.
Типы адресов
Начальные биты в адресе определяют конкретный тип адреса IPv6. Поле переменной длины, содержащее эти начальные биты, называется префиксом формата (FP).
IPv6-адрес одноадресной рассылки состоит из двух частей. Первая часть содержит префикс адреса, а вторая часть — идентификатор интерфейса. Краткий способ сочетания IPv6-адреса и префикса выглядит следующим образом: ipv6-address/prefix-length.
Ниже приведен пример адреса с 64-разрядным префиксом.
IPv6 определяет следующие типы адресов:
Адрес одноадресной рассылки. Идентификатор для отдельного интерфейса. Пакет, отправленный на этот адрес, доставляется в определенный интерфейс. Адреса одноадресной рассылки отличаются от адресов многоадресной рассылки по значению октета более высокого разряда. Октет старшего порядка адресов многоадресной рассылки имеет шестнадцатеричное значение FF. Любое другое значение для этого октета определяет адрес одноадресной рассылки. Ниже приведены различные типы адресов одноадресной рассылки.
Адреса локального канала. Эти адреса используются в одном канале и имеют следующий формат: FE80::InterfaceID. Адреса локального канала используются между узлами в канале для автонастройки адресов, обнаружения окружения или при отсутствии маршрутизаторов. Адрес локального канала используется главным образом во время запуска и в случае, когда система еще не получила адреса большей области.
Адреса локальных узлов. Эти адреса используются в одном узле и имеют следующий формат: FEC0::SubnetID:InterfaceID. Адреса локальных узлов используются для адресации внутри узла и не требуют глобального префикса.
Глобальные IPv6-адреса одноадресной рассылки. Эти адреса могут использоваться в Интернете и имеют следующий формат: 010 (FP, 3 бита) TLA ID (13 бит) Reserved (8 бит) NLA ID (24 бита) SLA ID (16 бит) InterfaceID (64 бита).
Адрес многоадресной рассылки. Идентификатор набора интерфейсов (обычно принадлежащих разным узлам). Пакет, отправленный на этот адрес, доставляется во все интерфейсы, определенные адресом. Типы адресов многоадресной рассылки заменяют IPv4-адреса широковещательной рассылки.
Адреса произвольной рассылки. Идентификатор набора интерфейсов (обычно принадлежащих разным узлам). Пакет, отправленный на этот адрес, доставляется только в один интерфейс, определенный адресом. Это ближайший интерфейс, определенный метриками маршрутизации. Адреса произвольной рассылки берутся из пространства адресов одноадресной рассылки и синтаксически не отличаются. Адресный интерфейс выполняет отличие адресов одноадресной рассылки от адресов произвольной рассылки в качестве функции его конфигурации.
Как правило, узел всегда имеет адрес локального канала. У него может быть адрес локального узла и один или несколько глобальных адресов.
Протокол IPv6
Что такое IPv6?
Основные решаемые задачи:
Протокол IPv6 разработан в конце 1992 года.
В наше время протокол IPv6 активно используется во множестве сетей по всему миру, но пока ещё не получил столь широкого распространения в Интернете, как IPv4.
Интернет протокол IPv6 хорошо справляется с основными поставленными задачами. Ему присущи достоинства интернет протокола IP и он же лишен некоторых недостатков, к тому же обладает некоторыми новыми возможностями. В общем случае протокол IPv6 несовместим с протоколом IPv4, но зато совместим со всеми остальными протоколами Интернета, включая TCP, UDP, ICMP, OSPF, DNS для чего иногда требуются небольшие изменения.
Особенности IPv6
Заголовок IPv6
Структура IP пакетов версии 6 представлена на рисунке
Также в протоколе IPv6 предусмотрены следующие дополнительные заголовки:
Типы адресов
В IPv6 не существует широковещательных адресов, их функции переданы мультикастинг-адресам.
В IPv6, все нули и все единицы являются допустимыми кодами для любых полей, если не оговорено исключение.
Модель адресации
IPv6 адреса всех типов ассоциируются с интерфейсами, а не узлами. Так как каждый интерфейс принадлежит только одному узлу, уникастный адрес интерфейса может идентифицировать узел.
IPv6 уникастный адрес соотносится только с одним интерфейсом. Одному интерфейсу могут соответствовать много IPv6 адресов различного типа (уникастные, эникастные и мультикстные). Существует два исключения из этого правила:
IPv6 соответствует модели IPv4, где субсеть ассоциируется с каналом. Одному каналу могут соответствовать несколько субсетей.
Формы представления IPv6
Форма шестнадцатеричных чисел и двоеточий
Эта форма является предпочтительной и имеет вид n:n:n:n:n:n:n:n. Каждый знак n соответствует 4-х значному шестнадцатеричному числу (всего 8 шестнадцатеричных чисел, для каждого числа отводится 16 бит).
Сжатая форма
По причине большой длины адрес обычно содержит много нулей подряд. Для упрощения записи адресов используется сжатая форма, в которой смежные последовательности нулевых блоков заменяются парами символов двоеточий (::). Однако такой символ может встречаться в адресе только один раз.
Основы IPv6
Предисловие
Пост является кратким конспектом Wiki, TechNet’а, FreeBSD’шного handbook’a, Serverfault’a, множества RFC и документов IANA, а также курсов от Специалист.Ру для сотрудников Яндекса.
Пост можно рассматривать как копилку ссылок по актуальной на 2012 год спецификации IPv6. Однако он никак не описывает возможные способы установки IPv6 соединения с интернетом и не привязан к какой-либо определённой ОС.
Учтите, что прочтение данной хабрастатьи займёт у вас не более получаса, однако крайне рекомендуется ознакомиться со всеми приведёнными в статье ссылками… Последнее может занять несколько недель.
Prerequisites
Хоть статья и называется «Основы IPv6» она всё-таки подразумевает наличие базовых знаний о IP сетях и хотя бы небольшой практический опыт работы с IPv6, в противном случае хабрастатья будет даваться очень не легко.
Так же рекомендуется к прочтению документ Implementing IPv6 Addressing and Basic Connectivity от Cisco.
Ещё стоит заметить, что приведённые на википедию ссылки зачастую более примечательны разделом References нежели своим содержанием.
IPv6 Адреса
Анатомия IPv6 адресов
В первой версии этого хабрапоста тут было много текста, но с того момента на википедии выросла отличная статья: IPv6 Address.
Маски подсетей
Маски теперь задаются только /prefix’ами (CIDR), классовой адресации и стандартной decimal dotted нотации в IPv6 нет. Так же теперь первый и последний адрес сети не являются зарезервированными под идентификатор сети и broadcast соответственно.
Выделение IPv6 адресов
Типы адресов и их префиксы
Виды трафика
Address Scope
В IPv6 появилось такое понятие как Scope, он же Zone ID терминологии Microsoft. На самом деле оно было и в IPv4, однако не было задано явно: сети 10/8, 172.16/12 и 192.168/16 яркие тому примеры.
В случае Unicast/Anycast адресов приминимо следующее:
У каждого IPv6 enabled интерфейса есть свой Link-local адрес. Его scope, внезапно, local. Эти адреса уникальны в пределах линка, но не обязаны быть актуальными в пределах одного хоста. Так, например, VLAN созданный на интерфейсе будет иметь такой же link-local адрес, что и родительский интерфейс (так как без использования IPv6 Privacy Extensions он будет генериться из тогоже Link Layer адреса). Для того, чтобы явно указать интерфейс которому принадлежит IPv6 адрес нужно или указывать в ручную интерфейс для исходящих пакетов или использовать специальный суффикс при записи адреса: %ИндексИнтерфейса в Windows (fe80::2b0:d0ff:fee9:4143%3) или %ИмяИнтерфейса в *BSD/Linux (fe80::2b0:d0ff:fee9:4143%em0).
В случае Multicast адресов scope указан в последних четырёх битах вторго октета IPv6 адреса: ff0s:: и может быть interface-local, link-local, admin-local, site-local, organization-local или же global.
Дополнительно стоит ознакомиться с RFC4007 IPv6 Scoped Address Architecture
Жизненный цикл IPv6 адреса
IPv6 Пакет
Заголовок IPv6 пакета
Extension Headers
IPv6 Протоколы
ICMPv6
ICMP в IPv6 был заменён на ICMPv6. О ICMPv6 можно прочитать в RFC4443 Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification.
Сам по себе ICMPv6 довольно прост, однако на его основе сделано множество довольно не тривиальных протоколов, о которых мы поговорим чуть ниже.
Описание Neighbor Discovery Protocol, заменившего протокол ARP, доступно в RFC4861. Теперь это не отдельный протокол, а надстройка над ICMPv6 добавляющая несколько новых типов сообщений.
Основное предназначение NDP — производить мапинг между link-layer и IPv6 адресами, однако это лишь небольшая часть функциональности.
Автоконфигурация
Zeroconf
Как уже было упомянуто выше, хосты умеют автоматически генерировать себе IPv6 link-local адрес из адреса канального уровня. Так что без какой либо настройки любой IPv6-enabled хост подключённый к сети выдаёт сам себе адрес сетевого уровня.
В IPv4 эта технология использует зарезервированный IPv4 диапазон 169.254/16. Подробно технология описана в RFC3927 Dynamic Configuration of IPv4 Link-Local Addresses (Заметьте, что этот RFC вышел после IPv6’ого 2462).
Stateful
В IPv4 автоконфигурация возможна только с использованием DHCP сервера. В IPv6 эту возможность оставили: можно конфигурировать сеть с помощью DHCPv6 сервера и клиента. Однако, поддержка со стороны вендоров DHCPv6 пока не блещет, так например, dhclient во FreeBSD из коробки не умеет IPv6.
Stateless
Комбинированая
Могут использоваться одновременно оба вида автоконфигурации, например stateless для получения IPv6 префикса и stateful для получения адресов DNS-серверов и/или других параметров, которые нельзя передать с помощью Router Advertisement.
Прочее
Протоколы более высокого уровня
Часть протоколов, использующих адрес сетевого уровня в своей работе требовали внесения в них определённых изменением для того, чтобы начать работать по IPv6. Ярким примером такого протокола является FTP.
Тунелирование IPv6 трафика поверх IPv4 сетей
Mobile IPv6
Про него не знаю нечего, так что просто оставлю это здесь: Mobile IP.
IPv6 адрес как хранилище информации
Согласитесь 128бит — это огромный простор для фантазии. Существует множество технологий которые пытаются использовать эти самые 128бит. От кодирования туда IPv4 адреса и криптографических сигнатур до определения растояний между нодами (тут кстати даже мы думали в этом направлении, но пока присмтриваемся к ALTO: Application-Layer Traffic Optimization (ALTO) Problem Statement).
Socket API
Хабратопик описывает IPv6 с точки зрения NOC / системного администратора, но не с точки зрения программиста. Если кому-то интересны особенности программирования под IPv6, то рекомендую обратиться к RFC3493 — Basic Socket Interface Extensions for IPv6 и книжке IPv6 Network Programming
ИТ База знаний
Полезно
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
🔥 Популярное
Прокси сервер – что это, виды и зачем нужен?
Разбиение сети на подсети: VLSM
Как пользоваться Cisco AnyConnect
Тонкое искусство разбиения вашей сети на подсети
👌 Похожее
Обслуживание и траблшутинг сетей
7 частых проблем с сетью и как их быстро решить
Протоколы RIP и EIGRP с точки зрения плоскости управления
Реагирование на изменения топологии сети
Будущее, которое наступило
В этой статье мы рассмотрим IPv6 (Internet Protocol version 6), причины, по которым он нам нужен, а также следующий аспект: различия с IPv4. Пока существует Интернет, используется протокол IPv4 для адресации и маршрутизации. Однако проблема с IPv4 заключается в том, что у нас закончились адреса.
Полный курс по Сетевым Технологиям
В курсе тебя ждет концентрат ТОП 15 навыков, которые обязан знать ведущий инженер или senior Network Operation Engineer
Поэтому мы начали использовать VLSM, чтобы использовать любую маску подсети, которая нам нравится, и создавать более мелкие подсети, а не только сети класса A, B или C. У нас также имеется NAT и PAT, следовательно, мы имеем много частных IP-адресов за одним публичным IP-адресом.
Тем не менее интернет вырос так, как никто не ожидал 20 лет назад. Несмотря на все наши крутые трюки, такие как VLSM и NAT/PAT, нам нужно было больше IP-адресов, и поэтому родился IPv6.
IPv6 имеет 128-битные адреса по сравнению с нашими 32-битными IPv4-адресами. Имейте в виду, что каждый дополнительный бит удваивает количество IP-адресов. Таким образом мы переходим от 4 миллиардов к 8 миллиардам, 16,32,64 и т. д. Продолжайте удвоение, пока не достигнете 128-битного уровня. Просто вы увидите, сколько IPv6-адресов это даст нам:
Можем ли мы вообще произнести это? Давайте попробуем вот это:
Это умопомрачительно. это дает нам достаточное количество IP-адресов для сетей на Земле, Луне, Марсе и остальной Вселенной. IPv6-адреса записываются в шестнадцатеричном формате.
IPv4 и IPv6 несовместимы друг с другом, поэтому многие протоколы были обновлены или заменены для работы с IPv6, вот некоторые примеры:
Заголовок пакета IPv6 содержит адреса источника и назначения, но по сравнению с IPv4 он стал намного проще:

Вместо того чтобы уже добавлять все поля в заголовок, заголовок IPv6 использует «следующий заголовок», который ссылается на необязательные заголовки. Поскольку заголовок намного проще, маршрутизаторам придется выполнять меньше работы.
А как насчет маршрутизации? Есть ли разница между IPv4 и IPv6? Давайте рассмотрим варианты маршрутизации:
Вы все еще можете использовать статическую маршрутизацию, как и в IPv4, ничего нового здесь нет. RIP был обновлен и теперь называется RIPng или RIP Next Generation.
OSPF для IPv4 на самом деле является версией 2, а для IPv6 у нас есть версия 3. Это отдельный протокол, он работает только на IPv6. Есть только незначительные изменения, внесенные в OSPFv3.
Просто имейте в виду, что OSPF и EIGRP поддерживают IPv6, но это отдельные протоколы. Если у вас есть сеть с IPv4 и IPv6, вы будете запускать протокол маршрутизации для IPv4 и еще один для IPv6. Запуск IPv4 и IPv6 одновременно называется двойным стеком.
Поскольку эти два протокола несовместимы, в будущем будет происходить переход с IPv4 на IPv6. Это означает, что вы будете запускать оба протокола в своей сети и, возможно, однажды вы сможете отключить IPv4, так как весь интернет будет настроен на IPv6.
Давайте взглянем на формат IPv6-адреса: 2041:0000:140F:0000:0000:0000:875B:131B
Во-первых, он шестнадцатеричный и гораздо длиннее, чем IPv4-адрес. Существует восемь частей, состоящих из 4 шестнадцатеричных цифр каждая, поэтому 128-битный адрес может быть представлен 32-битными шестнадцатеричными символами. Если вы забыли, как работает шестнадцатеричный код, взгляните на таблицу ниже:

В шестнадцатеричной системе счисления мы считаем от 0 до F точно так же, как мы считали бы от 0 до 15 в десятичной системе счисления:
Чтобы облегчить нам работу с такими адресами, можно сделать IPv6-адреса короче. Вот пример:
Оригинальный: 2041: 0000:140F:0000:0000:0000:875B:131B
Сокращенный: 2041: 0000:140F:: 875B:131B
Если есть строка нулей, вы можете удалить их, заменив их двойным двоеточием (::). В приведенном выше IPv6-адресе удалены нули, сделав адрес немного короче. Вы можете сделать это только один раз.
Мы можем сделать этот IPv6 адрес еще короче используя другой трюк:
Если у вас есть блок с 4 нулями, вы можете удалить их и оставить там только один ноль.
Мы также можем удалить все впередистоящие нули:
Подытожим небольшие правила:
Вычисление префикса IPV6 мы пропустим, так как ресурсов, рассказывающих об этом в сети Интернет, специальных книгах полно. Нет смысла повторяться.
Потребуется некоторое время, чтобы привыкнуть к IPv6-адресации и поиску префиксов, но чем больше вы этим занимаетесь, тем дальше становиться проще. В оставшейся части этой статьи мы еще немного поговорим о различных типах адресации IPv6. IPv4-адреса организованы с помощью «системы классов», где класс A, B и C предназначены для одноадресных IP-адресов, а класс D-для многоадресной передачи. Большинство IP-адресов в этих классах являются публичными IP-адресами, а некоторые-частными IP-адресами, предназначенными для наших внутренних сетей. Нет такой вещи, как классы для IPv6, но IANA действительно зарезервировал определенные диапазоны IPv6 для конкретных целей. У нас также есть частные и публичные IPv6-адреса. Первоначально идея IPv4 заключалась в том, что каждый хост, подключенный к Интернету, будет иметь общедоступный IP-адрес. Каждая компания получит сеть класса А, В или С, и сетевые инженеры в компании будут дополнительно подсоединять ее так, чтобы каждый хост и сетевое устройство имели общедоступный IP-адрес.
Проблема, однако, заключается в том, что адресное пространство IPv4 было слишком маленьким, и выдавать полные сети A, B или C было не очень разумно. Даже если вам требуется только небольшое количество IP-адресов, вы все равно получите сеть класса C, которая дает вам 254 пригодных для использования IP-адреса. Компания, которой требуется 2.000 IP-адресов, получит класс B, который дает вам более 65.000 IP-адресов.
Поскольку у нас заканчивались IP-адреса, мы начали использовать такие вещи, как VLSM (избавляясь от идеи класса A, B, C) и настраивали частные IP-адреса в наших локальных сетях, а вместо этого использовали NAT/PAT. Протокол IPv6 предлагает два варианта для одноадресной рассылки:
Раньше существовал третий диапазон адресов, называемый «site local«, который начинался с FEC0:: / 10. Этот диапазон изначально предназначался для использования во внутренних сетях, но был удален из стандарта IPv6.
Global Unicast передачи IPv6 похожи на публичные IPv4-адреса. Каждая компания, которая хочет подключиться к интернету с помощью IPv6, получит блок IPv6-адресов, которые они могут дополнительно разделить на более мелкие префиксы, чтобы все их устройства имели уникальный IPv6-адрес. Зарезервированный блок называется префиксом глобальной маршрутизации.
Поскольку адресное пространство IPv6 настолько велико, каждый может получить префикс глобальной маршрутизации. Давайте посмотрим, как назначаются префиксы IPv6-адресов. Допустим, компания получает префикс 2001:828:105:45::/64. Как они его получили?

Мы пройдемся по этой картине сверху вниз:
IANA зарезервировала определенные диапазоны адресов IPv6 для различных целей, точно так же, как это было сделано для IPv4. Первоначально они зарезервировали IPv6-адреса, которые с шестнадцатеричными 2 или 3 являются global unicast адресами. Это можно записать как 2000:: / 3. В настоящее время они используют все для global unicast рассылки, которая не зарезервирована для других целей.
Некоторые из зарезервированных префиксов являются:
Обсудим префиксы local и link-local
При использовании IPv4 у нас была часть «сеть» и «хост», а класс A, B или C определяет, сколько битов мы используем для сетевой части:

Когда мы используем подсети в IPv4 мы берем дополнительные биты от части хоста для создания большего количества подсетей:

И, конечно, в результате у нас будет меньше хостов на подсеть. Подсети для IPv6 используют аналогичную структуру, которая выглядит следующим образом:

Префикс global routing был назначен вам провайдером и в моем примере клиент получил его 2001:828:105::/48. Последние 64 бита называются идентификатором интерфейса, и это эквивалентно части хоста в IPv4.
Это оставляет нас с 16 битами в середине, которые я могу использовать для создания подсетей. Если я хочу, я могу взять еще несколько битов из идентификатора интерфейса, чтобы создать еще больше подсетей, но в этом нет необходимости.
Использование 64-битного идентификатора интерфейса также очень удобно, потому что он сокращает ваш IPv6-адрес ровно наполовину!
Допустим, наш клиент с префиксом 2001: 828: 105:: / 48 хочет создать несколько подсетей для своей внутренней сети. Какие адреса мы можем использовать?

16 бит дает нам 4 шестнадцатеричных символа. Таким образом, все возможные комбинации, которые мы можем сделать с этими 4 символами, являются нашими возможными подсетями. Все, что находится между 0000 и FFFF, является допустимыми подсетями:
Всего существует 65 535 возможных подсетей, поэтому, к сожалению, я не могу добавить их все в статью. теперь мы можем назначить эти префиксы различным соединениям типа point-to-point, VLAN и т. д.
Онлайн курс по Кибербезопасности
Изучи хакерский майндсет и научись защищать свою инфраструктуру! Самые важные и актуальные знания, которые помогут не только войти в ИБ, но и понять реальное положение дел в индустрии
Введение в сети IPv6
Введение
С развитием Интернет и ввиду постепенного исчерпания адресного пространства IPv4 потребовались решения для его оптимизации. Применение механизма NAT стало временным решением проблемы, однако необходимы были долгосрочные концепции. Многообещающая новая схема адресации по протоколу IPv6 призвана обеспечить на многие года сети следующего поколения. Переход на полную архитектуру IPv6 — шаг прогрессивный, но требующий серьезного пересмотра многих протоколов и приложений, а также стандартов. Архитектура IPv6 нацелена на устранение многих ограничений, имеющихся в текущем наборе протоколов TCP/IP, в первую очередь это касается комплексных мер безопасности и оптимизации работы протоколов для уменьшения объема передаваемой служебной информации. Поскольку IPv6 продолжает развиваться и становится неотъемлемой частью корпоративной сети, ИТ-специалистам крайне необходимы глубокие знания этой архитектуры.
Цели
По окончании этого модуля слушатели смогут:
Объяснить характеристики IPv6.
Объяснить формат адреса IPv6 и типы адресации.
Описать процесс автоматической настройки адреса IPv6 без сохранения состояния.
Адресация IPv6
l Исчерпание ограниченного пространства адресов IPv4.
Формат заголовка IPv6
Заголовок расширения IPv6
Заголовки расширения используются для поддержки параметров, которые не требуется указывать в каждом IP-пакете, таких как фрагментация и IPSec.
Hop-by-Hop Options (Дополнительные функции: ретрансляция)
Destination Options ( Дополнительные функции: узел-получатель)
Encapsulating Security Payload ( Повторное обрамление поля полезной нагрузки с целью её защиты)
Upper-layer ( Верхний слой заголовка ) ( как в туннелировании IPv6)
Архитектура адреса IPv6
Сжатие адресов IPv6
Резервирование адресов IPv6
lВ IPv6 были выделены диапазоны адресов для одноадресной и многоадресной передачи вместе со специальными адресами для оперативной поддержки.
Адресное пространство IPv6 должно быть полностью определено, во-первых, по причине его размера, которое вряд ли будет использовано в ближайшем будущем, во-вторых, разработка схем адресации все еще находится в начальной стадии, при этом много разногласий наблюдаются в отношении типов адресов, которые должны применяться.
В настоящее время часть адресов используется в диапазоне 2000::/3, который представляет глобальный диапазон адресов одноадресной рассылки, то есть любой адрес, на который можно направить трафик в публичной IP-сети. Руководящий орган IANA (в настоящее время входит в состав ICANN) отвечает за распределение блоков этого диапазона адресов между различными региональными интернет-регистраторами (RIR), которые распределяют адреса в одном из пяти регионов мира. Были выделены также диапазоны адресов 2400::/12 (APNIC), 2600::/12 (ARIN), 2800::/12 (LACNIC), 2A00::/12 (RIPE NCC) и 2C00::/12 (AfriNIC), что позволяет указывать регион и управлять, используя один префикс адреса. Также в пределах диапазона префиксов 2000::/3 находятся зарезервированные поля адреса, включая 2001:0DB8::/32, которые используются для примеров и документации.
Многоадресная передача определяется в IPv6 диапазоном FF00::/8, при этом большая часть области адресации резервируется для конкретных адресных диапазонов (таких как link local) и в поддержку протоколов маршрутизации, так же, как используются адреса многоадресной передачи в IPv4. Одно из основных изменений в IPv6 заключается в том, что нет широковещательных адресов, их функция заменяется адресами многоадресной рассылки, что уменьшает объем нежелательной обработки конечными станциями на MAC-уровне в сетях IPv6, так как хосты могут фильтровать группы MAC-адресов многоадресной рассылки.
В IPv6т акже существуют некоторые специальные адреса, включая неуказанный адрес ::/128 для интерфейса, для которого в настоящее время IP-адреса не назначен. Однако это не следует путать с IP-адресом ::/0, который используется как адрес по умолчанию для любой сети так же, как адрес по умолчанию 0.0.0.0/0 используется в IPv4. Для loopback-интерфейса (127.0.0.1) в IPv6 определен зарезервированный адрес ::1/128.
IPv6-адресация: одноадресная передача (Unicast)
Префиксы глобальных адресов одноадресной передачи используются для публичных сетей.
Для различных методов IP-передачи зарезервированы диапазоны префиксов.
Локальный адрес канала одноадресной передачи FE80::/10: первые 10 битов четко определены как 1111111010. Диапазон адресов 64-битного интерфейса более чем достаточен для выделения адресов хостам, и поэтому оставшиеся 54 бита в локальном адресе канала поддерживаются равными 0. В этом примере показаны форматы адресов, которые обычно могут быть связаны с каждым из общих типов адресов одноадресной рассылки.
IPv6-адресация: многоадресная передача (Multicast)
l А дреса многоадресной рассылки отличаются префиксом FF00::/8.
Адрес многоадресной передачи является идентификатором набора интерфейсов (обычно принадлежащих разным узлам). Пакет, отправленный на адрес многоадресной передачи, доставляется на все интерфейсы, идентифицированные этим адресом. Диапазон адресов многоадресной передачи определяется по префиксу адреса FF00::/8 и четко отличается от первых 8 битов, которые всегда установлены как 11111111. Архитектура адреса многоадресной передачи состоит из полей flags ( флаги), scope ( область действия) и group ID ( идентификатор группы).
Поле флагов размером в 4 бита в настоящее время используется для поддержки идентификации того, является ли адрес многоадресной передачи общеизвестным (назначенным и признанным органом глобальной нумерации в Интернете) или переходным, то есть временно назначенным. Значение второго бита используется в поле флагов, чтобы определить, основан ли адрес многоадресной передачи на префиксе сети. Оставшиеся два бита более высокого порядка зарезервированы и остаются равными 0.
IPv6 адресация: передача любому устройству группы (Anycast)
Метод Anycast позволяет выделить нескольким экземплярам сервиса один адрес, что позволяет использовать различные сервисные приложения.
Инициатор anycast обычно может быть хостом, который запрашивает услугу, например поиск DNS, или запрашивает получение определенных данных, например информацию веб-страницы HTTP. Адреса anycast ни в коей мере не отличаются от адресов одноадресной рассылки, за исключением того, что к данному устройству применяются несколько экземпляров одного и того же адреса.
Автоматическая настройка адреса IPv6 без сохранения состояния
l Хосты способны самостоятельно генерировать адреса IPv6.
После установления физического соединения с сетью IPv6 хосты должны установить уникальный адрес IPv6 и связанные с ним параметры, такие как префикс сети. Маршрутизаторы отправляют сообщения Router Advertisement периодически, а также в ответ на запрос Router Solicitation (RS) в целях обнаружения соседнего маршрутизатора и изучения префикса адреса и параметров конфигурации для автоматической настройки адреса.
EUI-64 для автоматической настройки IP-адреса без сохранения состояния
MAC-адрес хоста вводится в виде 16-битных значений «FF» и «FE», а 7-й бит аннулируется, чтобы сгенерировать 64-битный идентификатор интерфейса для адреса IPv6.
Для организации связи по сети IPv6 каждому интерфейсу должен быть присвоен действительный адрес IPv6. Идентификатор интерфейса адреса IPv6 может быть определен либо посредством ручной настройки сетевым администратором, либо сгенерирован с помощью системного программного обеспечения, либо сгенерирован с использованием формата 64-битного расширенного уникального идентификатора IEEE (EUI-64).
Из-за практичности наиболее распространенным методом адресации IPv6 является генерация идентификатора интерфейса в формате EUI-64. Для этого используется MAC-адрес интерфейса, который представляет собой 48-битный адрес, но требуемый идентификатор интерфейса должен состоять из 64-битного значения. Первые 24 бита (выраженные c) MAC-адреса представляют идентификатор поставщика (компании), а оставшиеся 24 бита (выраженные e) представляют уникальный идентификатор расширения, назначенный производителем.
Старший седьмой бит в адресе представляет универсальный/локальный бит для включения идентификаторов интерфейса с универсальной областью действия. Если это значение равно 0, MAC-адрес уникален локально. Во время преобразования процесс EUI-64 вставляет два октета значений «0xFF» и «0xFE» на общую сумму 16 битов между идентификатором поставщика и идентификатором расширения MAC-адреса, и универсальный/локальный бит 0 заменяется единицей (1), чтобы указать, что ID интерфейса теперь представляет глобально уникальное значение адреса. 64-битный идентификатор интерфейса создается и привязывается к префиксу интерфейса для генерации адреса интерфейса IPv6.
DAD для автоматической настройки адреса IPv6 без сохранения состояния
Адрес многоадресной передачи запрошенным узлам создается путем взятия последних 24 бит одноадресного или произвольного адреса и добавления к адресу префикса FF02:0:0:0:0:1:FF00::/104. В случае использования адреса 2000::1 будет сгенерирован адрес многоадресной передачи Solicited-Node FF02::1:FF00:1.
Если узел получает ответное сообщение neighbor advertisement (NA), предварительный адрес считается занятым другим узлом, и узел не будет использовать его для связи, после чего потребуется назначение адреса вручную администратором.
Вопросы
Какое наименьшее возможное сжатое значение IPv6 возможно для адреса 2001:0DB8:0000:0000:0000:0000:032A:2D70?
Каким образом конечная станция может самостоятельно генерировать адрес IPv6?





