+7 (812) 929-8183,
+7 (812) 929-8283

IPv6

IPv6 (англ. Intenet Protocol version 6) — это новая версия протокола IP, призванная решить проблемы, с которыми столкнулась предыдущая версия (IPv4) при её использовании в Интернете. В настоящее время протокол IPv6 проходит тестирование и ещё не получил широкого распространения в Интернете, где преимущественно используется IPv4. Протокол был разработан исследовательском центре Xerox PARC.

Развитие IPv6

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

  • недостаточность объёма 32-битного адресного пространства;
  • сложность агрегирования маршрутов, разрастание таблиц маршрутизации;
  • сложность массового изменения IP-адресов;
  • относительная сложность обработки заголовков пакетов IPv4.

Кроме того масштабируемость IP-сетей следует рассматривать не только с точки зрения увеличения числа узлов, но и с точки зрения повышения скорости передачи и уменьшения задержек при маршрутизации.

В связи с этим было разработано множество версий IP протокола для различных вычислительных платформ и операционных систем. До некоторого момента существовало несколько альтернативных вариантов протокола IP нового поколения: IPv7 (разработчик — Ullman), TUBA (Gallon), ENCAPS (Hinden), SIP (Deering) и PIP (Fracis). В результате развития линии ENCAPS (с промежуточной версией IPAE), SIP и PIP слились в 1993 году в предложение SIPP, которое в июле 1994 года было принято в качестве основы для создания протокола IP нового поколения, получившего название IPv6, где «6» обозначает номер версии протокола. В технической литературе эту версию протокола ещё называют IPng (IP next generation), хотя иногда под IPng понимают все варианты модернизации IP, включая также не вошедшие в проект IPv6, но продолжающие развиваться. Документом, фиксирующим появление IPv6, является спецификация RFC 1752 «The Recommendation for the IP Next Generation Protocol». Базовый набор протоколов IPv6 был принят IETF в сентябре 1995 года и получил статус Proposed Standard.


В спецификации RFC 1726 представлен набор функций, основными среди них являются:

  • масштабируемость: идентификация и определение адресов как минимум 1012 конечных систем и 109 индивидуальных сетей;
  • топологическая гибкость: архитектура маршрутизации и протокол должны работать в сетях с различной топологией;
  • преемственность: обеспечение чёткого плана перехода от существующей версии IPv4;
  • независимость от среды передачи: работа среди множества сетей с различными средами передачи данных со скоростями до сотен гигабит в секунду;
  • автоматическое конфигурирование хостов и маршрутизаторов;
  • безопасность на сетевом уровне;
  • мобильность: обеспечение работы с мобильными пользователями, сетями и межсетевыми системами;
  • расширяемость: возможность дальнейшего развития в соответствии с новыми потребностями.

В результате реализации заявленных функций важнейшие инновации IPv6 состоят в следующем:

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

При этом в IPv6 все изменения планировались таким образом, чтобы минимизировать изменения на других уровнях протокольного стека TCP/IP. В результате размер IP-адреса увеличен до 128 бит (16 байт). Даже с учётом неэффективности использования адресного пространства, являющейся оборотной стороной эффективной маршрутизации и автоматического конфигурирования, этого достаточно, чтобы обеспечить объединение миллиарда сетей, как того требовали документы IETF. Обеспечена возможность простого и гибкого автоматического конфигурирования адресов для сетей произвольного масштаба и сложности. IPv6 остался расширяемым протоколом, причём поля расширений (дополнительные заголовки) могут добавляться без снижения эффективности маршрутизации.

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

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

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

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

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

Обеспечение приоритезации пакетов обеспечивается маршрутизаторами на основе поля приоритета. Данное 4-битное поле содержит код требуемого приоритета.

Множество значений этого поля разделено на два подмножества:

  • от 0 до 7 — трафик с контролем перегрузки (например, протокол TCP снижает трафик при получении сигнала перегрузки);
  • от 8 до 15 — трафик без контроля перегрузки (приложения реального времени с постоянной скоростью).

Разработчики IPv6 рекомендуют использовать для определённых категорий приложений, управляющих сигналами перегрузки, следующие коды приоритета:

Рекомендованные коды приоритета для определённых видов приложений.

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

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

Следует отметить, что трафик с возможностью управления перегрузками (0—7) и без неё (8—15) обрабатываются маршрутизаторами независимо, то есть не существует взаимного соответствия между приоритетами данных видов трафика. Обеспечение безопасности в протоколе IPv6 осуществляется с использованием протокола IPSec, поддержка которого является обязательной для данной версии протокола

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

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

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

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

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

Широковещательные адреса IPv4 (обычно xxx.xxx.xxx.255) выражаются адресами многоадресного вещания IPv6.

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

IPv6 адрес Длина префикса (биты) Описание Заметки
:: 128 - cf. 0.0.0.0 в IPv4
::1 128 loopback адрес cf. 127.0.0.1 в IPv4
::xx.xx.xx.xx 96 встроенный IPv4 Нижние 32 бита это адрес IPv4. Также называется IPv4 совместимым IPv6 адресом
::ffff:xx.xx.xx.xx 96 Адрес IPv6, отображенный на IPv4 Нижние 32 бита это адрес IPv4. Для хостов, не поддерживающих IPv6.
fe80:: - febf:: 10 link-local cf. loopback адрес в IPv4
fec0:: - feff:: 10 site-local  
ffxx:: 8 широковещательный  
001 (основание 2) 3 global unicast Все global unicast адреса присваиваются из этого пула. Первые три бита 001.