QUIC协议在分布式系统架构中的实践_李龙彦.pdf
1、QUIC 协议在分布式系统架构中的实践OPPO/李龙彦 OPPO网络优化领域技术专家,多年网络协议栈开发经验。目前主要负责OPPO的移动端网络库、接入层安全的架构设计和研发工作。从0-1建设了OPPO特色的QUIC(HTTP/3)协议,并成功在OPPO各个业务的进行上线,对网络传输效率以及安全有较大的提升。Quic协议介绍01.OPPO分布式系统架构02.03.04.Quic协议在分布式架构中的优化Quic协议实现中的问题案例分享clientserverSYNSYN,ACKACK(socket,bind,listen)LISTENLISTEN(accept阻塞)SYN_RCVDSYN_RCVD
2、(socket,connect)SYN_SENTSYN_SENT(connect返回)ESTABLISHEDESTABLISHED(accept返回)ESTABLISHEDESTABLISHEDClient HelloServer Hello,Cert,ServerKeyExClientKeyEx,ChangeChipherSpecChangeChipherSpec1 RTT2 RTT1 RTTUser requestResponse dataTLS 1.2握手用户请求响应DNS+4RTTHTTPDNS ServerDNSHTTPDNSHTTPDNSLocal DNSLocal DNSDNS解
3、析TCP三次握手TLS四次握手用户数据传输一个请求的过程一个请求的过程HTTP/2TLSTCPIPUDPHTTP over QUICMultistreamingTLS1.3 key negotiationflow controlQUICuserspaceuserspacekernelspacekernelspacecongestion controlBoringSSLis a fork of OpenSSLTCP+TLS1.2TCP+TLS1.3QUICHTTP/2提出了提出了“流流”的概念的概念,实现了在一条连接上的并发请求实现了在一条连接上的并发请求。但是但是TCP协议是内核态协议协议是内
4、核态协议,无法识别无法识别“流流”,QUIC连接实现在用户态,可以识别连接实现在用户态,可以识别“流流”。QUIC协议解决了协议解决了TCP的队头阻塞问题的队头阻塞问题单调递增的包序号单调递增的包序号,解决了解决了TCP重传包的二义性重传包的二义性。数千级业务集群数十万级容器实例千万级QPS数亿级用户OPPO统一接入层业务规模统一接入层业务规模TLSTLS卸载卸载1 10RTT0RTT优化优化2 2连接连接迁移迁移3 3现在业界的TLS卸载都是基于硬件的,QUIC上由于boring SSL的引入,TLS的硬件卸载如何无缝兼容,也是能让QUIC大规模运行的关键QUIC设置的0-RTT的开启条件比





点击查看更多