Доброго времени суток,
в этой статье мы с вами поговорим об особенностях и преимуществах интернет протокола версии 6 над 4-ой версией.
IPv6 (англ. Internet Protocol version 6) — новая версия интернет-протокола (IP), призванная решить проблемы, с которыми столкнулась предыдущая версия (IPv4) при её использовании в Интернете, за счёт целого ряда принципиальных изменений. Протокол был разработан IETF.
На конец 2012 года доля IPv6 в сетевом трафике составляла около 5 %. К концу 2013 года ожидался рост на 3 %. Согласно статистике Google на январь 2020 года, доля IPv6 в сетевом трафике составляла около 30 %. В России коммерческое использование операторами связи невелико (не более 4,5 % трафика). DNS-серверы многих российских регистраторов доменов и провайдеров хостинга используют IPv6.
После того, как адресное пространство в IPv4 закончится, два стека протоколов — IPv6 и IPv4 — будут использоваться параллельно (англ. dual stack), с постепенным увеличением доли трафика IPv6, по сравнению с IPv4. Такая ситуация станет возможной из-за наличия огромного количества устройств, в том числе устаревших, не поддерживающих IPv6 и требующих специального преобразования для работы с устройствами, использующими только IPv6.
IPv4 (англ. Internet Protocol version 4) — четвёртая версия интернет протокола (IP). Первая широко используемая версия. Протокол описан в RFC 791 (сентябрь 1981 года), заменившем RFC 760 (январь 1980 года).
IPv4 использует 32-битные (четырёхбайтные) адреса, ограничивающие адресное пространство 4 294 967 296 (2^32) возможными уникальными адресами.
Традиционной формой записи IPv4 адреса является запись в виде четырёх десятичных чисел (от 0 до 255), разделённых точками. Через дробь указывается длина маски подсети.
В конце 1980-х стала очевидна необходимость разработки способов сохранения адресного пространства Интернета. В начале 1990-х, несмотря на внедрение бесклассовой адресации, стало ясно, что этого недостаточно для предотвращения исчерпания адресов и необходимы дальнейшие изменения инфраструктуры Интернета. К началу 1992 года появилось несколько предложений, и к концу 1992 года IETF объявила конкурс для рабочих групп на создание интернет-протокола следующего поколения (англ. IP Next Generation — IPng). 25 июля 1994 года IETF утвердила модель IPng, с образованием нескольких рабочих групп IPng. К 1996 году была выпущена серия RFC, определяющих Интернет-протокол версии 6, начиная с RFC 1883.
IETF назначила новому протоколу версию 6, так как версия 5 была ранее назначена экспериментальному протоколу, предназначенному для передачи видео и аудио.
Тестирование протокола
8 июня 2011 года состоялся Международный день IPv6 — мероприятие по тестированию готовности мирового интернет-сообщества к переходу с IPv4 на IPv6, в рамках которого участвующие в акции компании добавили к своим сайтам IPv6-записи на один день. Тестирование прошло успешно, накопленные данные будут проанализированы и учтены при последующем внедрении протокола и для составления рекомендаций.
Внедрение протокола
Перевод на IPv6 начал осуществляться внутри Google с 2008 года. Тестирование IPv6 признано успешным. 6 июня 2012 года состоялся Всемирный запуск IPv6. Интернет-провайдеры включат IPv6 как минимум для 1 % своих пользователей (уже подписались AT&T, Comcast, Free Telecom, Internode, KDDI, Time Warner Cable, XS4ALL). Производители сетевого оборудования активируют IPv6 в качестве настроек по умолчанию в маршрутизаторах (Cisco, D-Link). Веб-компании включат IPv6 на своих основных сайтах (Google, Facebook, Microsoft Bing, Yahoo), а некоторые переводят на IPv6 также корпоративные сети. В спецификации стандарта мобильных сетей LTE указана обязательная поддержка протокола IPv6.
Сравнение с 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;
- Появились метки потоков и классы трафика;
- Появилось многоадресное вещание.
Метки потоков
Введение в протоколе 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)
Механизмы безопасности
В отличие от SSL и TLS, протокол IPsec позволит шифровать любые данные (в том числе UDP) без необходимости какой-либо поддержки со стороны прикладного ПО.
Основы адресации IPv6
Существуют различные типы адресов 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).
- Link-Local
Соответствуют автосконфигурированным с помощью протокола APIPA IPv4 адресам. Начинаются с FE80:.
Используется:
- В качестве исходного адреса для Router Solicitation(RS) и Router Advertisement(RA) сообщений, для обнаружения маршрутизаторов.
- Для обнаружения соседей (эквивалент ARP для IPv4).
- Как next-hop-адрес для маршрутов.
- Unique-Local
RFC 4193, соответствуют внутренним IP-адресам, которыми в версии IPv4 являлись 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16. Начинаются с цифр FCxx: и FDxx:.
Типы Multicast-адресов
Адреса multicast бывают двух типов:
- Назначенные (Assigned multicast) — специальные адреса, назначение которых предопределено. Это зарезервированные для определённых групп устройств мультикастовые адреса. Отправляемый на такой адрес пакет будет получен всеми устройствами, входящими в группу.
- Запрошенные (Solicited multicast) — остальные адреса, которые устройства могут использовать для прикладных задач. Адрес этого типа автоматически появляется, когда на некотором интерфейсе появляется юникастовый адрес. Адрес формируется из сети FF02:0:0:0:0:1:FF00::/104, оставшиеся 24 бита — такие же, как у настроенного юникастового адреса.
-Спасибо, что дочитали данную статью до конца,
Надеюсь, она была вам полезна.
Если остались какие-то вопросы - пишите в комментарии. Подписывайтесь, дальше будет ещё интереснее.