Кратко
- Одна UDP-дейтаграмма может переносить несколько полных QUIC-пакетов, включая Initial, Handshake и данные приложения.
- Каждый пакет сохраняет собственную защиту, пространство номеров пакетов, обработку, ACK и состояние потери.
- Данные наблюдения нужно хранить на уровне пакетов и отдельно связывать с подтверждением со стороны приложения.
В захвате трафика Initial, Handshake и 1-RTT могут оказаться внутри одной UDP-дейтаграммы. Это показывает способ упаковки на линии, но не превращает пакеты в одно неделимое событие доставки. Для QUIC полный пакет является самостоятельной обрабатываемой единицей, а UDP — оболочкой для одного или нескольких таких объектов.
Коалесценция служит эффективности передачи. Она может сократить число UDP-дейтаграмм, необходимых для завершения криптографического рукопожатия и начала передачи данных. Получатель должен уметь найти и обработать каждый включённый пакет. В пакетах Initial, 0-RTT и Handshake есть поле Length, по которому определяются границы. У пакета с коротким заголовком поля Length нет, поэтому он может быть только последним. Retry и Version Negotiation не объединяются с другим пакетом; пакеты с разными connection ID также нельзя объединять.
Общая оболочка не объединяет смысл протокола. Каждый объединённый пакет обрабатывается отдельно и подтверждается отдельно, как если бы он пришёл в другой UDP-дейтаграмме. Если один пакет нельзя расшифровать, его можно отбросить или сохранить в буфере, но попытка обработать остальные всё равно обязательна. Панель, которая записывает такую дейтаграмму как одно событие рукопожатия, уничтожает важное различие.
Initial, Handshake и данные приложения используют разные пространства номеров пакетов. ACK указывает пакеты в том пространстве, к которому относится. Соседство внутри дейтаграммы не создаёт общей последовательности или общего домена подтверждений. Потеря тоже не образует единый объект повторной передачи. QUIC повторно отправляет информацию из фреймов в новых пакетах; исходный номер пакета не переиспользуется.
Нельзя путать несколько фреймов внутри одного пакета с несколькими полными пакетами внутри одной UDP-дейтаграммы. Потеря одного QUIC-пакета может заблокировать потоки, чьи данные находились в нём, тогда как другие потоки продолжат работу. Причина — совместное размещение фреймов в одном пакете, а не нахождение разных пакетов в одной UDP-дейтаграмме.
Для UDP-дейтаграмм с Initial действует специальное правило 1200 байт. Минимум достигается заполнением или коалесценцией; сервер отбрасывает Initial в меньшей дейтаграмме. Это ограничение размера конкретного случая, а не общее правило о совместной доставке всех пакетов в оболочке. Раздел безопасности RFC 9000 указывает, что, помимо правила заполнения для Initial, изменение группировки пакетов в UDP-дейтаграммы не влияет функционально на соединение, хотя производительность может измениться.
Журнал должен сохранять идентификатор дейтаграммы и точку наблюдения, исходный и целевой адреса с портами, общий размер, упорядоченные смещения и длины содержащихся пакетов, connection ID, типы пакетов, уровни шифрования, пространства номеров пакетов и декодированные номера пакетов, если они доступны. В него также следует включать результат расшифровки и обработки каждого пакета, состав фреймов, связь ACK и диапазонов ACK, объявления потерь, соответствие повторно отправленной информации, идентификаторы потоков, их смещения и длины, соблюдение требования 1200 байт для Initial, роль PMTU-пробы и подтверждение получения со стороны приложения.
Наблюдение оболочки доказывает только, что с конкретной точки наблюдения было зафиксировано одно событие сетевой передачи; оно не доказывает совместную расшифровку, обработку или подтверждение, восстановление информации, поступление байтов в пространство пользователя, завершение сообщения, запись на диск или окончание бизнес-действия.
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров

