Разработчики проекта Chromium заявили о том, что в ночных сборках браузера по умолчанию включён новый экспериментальный сетевой протокол - QUIC, являющийся сокращением от Quick UDP Internet Connection (быстрое Интернет-соединение через UDP). Протокол поддерживает набор уплотнённых соединений через UDP, обеспечивая при этом безопасность на уровне SSL/TLS.
Увеличить рисунок
Работа над QUIC является вторым крупным экспериментом компании с сетевыми протоколами после Google SPDY, который в конце концов был выбран для стандартизации в рамках HTTP 2.0. Новый-же протокол является относительно свежим решением, которое в корне отличается от традиционных соединений на основе TCP. "Корпорация Добра" объясняет, что несмотря на рост пропускной способности сетей, RTT, или же пинг, нисколько не уменьшается, и в ближайшее время проблема времени пинга останется актуальным для мобильных сетей на ближайшие несколько лет, поэтому была начата работа над QUIC.
QUIC будет использовать оценку пропускной способности для предотвращения перегрузок, после чего будет задан темп передачи пакетов для уменьшения вероятности потери пакетов. Протокол использует встроенные в пакеты коды коррекции, которые избавят от потребности инициировать повторную передачу пакетов. Заложенные в пакеты криптографические блоки содержат необходимые инструменты, предусматривающие вероятность потери пакета при передаче. Протокол SPDY тоже поддерживает уплотнённые соединения, но он не может разрешить ключевой дефект TCP - необходимость пинга, который во время одного соединения может выполнен несколько раз. Использование QUIC позволит свести необходимость в RTT к нулю.
На вопрос, почему-же в Google решили использовать UDP вместо TCP, инженеры ответили, что протокол TCP заложен в ядре многих систем, и недоступен для значительной модификации, поэтому он останется в своём неизменном состоянии не менее 10 лет. Использование UDP открывает простор для новых экспериментов. Тем не менее, в Google сообщили, что они были бы рады работать над другими вариантами, но внутренние исследования показали, что абсолютное большинство сетевого оборудования попросту блокирует, либо не понимает протоколы, отличные от TCP/UDP и их производных. Кроме того, дабы не дать оборудованию "улучшать" пакеты QUIC (которые попросту будут испорчены), Google пришлось прибегнуть к шифрованию всего протокола. Отказ от улучшения стандартов SCTP и DTLS был объяснён инженерами компании тем, что они не были спроектированы для уменьшения задержек, а многие приёмы, использованные QUIC, попросту противоречат спецификации.
Компания пока не готова сообщить о конкретных результатах тестирования, так как лабораторное тестирование не имеет отношения к реальной жизни, но начиная с Chromium 30 протокол QUIC включён по умолчанию, и в ближайшее время будет включен в Google Chrome Canary. Небольшой процент установок Chromium Nightly и Chrome Canary будет переключен на соединение с некоторыми серверами Google по QUIC. В случае, если не будут обнаружены дефекты протокола, а также будет доказана его эффективность, QUIC будет внедрён в основную ветку Chrome не ранее 2014 года. Спецификация протокола приведена здесь (на английском языке).