Кратко

  • RFC 9893 — документ IETF со статусом Standards Track. Он определяет два сообщения DLEP и пять повторно используемых Data Items для управления потоком с помощью кредитных окон.
  • Кредиты выдаёт модем; маршрутизатор сообщает своё представление о состоянии окна и может запрашивать кредиты. Передача запрещена без совпавшего классификатора, при нехватке кредитов или если пакет вместе с канальными накладными расходами MAC превышает связанное окно.
  • У каждого отправителя может находиться только одно сообщение Credit Control Message без ответа. Кредиты измеряются в октетах и включают накладные расходы канального уровня, а не являются обозначением полезной нагрузки.

Входом в цикл управления служит структура классификации RFC 9892. TID связывает классификацию с назначением, а FID обозначает кредитное окно. Эти значения значимы только в области модема, который их выдал: их нельзя считать глобальными идентификаторами. Перекрывающиеся TID недействительны. Поэтому идентификатор другого модема нельзя перенести в текущий контекст как будто он имеет общий смысл.

После определения пары TID/FID маршрутизатор должен списывать полное число октетов пакета, включая накладные расходы канального уровня, связанные с MAC. Если подходящего классификатора нет и классификатор wildcard также отсутствует, пакет необходимо отбросить. Это следствие протокола, а не доказательство конкретной эксплуатационной политики. RFC 8175 задаёт основу сеанса DLEP, обмен управляющей информацией, связанной с каналом, и семантику ошибок Data Item.

Модем выполняет инициализацию и выдаёт кредиты. Маршрутизатор сообщает состояние окна со своей точки зрения и может направлять запросы, но источник предоставленных кредитов — модем. У каждого отправителя может быть только одно сообщение Credit Control Message, ожидающее ответа. Поэтому второй запрос до ответа на первый нельзя использовать для предположения о дополнительном кредите, а запоздалый ответ следует принимать только после проверки его связи с соответствующим запросом.

Если максимальный размер окна уменьшается, модему следует продолжать обработку уже находящихся в полёте подходящих пакетов. Для затронутого окна ему следует удерживать новые кредиты, пока заполнение не опустится ниже нового максимума. Это поведение уровня SHOULD в RFC 9893, а не требование MUST отменять пакеты или немедленно выдавать новое полное окно. При достижении максимума выдача насыщается на этой границе; это не доказывает ни измеренную радиопропускную способность, ни улучшение производительности.

Следует сохранять границы утверждений. Ни один источник не устанавливает распространённость решения в эксплуатационных системах, измеренный прирост производительности или универсальное соответствие логических окон физическим очередям. Ни один источник не устанавливает междоменное доверие к DSCP, VLAN или другим меткам классификации. Периодичность выдачи кредитов, устройство очереди, пороги возврата и телеметрия остаются выбором оператора.

Анализ Theo March

По анализу Theo March, полезно связывать в журнале аудита классификатор, выдачу кредита, списание, ответ и время события, чтобы порядок можно было восстановить. Обнаружение устаревших выдач, монотонный порядок событий, телеметрия и заранее проверенный возврат также могут быть разумными операционными мерами. Это анализ, а не требования RFC. Доверие к маркировкам, пересекающим границы доменов, — вопрос управления и риска, а не гарантия данных документов. RFC 9893 не предписывает интервалы выдачи, вид телеметрии или пороги возврата.

Проверочные сценарии

Создайте TID и FID на одном модеме, отправьте совпадающий пакет и проверьте списание полного числа октетов. Затем проверьте пакет, превышающий остаток на один октет, два запроса до первого ответа, уменьшение максимума при наличии пакетов в полёте и отсутствие новой выдачи до снижения заполнения ниже нового предела. После удаления wildcard проверьте отбрасывание пакета без совпадения. Эти проверки подтверждают границы протокола, но не измеряют производительность и не доказывают универсальную политику очередей.

Источники