Google QUIC 是否比 TCP 有更好的性能?
Does Google QUIC have substantially better performance than TCP?
Google QUIC 是一种新的传输协议。它使用 UDP 并提供了一组非常好的功能:
- 不需要初始握手(0 次往返)
- 它在设计上具有安全功能(TLS 和 TCP 的组合)
- 它带来了流的概念,这对于避免线头问题非常有用,非常适合 HTTP2 (https://community.akamai.com/community/web-performance/blog/2017/08/10/how-does-http2-solve-the-head-of-line-blocking-hol-issue)
- 拥塞控制算法在用户space中,可以轻松替换
在他们的 SIGCOMM17 出版物中,他们讨论了 QUIC 的一些性能优势,但我的问题是:
我们真的需要放弃传统的基于 TCP 的技术并转向 QUIC 吗?什么是 QUIC 的杀手级应用程序?除了 Google 使用 QUIC 或至少觉得他或她应该这样做的人之外,还有其他人吗?
我的感觉是,通过使用 TCP 快速打开或多路径 TCP 等现有系统,我们有机会实现大部分承诺的好处。
当获取小对象并且 TCP 的握手开销并不真正值得时,QUIC 是 HTTP 传输的一个很好的替代方案。此外,当 TCP 由于丢包率高而出现问题时,它可能会有优势。
TCP 在传输大量数据时仍然有回报,因为它可以自行处理数据包丢失、拥塞……(QUIC 也这样做,但 well-known/accepted 方式较少)。
时间会证明这种方法是否成功。
Google QUIC 是一种新的传输协议。它使用 UDP 并提供了一组非常好的功能:
- 不需要初始握手(0 次往返)
- 它在设计上具有安全功能(TLS 和 TCP 的组合)
- 它带来了流的概念,这对于避免线头问题非常有用,非常适合 HTTP2 (https://community.akamai.com/community/web-performance/blog/2017/08/10/how-does-http2-solve-the-head-of-line-blocking-hol-issue)
- 拥塞控制算法在用户space中,可以轻松替换
在他们的 SIGCOMM17 出版物中,他们讨论了 QUIC 的一些性能优势,但我的问题是:
我们真的需要放弃传统的基于 TCP 的技术并转向 QUIC 吗?什么是 QUIC 的杀手级应用程序?除了 Google 使用 QUIC 或至少觉得他或她应该这样做的人之外,还有其他人吗?
我的感觉是,通过使用 TCP 快速打开或多路径 TCP 等现有系统,我们有机会实现大部分承诺的好处。
当获取小对象并且 TCP 的握手开销并不真正值得时,QUIC 是 HTTP 传输的一个很好的替代方案。此外,当 TCP 由于丢包率高而出现问题时,它可能会有优势。
TCP 在传输大量数据时仍然有回报,因为它可以自行处理数据包丢失、拥塞……(QUIC 也这样做,但 well-known/accepted 方式较少)。
时间会证明这种方法是否成功。