Протокол IPv6

Содержание

Слайд 2

Формат заголовка IPv6

Формат заголовка IPv6

Слайд 3

IP версия 6 архитектуры адресации В IPv6 не существует широковещательных адресов,

IP версия 6 архитектуры адресации

В IPv6 не существует широковещательных адресов, их

функции переданы мультикастинг-адресам.
В IPv6, все нули и все единицы являются допустимыми кодами для любых полей, если не оговорено исключение.
Слайд 4

IPv6 адреса всех типов ассоциируются с интерфейсами, а не узлами. Так

IPv6 адреса всех типов ассоциируются с интерфейсами, а не узлами. Так

как каждый интерфейс принадлежит только одному узлу, уникастный адрес интерфейса может идентифицировать узел.
IPv6 уникастный адрес соотносится только с одним интерфейсом. Одному интерфейсу могут соответствовать много IPv6 адресов различного типа (уникастные, эникастные и мультикстные). Существует два исключения из этого правила:
Одиночный адрес может приписываться нескольким физическим интерфейсам, если приложение рассматривает эти несколько интерфейсов как единое целое при представлении его на уровне Интернет.
Маршрутизаторы могут иметь ненумерованные интерфейсы (например, интерфейсу не присваивается никакого IPv6 адреса) для соединений точка-точка, чтобы исключить необходимость вручную конфигурировать и объявлять (advertise) эти адреса. Адреса не нужны для соединений точка-точка маршрутизаторов, если эти интерфейсы не используются в качестве точки отправления или назначения при посылке IPv6 дейтограмм. Маршрутизация здесь осуществляется по схеме близкой к используемой протоколом CIDR в IPv4.
IPv6 соответствует модели IPv4, где субсеть ассоциируется с каналом. Одному каналу могут соответствовать несколько субсетей.

Модель адресации

Слайд 5

Основная форма имеет вид x:x:x:x:x:x:x:x, где 'x' шестнадцатеричные 16-битовые числа. Примеры:

Основная форма имеет вид x:x:x:x:x:x:x:x, где 'x' шестнадцатеричные 16-битовые числа.
Примеры:
fedc:ba98:7654:3210:FEDC:BA98:7654:3210 1080:0:0:0:8:800:200C:417A
Например:
может

быть представлено в виде:
2. Альтернативной формой записи, которая более удобна при работе с ipv4 и IPv6, является x:x:x:x:x:x:d.d.d.d, где 'x' шестнадцатеричные 16-битовые коды адреса, а 'd' десятичные 8-битовые, составляющие младшую часть адреса (стандартное IPv4 представление). Например:
0:0:0:0:0:0:13.1.68.3 0:0:0:0:0:FFFF:129.144.52.38
или в сжатом виде:
::13.1.68.3 ::FFFF:129.144.52

Представление записи адресов (текстовое представление адресов)

Слайд 6

Специфический тип IPv6 адресов идентифицируется лидирующими битами адреса. Поле переменной длины,

Специфический тип IPv6 адресов идентифицируется лидирующими битами адреса. Поле переменной длины,

содержащее эти лидирующие биты, называется префиксом формата (Format Prefix - FP). И

Представление типа адреса

Слайд 7

Замечание: Не специфицированные адреса, адреса обратной связи и IPv6 адреса со

Замечание: Не специфицированные адреса, адреса обратной связи и IPv6 адреса со

встроенными IPv4 адресами, определены вне “0000 0000” префиксного пространства.
Уникастные адреса отличаются от мультикастных значением старшего октета: значение FF (11111111) идентифицирует мультикастинг-адрес; любые другие значения говорят о том, что адрес уникастный. Эникастные (anycast) адреса берутся из уникастного пространства, и синтаксически неотличимы от них.
Слайд 8

IPv6 уникастный адреса, сходны с традиционными IPv4 адресами при бесклассовой междоменной

IPv6 уникастный адреса, сходны с традиционными IPv4 адресами при бесклассовой междоменной

маршрутизации (Class-less InterDomain Routing - CIDR).
ЭВМ может дополнительно знать о префиксе субсети для каналов, c которыми она соединена, где различные адреса могут иметь разные значения n:

Уникастные адреса

Слайд 9

Где 48-битовый идентификатор интерфейса представляет собой IEEE-802 MAC адрес. Использование IEEE

Где 48-битовый идентификатор интерфейса представляет собой IEEE-802 MAC адрес. Использование IEEE

802 mac адресов в качестве идентификаторов интерфейсов будет стандартным в среде, где узлы имеют IEEE 802 MAC адреса. В других средах, где IEEE 802 MAC адреса не доступны, могут использоваться другие типы адресов связного уровня, такие как E.164 адреса, в качестве идентификаторов интерфейсов.
Другой формат уникастного адреса относится к случаю, когда локальная сеть или организация нуждаются в дополнительных уровнях иерархии. В этом примере идентификатор субсети делится на идентификатор области и идентификатор субсети. Формат такого адреса имеет вид:

Эта схема может быть развита с тем, чтобы позволить локальной сети или организации добавлять новые уровни внутренней иерархии. Может быть, желательно использовать идентификатор интерфейса меньше чем 48-разрядный IEEE 802 MAC адрес, с тем, чтобы оставить больше места для полей, характеризующих уровни иерархии. Это могут быть идентификаторы интерфейсов, сформированные администрацией локальной сети или организации.

Слайд 10

Адрес 0:0:0:0:0:0:0:0 называется не специфицированным адресом. Он не должен присваиваться какому-либо

Адрес 0:0:0:0:0:0:0:0 называется не специфицированным адресом. Он не должен присваиваться какому-либо

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

Не специфицированный адрес

Слайд 11

Уникастный адрес 0:0:0:0:0:0:0:1 называется адресом обратной связи. Он может использоваться для

Уникастный адрес 0:0:0:0:0:0:0:1 называется адресом обратной связи. Он может использоваться для

посылки IPv6 дейтограмм самому себе.
Его нельзя использовать в качестве идентификатора интерфейса.
Адрес обратной связи не должен применяться в качестве адреса отправителя в IPv6 дейтограммах, которые посылаются за пределы узла.
IPv6 дейтограмма с адресом обратной связи в качестве адреса места назначения не может быть послана за пределы узла.

Адрес обратной связи

Слайд 12

Алгоритмы IPv6 включают в себя механизм (для ЭВМ и маршрутизаторов) организации

Алгоритмы IPv6 включают в себя механизм (для ЭВМ и маршрутизаторов) организации

туннелей для IPv6 пакетов через маршрутную инфраструктуру IPv4. Узлам IPv6, которые используют этот метод, присваиваются специальные IPv6 уникастные адреса, которые в младших 32 битах содержат адрес IPv4. Этот тип адреса называется "IPv4-compatible IPv6 address" и имеет формат, изображенный на рис. :
Определен и второй тип IPv6 адреса, который содержит внутри IPv4 адрес. Этот адрес используется для представления IPv6 адресов узлам IPv4 (тем, что не поддерживают IPv6). Этот тип адреса называется "IPv4-mapped IPv6 address" и имеет формат показанный на рис. :

IPv6 адреса с вложенными IPv4 адресами

Слайд 13

Глобальный уникаст-адрес провайдера имеет назначение, описанное в [ALLOC]. Исходное назначение этих

Глобальный уникаст-адрес провайдера имеет назначение, описанное в [ALLOC]. Исходное назначение этих

уникаст-адресов аналогично функции IPv4 адресов в схеме CIDR [см. CIDR]. Глобальный IPv6 уникаст-адрес провайдера имеет формат, отображенный ниже на рис. :

Старшая часть адреса предназначена для определения того, кто определяет часть адреса провайдера, подписчика и т.д.
Идентификатор регистрации определяет регистратора, который задает провайдерскую часть адреса. Термин "префикс регистрации" относится к старшей части адреса, включая поле идентификатор регистрации (ID).
Идентификатор провайдера задает специфического провайдера, который определяет часть адреса подписчика. Термин "префикс провайдера" относится к старшей части адреса включая идентификатора провайдера.
Идентификатор подписчика позволяет разделить подписчиков, подключенных к одному и тому же провайдеру. Термин "префикс подписчика" относится к старшей части адреса, включая идентификатор подписчика.
Часть адреса интра-подписчик определяется подписчиком и организована согласно местной топологии Интернет подписчика. Возможно, что несколько подписчиков пожелают использовать область адреса интра-подписчик для одной и той же субсети и интерфейса. В этом случае идентификатор субсети определяет специфический физический канал, а идентификатор интерфейса - определенный интерфейс субсети.

Провайдерские глобальные уникаст-адреса

Слайд 14

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

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

сети и канала. Локальный адрес канала предназначен для работы с одним каналом, а локальный адрес сети - с одной локальной сетью (site).
Локальный IPv6 уникаст-адрес канала имеет формат, отображенный ниже на рис.

Локальные уникаст-адреса IPv6

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

Слайд 15

Локальный адрес сети Локальные адреса сети могут использоваться для локальных сетей

Локальный адрес сети

Локальные адреса сети могут использоваться для локальных сетей или

организаций, которые (пока еще) не подключены к глобальному Интернет. Им не нужно запрашивать или “красть” префикс адреса из глобального адресного пространства Интернет. Вместо этого можно использовать локальный адрес сети IPv6. Когда организация соединяется с глобальным Интернет, она может сформировать глобальные адреса путем замещения локального префикса сети префиксом подписчика.
Маршрутизаторы не должны переадресовывать пакеты с локальными адресами сети отправителя.
Слайд 16

Unicast адреса IPv6 Локальный на линке IPv6 адрес Локальный на сайте

Unicast адреса IPv6

Локальный на линке IPv6 адрес

Локальный на сайте IPv6

адрес

Глобальный unicast IPv6 адрес

Слайд 17

Эникаст-адреса Эникаст-адрес IPv6 является адресом, который приписан нескольким интерфейсам (обычно принадлежащим

Эникаст-адреса
Эникаст-адрес IPv6 является адресом, который приписан нескольким интерфейсам (обычно принадлежащим разным

узлам), при этом пакет, посланный по эникастному адресу, будет доставлен ближайшему интерфейсу в соответствии с метрикой протокола маршрутизации.
эникастные адреса синтаксически неотличимы от уникастных адресов. Когда уникастный адрес приписан более чем одному интерфейсу, он превращается в эникастный адрес и узлы, которым он приписан, должны быть сконфигурированы так, чтобы распознавать этот адрес.
Для любого эникастного адреса существует адресный префикс P, который определяет топологическую область, где находятся все соответствующие ему интерфейсы. В пределах области, заданной P, каждый член эникастной (anycast) группы должен быть объявлен, как отдельный вход в маршрутной системе; вне области, заданной P, эникастный адрес может быть занесен в маршрутную запись для префикса p.
Слайд 18

Одним ожидаемым приложением эникастных адресов является идентификация набора маршрутизаторов, принадлежащих Интернет

Одним ожидаемым приложением эникастных адресов является идентификация набора маршрутизаторов, принадлежащих Интернет

сервис провайдеру.
Такие адреса в маршрутном заголовке IPv6 могут использоваться в качестве промежуточных, чтобы обеспечить доставку пакета через определенного провайдера или последовательность провайдеров.
Другим возможным приложением может стать идентификация набора маршрутизаторов, связанных с определенной субсетью, или набора маршрутизаторов, обеспечивающих доступ в определенный домен.
Имеются следующие ограничения при использовании эникастных IPv6 адресов:
Эникастный адрес не может использоваться в качестве адреса отправителя в ipv6 пакете.
Эникастный адрес не может быть приписан ЭВМ IPv6, таким образом, он может принадлежать только маршрутизатору.

Эникаст-адреса

Слайд 19

Эникаст-адрес маршрутизатора субсети предопределен и имеет формат, отображенный на рис. Префикс

Эникаст-адрес маршрутизатора субсети предопределен и имеет формат, отображенный на рис.

Префикс

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

Необходимые эникаст-адреса

Слайд 20

Мультикастинг-адрес IPv6 является идентификатором для группы узлов. Узел может принадлежать к

Мультикастинг-адрес IPv6 является идентификатором для группы узлов. Узел может принадлежать к

любому числу мультикастинг групп. Мультикастинг-адреса имеют следующий формат:

11111111 в начале адреса идентифицирует адрес, как мультикатинг-адрес.

Старшие 3 флага зарезервированы и должны быть обнулены.
t = 0 указывает на то, что адрес является стандартным ("well-known") мультикастным, официально выделенным для глобального использования в Интернет.
T = 1 указывает, что данный мультикастинг-адрес присвоен временно ("transient").

Мульткаст-адреса

Слайд 21

Поле scope представляет собой 4-битовый код мультикастинга, предназначенный для определения предельной

Поле scope представляет собой 4-битовый код мультикастинга, предназначенный для определения предельной

области действия мультикастинг-группы. Допустимые значения:
0 зарезервировано 1 Область действия ограничена локальным узлом 2 Область действия ограничена локальным каналом 3 (не определено) 4 (не определено) 5 Область действия ограничена локальной сетью 6 (не определено) 7 (не определено) 8 Область действия ограничена локальной организацией 9 (не определено) A (не определено) B (не определено) C (не определено) D (не определено) E глобальные пределы (global scope) F зарезервировано

Мульткаст-адреса

Слайд 22

Идентификатор группы идентифицирует мультикастинг-группы, постоянной или переходной (transient), в пределах заданных

Идентификатор группы идентифицирует мультикастинг-группы, постоянной или переходной (transient), в пределах заданных

ограничений (scope).
Значение постоянно присвоенного мультикастинг-адреса не зависит от значения поля scope. Например, если "NTP servers group" присвоен постоянный мультикастинг адрес с идентификатором группы 43 (hex), тогда:
FF01:0:0:0:0:0:0:43 означает, что все ntp серверы одного и того же узла рассматриваются как отправители. FF02:0:0:0:0:0:0:43 означает, что все NTP серверы работают с тем же каналом, что и отправитель. FF05:0:0:0:0:0:0:43 означает, что все NTP серверы принадлежат той же сети, что и отправитель. FF0E:0:0:0:0:0:0:43 означает, что все NTP серверы находятся в Интернет.
Мультикастинг адреса не должны использоваться в качестве адреса отправителя в IPv6 дейтограммах или встречаться в любых заголовках маршрутизации.

Мульткаст-адреса

Слайд 23

Предопределенные мультикаст-адреса Приведенные ниже мультикаст-адреса являются зарезервированными (предопределенными): FF00:0:0:0:0:0:0:0 FF01:0:0:0:0:0:0:0 FF02:0:0:0:0:0:0:0

Предопределенные мультикаст-адреса
Приведенные ниже мультикаст-адреса являются зарезервированными (предопределенными):
FF00:0:0:0:0:0:0:0 FF01:0:0:0:0:0:0:0 FF02:0:0:0:0:0:0:0 FF03:0:0:0:0:0:0:0 FF04:0:0:0:0:0:0:0 FF05:0:0:0:0:0:0:0 FF06:0:0:0:0:0:0:0 FF07:0:0:0:0:0:0:0 FF08:0:0:0:0:0:0:0 FF09:0:0:0:0:0:0:0 FF0A:0:0:0:0:0:0:0 FF0B:0:0:0:0:0:0:0 FF0C:0:0:0:0:0:0:0 FF0D:0:0:0:0:0:0:0 FF0E:0:0:0:0:0:0:0 FF0F:0:0:0:0:0:0:0
Перечисленные выше мультикаст-адреса зарезервированы и

не будут присваиваться каким-либо мультикаст-группам.
Слайд 24

Адреса для обращения ко всем узлам: FF01:0:0:0:0:0:0:1 FF02:0:0:0:0:0:0:1 Приведенные выше адреса

Адреса для обращения ко всем узлам:
FF01:0:0:0:0:0:0:1 FF02:0:0:0:0:0:0:1
Приведенные выше адреса идентифицируют группу, включающую

в себя все IPv6 узлы в пределах группы 1 (локальные узлы) или 2 (локально связанные узлы).
Адреса всех маршрутизаторов:
FF01:0:0:0:0:0:0:2 FF02:0:0:0:0:0:0:2
Приведенные выше мультикаст-адреса идентифицируют группу всех IPv6 маршрутизаторов в пределах области 1 (локальные узлы) или 2 (связанные локально узлы).

Предопределенные мультикаст-адреса

Слайд 25

Необходимые адреса узлов ЭВМ должна распознавать следующие адреса, как обращенные к

Необходимые адреса узлов
ЭВМ должна распознавать следующие адреса, как обращенные к нему:


Её локальный адрес канала для каждого из интерфейсов
Выделенные уникаст-адреса
Адрес обратной связи
Мультикастинг-адрес для обращения ко всем узлам
Мультикастинг-адрес активного узла (solicited-node multicast address) для каждого из приписанных ей уникаст и эникастных адресов
Мультикаст-адреса всех групп, к которым принадлежит ЭВМ.
Маршрутизатор должен распознавать следующие адреса (as identifying itself):
Его локальный адрес канала для каждого из интерфейсов
Выделенные уникаст-адреса
Адрес обратной связи
Эникастные адреса маршрутизатора субсети для каналов, где он имеет интерфейсы.
Все другие эникастные адреса, которые использовались при маршрутизации.
Мультикастинг-адрес для обращения ко всем узлам
Мультикастинг-адрес для обращения ко всем маршрутизаторам
Мультикаст-адрес активного узла (solicited-node multicast address) для каждого приписанного ему уникаст и эникастного адресов.
Мультикастные адреса всех прочих групп, принадлежащих маршрутизатору.
Слайд 26

Приложение должно предопределить только следующие адресные префиксы: Не специфицированный адрес Адрес

Приложение должно предопределить только следующие адресные префиксы:
Не специфицированный адрес
Адрес

обратной связи
Мультикаст-префикс (FF)
Локально используемые префиксы (link-local и site-local)
Предопределенные мультикаст-адреса
Префиксы, совместимые с IPv4
Приложения должны считать все остальные адреса уникастными, если противоположное не оговорено при конфигурации (например, эникастные адреса).
Слайд 27

В IPv6, опционная информация уровня Интернет записывается в отдельных заголовках, которые

В IPv6, опционная информация уровня Интернет записывается в отдельных заголовках, которые

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

заголовки расширения должны обрабатываться строго в порядке их выкладки в пакете.

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

Слайд 28

Каждый заголовок расширения имеет длину кратную 8 октетам. Многооктетные поля в

Каждый заголовок расширения имеет длину кратную 8 октетам.
Многооктетные поля в

заголовке расширения выравниваются в соответствии с их естественными границами, т.е., поля с шириной в n октетов помещаются в n октетов, начиная с начала заголовка, для n = 1, 2, 4 или 8.
IPv6 включает в себя следующие заголовки расширения:
Опции hop-by-hop
Маршрутизация (routing;тип 0)
Фрагмент Опции места назначения
Проверка прав доступа (authentication)
Поле безопасных вложений (encapsulating security payload)
Последние два описаны в RFC-1826 и RFC-1827.

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

Слайд 29

Порядок заголовков расширения Когда используется более одного заголовков расширения в одном

Порядок заголовков расширения
Когда используется более одного заголовков расширения в одном пакете,

рекомендуется помещать их в следующем порядке:
IPv6 заголовок
Заголовок опций hop-by-hop
Заголовок опций места назначения (destination options header, (1) )
Заголовок маршрутизации
Заголовок фрагмента
Заголовок authentication (2)
Заголовок безопасных вложений (encapsulating security payload, (2) )
Заголовок опций места назначения (destination options header (3) )
Заголовок верхнего уровня.
Слайд 30

Два из определенных в настоящее время заголовков расширения - заголовок опций

Два из определенных в настоящее время заголовков расширения - заголовок опций

hop-by-hop и заголовок опций места назначения - несут в себе переменное число TLV-кодированных (type-length-value) опций следующего формата

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

Опции

Слайд 31

Третий старший бит типа опции определяет, может ли информация в поле

Третий старший бит типа опции определяет, может ли информация в поле

опция измениться по пути до места назначения пакета. Когда в пакете присутствует заголовок аутентификации, для любой опции, информация которой может измениться по пути, должна рассматриваться как нулевые октеты при определении значения идентификации. Значения этого бита:
0 - Данные опции не меняют маршрута 1 - Информация опции может изменить маршрут.

Опции

Слайд 32

Отдельные опции могут требовать определенного выравнивания, с тем, чтобы обеспечить выкладку

Отдельные опции могут требовать определенного выравнивания, с тем, чтобы обеспечить выкладку

мультиоктетного значения данных поля опции. Требование выравнивания опции описывается с помощью выражения xn+y, означающего, что поле тип опции должно находиться через целое число, кратное x октетам плюс y октетов (отсчет от начала заголовка). Например:

Опции

Слайд 33

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

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

и вывести границу заголовка на значение кратное 8 октетам. Эти заполняющие опции должны распознаваться всеми приложениями IPv6:
Опция Pad1 (выравнивание не требуется)
Опция Pad1 используется для введения одного октета заполнителя в зону опций заголовка. Если требуется более одного октета, используется опция Padn.
Опция padn (выравнивание не требуется)

Опция Padn используется для введения двух и более октетов заполнителей в поле опций заголовка. Для n октетов заполнителя поле OPT data Len содержит значение n-2, а поле данных опции состоит из n-2 нулевых октетов

Опции

Слайд 34

Опции заголовка Hop-by-Hop (шаг за шагом) Заголовок опций hop-by-hop (шаг за

Опции заголовка Hop-by-Hop (шаг за шагом)
Заголовок опций hop-by-hop (шаг за шагом)

используется для опционной информации, которая просматривается каждым узлом по пути доставки. Заголовок опций hop-by-hop идентифицируется кодом поля следующий заголовок 0 в IPv6 заголовке и имеет формат рис.
Слайд 35

В дополнение к Pad1 и Padn опциям определены следующие опции hop-by-hop:

В дополнение к Pad1 и Padn опциям определены следующие опции hop-by-hop:

Опция

Jumbo payload используется для посылки пакетов IPv6 с полем данных, превосходящим 65535 октетов. Длина Jumbo Payload характеризует длину пакета в октетах, исключая заголовок IPv6, но включая заголовок опций hop-by-hop; Это поле должно содержать код более чем 65535. Если получен пакет с опцией Jumbo payload, содержащей код длины меньше или равный 65535, посылается сообщение ICMP (parameter problem, код 0) с указателем на старший октет поля длины Jumbo payload.
Слайд 36

Поле длины Payload length IPv6 заголовка должно быть равно нулю для

Поле длины Payload length IPv6 заголовка должно быть равно нулю для

каждого пакета с опцией Jumbo payload.
Если получен пакет с корректным значением опции Jumbo Payload и ненулевым кодом длины поля данных, посылается сообщение ICMP (parameter problem код 0) с указателем на поле тип опции.
Опция Jumbo payload не может использоваться в пакетах, которые несут в себе заголовок фрагмента. Если заголовок фрагмента встретится в пакете, содержащем корректную опцию jumbo payload, посылается сообщение ICMP (parameter problem, код 0) с указателем на первый октет заголовка фрагмента.
Приложения, которые не поддерживают опцию Jumbo Payload, не могут иметь интерфейсы для каналов с MTU больше 65575 (40 октетов IPv6 заголовка плюс 65535 октетов данных).
Слайд 37

Маршрутный заголовок Заголовок маршрутизации используется отправителем, чтобы заставить пакет посетить один

Маршрутный заголовок
Заголовок маршрутизации используется отправителем, чтобы заставить пакет посетить один или

более промежуточных узлов на пути к месту назначения.
Слайд 38

Если в процессе обработки входного пакета встретится заголовок маршрутизации с не

Если в процессе обработки входного пакета встретится заголовок маршрутизации с не

узнанным полем тип маршрутизации, то поведение узла зависит от содержимого поля число оставшихся сегментов пути.
Если число оставшихся сегментов пути равно нулю, узел должен проигнорировать заголовок маршрутизации и продолжить работу со следующим заголовком, чей тип указан в поле следующий заголовок заголовка маршрутизации.
Если число оставшихся сегментов пути не равно нулю, узел должен выбросить пакет и послать сообщение ICMP (parameter problem, код 0) с указателем на поле не узнанного типа маршрутизации. Заголовок маршрутизации типа 0 имеет следующий формат
Слайд 39

Мультикастинг-адреса не должны встречаться в заголовке маршрутизации типа 0, или в

Мультикастинг-адреса не должны встречаться в заголовке маршрутизации типа 0, или в

поле места назначения IPv6 пакета, несущего в себе заголовок маршрутизации типа 0.
Если бит 0 поля Strict/loose bit map имеет значение 1, поле адреса места назначения IPv6 заголовка в исходном пакете должно идентифицировать соседа. Если бит 0 имеет значение 0, отправитель может использовать любой легальный не мультикастинговый адрес в качестве адреса места назначения.
Биты с номерами более n, где n - число адресов в заголовке маршрутизации, должны быть обнуляться отправителем и игнорироваться получателем.
Заголовок маршрутизации не рассматривается и не анализируется до тех пор, пока пакет не достигнет места назначения, указанного в поле IPv6 заголовка.
Слайд 40

Заголовок фрагмента Заголовок фрагмента используется отправителем IPv6 для посылки пакетов длиннее,

Заголовок фрагмента
Заголовок фрагмента используется отправителем IPv6 для посылки пакетов длиннее, чем

MTU пути до места назначения.
(Замечание: в отличие от IPv4, фрагментация в IPv6 выполняется только узлами-отправителями, а не маршрутизаторами вдоль пути доставки).
Заголовок фрагментации идентифицируется кодом поля следующий заголовок, равным 44 и имеет следующий формат
Слайд 41

Для того чтобы послать пакет с длиной больше MTU пути, узел-отправитель

Для того чтобы послать пакет с длиной больше MTU пути, узел-отправитель

может разделить пакет на фрагменты и послать каждый фрагмент в виде отдельного пакета, сборка исходного пакета будет проведена получателем.
Слайд 42

Для каждого пакета, который должен быть фрагментирован, узел-отправитель генерирует код идентификации.

Для каждого пакета, который должен быть фрагментирован, узел-отправитель генерирует код идентификации.


Этот код должен отличаться от аналогичных кодов идентификации, используемых для других фрагментируемых пакетов, которые пересылаются в данный момент.
Под "данным моментом" подразумевается период времени жизни пакета, включая время распространения кадра от источника до получателя и время, необходимое для сборки исходного (оригинального) пакета получателем.
Однако не предполагается, чтобы отправитель знал максимальное время жизни пакета. Скорее предполагается, что данное требование будет удовлетворено с помощью простого 32-разрядного счетчика, инкрементируемого всякий раз, когда очередной пакет должен быть фрагментирован.
Схема реализации генератора кода идентификации оставляется на усмотрение приложения. Если присутствует заголовок маршрутизации, под адресом получателя подразумевается конечное место назначения.
Слайд 43

Под исходным большим, не фрагментированным пакетом подразумевается “оригинальный” пакет. Предполагается, что

Под исходным большим, не фрагментированным пакетом подразумевается “оригинальный” пакет. Предполагается, что

он состоит из двух частей, как показано на рисунке. Исходный пакет:

Не фрагментированная часть состоит из IPv6 заголовка плюс любых заголовков расширения, которые должны быть обработаны узлами по пути до места назначения. Таким образом, нефрагментированная часть включает в себя все заголовки вплоть до заголовка маршрутизации, если таковой присутствует, или до заголовка опций hop-by-hop, если он присутствует.

Слайд 44

Фрагментируемая часть представляет собой остальную часть пакета, т.е. включает в себя

Фрагментируемая часть представляет собой остальную часть пакета, т.е. включает в себя

заголовки расширений, которые должны быть обработаны в узле места назначения, заголовок верхнего уровня и данные.
Фрагментируемая часть оригинального пакета делится на фрагменты с длиной кратной 8 октетам. Фрагменты пересылаются независимо с помощью пакетов-фрагментов. Как показано на рис.
Исходный пакет:
Слайд 45

Каждый пакет-фрагмент состоит из: (1) Не фрагментируемой части оригинального пакета, с

Каждый пакет-фрагмент состоит из:
(1) Не фрагментируемой части оригинального пакета, с длиной

поля данных оригинального IPv6 заголовка, измененной для того чтобы соответствовать длине фрагмента пакета (исключая длину самого IPv6-заголовка), а код поля следующий заголовок последнего заголовка не фрагментируемой части меняется на 44.
(2) Заголовка фрагмента, включающего в себя:
Код поля следующий заголовок, идентифицирующий первый заголовок фрагментируемой части оригинального пакета.
Смещение фрагмента, выражаемое в 8-октетных блоках и отсчитываемое от начала фрагментируемой части оригинального пакета. Смещение первого фрагмента (самого левого) равно нулю.
Код M-флага равен нулю, если фрагмент является последним (самым правым), в противном случае флаг равен 1.
(3) Сам фрагмент.

Длина фрагментов должна выбираться такой, чтобы пакеты-фрагменты соответствовали значению MTU для маршрута к месту назначения (назначений). В узле места назначения из пакетов-фрагментов восстанавливается оригинальный пакет в не фрагментированной форме.

Слайд 46

Заголовок опций места назначения Заголовок опции места назначения используется для передачи

Заголовок опций места назначения
Заголовок опции места назначения используется для передачи опционной

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

Следующий заголовок - 8-битовый селектор. Идентифицирует тип заголовка, который непосредственно следует за заголовком опций места назначения. Использует те же коды протокола, что и IPv4 [RFC-1700].
Hdr Ext Len - 8-битовое целое без знака. Длина заголовка опций места назначения в 8-октетных блоках, исключая первые 8 октетов.
Опции - поле переменной длины, кратное 8 октетам. Содержит одну или более TLV-закодированных опций.

Слайд 47

Отсутствие следующего заголовка Код 59 в поле следующий заголовок IPv6 заголовка

Отсутствие следующего заголовка
Код 59 в поле следующий заголовок IPv6 заголовка

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

О размере пакетов Протокол IPv6 требует, чтобы каждый канал в Интернет

О размере пакетов
Протокол IPv6 требует, чтобы каждый канал в Интернет имел

MTU = 576 октетов или более.
Для каждого канала, который не способен обеспечить длину пакетов в 576 октетов должна быть обеспечена фрагментация/дефрагментация на уровне ниже IPv6.

Настоятельно рекомендуется, чтобы узлы IPv6 использовали механизм определения MTU пути [RFC-1191] для использования преимущества большого значения MTU. Однако в минимальной конфигурации IPv6 (например, в BOOT ROM) может ограничивать себя в пределах 576 октетов и не использовать path MTU discovery.

Слайд 49

Узел должен быть способен принимать фрагментированные пакеты, которые после сборки имеют

Узел должен быть способен принимать фрагментированные пакеты, которые после сборки имеют

размер 1500 октетов, включая IPv6 заголовок.
Узлу позволено принимать пакеты, которые после сборки имеют размер более 1500 октетов.
Однако узел не должен посылать фрагменты, которые после сборки образуют пакеты длиннее 1500 октетов, если он не уверен, что получатель способен их воспринять и дефрагментировать.

Замечание: Анализ MTU пути должно проводиться даже в случае, когда узел “думает”, что адресат находится на том же канале что и сам узел.
Замечание: В отличие от IPv4, в IPv6 не нужно устанавливать флаг "don't fragment" (не фрагментировать) в заголовках пакетов, для того чтобы выполнить операцию определения величины mtu канала; так как это является атрибутом любого IPv6 пакета по умолчанию. Части процедур из RFC-1191, которые включают в себя использование таблиц MTU, не применимы к IPv6, так как версия сообщения IPv6 "datagram too big" всегда указывает на точное значение MTU, которое следует использовать.

Слайд 50

Метки потоков 24-битовое поле метки потока в заголовке IPv6 может использоваться

Метки потоков
24-битовое поле метки потока в заголовке IPv6 может использоваться отправителем

для выделения пакетов, для которых требуется специальная обработка в маршрутизаторе, такая например, как нестандартная QoS или "real-time " сервис. Этот аспект IPv6 является пока экспериментальным и может быть изменен позднее. Для ЭВМ или маршрутизаторов, которые не поддерживают функцию пометки потоков, это поле должно быть обнулено при формировании пакета, сохраняться без изменения при переадресации и игнорироваться при получении.
Поток это последовательность пакетов, посылаемых отправителем определенному адресату, при этом предполагается, что все пакеты данного потока должны быть подвергнуты определенной обработке. Характер этой специальной обработки может быть передан маршрутизатору посредством протокола управления или внутри самих пакетов, например, в опции hop-by-hop.
Допускается несколько потоков между отправителем и получателем, а также обмен, не ассоциированный ни с одним из потоков. Поток однозначно описывается комбинацией адреса отправителя и ненулевой меткой потока. Пакеты, не принадлежащие ни одному из потоков, имеют метку равную нулю.
Слайд 51

Приоритет 4-битовое поле приоритета в IPv6 заголовке позволяет отправителю идентифицировать относительный

Приоритет
4-битовое поле приоритета в IPv6 заголовке позволяет отправителю идентифицировать относительный приоритет

доставки пакетов. Значения приоритетов делятся на два диапазона.
Коды от 0 до 7 используются для задания приоритета трафика, для которого отправитель осуществляет контроль перегрузки (например, снижает поток TCP в ответ на сигнал перегрузки).
Значения с 8 до 15 используются для определения приоритета трафика, для которого не производится снижения потока в ответ на сигнал перегрузки, например, в случае пакетов “реального времени”, посылаемых с постоянной частотой.
Слайд 52

Значения кодов приоритета Предполагается, что чем больше код, тем выше приоритет

Значения кодов приоритета

Предполагается, что чем больше код, тем выше приоритет

данных, тем быстрее они должны быть доставлены.
Слайд 53

Любой транспортный или другой протокол верхнего уровня, который включает адреса IP-заголовка

Любой транспортный или другой протокол верхнего уровня, который включает адреса IP-заголовка

в свою контрольную сумму, должен быть модифицирован, чтобы работать с 128-битовыми IPv6адресами вместо 32-битовых IPv4. В частности, ниже показаны псевдо-заголовки для TCP и UDP в IPv6

О протоколе верхнего уровня
Контрольные суммы верхнего уровня

Слайд 54

Если пакет содержит заголовок маршрутизации, в качестве адреса места назначения в

Если пакет содержит заголовок маршрутизации, в качестве адреса места назначения в

псевдо-заголовке используется оконечный адрес. В исходном узле этот адрес будет последним элементом заголовка маршрутизации; для узла получателя он будет находиться в поле адрес места назначения IPv6 заголовка.
Код поля следующий заголовок в псевдо-заголовке идентифицирует протокол верхнего уровня (например, 6 для TCPили 17 для UDP). Он будет отличаться от кода поля следующий заголовок в IPv6 заголовке, если имеются заголовки расширения между заголовком IPv6 и заголовком протокола верхнего уровня.
В качестве кода длины поля данных в псевдо-заголовке используется длина пакета протокола верхнего уровня, включая заголовок верхнего уровня. Он будет меньше длины поля данных в заголовке (или в опции Jumbo Payload), если имеются заголовки расширения между IPv6 заголовком и заголовком верхнего уровня.
Слайд 55

В отличие от IPv4, при формировании udp пакетов в IPv6 узле,

В отличие от IPv4, при формировании udp пакетов в IPv6 узле,

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

Максимальное время жизни пакета В отличие от IPv4, узлы IPv6 не

Максимальное время жизни пакета
В отличие от IPv4, узлы IPv6 не требуют

установки максимального времени жизни пакетов.
По этой причине поле IPv4 "time to live" (TTL) переименовано в "hop limit" (предельное число шагов) для IPv6.
На практике очень немногие IPv4 приложения, используют ограничения по TTL, так что фактически это не принципиальное изменение.
Слайд 57

Максимальный размер поля данных для протоколов высокого уровня При вычислении максимального

Максимальный размер поля данных для протоколов высокого уровня
При вычислении максимального размера

поля данных, доступного для протокола верхнего уровня, должен приниматься во внимание большой размер заголовка IPv6 относительно IPv4.
Например, в IPv4, MSS опция TCP вычисляется как максимальный размер пакета (значение по умолчанию или величина полученная из MTU) минус 40 октетов (20 октетов для минимальной длины IPv4 заголовка и 20 октетов для минимальной длины TCP заголовка).
При использовании TCP поверх IPv6, MSS должно быть вычислено как максимальная длина пакета минус 60 октетов, так как минимальная длина заголовка IPv6 (т.e., IPv6 заголовок без заголовков расширения) на 20 октетов больше, чем для IPv4.
Слайд 58

Протокол управляющих сообщений (ICMPv6) для спецификации IPv6 (RFC-1885) Протокол IPv6 является

Протокол управляющих сообщений (ICMPv6) для спецификации IPv6 (RFC-1885)
Протокол IPv6 является новой

версией IP. IPv6использует протокол управляющих сообщений (ICMP) так, как это определено для IPv4 [RFC-792], но с некоторым количеством изменений. Протокол подключения к группам (IGMP), специфицированный для IPv4 [RFC-1112] был также пересмотрен и включен в протокол ICMP для IPv6. Результирующий протокол называется ICMPv6, и имеет код следующего заголовка 58.
Слайд 59

ICMPv6 (ICMP для IPv6) ICMPv6 используется узлами IPv6 для сообщений об

ICMPv6 (ICMP для IPv6)
ICMPv6 используется узлами IPv6 для сообщений об

ошибках при обработке пакетов, и для выполнения других функций уровня Интернет, таких как диагностика (ICMPv6 "ping") и сообщение об участии в мультикастинг группах. Протокол ICMPv6 является интегрированной частью IPv6 и должен реализовываться каждым узлом, поддерживающим IPv6.
Слайд 60

Общий формат сообщений Сообщения ICMPv6 образуют два класса: сообщения об ошибках

Общий формат сообщений
Сообщения ICMPv6 образуют два класса: сообщения об ошибках и

информационные сообщения. Сообщения об ошибках идентифицируются по нулю в старшем бите поля тип. Таким образом, сообщения об ошибках могут иметь код поля тип от 0 до 127; информационные сообщения имеют коды поля тип от 128 до 255.
В данном документе определены форматы для следующих сообщений ICMPv6:
Сообщения об ошибках ICMPv6:
1 destination unreachable (место назначения недоступно) 2 packet too big (пакет слишком велик) 3 time exceeded (время превышено) 4 parameter problem (проблема с параметрами)
Слайд 61

Информационные сообщения ICMPv6: 128 echo request (Запрос эхо) 129 echo reply

Информационные сообщения ICMPv6:
128 echo request (Запрос эхо) 129 echo reply (Эхо-отклик) 130 group

membership query (запрос участия в группе) 131 group membership report (отчет об участии в группе) 132 group membership reduction (сокращение числа участников в группе)
Слайд 62

Каждое сообщение ICMPv6 начинается с заголовка IPv6, за которым следует нуль

Каждое сообщение ICMPv6 начинается с заголовка IPv6, за которым следует нуль

или более заголовков расширения IPv6. Заголовок ICMPv6 идентифицируется кодом следующего заголовка 58 в предыдущем заголовке.
(Заметим: этот код отличается от значения, принятого для ICMP IPv4.)
Сообщения ICMPv6 имеют следующий общий формат (рис. 4.4.1.1.33):
Рис. 4.4.1.1.33. Общий формат сообщений ICMPv6
Поле тип указывает на тип сообщения. Его значение определяет формат последующих данных.
Поле код зависит от типа сообщения. Оно используется для создания дополнительного уровня структуризации сообщения. Поле контрольная сумма используется для обнаружения повреждений сообщения ICMPv6 и заголовка IPv6.
Слайд 63

Узел отправитель сообщения ICMPv6 должен определить IPv6-адреса отправителя и получателя до

Узел отправитель сообщения ICMPv6 должен определить IPv6-адреса отправителя и получателя до

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

Контрольная сумма является 16-битным дополнением по модулю 1 суммы всего сообщения

Контрольная сумма
является 16-битным дополнением по модулю 1 суммы всего сообщения

ICMPv6, начиная с поля тип сообщения ICMPv6, дополненного полями псевдозаголовка IPv6.
Код поля следующий заголовок для псевдозаголовка выбирается равным 58.
(Заметим: включение псевдозаголовка в контрольную сумму ICMPv6 является изменением по отношению к протоколу IPv4; обоснование причин этого см. в [IPv6]).
Перед вычислением контрольной суммы поле контрольная сумма обнуляется.
Слайд 65

Приложения должны следовать следующим правилам при обработке сообщений ICMPv6 (из [RFC-1122]):

Приложения должны следовать следующим правилам при обработке сообщений ICMPv6 (из [RFC-1122]):
Если

получено сообщение о неизвестной ошибке ICMPv6, оно должно быть передано верхнему уровню.
Если получено информационное сообщение ICMPv6 неизвестного типа, оно должно быть выброшено.
Каждое ICMPv6 сообщение об ошибке (тип < 128) включает в себя целиком или частично IPv6 пакет, вызвавший ошибку, при условии, что сообщение об ошибке превысит 576 октетов.
В тех случаях, когда протокол интернет-уровня нуждается в передаче сообщения об ошибке ICMPv6 вышерасположенному уровню, тип протокола верхнего уровня извлекается из исходного пакета (содержащегося в теле сообщения об ошибке ICMPv6) и используется для выбора соответствующего протокола верхнего уровня при последующей обработке сообщения об ошибке.
Если исходный пакет имеет необычно большое число заголовков расширения, возможно, что тип протокола верхнего уровня может отсутствовать в сообщении ICMPv6, из-за укорочения исходного пакета до уровня 576 октетов. В этом случае сообщение об ошибке отбрасывается после обработки уровня IPv6.
Слайд 66

Сообщение об ошибке ICMPv6 не должно посылаться в качестве результата получения:

Сообщение об ошибке ICMPv6 не должно посылаться в качестве результата получения:
(e.1)

сообщения об ошибке ICMPv6, или
(e.2) пакета, направленного по IPv6 мультикаст-адресу (существует два исключения из этого правила: (1) сообщения packet too big - пакет слишком велик) - чтобы позволить скорректировать MTU прохода, и (2) сообщения parameter problem (проблема с параметрами), Код 2, оповещающий о нераспознанной опции), или
(e.3) мультикастинг-пакета канального уровня, (исключения пункта e.2 применимы и здесь), или
(e.4) широковещательного пакета канального уровня, (исключения пункта e.2 применимы и здесь), или
(e.5) пакета, чей адрес отправителя не однозначно определяет какой-то узел, например, не специфицированный адрес IPv6, мультикаст-адрес IPv6 или эникаст-адрес.
Слайд 67

(f) Наконец, узел IPv6 должен ограничить частоту посылки сообщений об ошибке,

(f) Наконец, узел IPv6 должен ограничить частоту посылки сообщений об ошибке,

если адресат на них не реагирует. Это ограничит загрузку канала.
Существует много способов ограничения частоты посылки сообщений, например:
(f.1) Таймерный метод. Передача сообщений производится не чаще, чем раз за указанное число T миллисекунд.
(f.2) Метод полосы пропускания. Сообщения об ошибке должны занимать не более определенной доли F полосы пропускания канала.
Ограничивающие параметры (например, T или F в вышеприведенных примерах) должны задаваться узлом со значениями по умолчанию (напр., T = 1 сек, и F = 2%, не 100%!).
Слайд 68

Заключение IPv6 представляет собой новую версию протокола Интернет (RFC-1883), являющуюся преемницей

Заключение
IPv6 представляет собой новую версию протокола Интернет (RFC-1883), являющуюся преемницей версии

4 (IPv4; RFC-791). Изменения IPv6 по отношению к IPv4 можно поделить на следующие группы:
Расширение адресации
В IPv6 длина адреса расширена до 128 бит (против 32 в IPv4), что позволяет обеспечить больше уровней иерархии адресации, увеличить число адресуемых узлов, упростить авто-конфигурацию. Для расширения возможности мультикастинг-маршрутизации в адресное поле введено субполе "scope" (группа адресов). Определен новый тип адреса "anycast address" (эникастный), который используется для посылки запросов клиента любой группе серверов. Эникаст адресация предназначена для использования с набором взаимодействующих серверов, чьи адреса не известны клиенту заранее.
Слайд 69

Спецификация формата заголовков Некоторые поля заголовка IPv4 отбрасываются или делаются опционными,

Спецификация формата заголовков
Некоторые поля заголовка IPv4 отбрасываются или делаются опционными, уменьшая

издержки, связанные с обработкой заголовков пакетов с тем, чтобы уменьшить влияние расширения длины адресов в IPv6.
Улучшенная поддержка расширений и опций
Изменение кодирования опций IP-заголовков позволяет облегчить переадресацию пакетов, ослабляет ограничения на длину опций, и делает более доступным введение дополнительных опций в будущем.
Возможность пометки потоков данных
Введена возможность помечать пакеты, принадлежащие определенным транспортным потокам, для которых отправитель запросил определенную процедуру обработки, например, нестандартный тип TOS (вид услуг) или обработка данных в реальном масштабе времени.
Идентификация и защита частных обменов
В IPv6 введена спецификация идентификации сетевых объектов или субъектов, для обеспечения целостности данных и при желании защиты частной информации.
Формат и семантика адресов IPv6 описаны в документе RFC-1884. Версия ICMP IPv6 рассмотрена в RFC-1885.
Слайд 70

Сообщения об ошибках ICMPv6 Рис. 4.4.1.1.34. Формат сообщения о недостижимости адресата

Сообщения об ошибках ICMPv6
Рис. 4.4.1.1.34. Формат сообщения о недостижимости адресата
Поля IPv6:
Адрес

места назначения копируется из поля адрес отправителя пакета, вызвавшего ошибку.
Поля ICMPv6:
Тип = 1 Код = 0 - нет маршрута до места назначения 1 - связь с адресатом административно запрещена 2 - не сосед 3 - адрес не достижим 4 - порт не достижим
Не используется. Это поле не используется при всех значениях поля код. Оно должно быть обнулено отправителем и игнорироваться получателем.
Слайд 71

Описание Сообщение адресат не достижим (destination unreachable) должно генерироваться маршрутизатором, или

Описание
Сообщение адресат не достижим (destination unreachable) должно генерироваться маршрутизатором, или

уровнем IPv6 узла-отправителя, в случае, когда пакет не может быть доставлен адресату не по причине перегрузки. (Сообщение ICMPv6 не должно посылаться при потере пакета из-за перегрузки).
Если причиной потери пакета является недостаток места в маршрутной таблице узла, поле код должно принять значение 0 (Заметим, что такая ошибка может произойти только при наличии в таблице маршрута по умолчанию).
Если причиной потери пакета является административный запрет, например, Firewall, поле код принимает значение 1.
Если причиной потери пакета является то, что следующий узел в маршрутной таблице не является соседом данного узла, то поле код принимает значение 2.
Если имеет место какая-то другая причина недоставки пакета, в поле код заносится значение 3.
Узел места назначения может посылать сообщение “адресат не достижим” с кодом 4, когда транспортный протокол пакета (напр., UDP) не имеет получателя, а другого метода, уведомить об этом отправителя нет.
Узел, получивший сообщение ICMPv6 “адресат не достижим” должен уведомить об этом протокол вышележащего уровня.
Слайд 72

Рис. 4.4.1.1.35. Сообщение packet too big (пакет слишком велик) Поля IPv6:


Рис. 4.4.1.1.35. Сообщение packet too big (пакет слишком велик)
Поля IPv6:
Адрес места

назначения копируется из поля адрес отправителя пакета, вызвавшего ошибку.
Поля ICMPv6:
Тип 2 Код 0 mtu mtu следующего шага.
Описание
Сообщение packet too big (пакет слишком велик) должно посылаться маршрутизатором в ответ на получение пакета, который не может быть переадресован, из-за того, что он длиннее, чем MTU выходного канала. Информация в этом сообщении используется в качестве части процесса определения MTU прохода [RFC-1191].
Пришедшее сообщение packet too big должно быть передано протоколу верхнего уровня.
Слайд 73

Формат сообщения о превышении времени аналогичен формату сообщения о недостижимости адресата

Формат сообщения о превышении времени аналогичен формату сообщения о недостижимости адресата

(рис. 4.4.1.1.33).
Поля ICMPv6:
Тип 3 Код 0 - при передаче превышен лимит числа шагов 1 - превышено время восстановления сообщения из фрагментов.
Не используется. Это поле не используется при всех значениях поля код. Оно должно быть обнулено отправителем и игнорироваться получателем.
Описание
Если маршрутизатор получает пакет с предельным значением числа шагов равным нулю (hop limit = 0), или маршрутизатор после декрементации получил нулевое значение поля hop limit, он должен выбросить такой пакет и послать отправителю пакета сообщение ICMPv6 о превышении времени (time exceeded) со значением поля код равным 0. Это указывает на зацикливание маршрута или на слишком малое значение поля hop limit.
Посылая сообщение ICMPv6 о превышении времени (time exceeded) со значением поля код равным нулю, маршрутизатор должен рассматривать входной интерфейс, в соответствии с правилом выбора адреса отправителя (d).
Пришедшее сообщение time exceeded должно быть передано протоколу верхнего уровня.
Слайд 74

Рис. 4.4.1.1.36. Сообщение о конфликте параметров Поля ICMPv6: Тип 4 Код


Рис. 4.4.1.1.36. Сообщение о конфликте параметров
Поля ICMPv6:
Тип 4 Код 0 - встретилась

ошибка в поле заголовка 1 - встретился неопознанный код поля следующий заголовок 2 - встретилась неопознанная опция IPv6 Указатель. Идентифицирует смещение в октетах в пакете, вызвавшем ошибку.
Указатель отмечает позицию в пакете, если размер пакета ICMPv6 не позволяет поместить его в отклик полностью, а ошибочное поле в сообщение не поместилось.
Описание
Если узел IPv6, обрабатывающий пакет, обнаруживает какую-то проблему с одним из полей заголовка или заголовков расширения, такую, что дальнейшая обработка невозможна, он должен выбросить пакет и послать сообщение ICMPv6 parameter problem (проблема с параметрами) отправителю пакета с указанием типа и позиции ошибки.
Поле указатель идентифицирует октет заголовка исходного пакета, где обнаружена ошибка. Например, сообщение ICMPv6 с полем тип = 4, полем код = 1 и полем указатель = 40 указывает на то, что заголовок расширения IPv6, следующий за заголовком IPv6 исходного пакета содержит нераспознанный код следующего заголовка.
Слайд 75

Информационные сообщения ICMPv6 Рис. 4.4.1.1.37. Сообщение запрос эхо Поля IPv6: Адрес

Информационные сообщения ICMPv6
Рис. 4.4.1.1.37. Сообщение запрос эхо
Поля IPv6:
Адрес места назначения -

любой легальный IPv6-адрес
Поля ICMPv6:
Тип 128 Код 0 Идентификатор. Идентификатор, который помогает друг с другом связать запрос эхо и эхо-отклик. Может равняться нулю.
Номер по порядку Номер по порядку имеет целью связать друг с другом запрос эхо и эхо-отклик. Может равняться нулю.
Информация. Нуль или более октетов произвольных данных.
Описание
Каждый узел должен реализовать функцию эхо-отклика ICMPv6 при получении запроса эхо. Узлу следует также предоставить пользовательский интерфейс для посылки запросов эхо и получения эхо-откликов для целей диагностики.
Слайд 76

Формат сообщения эхо-отклик идентичен формату запроса эхо (рис. 20.5). Поля IPv6:

Формат сообщения эхо-отклик идентичен формату запроса эхо (рис. 20.5).
Поля IPv6:
Адрес места

назначения копируется из поля адрес отправителя пакета запрос эхо.
Поля ICMPv6:
Тип 129 Код 0 Идентификатор. Идентификатор из исходного запроса эхо (echo request). Номер по порядку. Номер по порядку из исходного запроса эхо. Информация. Данные из исходного запроса эхо.
Описание
Каждый узел должен иметь встроенную функцию отклика ICMPv6, которая получает запросы эхо и посылает соответствующие эхо-отклики. Узел должен также реализовать интерфейс прикладного уровня для посылки запросов эхо и получения эхо-откликов для диагностических целей.
Адрес отправителя эхо-отклика, посылаемого в ответ на уникастный запрос эхо должен быть тем же самым, что и адрес места назначения в запросе эхо.
Эхо-отклик должен быть послан в ответ на запрос эхо, посланный по мультикастному адресу. Адрес отправителя в отклике должен быть уникастным адресом, принадлежащим интерфейсу, через который был получен мультикастный запрос эхо.
Информация, полученная в ICMPv6 сообщении запроса эхо, должна быть полостью возвращена без модификации в ICMPv6 эхо-отклике, если эхо-отклик не превысит MTU обратного прохода, в противном случае пакет укорачивается.
Оповещение верхнего уровня
Сообщения эхо-отклик должны передаваться пользовательскому интерфейсу ICMPv6, если соответствующий запрос эхо исходит не из IP-уровня.
Слайд 77

Сообщение о членстве в группе имеет следующий формат: Рис. 4.4.1.1.38. Сообщения

Сообщение о членстве в группе имеет следующий формат:
Рис. 4.4.1.1.38. Сообщения участия

в группе
Поля IPv6: Адрес места назначения
В сообщении-запросе о членстве в группе запрашивается мультикаст-адрес группы.
В отчете о членстве в группе или в сообщении о сокращении членства в группе сообщается мультикаст-адрес группы.
Поле Hop Limit = 1 (предельное число шагов)
Поля ICMPv6:
Тип 130 - Запрос членства в группе 131 - Отчет о членстве в группе 132 - Сокращение членства в группе Код 0
Слайд 78

Максимальное время отклика В сообщениях запросах - это максимальное время в

Максимальное время отклика
В сообщениях запросах - это максимальное время в миллисекундах,

на которое может задержаться сообщение-отчет. В сообщениях-отчетах и сообщениях о сокращении в это поле отправитель записывает нуль, а получатель его игнорирует.
Не используется. Отправитель записывает нуль, получатель игнорирует.
Мультикаст-адрес
Адрес мультикаст-группы, сообщение о которой послано. В сообщениях-запросах поле мультикаст-адреса может равняться нулю, что означает запрос ко всем группам.
Описание
Сообщения ICMPv6 о членстве в группе используются для передачи информации о членстве в мультикаст-группе от узлов к их ближайшим маршрутизаторам. Подробности их использования можно найти в [RFC-1112].