Чудо IPv6 заключается в его заголовке. IPv6-адрес в 4 раза больше, чем IPv4, но, что удивительно, заголовок IPv6-адреса всего в 2 раза больше, чем у IPv4. Заголовки IPv6 имеют один фиксированный заголовок и ноль или более необязательных (дополнительных) заголовков. Вся необходимая информация, необходимая для маршрутизатора, хранится в фиксированном заголовке. Заголовок расширения содержит дополнительную информацию, которая помогает маршрутизаторам понять, как обрабатывать пакет / поток.
Фиксированный заголовок
Фиксированный заголовок IPv6 имеет длину 40 байт и содержит следующую информацию.
SN | Поле и описание |
---|---|
1 |
Версия (4 бита): представляет версию интернет-протокола, т.е. 0110. |
2 |
Класс трафика (8 бит): эти 8 бит разделены на две части. Наиболее значимые 6 битов используются для Типа обслуживания, чтобы маршрутизатор знал, какие услуги должны быть предоставлены этому пакету. Наименее значимые 2 бита используются для явного уведомления о перегрузке (ECN). |
3 |
Метка потока (20 битов): эта метка используется для поддержания последовательного потока пакетов, принадлежащих связи. Источник помечает последовательность, чтобы помочь маршрутизатору идентифицировать, что определенный пакет принадлежит определенному потоку информации. Это поле помогает избежать переупорядочения пакетов данных. Он предназначен для потоковой передачи / в режиме реального времени. |
4 |
Длина полезной нагрузки (16 бит): это поле используется для указания маршрутизаторам, сколько информации содержит конкретный пакет в его полезной нагрузке. Полезная нагрузка состоит из заголовков расширений и данных верхнего уровня. С 16 битами может быть указано до 65535 байтов; но если заголовки расширений содержат заголовок расширения переходов за переходом, то полезная нагрузка может превышать 65535 байт, и это поле устанавливается в 0. |
5 |
Следующий заголовок (8 бит): это поле используется для указания либо типа заголовка расширения, либо, если заголовок расширения отсутствует, то он указывает PDU верхнего уровня. Значения для типа PDU верхнего уровня такие же, как и для IPv4. |
6 |
Hop Limit (8-bit): это поле используется для бесконечной остановки цикла в сети. Это то же самое, что TTL в IPv4. Значение поля Hop Limit уменьшается на 1 при прохождении ссылки (router / hop). Когда поле достигает 0, пакет отбрасывается. |
7 |
Адрес источника (128 бит): в этом поле указывается адрес отправителя пакета. |
8 |
Адрес получателя (128 бит): в этом поле указывается адрес получателя пакета. |
Версия (4 бита): представляет версию интернет-протокола, т.е. 0110.
Класс трафика (8 бит): эти 8 бит разделены на две части. Наиболее значимые 6 битов используются для Типа обслуживания, чтобы маршрутизатор знал, какие услуги должны быть предоставлены этому пакету. Наименее значимые 2 бита используются для явного уведомления о перегрузке (ECN).
Метка потока (20 битов): эта метка используется для поддержания последовательного потока пакетов, принадлежащих связи. Источник помечает последовательность, чтобы помочь маршрутизатору идентифицировать, что определенный пакет принадлежит определенному потоку информации. Это поле помогает избежать переупорядочения пакетов данных. Он предназначен для потоковой передачи / в режиме реального времени.
Длина полезной нагрузки (16 бит): это поле используется для указания маршрутизаторам, сколько информации содержит конкретный пакет в его полезной нагрузке. Полезная нагрузка состоит из заголовков расширений и данных верхнего уровня. С 16 битами может быть указано до 65535 байтов; но если заголовки расширений содержат заголовок расширения переходов за переходом, то полезная нагрузка может превышать 65535 байт, и это поле устанавливается в 0.
Следующий заголовок (8 бит): это поле используется для указания либо типа заголовка расширения, либо, если заголовок расширения отсутствует, то он указывает PDU верхнего уровня. Значения для типа PDU верхнего уровня такие же, как и для IPv4.
Hop Limit (8-bit): это поле используется для бесконечной остановки цикла в сети. Это то же самое, что TTL в IPv4. Значение поля Hop Limit уменьшается на 1 при прохождении ссылки (router / hop). Когда поле достигает 0, пакет отбрасывается.
Адрес источника (128 бит): в этом поле указывается адрес отправителя пакета.
Адрес получателя (128 бит): в этом поле указывается адрес получателя пакета.
Заголовки расширений
В IPv6 фиксированный заголовок содержит только столько информации, которая необходима, избегая той информации, которая либо не требуется, либо используется редко. Вся такая информация помещается между фиксированным заголовком и заголовком верхнего уровня в форме заголовков расширения. Каждый заголовок расширения идентифицируется отдельным значением.
При использовании заголовков расширений поле «Следующий заголовок» фиксированного заголовка IPv6 указывает на первый заголовок расширения. Если есть еще один заголовок расширения, то поле ‘Next-Header’ первого заголовка расширения указывает на второй, и так далее. Поле ‘Next-Header’ последнего заголовка расширения указывает на заголовок верхнего уровня. Таким образом, все заголовки указывают на следующий в виде связанного списка.
Если поле «Следующий заголовок» содержит значение 59, это означает, что после этого заголовка нет заголовков, даже заголовка верхнего уровня.
Следующие заголовки расширения должны поддерживаться согласно RFC 2460:
Последовательность заголовков расширения должна быть:
Эти заголовки:
-
1. должны обрабатываться Первым и последующими пунктами назначения.
-
2. должны быть обработаны по окончательному назначению.
1. должны обрабатываться Первым и последующими пунктами назначения.
2. должны быть обработаны по окончательному назначению.
Заголовки расширений располагаются один за другим в виде связанного списка, как показано на следующей диаграмме: