计算机 · 2021年8月18日 0

QUIC 0-RTT

基本原理

在客户端和服务器已经建立过的连接前提下,客户端再次和服务器建立连接时,可以使用之前建立连接时缓存的信息,从而在再次建立连接时利用之前的信息加密数据,在第一个包里面就携带数据,实现0RTT.

cloudflare的介绍:
https://blog.cloudflare.com/even-faster-connection-establishment-with-quic-0-rtt-resumption/

TFO

TCP Fast Open
https://zh.wikipedia.org/wiki/TCP%E5%BF%AB%E9%80%9F%E6%89%93%E5%BC%80
https://www.huaweicloud.com/articles/2dfeb01ceaf5b754273de6dd60d1ec09.html

TLS 0-RTT

TLS 0-RTT又被称为TLS early data,只有TLS1.3支持
根据此文https://cloud.tencent.com/developer/article/1594468 ,TLS1.3 0-RTT是没有免除TCP建连的第一个RTT的,除非是开启了TFO.QUIC由于是将传输层和加密层实现在了一起,因此可以做到真正的0-RTT.

https://www.venafi.com/blog/does-tcp-fast-open-improve-tls-handshakes

https://link.springer.com/article/10.1007/s00145-021-09389-w

缺点

  • 在保持长连接的情况下效果不明显
  • replay attack
  • TFO现网某些设备,网络不支持