¿HTTP/3 ya no usará TCP? ¿Qué es QUIC?

El Internet Engineering Task Force (IETF), la entidad que regula las propuestas y los estándares de Internet, conocidos como RFC, manifestó que el futuro HTTP/3 ya no hará uso de TCP y en su lugar pasará a utilizar QUIC.

Como has leído, nuestro, hasta el momento, gran compañero de viaje TCP (Protocolo de control de transmisión) dejará de ser la capa dominante de transmisión en HTTP, dando paso así al protocolo QUIC, desarrollado por Google en 2012.

Hace unos meses escribíamos acerca de HTTP/2, preguntándonos qué era, revisando las notables mejoras que suponía en comparación con HTTP/1, como eran la velocidad, la seguridad y la escalabilidad, augurando un futuro prometedor. Aunque este nuevo futuro HTTP/3 replantea los estándares más puristas de internet, como es el caso de TCP, hacia un futuro no tan lejano en el que la gran cantidad de información deberá fluir sin dificultades.

Veamos en detalle qué hace tan especial a QUIC para replantearnos la relación con un gran amigo como es TCP:

¿Qué es QUIC?

Quick UDP Internet Connections (QUIC) es, como su nombre indica, un protocolo de capa de transporte basado en conexiones UDP multiplexadas. De hecho, QUIC utiliza una combinación de TCP + TLS + SPDY sobre UDP con varias mejoras con respecto a la implementación actual de HTTP/2 sobre TCP.

El IETF ha estado trabajando en una versión estandarizada del QUIC desde 2016 y, recientemente, anunciaron su intención de incluirlo en la nueva versión HTTP/3. Sin embargo, la versión IETF QUIC ya difería significativamente del diseño QUIC original diseñado por Google en 2012.

Protocolos HTTP/2 vs Protocolos HTTP/3

El protocolo QUIC tiene como objetivo la simplicidad y la velocidad, al tiempo que mantener la seguridad gracias al cifrado TLS 1.3. El objetivo de Google con QUIC fue desarrollar un protocolo más eficiente en términos de establecimiento de conexión y transferencia de datos.

Según Google, con QUIC, el establecimiento de comunicación que se realiza con frecuencia, requiere 0 viajes de ida y vuelta antes de enviar la información útil, en comparación con 1–3 viajes de ida y vuelta para TCP + TLS. En realidad, la primera conexión requiere un viaje de ida y vuelta y las siguientes conexiones ninguna.

Comunicaciones TCP vs TCP+TSL + QUIC (con TSL)

Además, se ocupa mejor de la pérdida de paquetes que el TCP actual. Cada paquete retransmitido consume un nuevo número de secuencia, lo que elimina las ambigüedades y evita que las pérdidas causen RTO. Según Jana Iyengar del IETF , QUIC no es solo una redefinición de la capa de transporte de Internet, sino una reinvención para construir una capa de transporte correctamente.

Por el momento, solo el 2.5% de los principales sitios web admiten QUIC, pero generalmente son sitios de alto tráfico; casi todos los servicios de Google que admiten su propio protocolo QUIC.

¿QUIC es seguro?

La estrategia de establecimiento de conexión de QUIC se basa en la combinación de protocolo de enlace de cifrado y transporte. Haciendo que el cifrado sea parte fundamental en la comunicación

Integración de QUIC y TLS, adaptado del borrador del IETF: "Using Transport Layer Security (TLS) to Secure QUIC".

Con QUIC todo se cifra de forma predeterminada. Aunque como todavía es un borrador no descartemos que TSL sea sustituido en el futuro por Google Tink o Amazon s2n como estándares de seguridad en HTTP/3.

Conclusión

No hay duda que el futuro es prometedor, con grandes trabajos como el Internet Engineering Task Force (IETF), planeando el siguiente paso de Internet; HTTP/3, con capas de transporte como QUIC, seguridad como TSL, Tink o s2n, hará que tus webs o aplicaciones sean más rápidas, más sencillas y más seguras.

¿Qué te parecen las nuevas características de HTTP/3? ¿Crees que QUIC es un buen sucesor de TCP?

Photo by Suzanne D. Williams on Unsplash

Referencias: