Conexiones rápidas a Internet UDP (QUIC) es un protocolo de capa de transporte de propósito general diseñado para reemplazar al Protocolo de control de transmisión (TCP) gracias a su flexibilidad, seguridad incorporada, menos problemas de rendimiento y una tasa de adopción más rápida. Desarrollado originalmente por Google, QUIC utiliza el Protocolo de datagramas de usuario (UDP) como mecanismo de transporte de bajo nivel para mover paquetes entre el cliente y el servidor. Cabe destacar que QUIC también incorpora Seguridad de la capa de transporte (TLS) como un componente integral, no como una capa adicional como HTTP/1.1 y HTTP/2.
HTTP/3, basado en QUIC, es la tercera versión principal del Protocolo de transferencia de hipertexto (HTTP) y fue adoptado como estándar IETF en 2022. QUIC+HTTP/3 se crearon para resolver las limitaciones inherentes de TCP que restringen 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 representa la anatomía básica de una red QUIC. Como se ve en el diagrama, los objetos lógicos que contienen solicitudes HTTP/3, respuestas o cualquier dato de aplicação son flujos QUIC. Para la transmisión entre puntos finales 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 protocolo de enlace 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 diagrama a continuación, QUIC mantiene la “capa de contenido” TLS que proporciona las claves criptográficas, pero reemplaza la “capa de registro” con 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.