Адресация в IPv6

Типы адресов

Адреса в IPv6 можно разделить на две большие группы:

  • индивидуальные (unicast);
  • групповые (multicast).

Широковещательные возможности (broadcast) в IPv6 отсутствуют. Это способствует уменьшению сетевого трафика и снижению нагрузки на большинство систем.

С синтаксической точки зрения тип адреса определяется префиксом переменной длины. 8-битный префикс, состоящий из единиц, характеризует групповой адрес; все остальные адреса считаются индивидуальными. Отметим, что часть пространства отведена под не-IP-адреса (NSAP, IPX), часть зарезервирована для будущих нужд. Отметим также, что предусмотрено существование адресов, уникальных только в пределах одной сети или одной производственной площадки; подобная мера необходима, чтобы поддержать автоматическое конфигурирование узлов сети, когда происходит формирование глобально уникальных адресов IPv6.

Индивидуальные адреса ассоциируются с сетевыми интерфейсами и играют двоякую роль:

  • они являются уникальными идентификаторами интерфейсов;
  • они задают маршрут к интерфейсам.

Групповые адреса предназначены для многоадресной рассылки пакетов. Узел сети, желающий получать многоадресные пакеты, должен выполнить операцию присоединения к соответствующей группе. Естественно, имеется операция отсоединения.

Своеобразным пересечением индивидуальных и групповых адресов являются так называемые адреса "наиболее подходящего члена группы" (anycast). Они выделяются из пространства индивидуальных адресов (то есть с синтаксической точки зрения являются индивидуальными) и обозначают члена группы, ближайшего к отправителю. Согласно текущим спецификациям (см. [16]), anycast-адреса могут присваиваться только маршрутизаторам, а допустимые виды и масштабы их использования остаются неясными. Видимо, проработка этого важного и весьма перспективного понятия только начинается.

Один сетевой интерфейс может иметь несколько индивидуальных адресов. Подобная возможность полезна во многих ситуациях. Например, когда организация переходит к другому поставщику Интернет-услуг, она может не только получить новые адреса, но и на некоторое время оставить старые, пометив их как "нежелательные". Пакеты с такими адресами будут доставляться, хотя, быть может, и не оптимальным образом. Тем самым будет сохранена работа приложений, по тем или иным причинам использующих явное задание IP-адресов. По истечении некоторого периода нежелательные адреса перейдут в разряд некорректных и доставка пакетов по ним прекратится. В будущем эти адреса могут быть выделены другой организации. Здесь (равно как и при рассмотрении иных аспектов адресации в IP-сетях) полезно иметь в виду телефонную аналогию, а именно процедуру групповой смены номеров.

Структура адресов в IPv6

Увеличение длины IP-адреса с 32 до 128 бит помогает решить проблему исчерпания адресного пространства, но чревато разрастанием таблиц маршрутизации. Чтобы этого не произошло, следует применять иерархическую организацию адресов, позволяющую объединять маршруты. Примером иерархической организации является система телефонных номеров, когда по серии коротких префиксов (страна/город/АТС) можно определить маршрут к любому абоненту.

Индивидуальные адреса

В спецификациях [16] и [17] описана 1/8 часть адресного пространства IPv6 (с трехбитным префиксом 001), названная агрегируемыми глобальными индивидуальными адресами. Их структура показана на Рис. 7 (числа сверху обозначают количество бит в поле).

Здесь

  • FP=001 — форматный префикс данного типа адресов;
  • TLA ID — идентификатор агрегации верхнего уровня;
  • RES — зарезервированное поле;
  • NLA ID — идентификатор агрегации следующего уровня;
  • SLA ID — идентификатор агрегации уровня производственной площадки;
  • Interface ID — идентификатор сетевого интерфейса.

Таким образом, изначально выделено три уровня иерархии маршрутов. Два верхних отражают публичную топологию Интернет, третий (SLA) — топологию сетей отдельной организации. В принципе каждый из уровней допускает дальнейшее дробление за счет использования битовых масок (как это делается в IPv4 для организации подсетей).

Предполагается, что поля TLA адресуют Интернет-маршрутизаторы верхнего уровня. Это могут быть маршрутизаторы крупнейших поставщиков Интернет-услуг или "нейтральные" точки, где происходит обмен трафиком между провайдерами. На Рис. 8 приведены возможные схемы подключения пользователей Интернет-услуг. Каждый способ подключения находит отражение в префиксах TLA и NLA. Отметим, что если пользователь подключен к точке обмена, его адрес не зависит от того, с каким провайдером у него заключен договор. Так, адреса, выделенные пользователю S.B, будут содержать значение TLA, приписанное точке обмена X1. У других пользователей адреса будут начинаться со значений TLA (и, быть может, NLA), выделенных провайдерам.

Границы между компонентами адреса определены из соображений здравого смысла. 13 бит в поле TLA позволяют задать 8192 маршрута. С одной стороны, для топологии верхнего уровня это представляется более чем достаточным. С другой стороны, это в несколько раз меньше, чем текущий размер таблиц главных маршрутизаторов Интернет, так что остается техническая возможность роста, даже если не учитывать прогресс в области маршрутизации. (При желании размер поля TLA можно увеличить, если "отъесть" несколько бит от резерва.)

65536 возможных значений поля SNA ID достаточно для задания топологии практически любой корпоративной сети, кроме, быть может, самых крупных. Гигантам придется получать несколько значений второго уровня (NLA), что в принципе соответствует их статусу конгломерата частного и общественного.

В поле Interface ID, как правило, будет располагаться 48-битный Ethernet-адрес сетевого интерфейса (естественно, дополненный нулями). Мобильные системы могут использовать уникальные, централизованно выделяемые номера.

Любопытно отметить, что структура адреса в IPv6 за сравнительно небольшое время претерпела ряд существенных изменений. Сначала предлагалась максимально гибкая схема с подвижными границами между компонентами. Затем верх стала брать менее гибкая, но более простая и практичная схема "8+8", в которой под публичную и частную части адреса отводилось по 8 байт (поле SLA ID сдвигалось на 16 бит вправо с соответствующим "ужатием" идентификатора интерфейса). Текущая структура, описанная в [17], идейно не отличается от схемы "8+8", но оставляет больше свободы в задании поля Interface ID без существенного (с современной точки зрения) ущемления интересов поставщиков Интернет-услуг.

Кроме агрегируемых глобальных, в спецификации [16] описаны и другие виды индивидуальных адресов. В первую очередь упомянем встроенные адреса IPv4. Они бывают двух видов:

  • адреса IPv6, совместимые с IPv4. Такие адреса присваиваются узлам сети, осуществляющим туннелирование трафика IPv6 через инфраструктуру IPv4 (действие, необходимое в переходный период);
  • адреса IPv4, отображенные на IPv6. Такие адреса присваиваются узлам, поддерживающим только IPv4 (в переходный период, разумеется, будут и такие).

Адреса первого типа представляются естественным образом — 96 нулевых бит и адрес IPv4 в младших 32-х битах. Адреса второго типа устроены чуть иначе (см. Рис. 9

Формат части адресов по существу едва намечен. Так, для IPX-адресов определен только 7-битный форматный префикс 0000010. Более детально специфицированы адреса, локальные в пределах физической сети (см. Рис. 10) или организации (Рис. 11). Такие адреса могут использоваться при внутреннем взаимодействии, главными видами которого, вероятно, будут являться автоматическое конфигурирование адресов и выяснение топологии. Разумеется, маршрутизаторы не должны выпускать локальные адреса наружу.

Отдельного упоминания заслуживает единственный определенный anycast-адрес, принадлежащий наиболее подходящему маршрутизатору подсети. Формат этого адреса показан на Рис. 12.

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

Групповые адреса

Спецификации IPv6 предусматривают весьма общий, практически неструктурированный формат групповых адресов (см. Рис. 13). Лишь бит T (единственный пока определенный элемент поля флагов) позволяет различить постоянные, общеизвестные (T=0) и временные (T=1) адреса, а 4-битное поле scop задает область их действия в соответствии со следующим перечнем:

  • 1 — группа локальна в пределах узла сети;
  • 2 — группа локальна в пределах физической (под)сети;
  • 5 — группа локальна в пределах производственной площадки;
  • 8 — группа локальна в пределах организации;
  • 14 — группа является глобальной

(остальные значения scop еще не распределены или зарезервированы).

Как мы видим, связь с иерархией, введенной для агрегируемых глобальных индивидуальных адресов, здесь отсутствует.

Семантика постоянных адресов не зависит от области их действия. Например, группе "серверы NTP" (Network Time Protocol) выделен шестнадцатеричный идентификатор 101. Следовательно, адрес

FF02:0:0:0:0:0:0:101

(scop=2) обозначает NTP-серверы в пределах одной подсети, а

FF0E:0:0:0:0:0:0:101

(scop=14) — все NTP-серверы в Интернет.

Среди предварительно распределенных групповых адресов отметим широковещательные адреса, адреса всех маршрутизаторов и адреса, затребованные узлами.

Широковещательные адреса имеют вид

FF01:0:0:0:0:0:0:1

FF02:0:0:0:0:0:0:1

и обозначают, соответственно, все узлы подсети и производственной площадки.

Адреса всех маршрутизаторов задаются как

FF01:0:0:0:0:0:0:2

FF02:0:0:0:0:0:0:2

FF05:0:0:0:0:0:0:2

то есть здесь в качестве возможной области действия добавлена организация.

Групповые адреса, затребованные узлами, действуют в пределах подсети. Они выглядят следующим образом:

FF02:0:0:0:0:1:FFXX:XXXX

где в младших 24-х битах размещается младшая часть индивидуального адреса узла. Узлы обязаны вычислить все свои затребованные адреса и присоединиться к соответствующим группам. Данная возможность позволяет осуществлять для подсети "топологически независимую" адресацию, поскольку все префиксы TLA, NLA, SLA (и даже старшая часть идентификатора интерфейса) в затребованном групповом адресе отсутствуют.

В спецификациях [18] детально описывается распределение групповых адресов, в том числе для глобальной области действия (таковых около 50). Мы, однако, не будем на этом останавливаться.


Формат пакетов IPv6 Содержание Настройка сетевых адресов в IPv6