Кратко
- QUIC выбирает меньшее из объявленных ненулевых значений, а затем применяет нижнюю границу в три текущих периода PTO.
- Таймер перезапускается только при точно заданных событиях приёма и отправки; повторная локальная передача не продлевает его бесконечно.
- Большое значение QUIC не резервирует отображение UDP, привязку к серверу, состояние приложения или срок действия бизнес-сеанса.
Обе стороны объявляют тридцать минут, и продуктовая панель сообщает, что молчащий сеанс проживёт полчаса. Через девяносто секунд после последнего обмена межсетевой экран удаляет отображение UDP. Следующий пакет клиента не достигает сервера, который всё ещё хранит состояние соединения. Параметр транспорта не был нарушен: он никогда не резервировал состояние этого пути.
Раздел 10.1 RFC 9000 определяет границу состояния протокола. Если хотя бы одна сторона объявляет ненулевой max_idle_timeout, эффективным становится меньшее из двух объявлений либо единственное ненулевое значение. Когда соединение остаётся бездействующим дольше применимого периода, конечная точка без отдельного уведомления закрывает его и удаляет состояние.
Решающим является слово «максимальный». Значение ограничивает допустимую тишину, а не предоставляет минимальный срок аренды работоспособного соединения. Объявившая его сторона обязуется начать немедленное закрытие, если сама откажется от соединения раньше эффективной границы. Но срок приложения, явное закрытие, stateless reset, истёкшие полномочия, потерянный маршрут или отказ посредника способны раньше лишить сеанс практической пользы.
Правила перезапуска точнее, чем счётчик последнего пакета. Конечная точка перезапускает таймер после получения и успешной обработки пакета от партнёра. Она также перезапускает его при отправке пакета, вызывающего подтверждение, но лишь если с момента последнего принятого и обработанного пакета партнёра ещё не отправляла другой такой пакет. Повторные локальные передачи без прогресса удалённой стороны не создают бесконечного продления. Панели с одним полем «последний отправленный пакет» недостаточно для воспроизведения решения о тайм-ауте.
Настроенное число не всегда совпадает с рабочей границей. RFC 9000 требует увеличить период бездействия как минимум до трёх текущих Probe Timeout, или PTO. Раздел 6.2 RFC 9002 отводит PTO другую роль: он запускает одну или две пробные дейтаграммы, когда ожидаемое подтверждение не пришло или проверка адреса не завершена. Само истечение PTO не объявляет ранее неподтверждённые пакеты потерянными.
Раздел 6.2.1 RFC 9002 рассчитывает PTO из сглаженного RTT, вариации RTT, гранулярности таймера и, где применимо, максимальной задержки подтверждения. При последовательных срабатываниях экспоненциальная задержка увеличивает длительность PTO. Поэтому нижняя граница в три PTO динамична. Если сохранить лишь согласованные миллисекунды, исчезнет состояние восстановления, способное объяснить фактическую границу завершения.
Проверка живости добавляет свидетельство, но не становится универсальным доказательством. Раздел 10.1.1 RFC 9000 предупреждает: пакет, отправленный около границы, может прийти после того, как партнёр уже удалил состояние. PING или другой кадр, вызывающий подтверждение, позволяет проверить отклик транспорта. Вернувшийся ACK доказывает этот обмен, но не здоровье приложения, действительность входа пользователя или безопасность возобновления транзакции.
Раздел 10.1.2 разрешает реализации предоставить приложению способ отложить завершение бездействия, например периодически отправляя PING. Это может сохранить состояние сторон во время ожидаемой паузы, но уместность должен определять прикладной протокол. Ненужные пробы расходуют пакеты, вычислительные и сетевые ресурсы и могут ухудшать производительность. Политика поддержания связи остаётся эксплуатационным решением и не превращает тайм-аут в гарантию доступности.
Тот же раздел прямо проводит границу пути: состояние промежуточного оборудования может истечь раньше согласованного таймера QUIC. NAT, межсетевой экран и балансировщик имеют собственные часы. Даже если обе конечные точки удерживают состояние, следующий пакет может столкнуться с удалённым отображением либо попасть на другой сервер. Настройка конечной точки не резервирует инфраструктуру, которую она не контролирует.
Раздел 18.2 RFC 9000 отключает этот механизм, когда обе стороны не передают параметр или задают ноль. Отключается только данный механизм бездействия QUIC, но не сроки приложения, истечение срока действия учётных данных, немедленное закрытие, сбой сети или очистка состояния посредника. Бесконечное терпение конечной точки не сохраняет внешнее отображение или запись авторизации.
Защищаемый эксплуатационный реестр должен объединять оба объявления и их минимум, текущий PTO и его входные значения, последний успешно обработанный пакет партнёра, последнюю локальную отправку, удовлетворяющую правилу перезапуска таймера, результаты PING и ACK, наблюдения пути, привязку к серверу, истечение сеанса приложения и окончательный механизм завершения. Один таймер доказывает только одну границу.
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров

