Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Веб программирование.Начало.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
7 Мб
Скачать
☆
    1. Формат пакета iPv6

Пакет состоит из данных и управляющей информации, необходимой для доставки пакета адресату. Управляющая информация содержится в основном фиксированном заголовке или в одном из необязательных дополнительных заголовков (рис. 1.6). Полезные данные – это дейтаграмма или фрагмент протокола более высокого транспортного уровня. IPv6-пакеты передаются с помощью протоколов канального уровня, таких как Ethernet, который инкапсулирует каждый пакет в кадр.

      1. Формат заголовка пакета iPv6

Протокол IPv6 решает потенциальную проблему нехватки IP- адресов посредством использования 128- разрядных адресов вместо 32- разрядных адресов IPv4, благодаря чему адресное пространство расширяется в 296 раз. Формат заголовка приведен на рис.1.

Рис. 1.6. Формат заголовка

На рис.1.6 представлены:

Версия – 4-битный код версия Интернет-протокола для IPv6 = 6).

Приор.– 8-битный код приоритета.

Метка потока – 24-битный код метки потока (для мультимедиа).

Размер поля данных – 16-битовое число представляет код длины поля данных в октетах, которое следует сразу после заголовка пакета.

Следующий заголовок – 8-битовый разделитель. Идентифицирует тип заголовка, который следует непосредственно за IPv6 заголовком. Использует те же значения, что и протокол IPv4.

Предельное число шагов – 8-битовое целое число. Уменьшается на 1 в каждом узле, через который проходит пакет. При предельном числе шагов, равном нулю, пакет удаляется.

Адрес отправителя – 128-битовый адрес отправителя пакета.

Адрес получателя – 128-битовый адрес получателя пакета

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

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

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

      1. Маршрутный заголовок

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

Заголовок фрагмента. В отличие от IPv4, фрагментация в IPv6 выполняется только узлами-отправителями, а не маршрутизаторами вдоль пути доставки. Заголовок фрагмента используется отправителем IPv6. Заголовок фрагментации идентифицируется кодом поля, равным 44.

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

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

Приоритет. 4-битовое поле приоритета в IPv6-заголовке позволяет отправителю идентифицировать приоритет доставки пакетов 0..15. Предполагается, что чем больше код, тем выше приоритет данных. Практически уровни приоритета, выше или равные 8, зарезервированы для передачи данных в реальном масштабе времени.

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

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

IPv6 версия ICMP-пакетов включает псевдо-заголовок в вычисление контрольной суммы, в отличие от IPv4-версии ICMP, которая не включает псевдо-заголовок в контрольную сумму. Причина изменения связана с попыткой защитить ICMP от некорректной доставки или искажений важных полей в IPv6-заголовке, который в отличие от IPv4 не защищен контрольным суммированием на интернет-уровне. Поле Следующий заголовок в псевдо-заголовке для ICMP содержит код 58, который идентифицирует IPv6-версию ICMP.

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

Максимальный размер поля данных. При вычислении максимального размера поля данных, доступного для протокола верхнего уровня, необходимо принимать во внимание большой размер заголовка IPv6 относительно IPv4. При использовании TCP поверх IPv6, MSS должно быть вычислено как максимальная длина пакета минус 60 октетов, поскольку минимальная длина заголовка IPv6 равна 40 и на 20 октетов больше, чем для IPv4.

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