Кратко

  • RFC 9710 исправляет абстрактный тип forwardingStatus в реестре IPFIX IANA с unsigned8 на unsigned32, но текущая версия всё равно экспортируется одним октетом через reduced-size encoding.
  • Фактическую длину поля объявляет действующий IPFIX Template. Один октет в Data Record не отменяет абстрактный максимум в четыре.
  • Исправление реестра не обновляет развёрнутый коллектор, не переписывает исторический Flow и не доказывает реальную пересылку либо отбрасывание пакета.

Две ширины без противоречия

Information Element 89 содержит состояние пересылки Flow и причину. В нынешней структуре занят младший байт: два бита различают Unknown, Forwarded, Dropped и Consumed, ещё шесть задают причину. RFC 7270 определила unsigned32, тогда как старая строка IANA указывала unsigned8. RFC 9710 приводит реестр к unsigned32 и отдельно велит применять текущую однобайтовую форму.

Абстрактный тип задаёт предельное пространство и оставляет старшие биты будущим версиям. Field Length в Template сообщает длину, использованную Exporting Process в последующих Data Records. RFC 7011 разрешает сокращать беззнаковое целое, если удаляются только ведущие нули. Поэтому четыре байта модели и один байт передачи описывают совместимое состояние.

Жёстко однобайтовый декодер может работать сейчас, но пропустить будущее расширение. Декодер, который всегда забирает четыре байта из-за строки реестра, сместит поля корректной текущей записи. Значение возникает только вместе с Information Element ID, Template ID, Observation Domain и Transport Session.

RFC 9710 прямо связывает реестр с эксплуатацией: автоматическое извлечение, например cron-задачей, нужно коллекторам для новых элементов и значений. Значит, надо фиксировать URL, время, хэш, версию генератора, сборку и запущенный экземпляр. Иначе заявление «схема актуальна» нельзя воспроизвести.

Dropped — утверждение конкретного наблюдателя

0x40 означает Forwarded без дополнительной информации, 0x89 — Dropped из-за bad TTL. Подтверждённая Errata 5262 исправила прежнее объяснение второго значения. Точность выросла, но область доказательства осталась прежней.

Значение создаёт Exporting Process для Flow в своей Observation Point. Оно не является квитанцией адресата, историей каждого пакета, наблюдением всего пути, единственной причиной или решением по SLA. Для действия могут понадобиться исходные Template и Data Set, конфигурация экспортёра, счётчики, независимый захват, данные ниже по пути и правило полномочий.

Сегодняшняя строка также не исправляет архив задним числом. Байты не меняются; безопасная повторная обработка требует прежнего Template и версии декодера. Type records из RFC 5610 ограничены сессией, не вправе заменять внутреннее определение коллектора и не отменяют обновление по IANA.

Источники