Открыть сервис

RFC 2460

RFC 2460 — это спецификация протокола IPv6 (Internet Protocol version 6), утверждённая Инженерным советом Интернета (IETF) в декабре 1998 года. Документ определяет формат пакета, систему адресации, механизмы маршрутизации и базовые принципы работы шестой версии интернет-протокола. RFC 2460 пришёл на смену более ранней версии IPv4 (RFC 791) и был разработан для преодоления ограничений, связанных с исчерпанием адресного пространства, а также для улучшения эффективности передачи данных, безопасности и поддержки новых типов сервисов.

История создания и статус документа

Разработка IPv6 началась в начале 1990-х годов, когда стало очевидно, что 32-битное адресное пространство IPv4 (около 4,3 миллиарда адресов) будет исчерпано в обозримом будущем. RFC 2460 был опубликован в декабре 1998 года, заменив собой проект RFC 1883, который был первым описанием протокола. Авторами документа выступили Стив Дирринг (Steve Deering) из корпорации Cisco и Роберт Хинден (Robert Hinden) из компании Nokia.

В июле 2017 года IETF опубликовала RFC 8200, который стал новым стандартом для IPv6, заменив RFC 2460. RFC 8200 уточнил некоторые положения, удалил устаревшие механизмы (например, фрагментацию только на узле-источнике) и внёс ряд технических исправлений, однако фундаментальные принципы, заложенные в RFC 2460, сохранились. Несмотря на замену, RFC 2460 остаётся исторически важным документом, на который ссылаются многие последующие спецификации.

Основные отличия от IPv4

RFC 2460 вводит несколько ключевых изменений по сравнению с IPv4:

  • Увеличенное адресное пространство: IPv6 использует 128-битные адреса, что даёт приблизительно 340 ундециллионов (3,4 × 10³⁸) адресов.
  • Упрощённый формат заголовка: базовый заголовок IPv6 имеет фиксированную длину 40 байт и содержит только 8 полей, тогда как заголовок IPv4 — 12 полей переменной длины.
  • Автоконфигурация: поддержка безгосударственной автоматической настройки адресов (SLAAC) без необходимости в DHCP-сервере.
  • Встроенная безопасность: протокол IPsec является обязательным компонентом, хотя на практике его использование опционально.
  • Улучшенная поддержка расширений: заголовки расширения заменяют опции IPv4 и позволяют более гибко добавлять новые функции.
  • Отсутствие контрольных сумм на сетевом уровне: контрольные суммы убраны из заголовка, так как они присутствуют на канальном и транспортном уровнях.

Структура пакета IPv6

Формат пакета определён в RFC 2460 и состоит из двух частей: базового заголовка и одного или нескольких заголовков расширения, следующих за ними.

Базовый заголовок (40 байт)

Базовый заголовок содержит следующие поля:

  • Version (4 бита): версия протокола, для IPv6 равно 6.
  • Traffic Class (8 бит): метка класса трафика для контроля качества обслуживания (QoS).
  • Flow Label (20 бит): метка потока для идентификации последовательности пакетов, требующих одинаковой обработки маршрутизаторами.
  • Payload Length (16 бит): длина полезной нагрузки в байтах (данные после базового заголовка, включая все заголовки расширения).
  • Next Header (8 бит): указывает тип следующего заголовка (либо верхнего уровня, либо расширения). Аналог поля Protocol в IPv4.
  • Hop Limit (8 бит): максимальное число промежуточных узлов, через которые может пройти пакет. При каждом проходе значение уменьшается на 1; при достижении 0 пакет отбрасывается.
  • Source Address (128 бит): IPv6-адрес отправителя.
  • Destination Address (128 бит): IPv6-адрес получателя.

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

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

RFC 2460 определяет несколько типов заголовков расширения:

  • Hop-by-Hop Options: обрабатывается каждым промежуточным узлом. Используется, например, для Jumbo Payload (пакеты больше 65535 байт) или для Router Alert.
  • Destination Options: обрабатывается только узлом назначения.
  • Routing: позволяет задать список промежуточных узлов, через которые должен пройти пакет.
  • Fragment: используется для фрагментации пакетов. В RFC 2460 фрагментация может выполняться только на узле-отправителе; в RFC 8200 это правило стало строгим.
  • Authentication Header (AH): обеспечивает аутентификацию и целостность данных (часть IPsec).
  • Encapsulating Security Payload (ESP): обеспечивает шифрование и/или аутентификацию (часть IPsec).

При отсутствии заголовков расширения поле Next Header в базовом заголовке указывает на протокол верхнего уровня (TCP — 6, UDP — 17).

Адресация

RFC 2460 определяет структуру 128-битного адреса, но не описывает конкретные форматы адресов — они позже были формализованы в RFC 4291. Тем не менее, в документе вводятся три основных типа адресов:

  • Unicast: адрес одного интерфейса. Пакет доставляется конкретному узлу.
  • Anycast: адрес набора интерфейсов, принадлежащих разным узлам. Пакет доставляется ближайшему (по метрике маршрутизации) интерфейсу из этого набора.
  • Multicast: адрес группы интерфейсов. Пакет доставляется всем интерфейсам в группе.

RFC 2460 также вводит префиксную запись адресов (CIDR-нотация), например, 2001:db8::/32, где :: заменяет последовательность нулевых блоков.

Автоконфигурация

Важным нововведением IPv6, поддерживаемым RFC 2460, является механизм безгосударственной автоматической конфигурации адресов (Stateless Address Autoconfiguration, SLAAC). Этот процесс позволяет узлу автоматически сформировать глобально уникальный IPv6-адрес без обращения к серверу DHCP. Алгоритм включает:

  • Получение префикса сети от маршрутизатора (через сообщения Router Advertisement).
  • Генерацию идентификатора интерфейса (обычно на основе MAC-адреса с использованием модифицированного EUI-64 или случайным образом).
  • Проверку уникальности адреса с помощью Neighbor Discovery (протокол, определённый в RFC 4861).

при необходимости адрес и данные можно получить и от DHCPv6-сервера (stateful-режим).

Совместимость с IPv4

RFC 2460 не содержит прямых механизмов обратной совместимости с IPv4, так как IPv6 является принципиально новым протоколом, а не расширением старого. Для обеспечения взаимодействия между сетями IPv4 и IPv6 вводятся вспомогательные технологии, описанные в отдельных документах:

Эти механизмы не являются частью RFC 2460, но необходимы для плавного перехода с IPv4 на IPv6.

Критика и ограничения

Несмотря на техническое совершенство, RFC 2460 подвергался критике по нескольким причинам:

  • Необходимость в изменении всей сетевой инфраструктуры: внедрение IPv6 требует замены или обновления маршрутизаторов, коммутаторов и программного обеспечения, что делает процесс медленным и дорогим.
  • Перегрузка функциональности: некоторые считают, что сложные заголовки расширения и механизмы SLAAC излишне усложняют реализацию.
  • Проблемы с безопасностью при автоконфигурации: SLAAC может быть уязвим к атакам, если не используются дополнительные механизмы (такие как Secure Neighbor Discovery).
  • Отсутствие обратной совместимости: полное разделение с IPv4 усложняет постепенное внедрение и требует длительных переходных периодов.

Значение и влияние

RFC 2460 стал основой для современной сетевой архитектуры интернета. Протокол IPv6, определённый в этом документе, является единственным формальным стандартом для глобальной маршрутизации в условиях исчерпания адресов IPv4. Хотя на начало 2020-х годов доля IPv6 в мировом интернет-трафике составляла около 30–40%, его внедрение продолжает расти, особенно в мобильных сетях, облачных сервисах и при развёртывании сетей «Интернета вещей» (IoT).

RFC 2460 также послужил основой для множества дополнительных RFC, уточняющих и расширяющих его положения. В частности, RFC 8200 (современный стандарт) сохранил все ключевые механизмы протокола, лишь удалив устаревшие функции и повысив формальность описания.

Источники

  • RFC 2460 — Internet Protocol, Version 6 (IPv6) Specification (December 1998)
  • RFC 8200 — Internet Protocol, Version 6 (IPv6) Specification (July 2017)
  • RFC 791 — Internet Protocol (September 1981)
  • RFC 4291 — IP Version 6 Addressing Architecture (February 2006)
  • RFC 4861 — Neighbor Discovery for IP version 6 (IPv6) (September 2007)

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →