QUIC (Quick UDP Internet Connection) - это протокол транспортного уровня Интернета, разработанный Google, основанный на протоколе транспортного уровня UDP, обладающий надежностью и безопасностью TCP, TLS, HTTP / 2 и других протоколов, которые могут эффективно сократить количество соединений и передачи. Задержка для лучшего решения задач текущего транспортного уровня и прикладного уровня.
Происхождение QUIC: почему UDP не TCP?
Как UDP, так и TCP являются протоколами транспортного уровня. TCP ориентирован на установление соединения, и больше внимания уделяется надежности передачи. Данные, передаваемые через соединение TCP, не содержат ошибок, не теряются, не повторяются и поступают по порядку, но поскольку у TCP будет три рукопожатия для установления соединения перед передачей данных, Таким образом, эффективность низкая, а аппаратные ресурсы, такие как ЦП и память системы, высоки, а при использовании UDP без установления соединения (то есть нет необходимости устанавливать соединение перед отправкой данных), вам нужно знать только адрес другой стороны для отправки данных, что обеспечивает лучшую производительность в реальном времени. Эффективность работы выше, чем по протоколу TCP, и требует меньше системных ресурсов, чем по протоколу TCP, но при передаче данных, если качество сети не очень хорошее, пакеты будут легко потерять.
Мы знаем, что большая часть передачи данных веб-платформы основана на протоколе TCP. Фактически, в начале проектирования TCP сетевая среда была сложной, скорость потери пакетов высока, а скорость сети низкая, поэтому TCP может полностью решить проблему надежности. Современная сетевая среда и скорость сети значительно улучшились, и надежность сетевой передачи больше не является острой проблемой. Кроме того, у TCP есть большая проблема в том, что его очень сложно обновить. Это происходит потому, что реализация стека сетевых протоколов TCP зависит от обновления ядра системы.После обновления ядра системы обновление системы терминального устройства и промежуточного устройства будет очень медленным, и итерация займет несколько лет или даже более десяти лет, что, очевидно, не может идти в ногу. Скорость развития интернета сегодня. Поэтому теперь решение состоит в том, чтобы отказаться от TCP и использовать UDP для достижения требований к передаче с малой задержкой.
(QUIC очень похож на TCP + TLS + HTTP / 2, реализованный в UDP)
Чтобы объединить преимущества обоих, Google запустил QUIC, обновление которого не зависит от ядра системы, необходимо обновить только клиентскую и серверную стороны до указанной версии. Таким образом, QUIC на основе UDP может меняться ежемесячно или даже еженедельно, что хорошо решает проблемы развертывания и обновления TCP, а также обеспечивает более гибкое развертывание и обновление.
Зачем использовать QUIC?
Во-первых, низкая задержка соединения.
Традиционное трехстороннее рукопожатие TCP Netizen + рукопожатие TLS1 2RTT + данные http. HTTPS на основе TCP требует не менее 23 RTT для одновременного установления соединения , а QUIC основан на UDP. задержка.
(Рукопожатие сравнение)
Во-вторых, безопасный и надежный
QUIC обладает характеристиками безопасности и надежности протоколов TCP, TLS, HTTPS / 2 и др. Он обеспечивает зашифрованные функции (такие как аутентификация и шифрование) для достижения зашифрованной передачи, которые предоставляются более высокими уровнями самого протокола передачи. Протокол (например, TLS) для достижения.
В-третьих, модифицированная гибкая система
QUIC может реализовывать различные алгоритмы управления перегрузкой на уровне приложений без необходимости поддержки операционной системы и ядра, что лучше, чем традиционная гибкость при модификации протокола TCP.
В-четвертых, усовершенствованный контроль
QUIC в основном реализует медленный запуск TCP, предотвращение перегрузок, быструю повторную передачу и быстрое восстановление. Усовершенствования, основанные на этих алгоритмах управления перегрузкой, такие как монотонно увеличивающийся номер пакета, устраняют неоднозначность повторной передачи, обеспечивают точность RTT и уменьшают количество повторных передач.
В-пятых, мультиплексирование
HTTP2 без блокировки заголовка реализует мультиплексирование, которое может одновременно отправлять несколько HTTP-запросов в одном потоке TCP, но HTTP2 на основе TCP имеет проблему на транспортном уровне. TCP не может распознавать разные Для потоков HTTP2 фактические полученные данные по-прежнему являются очередью. Когда следующий поток будет получен первым, он будет заблокирован, поскольку предыдущий поток не поступил. Соединение QUIC может мультиплексировать и передавать несколько потоков, и каждый поток независим. Потеря потока не повлияет на прием и обработку других потоков.
Таким образом, QUIC имеет много преимуществ: он сочетает в себе скорость и производительность протокола UDP с безопасностью и надежностью TCP, что значительно оптимизирует процесс передачи данных через Интернет.
В качестве услуги CDN, которая повышает эффективность доступа конечных пользователей, существует большой объем обмена данными между его узлами, и сетевое соединение и архитектура передачи между узлами будут влиять на качество услуги CDN. Применение QUIC в системе CDN, после того как пользователи CDN включат функцию QUIC, система будет следовать протоколу QUIC для обработки пользовательских IP-запросов, что может не только удовлетворить потребности безопасной передачи, но и повысить эффективность передачи. В настоящее время, помимо улучшения развертывания ресурсов и интеллектуального планирования, Alibaba Cloud CDN также постоянно изучает и оптимизирует оптимизацию протоколов сетевой передачи, чтобы обеспечить пользователям более низкие задержки и более быстрые услуги по распространению контента.
Еще в 2018 году в Ханчжоу на конференции Yunqi компания Alibaba Cloud впервые предложила концепцию AliQUIC, которая представляет собой решение для передачи по сети CDN последней и средней мили, основанное на протоколе QUIC. В этом сетевом решении AliQUIC предназначен не только для веб-приложений, он расширяет целевые алгоритмы и технологии в различных сценариях, таких как игры, аудио- и видеосвязь в реальном времени, интерактивная трансляция в прямом эфире и заграждение IM для достижения наилучшего ускорения. эффект. Нажмите, чтобы прочитать детали.
Alibaba Cloud CDN полностью поддерживает протокол QUIC.
Alibaba Cloud CDN полностью поддерживает протокол QUIC. Применимые продукты включают в себя статическое распределение контента (небольшие файлы изображений, загрузка больших файлов, видео и аудио по запросу) и динамическое распространение контента (полное ускорение станции). Основанный на протоколе UDP, QUIC может предоставить пользователям более низкую производительность сети, меньшую задержку установления связи, лучшее мультиплексирование и более гибкие алгоритмы перегрузки.
Пользователям необходимо только включить функцию [переключение протокола QUIC] для доменного имени в CDN и консоли ускорения тахеометра.Клиенты, поддерживающие протокол QUIC, могут связываться с узлом CDN Alibaba Cloud через протокол QUIC.
(Принцип работы QUIC в Alibaba Cloud CDN)
Требования к QUIC для клиента
Если вы используете браузер Chrome, поддерживается только версия протокола QUIC Q43. Текущий протокол QUIC Alibaba Cloud CDN является версией Q39 и не поддерживает прямые запросы QUIC к Alibaba Cloud CDN.
Если вы используете самостоятельно разработанное приложение, оно должно включать сетевую библиотеку, поддерживающую протокол QUIC, например: сетевую библиотеку lsquic-client или cronet.
Сценарии применения QUIC
1. Небольшие графические файлы: значительно сокращают общее время загрузки файлов и повышают эффективность.
2. Видео по требованию: увеличьте частоту открытия второго экрана во второй раз, уменьшите частоту замораживания и улучшите возможности просмотра пользователем.
3. Динамический запрос: подходит для динамических запросов, для повышения скорости доступа, такие как веб - авторизации, транзакции и других интерактивных усиления в-
четвертых, слабая сеть окружения: латентность сети и потери пакетов все еще может обеспечить полезную службу в тяжелых случаях, а также оптимизировать Катон скорость, запрос интенсивность отказов, скорость секунд , чтобы открыть, Улучшение показателей передачи, таких как показатель успешности соединения
V. Большие параллельные соединения: высокая надежность соединения, поддержка увеличенной скорости доступа в случае большего количества ресурсов страницы и большего количества одновременных соединений
VI. Зашифрованные соединения: безопасная и надежная производительность передачи
Как использовать QUIC?
В настоящее время открытие QUIC находится на стадии бета-тестирования. Просканируйте приведенный ниже QR-код, чтобы войти в группу. После входа в группу предоставьте информацию о доменном имени в соответствии с объявлением группы. Фоновый инженер поможет вам открыть соглашение QUIC. Когда вы включаете функцию протокола QUIC в Alibaba Cloud CDN, Alibaba Cloud CDN обрабатывает запросы пользователей, инициированные через протокол QUIC.
Советы: протокол QUIC является дополнительной услугой, и за запросы QUIC взимается дополнительная плата. Подробнее см. В разделе QUIC подробной информации о ценах CDN.