IPv6

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Шаблон:Сетевой протокол

Возможное официальное изображение

IPv6, англ. Шаблон:Lang-en2 — разработанная в IETF версия протокола Интернета (IP), призванная решить проблемы, с которыми столкнулась его предыдущая версия IPv4, за счёт целого ряда принципиальных изменений, в первую очередь — проблему исчерпания адресного пространства за счёт кардинально большего пула адресов.

Протокол IPv6 разработан в парадигме истинной одноранговой сети, присущей Интернету 1980-х и призван вернуть интернету связность сетевых устройств каждого с каждымШаблон:Sfn.

Длина адреса IPv6 составляет 128 бит, в отличие от 32 бит в адресе IPv4, и 2128 возможных адресов IPv6 позволяют выделить каждому жителю земли гигантское множество адресов для его личных устройств, из-за чего прямые сравнения адресных пространств этих протоколов не имеют смыслаШаблон:Sfn.

Из-за практического исчерпания адресного пространства после 2010 года резко снизилось ежегодное количество адресов IPv4, выделяемых региональными интернет-регистраторами и регистраторы стали изыскивать резервы, в том числе возвращать и повторно выделять ранее выданные подсетиШаблон:Sfn. В отличие от сильного снижения выделяемых адресов IPv4, количество выделяемых адресов IPv6 растёт год к году с редкими снижениями (одно из снижений было связано с пандемией COVID-19)Шаблон:Sfn.

По статистике регистраторов сетевых адресов, на 2022 год больше всего адресов IPv6 (Шаблон:Число) было выделено пользователям и организациям США, при этом в пересчёте на душу населения лидером была ШвецияШаблон:Sfn.

В январе 2024 года Шаблон:Число посетителей сайтов и сервисов Google обращались к ним по протоколу IPv6<ref>Шаблон:Cite web</ref>.

В процессе перехода с IPv4 на IPv6 эти протоколы используются одновременно на устройствах с двойным стеком протоколов (англ. Шаблон:Lang-en2), и постепенно доля трафика IPv6 в Интернете растёт. Использованию двойного стека протоколов способствует внедрение в устройствах технологии Шаблон:Iw, спецификация которой была разработана IETF специально для плавного перехода от IPv4 к IPv6 (с ней поддерживающее двойной стек приложение предпочитает IPv6, и у операторов, внедряющих IPv6 с сохранением IPv4, снижаются затраты на трансляцию IPv4)Шаблон:Sfn.

История создания

В конце 1980-х стала очевидна необходимость разработки способов сохранения адресного пространства Интернета. В начале 1990-х, несмотря на внедрение бесклассовой адресации, стало ясно, что этого недостаточно для предотвращения исчерпания адресов и необходимы дальнейшие изменения инфраструктуры Интернета. К началу 1992 года появилось несколько предложений, и к концу 1992 года IETF объявила конкурс для рабочих групп на создание интернет-протокола следующего поколения (англ. Шаблон:Lang-en2 — IPng). 25 июля 1994 года IETF утвердила модель IPng, с образованием нескольких рабочих групп IPng. К 1996 году была выпущена серия RFC, определяющих Интернет-протокол версии 6, начиная с RFC 1883.

IETF назначила новому протоколу версию 6, так как версия 5 была ранее назначена экспериментальному протоколу IPv5, предназначенному для передачи видео и аудио.

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

Шаблон:Main Оценки времени полного исчерпания IPv4-адресов различались в 2000-х. Так, в 2003 году директор APNIC Пол Уилсон (англ. Шаблон:Lang-en2) заявил, что, основываясь на темпах развёртывания сети Интернет того времени, свободного адресного пространства хватит на одно—два десятилетия. В сентябре 2005 года Cisco Systems предположила, что пула доступных адресов хватит на 4—5 лет.Шаблон:Нет АИ

Региональные интернет-регистраторы активно выделяли операторам блоки адресов IPv4 вплоть до 2010 года включительно, затем адреса закончились, и с 2011 года количество выделяемых блоков резко снизилось. Регистраторы стали изыскивать резервы, в том числе возвращать и повторно использовать ранее выданные подсети. В 2022 году три подсети /24, возвращённые в 2019 году от не использовавших их операторов, оставались «придержанными»Шаблон:Sfn.

3 февраля 2011 агентство IANA распределило последние пять блоков /8 IPv4 региональным интернет-регистраторам. На этот момент ожидалось, что общий запас свободных блоков адресов у региональных интернет-регистраторов (RIR) закончится в течение срока от полугода (APNIC) до пяти лет (AfriNIC)<ref>Шаблон:Cite web</ref>.

По состоянию на сентябрь 2015 года об исчерпании общего запаса свободных блоков IPv4-адресов и ограничениях на выдачу новых диапазонов адресов объявили все региональные регистраторы, кроме AfriNIC; ARIN объявил о полном исчерпании свободных IPv4-адресов, а для остальных регистраторов этот момент прогнозируется начиная с 2017 года. Выделение IPv4-адресов в Европе, Азии и Латинской Америке (регистраторы APNIC, RIPE NCC и LACNIC) продолжается блоками /22 (по 1024 адреса)<ref name=Huston_08_2015>Шаблон:Cite web</ref><ref>Шаблон:Cite web</ref>

Исчерпание адресов IPv4 привело к появлению механизма рыночной передачи блоков IPv4 между операторами интернета, и цены на этом рынке несколько лет подряд росли, в том числе из-за спекулятивных действий держателей адресов. На спекулятивный характер сделок рынка адресов IPv4 указывает небольшое число использований купленных блоков адресов. Чаще всего покупателями были спекулянты, которые после покупки выдерживали минимально требуемое регистраторами время и выставляли свои блоки на продажу по более высокой ценеШаблон:Sfn.

За время функционирования рынка адресов IPv4 объёмы торговли на нём постепенно снижались. На снижение объёмов повлияло как исчерпание резервов, так и то, что держатели резервов адресного пространства IPv4 придерживали свои блоки адресов в ожидании повышения цен. К 2022 году рост цен на рынке адресов IPv4 остановился. Вероятных причин две. Первая — снижение спроса, вызванное ростом числа пользователей протокола IPv6, в частности, благодаря распространению устройств с двойным стеком и приложений, работающих по технологии «Happy Eyeballs». Вторая — стремление части держателей блоков IPv4 выгодно продать свои активы, что стимулировало их придержать имеющиеся резервы. К концу 2022 года из-за снижения спроса держать купленные для получения прибыли блоки адресов IPv4 спекулянтам стало рискованно, но и выставлять их на продажу единомоментно также являет собой риск обвалить ценуШаблон:Sfn.

Дефицит блоков адресов IPv4 (низкое предложение и высокая цена) создают ценовое давление дефицита и стимулируют операторов переходить на IPv6. В некий момент давление дефицита превысит стоимость внедрения IPv6, операторы начнут массовое его внедрение, и рынок адресов IPv4 рухнетШаблон:Sfn.

Тестирование протокола

8 июня 2011 года состоялся Международный день IPv6 — мероприятие по тестированию готовности мирового интернет-сообщества к переходу с IPv4 на IPv6, в рамках которого участвовавшие в акции компании добавили к своим сайтам IPv6-записи на один день. Тестирование прошло успешно, накопленные данные были проанализированы и учтены при последующем внедрении протокола и для составления рекомендаций.Шаблон:Нет АИ

Внедрение протокола

Шаблон:См. также Перевод на IPv6 начал осуществляться внутри Google с 2008 года.Шаблон:Нет АИ

4 февраля 2008 года поддержка IPv6 была внедрена на шести корневых серверах DNS из тринадцати<ref name="lru2008">Шаблон:Cite web</ref><ref name="icann">Шаблон:Cite web</ref>.

В течение дня 8 июня 2011 года по инициативе Общество Интернета (англ. Шаблон:Lang-en2, Шаблон:Lang-en2) у крупнейших в мире операторов интернета и хостеров было проведено испытание готовности инфраструктуры Интернета к внедрению протокола IPv6. Это испытание прошло в целом успешно, и специалисты Шаблон:Lang-en2 сделали вывод о готовности всемирной сети к внедрению IPv6<ref name="hitech">Шаблон:Cite web</ref>. 8 июня Шаблон:Lang-en2 назвало Международным днём IPv6 (Шаблон:Lang-en2)<ref name="worldipv6launch">Шаблон:Cite web</ref>.

6 июня 2012 года Шаблон:Lang-en2 объявило об официальном запуске всемирной сети на протоколе IPv6 (Шаблон:Lang-en2)<ref name="hitech"/><ref name="worldipv6launch"/>. В этот день в полночь по Гринвичу (4 часа утра по московскому времени) крупнейшие мировые компании в отрасли информационных технологий официально включили на своем оборудовании и в своих сервисах поддержку протокола IPv6<ref name="hitech"/>.

К всемирному запуску IPv6 ведущие телекоммуникационные операторы обязались обеспечить поддержку IPv6 в таких масштабах, чтобы как минимум Шаблон:Число пользователей Интернета могли сразу использовать IPv6<ref name="hitech"/>. (ужеШаблон:Когда подписались AT&T, Comcast, Шаблон:Iw, Шаблон:Iw, KDDI, Шаблон:Iw, Шаблон:Iw).Шаблон:Нет АИ Производители сетевого оборудования активируют IPv6 в качестве настроек по умолчанию в маршрутизаторах (Cisco, D-Link). Веб-компании включат IPv6 на своих основных сайтах (Google, Facebook, Microsoft Bing, Yahoo), а некоторые переводят на IPv6 также корпоративные сети. В спецификации стандарта мобильных сетей LTE указана обязательная поддержка протокола IPv6.Шаблон:Нет АИ

В России на начало 2012 года проникновение IPv6 составляло Шаблон:Число от общего числа сетей<ref name="hitech"/>.

В 2022 году IPv6 внедряли крупные государственные организации СШАШаблон:Sfn.

Сравнение с IPv4

Шаблон:Нет источников в разделе Иногда утверждаетсяШаблон:Кем, что новый протокол может обеспечить до 5·1028 адресов на каждого жителя Земли. Такое большое адресное пространство было введено ради иерархичности адресов (это упрощает маршрутизацию). Тем не менее, увеличенное пространство адресов сделает NAT необязательным. Классическое применение IPv6 (по сети /64 на абонента; используется только unicast-адресация) обеспечит возможность использования более 300 млн IP-адресов на каждого жителя Земли.

Из IPv6 убраны функции, усложняющие работу маршрутизаторов:

  • Маршрутизаторы больше не должны фрагментировать пакет, вместо этого пакет отбрасывается с ICMP-уведомлением о превышении MTU и указанием величины MTU следующего канала, в который этому пакету не удалось войти. В IPv4 размер MTU в ICMP-пакете не указывался, и отправителю требовалось осуществлять подбор MTU техникой Path MTU discovery. Для лучшей работы протоколов, требовательных к потерям, минимальный MTU поднят до 1280 байт. Фрагментация поддерживается как опция (информация о фрагментации пакетов вынесена из основного заголовка в расширенные) и возможна только по инициативе передающей стороны.
  • Из IP-заголовка исключена контрольная сумма. С учётом того, что канальные (Ethernet) и транспортные (TCP и UDP) протоколы имеют свои контрольные суммы, ещё одна контрольная сумма на уровне IP воспринимается как излишняя. Кроме того, модификация поля hop limit (или TTL в IPv4) на каждом маршрутизаторе в IPv4 приводила к необходимости её постоянного перерасчёта.

Несмотря на больший по сравнению с предыдущей версией протокола размер адреса IPv6 (16 байтов вместо 4), заголовок пакета удлинился всего лишь вдвое: с 20 до 40 байт.

Улучшения IPv6 по сравнению с IPv4:

  • В сверхскоростных сетях возможна поддержка огромных пакетов (джамбограмм) — до 4 гигабайт;
  • Time to Live переименовано в Hop Limit;
  • Появились метки потоков и классы трафика;
  • Появилось многоадресное вещание.

Автоконфигурация (Stateless Address Autoconfiguration — SLAAC)

Шаблон:Нет источников в разделе При инициализации сетевого интерфейса ему назначается локальный IPv6-адрес, состоящий из префикса fe80::/10 и идентификатора интерфейса, размещённого в младшей части адреса. В качестве идентификатора интерфейса часто используется 64-битный расширенный уникальный идентификатор EUI-64, часто ассоциируемый с MAC-адресом. Локальный адрес действителен только в пределах сетевого сегмента канального уровня и используется для обмена информационными ICMPv6-пакетами.

Для настройки других адресов узел может запросить информацию о настройках сети у маршрутизаторов, отправив ICMPv6-сообщение «Router Solicitation» на групповой адрес маршрутизаторов. Маршрутизаторы, получившие это сообщение, отвечают ICMPv6-сообщением «Router Advertisement», в котором может содержаться информация о сетевом префиксе, адресе шлюза, адресах рекурсивных DNS серверов<ref>J. Jeong; S. Park; L. Beloeil; S. Madanapalli (November 2010) IPv6 Router Advertisement Options for DNS Configuration Шаблон:Wayback, IETF. RFCШаблон:Nbsp6106.</ref>, MTU и множестве других параметров. Объединяя сетевой префикс и идентификатор интерфейса, узел получает новый адрес. Для защиты персональных данных идентификатор интерфейса может быть заменён на псевдослучайное число.

Для большего административного контроля может быть использован DHCPv6, позволяющий администратору маршрутизатора назначать узлу конкретный адрес.

Для провайдеров может использоваться функция делегирования префиксов клиенту, что позволяет клиенту просто переходить от провайдера к провайдеру, без изменения каких-либо настроек.

Метки потоков

Шаблон:Нет источников в разделе Введение в протоколе IPv6 поля «Метка потока» позволяет значительно упростить процедуру маршрутизации однородного потока пакетов. Поток — это последовательность пакетов, посылаемых отправителем определённому адресату. При этом предполагается, что все пакеты данного потока должны быть подвергнуты определённой обработке. Характер данной обработки задаётся дополнительными заголовками.

Допускается существование нескольких потоков между отправителем и получателем. Метка потока присваивается узлом-отправителем путём генерации псевдослучайного 20-битного числа. Все пакеты одного потока должны иметь одинаковые заголовки, обрабатываемые маршрутизатором.

При получении первого пакета с меткой потока маршрутизатор анализирует дополнительные заголовки, выполняет предписанные этими заголовками функции и запоминает результаты обработки (адрес следующего узла, опции заголовка переходов, перемещение адресов в заголовке маршрутизации и т. д.) в локальном кэше. Ключом для такой записи является комбинация адреса источника и метки потока. Последующие пакеты с той же комбинацией адреса источника и метки потока обрабатываются с учётом информации кэша без детального анализа всех полей заголовка.

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

Обеспечение безопасности в протоколе IPv6 осуществляется с использованием протокола IPsec, поддержка которого является обязательной для данной версии протокола.

QoS

Шаблон:Нет источников в разделе Приоритет пакетов маршрутизаторы определяют на основе первых шести бит поля Traffic Class. Первые три бита определяют класс трафика, оставшиеся биты определяют приоритет удаления. Чем больше значение приоритета, тем выше приоритет пакета.

Разработчики IPv6 рекомендуют использовать для определённых категорий приложений следующие коды класса трафика:
Класс трафика Назначение
0 Нехарактеризованный трафик
1 Заполняющий трафик (сетевые новости)
2 Несущественный информационный трафик (электронная почта)
3 Резерв
4 Существенный трафик (FTP, HTTP, NFS)
5 Резерв
6 Интерактивный трафик (Telnet, X-terminal, SSH)
7 Управляющий трафик (Маршрутная информация, SNMP)

Механизмы безопасности

Стандарт IPv6 требует поддержки шифрования IPsecШаблон:Sfn.

В отличие от SSL и TLS, протокол IPsec позволяет шифровать любые данные (в том числе UDP) без необходимости какой-либо поддержки со стороны прикладного ПО.Шаблон:Нет АИ

Основы адресации IPv6

Шаблон:Нет источников в разделе Шаблон:Main Существуют различные типы адресов IPv6: одноадресные (Unicast), групповые (Anycast) и многоадресные (Multicast).

Адреса типа Unicast хорошо всем известны. Пакет, посланный на такой адрес, достигает в точности интерфейса, который этому адресу соответствует.

Адреса типа Anycast синтаксически неотличимы от адресов Unicast, но они адресуют группу интерфейсов. Пакет, направленный такому адресу, попадёт в ближайший (согласно метрике маршрутизатора) интерфейс. Адреса Anycast могут использоваться только маршрутизаторами.

Адреса типа Multicast идентифицируют группу интерфейсов. Пакет, посланный на такой адрес, достигнет всех интерфейсов, привязанных к группе многоадресного вещания.

Широковещательные адреса IPv4 (обычно xxx.xxx.xxx.255) выражаются адресами многоадресного вещания IPv6. Крайние адреса подсети IPv6 (например, xxxx: xxxx: xxxx: xxxx:0:0:0:0 и xxxx: xxxx: xxxx: xxxx: ffff: ffff: ffff: ffff для подсети /64) являются полноправными адресами и могут использоваться наравне с остальными.

Группы цифр в адресе разделяются двоеточиями (например, fe80:0:0:0:200:f8ff:fe21:67cf). Незначащие старшие нули в группах могут быть опущены. Большое количество нулевых групп может быть пропущено с помощью двойного двоеточия (fe80::200:f8ff:fe21:67cf). Такой пропуск должен быть единственным в адресе.

Типы Unicast-адресов

Глобальные

Шаблон:Нет источников в разделе Соответствуют публичным IPv4-адресам. Могут находиться в любом не занятом диапазоне. В настоящее время региональные интернет-регистраторы распределяют блок адресов 2000::/3 (с 2000:: по 3FFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF)<ref>Шаблон:Cite web</ref>.

Шаблон:Нет источников в разделе Соответствуют автосконфигурированным с помощью протокола APIPA IPv4 адресам. Начинаются с FE80:.

Используется:

  1. В качестве исходного адреса для Router Solicitation(RS) и Router Advertisement(RA) сообщений, для обнаружения маршрутизаторов.
  2. Для обнаружения соседей (эквивалент ARP для IPv4).
  3. Как next-hop-адрес для маршрутов.

Unique-Local

RFC 4193 описывает адресное пространство Unique-Local, назначение которого аналогично адресам интранета в версии IPv4 (10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16), адреса этих подсетей IPv6 — FCxx: и FDxx:<ref>RFC 4193</ref>.

Типы Multicast-адресов

Шаблон:Нет источников в разделе Адреса мультикаст бывают двух типов:

  • Назначенные (Assigned multicast) — специальные адреса, назначение которых предопределено. Это зарезервированные для определённых групп устройств мультикастовые адреса. Отправляемый на такой адрес пакет будет получен всеми устройствами, входящими в группу.
  • Запрошенные (Solicited multicast) — остальные адреса, которые устройства могут использовать для прикладных задач. Адрес этого типа автоматически появляется, когда на некотором интерфейсе появляется юникастовый адрес. Адрес формируется из сети FF02:0:0:0:0:1:FF00::/104, оставшиеся 24 бита — такие же, как у настроенного юникастового адреса.

Формат пакета

Шаблон:Нет источников в разделе Шаблон:Main Пакеты состоят из управляющей информации, необходимой для доставки пакета адресату, и полезных данных, которые требуется переслать. Управляющая информация делится на содержащуюся в основном фиксированном заголовке, и содержащуюся в одном из необязательных дополнительных заголовков. Полезные данные, как правило, это дейтаграмма или фрагмент протокола более высокого транспортного уровня, но могут быть и данные сетевого уровня (например ICMPv6, OSPF).

IPv6-пакеты обычно передаются с помощью протоколов канального уровня, таких как Ethernet, который инкапсулирует каждый пакет в кадр. Но IPv6-пакет может быть передан с помощью туннельного протокола более высокого уровня, например в 6to4 или Teredo.

Нотация

Шаблон:Нет источников в разделе Адреса 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 разделённые нулевые группы из-за возникновения неоднозначности.

Также есть специальная нотация для записи встроенного и отображённого IPv4 на IPv6. В ней последние 2 группы знаков заменены на IPv4-адрес в его формате. Пример:

::ffff:192.0.2.1

При использовании IPv6-адреса в URL необходимо заключать адрес в квадратные скобки:

http://[2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d]/

Если необходимо указать порт, то он пишется после скобок:

http://[2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d]:8080/

Зарезервированные адреса IPv6

Зарезервированные подсети<ref>Шаблон:Cite web</ref><ref>Шаблон:Cite web</ref>
Адрес IPv6 Длина префикса (бит) Описание Примечание
:: 128 см. 0.0.0.0 в IPv4
::1 128 loopback адрес см. 127.0.0.0/8 в IPv4
::xx.xx.xx.xx 96 встроенный IPv4 Нижние 32 бита это адрес IPv4. Также называется IPv4-совместимым IPv6 адресом. Устарел и больше не используется.
::ffff:xx.xx.xx.xx 96 Адрес IPv4, отображённый на IPv6 Нижние 32 бита — это адрес IPv4 для хостов, не поддерживающих IPv6.
64:ff9b:: 96 Шаблон:Не переведено Зарезервирован для доступа из подсети IPv6 к публичной сети IPv4 через механизм трансляции NAT64<ref name=Cisco_NAT64>Шаблон:Cite web</ref><ref name="RFC6146">RFC 6146 «Stateful NAT64: Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers»</ref>
2001:: 32 Teredo Зарезервирован для туннелей Teredo в RFC 4380
2001:db8:: 32 Документирование Зарезервирован для примеров в документации в RFC 3849
2002:: 16 6to4 Зарезервирован для туннелей 6to4 в RFC 3056
fe80:: — febf:: 10 link-local<ref>Шаблон:Cite web</ref><ref>Шаблон:Cite web</ref> Аналог 169.254.0.0/16 в IPv4
fec0:: — feff:: 10 site-local Помечен как устаревший в RFC 3879 (Аналог внутренних сетей 10.0.0.0/8; 172.16.0.0/12; 192.168.0.0/16)
fc00:: 7 Unique Local Unicast Пришёл на смену Site-Local RFC 4193
ff00:: 8 Multicast RFC 3513
3fff:: 20 Документирование Зарезервирован для примеров в документации в RFC 9637

См. также

Примечания

Шаблон:Примечания

Литература

Ссылки

Шаблон:IPv6 Шаблон:Навигационная таблица