Quick UDP Internet Connections (QUIC) is a general-purpose transport layer protocol designed to replace the Transmission Control Protocol (TCP) through its flexibility, built-in security, fewer performance issues, and faster adoption rate. Originally developed by Google, QUIC uses User Datagram Protocol (UDP) as the low‑level transport mechanism for moving packets between client and server. Notably, QUIC also incorporates Transport Layer Security (TLS) as an integral component, not as an additional layer like HTTP/1.1 and HTTP/2.
HTTP/3, based on QUIC, is the third major version of the Hypertext Transfer Protocol (HTTP) and was adopted as an IETF standard in 2022. QUIC+HTTP/3 were created to solve inherent limitations with TCP that constrain performance and user experience.
Las API son la «cara pública» de las aplicaciones, revelan las funciones que realizan y la información que pueden proporcionar, y definen el formato adecuado de las peticiones. Cuando un desarrollador crea y expone la API de una aplicación, permite que otras aplicaciones se comuniquen con ella.
En muchos casos, las API ahorran un valioso tiempo a los desarrolladores, ya que facilitan el acceso a funciones de uso común. En lugar de duplicar la funcionalidad de una aplicación existente, los desarrolladores pueden integrar la funcionalidad en sus aplicaciones haciendo llamadas a la API de la aplicación existente.
Visión general de alto nivel de las pilas de transporte HTTP
El objetivo de QUIC es proporcionar un protocolo de transporte de alto rendimiento, alta fiabilidad y alta seguridad, específicamente diseñado para HTTP/3, aunque también es adecuado para el tráfico no HTTP.
Si QUIC es completamente nuevo para usted, le recomendamos que vea el vídeo introductorio que encontrará a continuación.
UDP es un protocolo sencillo y ligero que no necesita un complejo intercambio de tres vías como TCP para establecer la primera conexión. Esta simplicidad hace que UDP sea rápido y sin conexiones, pero también implica que carece de las características esenciales para garantizar una comunicación fiable y segura en comparación con TCP.
QUIC es único porque combina las ventajas de los protocolos UDP y TCP. Aunque no establece una conexión y utiliza UDP como protocolo de transporte de bajo nivel para reducir los retrasos de conexión y transmisión, está orientado a la conexión en las capas superiores, gracias a la reimplementación de las funciones de establecimiento de conexión y detección de pérdidas de TCP, que aseguran la entrega de paquetes. Se encarga de identificar los datos perdidos y gestionar las retransmisiones necesarias para garantizar una experiencia de usuario fluida y sin interrupciones.
QUIC también incorpora TLS como componente integral, no como una capa adicional como ocurre con HTTP/1.1 y HTTP/2. Esta incorporación garantiza que los mensajes estén cifrados de manera predeterminada.
The diagram below depicts the basic anatomy of a QUIC network. As seen in the diagram, the logical objects that contain HTTP/3 requests, responses, or any application data are QUIC streams. For transmission between network endpoints, QUIC streams are wrapped inside multiple logical layers.
Anatomía de un flujo QUIC
Empezando desde fuera hacia dentro, las capas y objetos lógicos son:
A TLS handshake provides a secure connection between client and server. The encryption provided by QUIC requires TLS v1.3. As seen in the diagram below, QUIC keeps the TLS “Content Layer” which provides the cryptographic keys but replaces the “Record Layer” with its own transport mechanism.
QUIC también se basa en TLS para la autenticación y negociación de parámetros críticos para la seguridad y el rendimiento. En lugar de una estratificación estricta, los dos protocolos cooperan: QUIC utiliza el intercambio de TLS para establecer una conexión segura, mientras que TLS utiliza la capa de fiabilidad, entrega ordenada y registro que proporciona QUIC.
A alto nivel, existen dos interacciones principales entre los componentes TLS y QUIC:
TLS en QUIC es una variante de TLS que está diseñada específicamente para el protocolo QUIC. Actualmente hay dos opciones para los usuarios que buscan soporte HTTP/3 en TLS en QUIC:
El objetivo de QUIC+HTTP/3 es mejorar el rendimiento de las aplicaciones web reduciendo la latencia y mejorando la entrega de datos en redes poco fiables. Entre sus ventajas destacan:
Explore los siguientes recursos para conocer la implementación de QUIC+HTTP/3 de NGINX y otras formas de utilizar QUIC+HTTP/3 para una comunicación más rápida y eficaz.