Кратко
- RFC 791 определяет Total Length как длину всей IPv4-дейтаграммы, включая заголовок и данные.
- RFC 894 прямо исключает из IP-пакета заполнение Ethernet, добавляемое для достижения 46 октетов.
Короткая дейтаграмма показывает, почему внутренняя граница не должна зависеть от внешней оболочки. Поле данных Ethernet должно содержать не менее 46 октетов. Если IPv4-пакет короче, после него добавляются нулевые октеты. Поэтому кадр может содержать больше байтов, чем принадлежит IPv4.
IPv4 переносит границу в собственном заголовке. Total Length — 16-битное поле, считающее заголовок и данные вместе. Кадр обеспечивает перенос, а дейтаграмма сообщает собственный конец.
IHL и полный размер
IHL задаёт длину заголовка в 32-битных словах; минимальное значение пять, то есть 20 октетов. Total Length задаёт полный размер в октетах. Длину данных можно получить вычитанием длины заголовка, вычисленной по IHL, из Total Length. Опции могут увеличить заголовок, но не меняют назначение Total Length.
Поле не включает Ethernet-адреса, служебные поля, преамбулу, контроль кадра или заполнение. Оно определяет, какие октеты переданной IPv4 нагрузке принадлежат данной дейтаграмме.
Предел представления не равен гарантии доставки
Поле может представить до 65 535 октетов. RFC 791 считает настолько большие дейтаграммы непрактичными для большинства узлов и сетей. Узлы должны принимать дейтаграммы до 576 октетов, целиком или фрагментами, а большие следует отправлять только при уверенности в возможностях получателя. Для IP-дейтаграммы в поле данных Ethernet RFC 894 указывает максимум 1 500 октетов. Значит, предел поля не является MTU маршрута и не гарантирует приём.
Правило при фрагментации
Каждый фрагмент получает собственный заголовок и собственное значение Total Length, включающее заголовок и данные этого фрагмента. Identification, Fragment Offset и More Fragments выполняют другие функции. Total Length ограничивает текущий фрагмент, а не сообщение приложения и не обязательно исходную дейтаграмму целиком.
Заявленная длина может быть ошибочной, а захват — усечённым. Поэтому нужно сопоставлять Total Length, IHL, доступные октеты, возможное заполнение и происхождение захвата. Это правило интерпретации, а не доказательство целостности или доставки.
Источники
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров
