При разработке протокола IPv6 были внесены изменения в формат IP-пакета. Увеличение размера IPv6-адреса с 32 бит до 128 бит добавило 24 байта к заголовку пакета, что, в свою очередь, привело к попытке уменьшить его размер за счет исключения полей, связанных с фрагментацией, и поля контрольной суммы. В результате заголовок пакета IPv6 увеличился всего в два раза.
Пакет протокола IPv6 состоит из фиксированного заголовка и произвольного числа расширенных заголовков. Такой порядок способствует эффективной обработке пакетов на всем пути их следования. Фиксированный заголовок состоит из 40 байт и имеет формат, показанный на рисунке 6.19.
Рис. 6.19. Сравнение форматов заголовка IPv4 и IPv6
Заголовок IPv6-пакета состоит из следующих полей:
· Версия (Version) – для IPv6 значение поля должно быть равно 6;
· Класс трафика (Traffic Class) – поле приоритета пакета;
· Метка потока (Flow Label) – используется отправителем для обозначения последовательности пакетов, которые должны быть подвергнуты определенной обработке маршрутизаторами;
|
|
· Размер поля данных (Payload Length) – число, указывающее длину поля данных, идущего за заголовком пакета (с учетом расширенного заголовка);
· Следующий заголовок (Next Header) – задает тип расширенного заголовка IPv6, который следует за фиксированным;
· Предельное число шагов (Hop Limit) – уменьшается на 1 каждым маршрутизатором, через который передается пакет; при значении, равном 0, пакет отбрасывается;
· Адрес источника (Source Address) – 128-битный адрес отправителя пакета;
· Адрес назначения (Destination Address) – 128-битный адре получателя пакета. Сравнение заголовка пакета IPv4 с заголовком IPv6 показывает что:
поле Длина заголовка (Internet Header Length) исчезло, так как фиксированный заголовок IPv6 имеет определенную длину (40 байт);
· поле Тип сервиса (Type of Service) трансформировалось в заголовке IPv6 в поля Класс трафика (Traffic Class) и Метка потока (Flow Label);
· поля Время жизни (Time to Live) и Протокол (Protocol) в заголовке IPv6 изменили названия, соответственно, на Предельное число шагов (Hop Limit) и Следующий заголовок (Next Header) с некоторым уточнением трактовки;
· поле Контрольная сумма (Header Checksum) было ликвидировано, так как её подсчёт занимает некоторое время, что существенно снижает производительность узлов;
· поля в заголовке IPv4, связанные с фрагментацией были перенесены в расширенные заголовки IPv6;
· минимальный размер пакета, который должен передаваться в сетях IPv6 без фрагментации, увеличен с 576 до 1 280 байт.
Расширенные заголовки IPv6 используются для поддержки механизмов безопасности, фрагментации, сетевого управления и расположены между фиксированным заголовком и заголовком протокола более высокого уровня. Пакет IPv6 может содержать 0, 1 или несколько расширенных заголовков, каждый из которых идентифицируется значением поля Next Header предшествующего заголовка. Все существующие типы расширенных заголовков описаны в таблице 8.
|
|
Таблица 8 Типы расширенных заголовков IPv6
Расширенный заголовок | Тип | Описание |
Hop-by-Hop Options | Параметры, которые должны быть обработаны каждым транзитным узлом на пути от отправителя до получателя пакета | |
Routing | Позволяет отправителю определять список узлов, которые пакет должен пройти | |
Fragment | Содержит информацию о фрагментации пакета | |
Authentication Header (AH) | Содержит информацию для проверки подлинности зашифрованных данных при использовании IPSec | |
Encapsulating Security Payload (ESP) | Обеспечивает шифрование данных с помощью IPSec | |
Destination Options | Определяет произвольный набор опций, которые должны быть обработаны получателем пакета |
Поле Next Header используется для логической связи всех заголовков пакета IPv6, например, Next Header в фиксированном заголовке указывает тип первого расширенного заголовка, поле Next Header в первом расширенном заголовке содержит тип следующего расширенного заголовка и т.д. Поле Next Header последнего расширенного заголовка содержит номер протокола транспортного уровня (TCP или UDP) (рис. 6.20).
Рис. 6.20. Расширенные заголовки IPv6
Расширенные заголовки обрабатываются только узлом-получателем, за исключением заголовка Hop-By-Hop Options, который обрабатывается каждым промежуточным узлом на пути пакета, включая отправителя и получателя.