The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Компания Cloudflare открыла код реализации протокола QUIC на..."
Отправлено opennews, 30-Янв-19 22:08 
Компания Cloudflare открыла исходные тексты проекта Quiche (https://docs.quic.tech/quiche/), в рамках которого подготовлена реализация протокола QUIC, написанная на языке Rust и соответствующая 17 черновому варианту спецификации, находящейся в процессе стандартизации (https://www.opennet.ru/opennews/art.shtml?num=49594) в IETF. Код открыт (https://github.com/cloudflare/quiche) под лицензий BSD. Примечательно, что реализация QUIC от компании Google также развивается под именем QUICHE (https://quiche.googlesource.com/quiche/).

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


Кроме того, проектом Quinn (https://github.com/djc/quinn) отдельно развивается ещё одна реализация QUIC на языке Rust. Код поставляется под лицензией Apache 2.0. По функциональности Quinn также нацелен на повторение 17 черновика спецификации, но пока по возможностям отстаёт от реализации Cloudflare. Например, пока не поддерживается 0-RTT и передача HTTP поверх QUIC (HTTP/3). Слой шифрования реализован при помощи rust-библиотек rustls (https://github.com/ctz/rustls) и ring (https://github.com/briansmith/ring). Подготовлены экспериментальные варианты сервера и клиента для QUIC.

Напомним, что протокол QUIC (https://www.chromium.org/quic/) (Quick UDP Internet Connections) c 2013 года развивается компанией Google в качестве альтернативы связке TCP+TLS для Web, решающей проблемы с большим временем установки и согласования соединений в TCP и устраняющей задержки при потере пакетов в процессе передачи данных. QUIC представляет собой надстройку над протоколом UDP, поддерживающую мультиплексирование нескольких соединений и обеспечивающую методы шифрования, эквивалентные TLS/SSL. Рассматриваемый протокол уже интегрирован в серверную инфраструктуру Google, входит в состав Chrome, запланирован (https://www.opennet.ru/opennews/art.shtml?num=48312) для включения в Firefox и активно применяется для обслуживания запросов клиентов на серверах Google.

Основные особенности (https://docs.google.com/document/d/1lmL9EF6qKrk7gbazY8bIdvq3...) QUIC:


-  Высокая безопасность, аналогичная TLS (по сути QUIC предоставляет возможность использования TLS поверх UDP);

-  Контроль за целостностью потока, предотвращающий потерю пакетов;


-  Возможность мгновенно установить соединение (0-RTT, примерно в 75% случаях данные можно передавать сразу после отправки пакета установки соединения) и обеспечить минимальные задержки между отправкой запроса и получением ответа (RTT, Round Trip Time);


-  Не использование при повторной передаче пакета того же номера последовательности, что позволяет избежать двусмысленности при определении полученных пакетов и избавиться от таймаутов;

-  Потеря пакета влияет на доставку только связанного с ним потока и  не останавливает доставку данных в параллельно передаваемых через текущее соединение потоках;


-  Средства коррекции ошибок, минимизирующие задержки из-за повторной передачи потерянных пакетов. Использование специальных кодов коррекции ошибок на уровне пакета для сокращения ситуаций, требующих повторной передачи данных потерянного пакета.

-  Криптографические границы блоков выравнены с границами пакетов QUIC, что уменьшает влияние потерь пакетов на декодирование содержимого следующих пакетов;


-  Отсутствие проблем с блокировкой очереди TCP;


-  Поддержка идентификатора соединения, позволяющего сократить время на установку повторного соединения для мобильных клиентов;

-  Возможность подключения расширенных механизмов контроля перегрузки соединения;

-  Использование техники прогнозирования пропускной способности в каждом направлении для обеспечения оптимальной интенсивности отправки пакетов, предотвращая скатывание в состояние перегрузки, при которой наблюдается потеря пакетов;


-   Заметный прирост (http://web.cs.wpi.edu/~claypool/ms/quic/quic-thesis.pdf) производительности и пропускной способности, по сравнению с TCP. Для видеосервисов, таких как YouTube, применение QUIC показало сокращение операций повторной буферизации при просмотре видео на 30%.


URL: https://news.ycombinator.com/item?id=19016466
Новость: https://www.opennet.ru/opennews/art.shtml?num=50061

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру