QUIC es un protocolo de red sobre la capa de transporte diseñado por Jim Roskind en Google, inicialmente implantado en 2012, y anunciado como experimento ampliado en 2013. QUIC soporta un conjunto de conexiones multiplexadas entre dos extremos sobre UDP (User Datagram Protocol), y fue diseñado para proveer seguridad equivalente a TLS/SSL, junto con latencia de conexión y de transporte reducidas, y estimación de ancho de banda en cada dirección para evitar la congestión. El principal objetivo de QUIC es mejorar el rendimiento percibido de aplicaciones web orientadas a conexión que usan actualmente TCP. También proporciona un entorno para la iteración rápida de algoritmos de prevención de congestión, estableciendo control en el espacio de aplicación en ambos extremos, en lugar de hacerlo en el (lento de actualizar a nivel de cliente) espacio kernel.
En junio de 2015, un borrador de trabajo (Internet Draft) sobre una especificación para QUIC fue presentado al IETF para su estandarización. En 2016 se estableció un grupo de trabajo de QUIC. En octubre de 2018, los Grupos de Trabajo HTTP y QUIC del IETF decidieron conjuntamente llamar «HTTP/3» al mapeo HTTP sobre QUIC antes de convertirlo en un estándar mundial. El 31 de mayo de 2021, el IETF estandarizó QUIC en RFC 9000, respaldado por RFC 8999, RFC 9001 y RFC 9002
Se quiere reducir la latencia a lo largo de todo Internet, proporcionando un conjunto de interacciones de usuario más receptivo. A medida que pase el tiempo, el ancho de banda irá creciendo, pero el tiempo de intercambio de mensajes, al depender de la velocidad de la luz, no podrá variar en sí mismo. Por ello, se necesita un protocolo para que las peticiones, respuestas e interacciones en Internet tengan menor latencia con menores tiempos de retransmisión, algo a lo que QUIC consigue aproximarse. Los pares de direcciones IP y los sockets son recursos finitos. Un transporte multiplexado tiene el potencial de unificar el tráfico y de reducir la utilización de puertos, de unificar mensajes de reportes y respuestas y también de reducir la información redundante (en cabeceras, por ejemplo). En resumen, desarrollar un protocolo que cumpla:
- Un uso extendido del mismo en todo el mundo.
- Reducir la pérdida de paquetes por bloqueo línea
- Baja latencia.
- Mejorar el soporte para móviles, en términos de latencia y eficiencia.
QUIC apunta a ser el equivalente a una conexión TCP independiente, pero con una latencia mucho más reducida (el objetivo es de 0 RTT en el establecimiento de la conexión) y mejor soporte de multiplexado SPDY. Si las características de QUIC demuestran efectividad, estas características podrían migrar a una versión posterior de TCP y TLS (los cuales tienen un ciclo de despliegue notablemente más largo).
Referencias
- Wikipedia. https://es.wikipedia.org/wiki/QUIC