Фирма «Cloudflare» открыла код реализации протокола QUIC на языке программирования Rust

AmneziaWG
A

Android

Original poster
0E9D8830-42EF-469A-BA86-16F9C704241C.png
Эта компания открыла исходные текстовки проекта «Quiche». В рамках этого проекта подготовлена реализация протокола QUIC, написанная на языке всем известном языке программирования и соответствующая 17 черновому варианту спецификации, проходящая процесс стандартизации в IETF. Код является открытым подлицензий BSD. Также интересно то, что реализация QUIC от Гугл также развивается под другим именем - QUICHE.

Реализация дает API того чтобы обрабатывать пакеты QUIC и управлять состоянием соединения. В нынешнем виде поддерживается согласование версий: «TLS 1.3» (на базе BoringSSL), «Stream API», управление потоком, оценка потерь пакетов, контроль перегрузок (congestion control), обновление ключей, однонаправленные потоки, «0-RTT», сброс состояния и миграция соединений. Плюс, дается обвязка для возможности использования кода Quiche для создания серверов и клиентов QUIC на языке Si.

Помимо упомянутого выше, проектом Куин отдельно развивается ещё и реализация QUIC на всем известном Rust. Код предоставляется под лицензией «Apache 2.0». В функциональности Куин нацелен и на повторение 17 черновика спецификации, но пока по возможностям он немного отстаёт от реализации «Cloudflare». Например, пока не поддерживается «0-RTT» и передача «HTTP»поверх QUIC (HTTP/3). Шифрование реализовано при помощи rust-библиотек. Уже подготовлены экспериментальные варианты сервера а также клиента для QUIC.

Напоминаем, что протокол Квик (Quick UDP InternetConnections) c 13ого года развивается Гугл в виде альтернативы TCP+TLS для Web, решающей проблему с долговременной установкой и согласования соединений в TCP и устраняющей потерю времени при потере пакетов в процессе передачи данных. QUIC является надстройкой над протоколом «UDP», поддерживающей мультиплексирование нескольких соединений и обеспечивающей разные методы шифрования, TLS/SSL. Протокол уже интегрирован в серверную инфраструктуру Гугл, входит в состав Chrome, запланирован для включения в «Firefox» и применяется для решения запросов клиентов на Гугл серверах.
 
Название темы

Название темы