Quick UDP Internet Connections (QUIC) es un protocolo de capa de transporte de uso general diseñado para reemplazar al Protocolo de Control de Transmisión (TCP) gracias a su flexibilidad, seguridad integrada, menor impacto en el rendimiento y mayor velocidad de adopción. Originalmente desarrollado por Google, QUIC utiliza el protocolo de datagramas de usuario (UDP) como mecanismo de transporte de bajo nivel para mover paquetes entre cliente y servidor. Un aspecto clave de QUIC es que integra la seguridad de la capa de transporte (TLS) de forma nativa, a diferencia de HTTP/1.1 y HTTP/2, donde TLS se implementa como una capa adicional.
HTTP/3, basado en QUIC, es la tercera gran versión de Hypertext Transfer Protocol (HTTP) y se adoptó como norma del IETF en 2022. QUIC+HTTP/3 se crearon para resolver las limitaciones inherentes a TCP que limitan el rendimiento y la experiencia del usuario.
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.
El siguiente diagrama muestra la anatomía básica de una red QUIC. Como se ve en el diagrama, los objetos lógicos que contienen peticiones HTTP/3, respuestas o cualquier dato de aplicación son flujos QUIC. Para la transmisión entre los puntos de conexión de la red, los flujos QUIC se envuelven dentro de múltiples capas lógicas.
Anatomía de un flujo QUIC
Empezando desde fuera hacia dentro, las capas y objetos lógicos son:
Un intercambio de TLS proporciona una conexión segura entre el cliente y el servidor. El cifrado proporcionado por QUIC requiere TLS v1.3. Como se ve en el siguiente diagrama, QUIC mantiene la «capa de contenido» de TLS que proporciona las claves criptográficas, pero sustituye la «capa de registro» por su propio mecanismo de transporte.
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.