-2

Я знаю, что в IPV4 есть поле IHL, которое является длиной Интернет-заголовка.Поскольку заголовок IPv4 может содержать переменное количество параметров, в этом поле указывается размер заголовка. Но в IPV6 нет МГП или чего-то подобного.Так как же узнать точный размер длины заголовка? (Мы знаем, что могут быть расширения.Мне нужно знать размер заголовка IPv6, включая расширения заголовка, но без данных верхнего уровня.)

2 ответа2

3

На самом деле вам не нужно проверять это, потому что IPV6 имеет фиксированную длину заголовка:

Заголовок пакета IPv6 имеет фиксированный размер (40 октетов). Опции реализованы как дополнительные заголовки расширений после заголовка IPv6, который ограничивает их размер только размером всего пакета. Механизм расширения заголовка делает протокол расширяемым в том смысле, что он позволяет добавлять будущие сервисы по качеству обслуживания, безопасности, мобильности и т.д. Без изменения базового протокола.

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

Это был выбор IPV6 для повышения производительности (по сравнению с IPV4), вам не нужно проверять размер параметра внутри заголовка, имеющего фиксированное число байтов, для проверки каждого пакета.

3

Насколько я знаю, просто не существует простого способа сделать это.

В основном вам нужно проверить поле заголовка Next , определить, является ли следующий заголовок расширением, добавить длину этого расширения к вашему итогу и повторять до тех пор, пока у вас не закончатся расширения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .