Компанией Google была представлена новая разработка – на этот раз речь идет о новом сетевом протоколе QUIC, который в феврале текущего года стал поддерживаться браузером Chromium. QUIC является надстройкой для протокола UDP, которая обеспечивает поддержку мультиплексирования в нескольких соединениях и методы шифрования равные TLS/SSL.
Протокол создавался для того, чтобы решать задачи по уменьшению времени, в течение которого устанавливается соединение и минимизируются задержки при передаче, которые никак не решаются при использовании протокола SPDY, так как используется ТСР имеющий весьма медленные методы по установке и согласованию соединения. Как считают специалисты Google, в течение развития мобильных сетей немалую важность приобретает не только возможность быстро передавать информацию, но и устанавливать соединения при обеспечении минимальных задержек между тем, как отправляется запрос и получается ответ. Параллельно компанией ведется продвижение решений ориентированных на то, чтобы устранить проблемы ТСР, тем не менее, изменения внедряются в первичный протокол уже многие годы, а при помощи использования надстроек UDP мы получаем возможность сразу же работать с результатами без необходимости модифицировать сетевой стек операционных систем.
Протокол все еще находится на стадии разработки, Google ведутся активные эксперименты с методами, которые используются в QUIC и теперь компания приглашает к подключению к реализации подобных экспериментов каждого желающего. Для того, чтобы протестировать текущий вариант протокола реализовали уже клиент и сервер, а кроме того интернет-гигантом началось тестирование QUIC в реальных проектах при интеграции поддержки данного протокола в тестовую сборку Chrome Сanary, а также в некоторых web-сервисах.
Среди главных особенностей протокола стоит отметить:
- Он обеспечивает высокую степень безопасности, аналогичной к TLS.
- Соединение устанавливается практически в один момент.
- Потоки абсолютно целостны, в результате чего абсолютно исключается потеря пакетов.
- Используются средства ориентированные на коррекцию ошибок, что существенно снижает количество задержек из-за того, что передача потерянных пакетов производится повторно. При использовании специальных кодов чтобы корректировать ошибки на уровне пакетов, чтобы сократить ситуации, которые требуют повторно передавать данные потерянных пакетов.