Компания Google представила основанный на UDP экспериментальный протокол QUIC для ускорения Web

28 июня 2013 года

Компания Google представила новый сетевой протокол QUIC (Quick UDP Internet Connections), поддержка которого была в феврале без лишних пояснений интегрирована в репозитории Chromium. QUIC представляет собой надстройку над протоколом UDP, поддерживающую мультиплексирование нескольких соединений и обеспечивающую методы шифрования эквивалентные TLS/SSL.

Протокол создан для решения задач уменьшения времени установки соединения и минимизации задержек в процессе передачи, которые не удаётся решить в протоколе SPDY, вследствие использования TCP с его достаточно медленными методами установки и согласования соединений. По мнению Google, с развитием мобильных сетей важным становится не только высокая скорость передачи данных, но и возможность мгновенно установить соединение и обеспечить минимальные задержки между отправкой запроса и получением ответа (RTT, Round Trip Time). Параллельно Google продвигает решения для устранения проблем TCP, но процесс внесения изменений в реализацию первичного протокола растягивается на годы, а использование надстройки над UDP позволяет сразу получить результат, не требуя модификации сетевого стека операционной системы.

Работа над протоколом ещё не завершена, Google активно экспериментирует с используемыми в QUIC методами и теперь приглашает подключиться к подобным экспериментам всех желающих. Для тестирования текущего варианта QUIC подготовлена реализация клиента и сервера. Кроме того, Google начинает тестирование QUIC в условии реальных проектов, интегрировав поддержку данного протокола в тестовые сборки Chrome Сanary (для включения/выключения поддержки QUIC следует использовать настройку "Experimental QUIC protocol" в about:flags) и на некоторые из своих web-сервисов.

Среди особенностей протокола отмечается:

  • Высокая безопасность, аналогичная TLS (по сути QUIC предоставляет возможность использования TLS поверх UDP);
  • Почти мгновенная установка соединения (часто 0-RTT, т.е. данные можно передавать сразу после отправки пакета установки соединения), похожая на комбинацию TLS Snapstart и TCP Fast Open;
  • Контроль за целостностью потока, предотвращающий потерю пакетов;
  • Средства коррекции ошибок, минимизирующие задержки из-за повторной передачи потерянных пакетов. Использование специальных кодов коррекции ошибок на уровне пакета для сокращения ситуаций, требующих повторной передачи данных потерянного пакета. Криптографические границы блоков выравнены с границами пакетов QUIC, что уменьшает влияние потерь пакетов на декодирование содержимого следующих пакетов;
  • Отсутствие проблем с блокировкой очереди TCP;
  • Потеря пакета влияет на доставку только связанного с ним потока и не останавливает доставку данных в параллельно передаваемых через текущее соединение потоках;
  • Поддержка идентификатора соединения, позволяющего сократить время на установку повторного соединения для мобильных клиентов;
  • Возможность подключения расширенных механизмов контроля перегрузки соединения;
  • Использование техники прогнозирования пропускной способности в каждом направлении для обеспечения оптимальной интенсивности отправки пакетов, предотвращая скатывание в состояние перегрузки, при которой наблюдается потеря пакетов.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Компания Google представила основанный на UDP экспериментальный протокол QUIC для ускорения Web», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.