
- •Содержание
- •1. Введение. Предпосылки появления iPv6 …………………………………………… 3
- •2. АдресацияPv6.......................................................................................................................... 4
- •3. Формат iPv6-дейтаграмм......................................................................................................14
- •4. Заключение............................................................................................................................31
- •1. Введение.
- •2.1 Представление адресов в iPv6
- •2.2 Типы адресов
- •2.3 Unicast-адреса
- •IPv6 адреса с вложенными iPv4 адресами
- •IPv4-compatible addresses
- •IPv4-mapped addresses
- •2.5 Multicast-адреса
- •2.6 Доля адресов в адресном пространстве
- •3.1 Основные изменения в дейтаграмме iPv6
- •3.2 Общая структура iPv6 дейтаграммы
- •3.3 Формат основного заголовка iPv6
- •3.4 Конкатенация заголовков iPv6 при помощи поля Next Header
- •3.5 Заголовки расширения, содержащие опции
- •3.6 Заголовок маршрутизации
- •3.7 Размер и фрагментация iPv6-дейтаграмм
- •3.9 Протокол обеспечения конфиденциальности
- •1. Вычисление и размещение esp Header
- •2. Вычисление и размещение esp Trailer
- •3. Вычисление и размещение esp Authentication Field
- •3.10 Возможные схемы шифрования и аутентификации
- •4. Заключение
- •4.1 IPv6 в мире и в России
- •4.2 Выводы и итоги
- •IPv6 has a bright future. The question is when, not if. The when begins now.
- •Список использованных источников
IPv6 адреса с вложенными iPv4 адресами
IPv4-compatible addresses
В настоящее время этот тип адресов более не используется механизмами трансляции между сетями IPv4 и IPv6. Единственное его возможное применение – представление IPv4-адресов в таблицах маршрутизации с элементами фиксированной длины, которые должны содержать как IPv4, так и IPv6-адреса.
IPv4-mapped addresses
Этот тип адресов применяется в IP-стеке для представления IPv4-адресов IPv6-приложениям. Они позволяют прозрачно использовать протоколы транспортного уровня (TCP или UDP) для доступа к IPv4-хостам через сетевой API IPv6.
Также эти адреса используются dual-stack хостами (т.е. поддерживающими и IPv4 и IPv6): серверные приложения, запущенные на них, открывают один и тот же сокет для принятия подключений как от IPv6, так и от IPv4-клиентов. В этом случает IPv6-клиенты обрабатываются обычным образом, а IPv4-клиенты представляются как IPv6-клиенты с IPv4-mapped адресом. Также IPv6-сокетом может быть активно установлено IPv4-соединение, но эта возможность используется довольно редко.
Много общеизвестных IPv6-стеков не поддерживают этот механизм, так как IPv6 и IPv4-стеки отделены друг от друга (Microsoft Windows XP/2000/2003), или по соображениям безопасности (NetBSD, OpenBSD). На этих ОС необходимо открывать отдельный сокет для каждого поддерживаемого IP-протокола.
Агрегируемые глобальные индивидуальные адреса (Aggregatable Global Unicast Addresses) [RFC 2374]
Агрегированные адреса включают в себя три уровня иерархии:
- Провайдеры (Public Topology)
- Подписчики (Site Topology)
- Интерфейсы (Interface Identifier)
Провайдеры – совокупность провайдерских сетей и точек обмена трафика, обеспечивающих транзитное прохождение пакетов. Подписчики – сети или организации, не обеспечивающие транзитное прохождение трафика.
Формат адреса поддерживает большие провайдерские сети (Провайдер 1 – Провайдер 4), точки обмена трафиком (Internet Exchange 1,2), несколько уровней провайдеров (Провайдер 5,6) и подписчиков (Организация 1-6).
Агрегируемый глобальный индивидуальный адрес имеет следующий формат:
Где:
TLA ID - Top-Level Aggregation Identifier
RES - Зарезервировано
NLA ID - Next-Level Aggregation Identifier
SLA ID - Site-Level Aggregation Identifier
INTERFACE ID- Interface Identifier
Таким образом, изначально выделено три уровня иерархии маршрутов. Два верхних отражают публичную топологию Интернет, третий (SLA) — топологию сетей отдельной организации. В принципе каждый из уровней допускает дальнейшее дробление за счет использования битовых масок (как это делается в IPv4 для организации подсетей).
Предполагается, что поля TLA адресуют Интернет-маршрутизаторы верхнего уровня. Это могут быть маршрутизаторы крупнейших поставщиков Интернет-услуг или точки обмена трафиком. Каждый способ подключения находит отражение в префиксах TLA и NLA.
Поле Interface ID, как правило, формируется из 48-битного Ethernet-адреса сетевого интерфейса. Мобильные системы могут использовать уникальные, централизованно выделяемые номера.
Локальные unicast-адреса
Существует два типа unicast-адресов для локального использования: link-local (в пределах одной физической сети) и site-local (в пределах одной организации).
Link-local IPv6 unicast-адрес канала имеет следующий формат:
Локальные адреса канала предназначены для адресации в пределах одной физической сети, например, для обеспечения работы автоконфигурации адресов, алгоритма поиска соседей или в случае отсутствия маршрутизатора. Маршрутизаторы не должны переадресовывать пакеты с локальными адресами отправителя.
Локальный адрес организации (site-local) имеет следующий формат:
Локальные адреса организации могут использоваться для локальных сетей или организаций, которые не подключены к Интернету. Им не нужно запрашивать префикс адреса из глобального адресного пространства Интернет. Маршрутизаторы не должны переадресовывать пакеты с локальными адресами организации за её пределы.
2.4 Anycast-адреса [RFC 1546]
Существует ряд ситуаций, когда хост, приложение или пользователь хочет подсоединиться к хосту, поддерживающему определенный сервис, но если этот сервис поддерживает несколько хостов, то ему всё равно к какому подсоединяться. Anycasting позволяет легко разрешить данную ситуацию.
Anycast-адрес IPv6 является адресом, который приписан нескольким интерфейсам (обычно принадлежащим разным узлам), при этом пакет, посланный по anycast-адресу, будет доставлен ближайшему интерфейсу в соответствии с метрикой протокола маршрутизации.
Anycast-адреса выделяются из пространства unicast-адресов, и используют один из известных unicast-форматов. Таким образом, anycast-адреса синтаксически неотличимы от unicast-адресов. Когда unicast-адрес приписан более чем одному интерфейсу, он превращается в anycast-адрес, и узлы, которым он приписан, должны быть сконфигурированы так, чтобы распознавать этот адрес.
Для любого anycast-адреса существует адресный префикс P, который определяет топологическую область, где находятся все соответствующие ему интерфейсы. В пределах области, заданной P, каждый член anycast-группы должен быть объявлен, как отдельный вход в маршрутной системе; вне области, заданной P, anycast-адрес может быть занесен в маршрутную запись для префикса P.
Заметим, что в худшем случае префикс P anycast-группы может быть нулевым, т.e. члены группы могут не иметь никакой топологической локальности. В этом случае anycast-адрес должен объявляться как отдельная маршрутная единица (separate routing entry) по всему Интернет, что представляет собой серьезное ограничение, так как число таких "глобальных" anycast-адресов не может быть большим.
Одним ожидаемым приложением anycast-адресов является идентификация набора маршрутизаторов, принадлежащих одному Интернет-провайдеру. Такие адреса в маршрутном заголовке IPv6 могут использоваться в качестве промежуточных, чтобы обеспечить доставку пакета через определенного провайдера или последовательность провайдеров. Другим возможным приложением может стать идентификация набора маршрутизаторов, подключенных к определенной подсети, или набора маршрутизаторов, обеспечивающих доступ в определенный домен.
Имеется ограниченный опыт применения anycast-адресов и выработаны следующие ограничения по их использованию:
• Anycast-адрес не может использоваться в качестве адреса отправителя в IPv6 пакете.
• Anycast-адрес не может быть приписан хосту - таким образом, он может принадлежать только маршрутизатору (и следовательно, anycast-адрес может использоваться только при указании в качестве промежуточного узла в опции маршрутизации).
Anycast-адрес маршрутизатора подсети (subnet-router) предопределен и имеет формат, отображенный на следующем рисунке:
Префикс подсети в anycast-адресе является префиксом, который идентифицирует определенную сеть. Этот anycast-адрес является синтаксически идентичным unicast-адресу для интерфейса канала с идентификатором интерфейса равным нулю.
Пакеты, посланные группе маршрутизаторов с anycast-адресом, будут доставлены одному маршрутизатору подсети. При этом все маршрутизаторы подсети должны поддерживать работу с anycast-адресами.
Anycast-адрес маршрутизатора подсети предполагается использовать в приложениях, где необходимо взаимодействовать с одним из совокупности маршрутизаторов удаленной подсети. Например, когда мобильный хост хочет взаимодействовать с одним из мобильных агентов в его “домашней” подсети.