Введение

Версия 6 Интернет-протокола

Internet Protocol version 6 (IPv6) является самой последней версией Интернет-протокола (IP) – коммуникационного протокола, обеспечивающего систему идентификации и определения местоположения компьютеров в сетях, а также маршрутизацию трафика в Интернете. IPv6 был разработан Internet Engineering Task Force (IETF) для решения давно ожидаемой проблемы исчерпания адресного пространства IPv4 и предназначался для замены IPv4. В декабре 1998 года IPv6 получил статус проекта стандарта для IETF.

Устройствам в Интернете присваивается уникальный IP-адрес для идентификации и определения их местоположения. С быстрым ростом Интернета после коммерциализации в 1990-х годах стало очевидно, что для подключения устройств потребуется значительно больше адресов, чем доступно в адресном пространстве IPv4. К 1998 году IETF формализовала протокол-преемник. IPv6 использует 128-битные адреса, что теоретически позволяет создать 2<sup>128</sup>, или приблизительно 3,4 x 10<sup>38</sup> адресов. Фактическое число немного меньше, поскольку несколько диапазонов зарезервированы для специального использования или полностью исключены из общего доступа. Эти два протокола не предназначены для взаимодействия, поэтому прямая связь между ними невозможна, что затрудняет переход на IPv6. Однако было разработано несколько механизмов перехода для решения этой проблемы. IPv6 предоставляет и другие технические преимущества, помимо большего адресного пространства. В частности, он поддерживает методы иерархического распределения адресов, которые упрощают агрегирование маршрутов в Интернете и, следовательно, ограничивают расширение таблиц маршрутизации. Расширяется и упрощается использование многоадресной рассылки, что обеспечивает дополнительную оптимизацию при предоставлении услуг. При разработке протокола были учтены вопросы мобильности устройств, безопасности и конфигурации. Адреса IPv6 представляются в виде восьми групп по четыре шестнадцатеричные цифры, разделенных двоеточиями. Полное представление может быть сокращено; например, 2001:0db8:0000:0000:0000:8a2e:0370:7334 можно записать как 2001:db8::8a2e:370:7334.

Основные особенности

IPv6 — это протокол сетевого уровня для пакетной коммутации, обеспечивающий сквозную передачу дейтаграмм через несколько IP-сетей, в тесном соответствии с принципами проектирования, разработанными в предыдущей версии протокола — Internet Protocol Version 4 (IPv4). Помимо предоставления большего количества адресов, IPv6 также реализует функции, отсутствующие в IPv4. Он упрощает настройку адресов, перенумерацию сети и объявления маршрутизаторов при смене поставщика сетевых услуг. Он упрощает обработку пакетов в маршрутизаторах, перенося ответственность за фрагментацию пакетов на конечные узлы. Размер подсети IPv6 стандартизирован за счет фиксированного размера части идентификатора хоста адреса, равного 64 битам. Архитектура адресации IPv6 определена в и поддерживает три различных типа передачи: одноадресную, многоадресную и широковещательную.

Исчерпание адресов IPv4

Internet Protocol Version 4 (IPv4) была первой публично используемой версией интернет-протокола. IPv4 был разработан как исследовательский проект Агентством перспективных исследовательских проектов обороны (DARPA), агентством Министерства обороны США, прежде чем стать основой для Интернета и Всемирной паутины. IPv4 включает в себя систему адресации, использующую числовые идентификаторы, состоящие из 32 бит. Эти адреса обычно отображаются в точечно-десятичной нотации как десятичные значения четырех октетов, каждый в диапазоне от 0 до 255, или 8 бит на число. Таким образом, IPv4 обеспечивает адресное пространство в 232, или приблизительно 4,3 миллиарда адресов. Исчерпание адресов изначально не вызывало опасений в IPv4, поскольку эта версия первоначально рассматривалась как проверка сетевых концепций DARPA. В течение первого десятилетия функционирования Интернета стало очевидно, что необходимо разработать методы сохранения адресного пространства. В начале 1990-х годов, даже после пересмотра системы адресации с использованием модели сети без классов, стало ясно, что этого недостаточно для предотвращения исчерпания адресов IPv4 и что требуются дальнейшие изменения в инфраструктуре Интернета. Последние нераспределенные блоки адресов верхнего уровня, состоящие из 16 миллионов адресов IPv4, были распределены в феврале 2011 года Управлением по присвоению номеров в Интернете (IANA) пяти региональным интернет-регистрам (RIR). Однако каждый RIR по-прежнему располагает доступными пулами адресов и, как ожидается, продолжит придерживаться стандартной политики распределения адресов до тех пор, пока не останется один блок бесклассной междоменной маршрутизации (CIDR). После этого из RIR будут предоставляться только блоки, содержащие 1024 адреса (/22), в местный интернет-регистр (LIR). По состоянию на сентябрь 2015 года все информационные центры Азиатско-Тихоокеанской сети (APNIC), координационный центр сети Réseaux IP Européens (RIPE NCC), информационный центр сети Латинской Америки и Карибского бассейна (LACNIC) и американский реестр интернет-номеров (ARIN) достигли этой стадии. Это оставляет Африканский информационный центр сети (AFRINIC) единственным региональным интернет-регистром, который все еще использует стандартный протокол для распределения адресов IPv4. По состоянию на ноябрь 2018 года минимальный объем выделяемых AFRINIC адресов IPv4 составляет 1024 адреса. LIR может получить дополнительное выделение, когда будет использовано около 80% всего адресного пространства. RIPE NCC объявила, что 25 ноября 2019 года у нее полностью закончились адреса IPv4, и призвала к ускорению внедрения IPv6.

Сравнение с IPv4

В Интернете данные передаются в виде сетевых пакетов. IPv6 определяет новый формат пакетов, разработанный для минимизации обработки заголовков пакетов маршрутизаторами. Поскольку заголовки пакетов IPv4 и IPv6 значительно различаются, эти два протокола несовместимы. Однако большинству протоколов транспортного и прикладного уровней требуется небольшая или вообще никакая модификация для работы с IPv6; исключения составляют прикладные протоколы, которые содержат адреса сетевого уровня, такие как протокол передачи файлов (FTP) и протокол сетевого времени (NTP), где новый формат адреса может привести к конфликтам с существующим синтаксисом протокола.

Большее адресное пространство

Основным преимуществом IPv6 над IPv4 является его большее адресное пространство. Размер адреса IPv6 составляет 128 бит, по сравнению с 32 битами в IPv4. Многоадресная рассылка IPv6 имеет общие с многоадресной рассылкой IPv4 функции и протоколы, но также предоставляет изменения и улучшения, устраняя необходимость в некоторых протоколах. IPv6 не реализует традиционную широковещательную рассылку IP, то есть передачу пакета всем хостам в подключенной сети с использованием специального широковещательного адреса, и, следовательно, не определяет широковещательные адреса. В IPv6 того же результата можно достичь, отправив пакет в группу многоадресной рассылки всех узлов локальной сети по адресу ff02::1, что аналогично многоадресной рассылке IPv4 по адресу 224.0.0.1. IPv6 также предусматривает новые реализации многоадресной рассылки, включая встраивание адресов точек встречи в адрес группы многоадресной рассылки IPv6, что упрощает развертывание междоменных решений. В IPv4 организации очень сложно получить даже одно глобально маршрутизируемое назначение группы многоадресной рассылки, а реализация междоменных решений является сложной задачей. Назначения одноадресных адресов локальным интернет-регистратором для IPv6 имеют префикс маршрутизации длиной не менее 64 бит, что обеспечивает минимальный размер подсети, доступный в IPv6 (также 64 бита). При таком назначении можно встраивать префикс одноадресного адреса в формат многоадресного адреса IPv6, при этом сохраняя блок из 32 бит, наименее значащие биты адреса, или примерно 4,2 миллиарда идентификаторов групп многоадресной рассылки. Таким образом, каждый пользователь подсети IPv6 автоматически получает набор глобально маршрутизируемых групп многоадресной рассылки, специфичных для источника, для приложений многоадресной рассылки.

Автоматическая конфигурация адресов без штата (SLAAC)

IPv6 хосты конфигурируются автоматически. Каждый интерфейс имеет самогенерируемый линк-локальный адрес, и при подключении к сети выполняется разрешение конфликтов, а маршрутизаторы предоставляют сетевые префиксы посредством объявлений маршрутизатора. При необходимости хосты могут настраивать дополнительные адреса с состоянием через Dynamic Host Configuration Protocol версии 6 (DHCPv6) или статические адреса вручную. Как и IPv4, IPv6 поддерживает глобально уникальные IP-адреса. Конструкция IPv6 была задумана для повторного подчеркивания принципа «от конца к концу» в проектировании сетей, который изначально был сформулирован при создании раннего Интернета, и тем самым сделала устаревшим трансляцию сетевых адресов (NAT). Следовательно, каждое устройство в сети может быть адресовано глобально напрямую из любого другого устройства. Стабильный, уникальный, глобально адресуемый IP-адрес облегчил бы отслеживание устройства в различных сетях. Поэтому такие адреса вызывают особую обеспокоенность в отношении конфиденциальности для мобильных устройств, таких как ноутбуки и мобильные телефоны. Для решения этих проблем конфиденциальности протокол SLAAC включает в себя то, что обычно называют «адресами конфиденциальности» или, точнее, «временными адресами», описанными в RFC 4941, «Расширения для обеспечения конфиденциальности при автоматической настройке адресов без сохранения состояния в IPv6». Временные адреса являются случайными и нестабильными. Типичное потребительское устройство генерирует новый временный адрес ежедневно и будет игнорировать трафик, адресованный на старый адрес, через неделю. Временные адреса используются по умолчанию в Windows, начиная с XP SP1, macOS, начиная с (Mac OS X) 10.7, Android, начиная с версии 4.0, и iOS, начиная с версии 4.3. Использование временных адресов в дистрибутивах Linux различается. Перенумерация существующей сети для нового провайдера связи с другими префиксами маршрутизации требует значительных усилий при использовании IPv4. Однако с IPv6 изменение префикса, объявляемого несколькими маршрутизаторами, теоретически может перенумеровать всю сеть, поскольку идентификаторы хоста (наименее значимые 64 бита адреса) могут быть независимо настроены самим хостом. Метод генерации адресов SLAAC зависит от реализации. IETF рекомендует, чтобы адреса были детерминированными, но семантически непрозрачными.

IPsec

Internet Protocol Security (IPsec) был первоначально разработан для IPv6, но широкое распространение получил сначала в IPv4, для которой он был адаптирован. IPsec являлся обязательной частью всех реализаций протокола IPv6.

Упрощенная обработка маршрутизаторами

Заголовок пакета в IPv6 проще, чем заголовок IPv4. Многие редко используемые поля были перемещены в необязательные расширения заголовка. Заголовок пакета IPv6 упростил процесс пересылки пакетов маршрутизаторами. Хотя заголовки пакетов IPv6 как минимум вдвое больше, чем заголовки пакетов IPv4, обработка пакетов, содержащих только базовый заголовок IPv6, маршрутизаторами может в некоторых случаях быть более эффективной, поскольку требуется меньше вычислительных ресурсов из-за выравнивания заголовков в соответствии с типичными размерами слов. Кроме того, во многих реализациях использование расширенных заголовков приводит к обработке пакетов центральным процессором маршрутизатора, что снижает производительность и может привести к проблемам безопасности. Более того, заголовок IPv6 не содержит контрольной суммы. Контрольная сумма заголовка IPv4 вычисляется для заголовка IPv4 и должна пересчитываться маршрутизаторами каждый раз, когда время жизни (называемое пределом прохождения в протоколе IPv6) уменьшается на единицу. Отсутствие контрольной суммы в заголовке IPv6 укрепляет принцип «конец-в-конец» в архитектуре Интернета, который предусматривает, что большая часть обработки в сети происходит на конечных узлах. Предполагается, что защита целостности данных, инкапсулированных в пакете IPv6, обеспечивается как канальным уровнем, так и обнаружением ошибок в протоколах более высокого уровня, в частности, протоколом управления передачей (TCP) и протоколом пользовательских данных (UDP) на транспортном уровне. Таким образом, в то время как IPv4 допускал отсутствие контрольной суммы в заголовках UDP-датаграмм (что указывалось значением 0 в соответствующем поле заголовка), IPv6 требует наличия контрольной суммы в заголовках UDP. Маршрутизаторы IPv6 не выполняют фрагментацию IP. Хосты IPv6 должны выполнять одно из следующих действий: использовать Path MTU Discovery, выполнять фрагментацию «конец-в-конец» или отправлять пакеты размером не более максимальной единицы передачи (MTU) по умолчанию, которая составляет 1280 октетов.

Мобильность

В отличие от мобильного IPv4, мобильный IPv6 позволяет избежать треугольной маршрутизации и, следовательно, столь же эффективен, как и нативный IPv6. Маршрутизаторы IPv6 также могут позволять целым подсетям перемещаться к новой точке подключения маршрутизатора без перенумерации.

Заголовки расширения

Заголовок пакета IPv6 имеет минимальный размер 40 октетов (320 бит). Опции реализуются в виде расширений. Это предоставляет возможность расширения протокола в будущем, не влияя на основную структуру пакета.

Пакеты IPv6

Пакет IPv6 состоит из двух частей: заголовка и полезной нагрузки. Заголовок состоит из фиксированной части с минимальной функциональностью, необходимой для всех пакетов, и может дополняться необязательными расширениями для реализации специальных функций. Фиксированный заголовок занимает первые 40 октетов (320 бит) пакета IPv6. Он содержит адреса источника и назначения, класс трафика, счетчик переходов и тип следующего расширения или полезной нагрузки, следующей за заголовком. Поле "Next Header" сообщает получателю, как интерпретировать данные, следующие за заголовком. Если пакет содержит опции, это поле содержит тип опции следующей опции. Поле "Next Header" последней опции указывает на протокол верхнего уровня, переносимый в полезной нагрузке пакета. В настоящее время поле IPv6 Traffic Class разделено на 6-битный код дифференцированных услуг (DSCP) и 2-битное поле явного уведомления о перегрузке (ECN). Заголовки расширений содержат опции, используемые для специальной обработки пакета в сети, например, для маршрутизации, фрагментации и обеспечения безопасности с использованием фреймворка IPsec. Без специальных опций размер полезной нагрузки должен быть меньше, чем… При использовании опции Jumbo Payload (в заголовке расширения Hop-by-Hop Options) размер полезной нагрузки должен быть меньше 4 ГБ. В отличие от IPv4, маршрутизаторы никогда не фрагментируют пакет. Ожидается, что хосты будут использовать Path MTU Discovery, чтобы уменьшить размер своих пакетов до величины, необходимой для достижения пункта назначения без фрагментации. См. раздел "Фрагментация пакетов IPv6".

Обращение

Адреса IPv6 имеют 128 бит. Конструкция адресного пространства IPv6 реализует иную философию проектирования, чем в IPv4, где использовалось разбиение на подсети для повышения эффективности использования ограниченного адресного пространства. В IPv6 адресное пространство считается достаточным для обозримого будущего, и локальная подсеть всегда использует 64 бита для части адреса, предназначенной для хоста, именуемой идентификатором интерфейса, в то время как наиболее значимые 64 бита используются как префикс маршрутизации. Несмотря на существовавший миф о невозможности сканирования подсетей IPv6, RFC 7707 отмечает, что определенные закономерности, возникающие в результате некоторых техник и алгоритмов конфигурации адресов IPv6, позволяют сканировать адреса во многих реальных сценариях.

Адрес локальной ссылки

Все интерфейсы хостов IPv6 требуют адрес локальной ссылки, который имеет префикс FE80::/10. За этим префиксом следуют 54 бита, которые могут быть использованы для подсети, хотя обычно они устанавливаются в нули, и 64-битный идентификатор интерфейса. Хост может вычислить и назначить идентификатор интерфейса самостоятельно, без присутствия или участия внешнего сетевого компонента, такого как сервер DHCP, в процессе, называемом автоматической конфигурацией адреса локальной ссылки. Изначально нижние 64 бита адреса локальной ссылки (суффикс) формировались на основе MAC-адреса сетевой карты. Однако, поскольку этот метод приводил к нежелательным изменениям адресов при замене неисправных сетевых карт, а также имел ряд проблем с безопасностью и конфиденциальностью, первоначальный метод, основанный на MAC-адресе, был заменен на метод, основанный на хешировании, описанный в RFC 4862.

Уникальность адреса и запрос маршрутизатора

IPv6 использует новый механизм для сопоставления IP-адресов с адресами канального уровня (например, MAC-адресов), поскольку он не поддерживает метод широковещательной рассылки, на котором основана функциональность протокола разрешения адресов (ARP) в IPv4. IPv6 реализует протокол обнаружения соседей (NDP, ND) на канальном уровне, который опирается на ICMPv6 и многоадресную передачу. Хост, активирующий новый интерфейс IPv6, сначала генерирует уникальный локальный адрес канала связи, используя один из нескольких механизмов, предназначенных для генерации уникального адреса. Если обнаружен неуникальный адрес, хост может повторить попытку с вновь сгенерированным адресом. После установления уникального локального адреса канала связи хост IPv6 определяет, подключена ли локальная сеть по этому каналу к какому-либо интерфейсу маршрутизатора, поддерживающему IPv6. Он делает это, отправляя ICMPv6-сообщение запроса маршрутизатора в многоадресную группу всех маршрутизаторов, используя свой локальный адрес канала связи в качестве источника. Если после заранее определенного количества попыток ответа не будет, хост делает вывод, что маршрутизаторы не подключены. Если он получает ответ, известный как объявление маршрутизатора, от маршрутизатора, ответ включает информацию о конфигурации сети, позволяющую установить глобально уникальный адрес с соответствующим префиксом сети unicast. Также имеются два бита флага, которые указывают хосту, следует ли использовать DHCP для получения дополнительной информации и адресов: бит управления, который указывает, следует ли хосту использовать DHCP для получения дополнительных адресов, а не полагаться на автоматически настроенный адрес из объявления маршрутизатора, и бит Other, который указывает, должен ли хост получать другую информацию через DHCP. Эта другая информация состоит из одного или нескольких вариантов информации о префиксах для подсетей, к которым подключен хост, срока действия префикса и двух флагов: первоначальная рекомендация заключалась в назначении подсети конечным потребителям. Это было заменено на, который "рекомендует предоставлять домашним сетям значительно больше одного, но не рекомендует предоставлять каждому домашнему сайту". В частности, рассматриваются. Покажет время, будут ли интернет-провайдеры следовать этой рекомендации. Например, во время первоначальных испытаний клиентам Comcast была предоставлена одна сеть.

IPv6 в системе доменных имен

В системе доменных имен (DNS) имена хостов сопоставляются с IPv6-адресами с помощью ресурсных записей AAAA ("quad A"). Для обратного разрешения IETF зарезервировал домен ip6.arpa, где пространство имен иерархически разделено на 1-значное шестнадцатеричное представление нибблов (4 бита) IPv6-адреса. Эта схема определена в RFC 3369. Когда хост с поддержкой IPv4 и IPv6 (dual stack) запрашивает DNS-сервер для разрешения полностью квалифицированного доменного имени (FQDN), DNS-клиент хоста отправляет два DNS-запроса: один для записей A и другой для записей AAAA. Операционная система хоста может быть настроена с приоритетом правил выбора адреса. В ранних реализациях DNS для IPv6 использовался альтернативный тип записи, предназначенный для упрощения перенумерации сети: записи A6 для прямого поиска и ряд других нововведений, таких как метки битовых строк и записи DNAME. Он определен в RFC 2879 и связанных документах (с дальнейшим обсуждением преимуществ и недостатков обеих схем в RFC 3369), но был объявлен устаревшим и переведен в экспериментальный статус.

Переходные механизмы

IPv6 не предполагается мгновенно заменить IPv4. Оба протокола будут продолжать функционировать одновременно в течение некоторого времени. Поэтому необходимы механизмы перехода на IPv6, чтобы хосты IPv6 могли взаимодействовать с сервисами IPv4, а изолированные хосты и сети IPv6 могли обмениваться данными друг с другом через инфраструктуру IPv4. По мнению Сильвии Хаген, реализация двойного стека IPv4 и IPv6 на устройствах – это самый простой способ перехода на IPv6. Многие другие механизмы перехода используют туннелирование для инкапсуляции трафика IPv6 в сетях IPv4 и наоборот. Это неидеальное решение, которое уменьшает максимальный размер передаваемого блока (MTU) канала связи и, следовательно, усложняет процедуру Path MTU Discovery, а также может приводить к увеличению задержки.

Внедрение двухкомпонентного ИП

Двухстековые реализации IP обеспечивают наличие полных стеков протоколов IPv4 и IPv6 в операционной системе компьютера или сетевого устройства поверх общей реализации физического уровня, такой как Ethernet. Это позволяет хостам с двухстековой поддержкой одновременно участвовать в сетях IPv6 и IPv4. Устройство с двухстековой реализацией в операционной системе имеет IPv4 и IPv6 адрес и может взаимодействовать с другими узлами в локальной сети или в Интернете, используя либо IPv4, либо IPv6. Протокол DNS используется обоими протоколами IP для разрешения полных доменных имен в IP-адреса, но двухстековая поддержка требует, чтобы разрешающий DNS-сервер мог разрешать адреса обоих типов. Такой двухстековый DNS-сервер хранит IPv4-адреса в A-записях, а IPv6-адреса – в AAAA-записях. В зависимости от целевого адреса, который требуется разрешить, DNS-именной сервер может возвращать IPv4 или IPv6 IP-адрес, или оба. Механизм выбора адреса по умолчанию или предпочтительный протокол необходимо настроить либо на хостах, либо на DNS-сервере. IETF опубликовала Happy Eyeballs для поддержки двухстековых приложений, чтобы они могли устанавливать соединение, используя как IPv4, так и IPv6, но отдавать предпочтение IPv6-соединению, если оно доступно. Однако двухстековая поддержка также должна быть реализована на всех маршрутизаторах между хостом и службой, для которой DNS-сервер вернул IPv6-адрес. Двухстековым клиентам следует быть настроенными на предпочтение IPv6 только в том случае, если сеть способна пересылать IPv6-пакеты, используя IPv6-версии протоколов маршрутизации. При использовании двухстековых сетевых протоколов прикладной уровень может быть перенесен на IPv6. Хотя двухстековая поддержка реализована основными поставщиками операционных систем и сетевых устройств, устаревшее сетевое оборудование и серверы не поддерживают IPv6.

Клиенты ISP с общедоступным IPv6

Интернет-провайдеры (ISP) все чаще предоставляют своим корпоративным и частным клиентам публичные IPv6 глобальные униicast-адреса. Однако, если IPv4 по-прежнему используется в локальной сети (LAN), и провайдер может предоставить только один публичный IPv6-адрес, IPv4-адреса LAN транслируются в этот публичный IPv6-адрес с помощью NAT64 – механизма трансляции сетевых адресов (NAT). Некоторые провайдеры не могут предоставить своим клиентам публичные IPv4 и IPv6 адреса, поддерживая, таким образом, сети с двойным стеком, поскольку у них исчерпан глобально маршрутизируемый пул IPv4-адресов. При этом клиенты провайдеров по-прежнему пытаются получить доступ к IPv4 веб-серверам и другим ресурсам. Значительная часть провайдеров во всех региональных интернет-регистрах (RIR) получила адресное пространство IPv6. В их число входят многие крупнейшие мировые интернет-провайдеры и операторы мобильной связи, такие как Verizon Wireless, StarHub Cable, Chubu Telecommunications, Kabel Deutschland, Swisscom, T Mobile, Internode и Telefónica. В то время как некоторые провайдеры по-прежнему выделяют клиентам только IPv4-адреса, многие выделяют только IPv6-адреса или IPv4 и IPv6 в режиме двойного стека. Провайдеры сообщают, что доля IPv6-трафика от клиентов в их сети варьируется от 20% до 40%, но к середине 2017 года IPv6-трафик все еще составлял лишь небольшую часть общего трафика на нескольких крупных точках интернет-обмена (IXP). AMS IX сообщил о 2%, а SeattleIX – о 7%. Опрос, проведенный в 2017 году, показал, что многие пользователи DSL, обслуживаемые провайдерами с поддержкой двойного стека, не запрашивали у DNS-серверов разрешение полных доменных имен в IPv6-адреса. Также было установлено, что большая часть трафика к веб-серверам, поддерживающим IPv6, по-прежнему запрашивается и обслуживается через IPv4, главным образом из-за клиентов провайдеров, не использующих функцию двойного стека, предоставляемую их провайдером, и в меньшей степени – из-за клиентов провайдеров, предоставляющих только IPv4.

Прокладка туннелей

Техническая основа для туннелирования, или инкапсуляции пакетов IPv6 в пакеты IPv4, описана в RFC 4213. Когда в качестве основы Интернета использовался только IPv4, одним из часто применяемых протоколов туннелирования был 6to4. Туннелирование Teredo также часто использовалось для интеграции IPv6 локальных сетей с IPv4 магистралью Интернета. Teredo описан в RFC 4380 и позволяет IPv6 локальным сетям создавать туннели через сети IPv4, инкапсулируя пакеты IPv6 в UDP. Релей Teredo – это IPv6 маршрутизатор, который выступает посредником между сервером Teredo и сетью IPv6. Ожидалось, что 6to4 и Teredo получат широкое распространение до тех пор, пока сети провайдеров не перейдут на использование IPv6 в своей основе, но к 2014 году статистика Google показала, что использование обоих механизмов снизилось почти до нуля.

IPv4-связанные IPv6-адреса

Гибридные реализации IPv6/IPv4 с двойным стеком распознают специальный класс адресов – IPv6-адреса, сопоставленные с IPv4. Эти адреса обычно записываются с 96-битным префиксом в стандартном формате IPv6, а оставшиеся 32 бита – в обычной десятичной точечной нотации IPv4. Адреса в этой группе состоят из 80-битного префикса нулей, за которым следуют 16 единичных битов, а наименее значимые 32 бита содержат IPv4-адрес. Например, представляет собой IPv4-адрес . Предыдущий формат, называемый "IPv6-адресом, совместимым с IPv4", был устаревшим; однако, этот метод больше не используется. На этих операционных системах программа должна открывать отдельный сокет для каждого используемого IP-протокола. На некоторых системах, например, в ядрах Linux, NetBSD и FreeBSD, эта функция контролируется опцией сокета IPV6_V6ONLY. Префикс адреса является классом IPv6-адресов с внедренным IPv4 для использования в методах перехода NAT64. Например, представляет собой IPv4-адрес .

Безопасность

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

Теневые сети

Добавление узлов, в которых IPv6 включен по умолчанию производителем программного обеспечения, может привести к непреднамеренному созданию теневых сетей, в результате чего IPv6-трафик будет поступать в сети, использующие только управление безопасностью IPv4. Это также может произойти при обновлении операционной системы, когда новая версия операционной системы включает IPv6 по умолчанию, а предыдущая – нет. Отсутствие обновления инфраструктуры безопасности для поддержки IPv6 может привести к тому, что IPv6-трафик будет обходить ее. Теневые сети возникали в корпоративных сетях, где предприятия заменяли системы Windows XP, не имеющие включенного по умолчанию стека IPv6, на системы Windows 7, которые его имеют. В связи с этим некоторые разработчики стека IPv6 рекомендуют отключить IPv4-mapped адреса и вместо этого использовать сеть с двойным стеком, поддерживающую как IPv4, так и IPv6, когда это необходимо.

Фрагментация пакетов IPv6

Исследования показали, что фрагментация может быть использована для обхода средств сетевой защиты, подобно IPv4. В связи с этим требуется, чтобы первый фрагмент пакета IPv6 содержал всю цепочку заголовков IPv6, что исключает некоторые крайне неблагоприятные сценарии фрагментации. Кроме того, в результате исследований по обходу RA Guard, использование фрагментации с Neighbor Discovery было признано устаревшим, а использование фрагментации с Secure Neighbor Discovery (SEND) не рекомендуется.

Предложения рабочих групп

Из-за ожидаемого глобального роста Интернета, Internet Engineering Task Force (IETF) в начале 1990-х годов начала работу над разработкой протокола IP следующего поколения. В сентябре 1993 года IETF создала временную, созданную по мере необходимости рабочую группу IP следующего поколения (IPng) для решения этих вопросов. Новую рабочую группу возглавили Эллисон Манкин и Скотт Брэднер, а руководство осуществлялось советом из 15 инженеров из различных областей для определения направления и предварительного рассмотрения документов. В состав рабочей группы входили: Дж. Аллард (Microsoft), Стив Белловин (AT&T), Джим Боунд (Digital Equipment Corporation), Росс Каллон (Wellfleet), Брайан Карпентер (CERN), Дэйв Кларк (MIT), Джон Курран (NEARNET), Стив Диринг (Xerox), Дино Фариначчи (Cisco), Пол Фрэнсис (NTT), Эрик Флейшман (Boeing), Марк Кноппер (Ameritech), Грег Миншэлл (Novell), Роб Ульман (Lotus) и Ликсия Чжан (Xerox). 25 июля 1994 года Internet Engineering Task Force приняла модель IPng и сформировала несколько рабочих групп IPng, которые устарели к 1998 году.

Развертывание

Введение в 1993 году бесклассной междоменной маршрутизации (CIDR) в маршрутизации и распределении IP-адресов для Интернета, а также широкое использование сетевого адресного преобразования (NAT), отсрочили исчерпание адресов IPv4, позволив начать развертывание IPv6, которое началось в середине 2000-х годов. Университеты были одними из первых, кто внедрил IPv6. В 2004 году Virginia Tech развернула IPv6 на тестовой площадке, а затем расширила развертывание IPv6 по всей своей кампусной сети. К 2016 году 82% трафика в их сети использовали IPv6. Имперский колледж Лондона начал экспериментальное развертывание IPv6 в 2003 году, и к 2016 году трафик IPv6 в их сетях составлял в среднем от 20% до 40%. Значительная часть этого трафика IPv6 генерировалась благодаря их сотрудничеству в области физики высоких энергий с CERN, который полностью полагается на IPv6. Система доменных имен (DNS) поддерживает IPv6 с 2008 года. В том же году IPv6 впервые был использован на крупном мировом мероприятии – летних Олимпийских играх 2008 года в Пекине. К 2011 году все основные операционные системы, используемые на персональных компьютерах и серверах, имели полнофункциональные реализации IPv6. Системы сотовой связи представляли собой широкую область для развертывания устройств, использующих Интернет-протокол, поскольку услуги мобильной связи переходили от технологий 3G к 4G, в которых голосовая связь предоставляется как услуга голосовой связи по IP (VoIP), использующая преимущества IPv6. В 2009 году американский оператор сотовой связи Verizon опубликовал технические спецификации для устройств, работающих в его сетях «следующего поколения». В спецификации требовалось использование IPv6 в соответствии со спецификациями 3GPP Release 8 (март 2009 года), а IPv4 был объявлен необязательной функцией. К середине 2018 года некоторые крупные европейские провайдеры широкополосного доступа в Интернет развернули IPv6 для большинства своих клиентов. Sky UK предоставила IPv6 более чем 86% своих клиентов, Deutsche Telekom развернула IPv6 на 56%, XS4ALL в Нидерландах – на 73%, а в Бельгии широкополосные провайдеры VOO и Telenet развернули IPv6 на 73% и 63% соответственно. В Соединенных Штатах широкополосный провайдер Xfinity развернул IPv6 примерно на 66%. В 2018 году Xfinity сообщила о приблизительно 36,1 миллионе пользователей IPv6, а AT&T – о 22,3 миллионах пользователей IPv6.