当前位置:首页 > 报告详情

QUIC协议在分布式系统架构中的实践_李龙彦.pdf

上传人: 张** 编号:153094 2024-01-15 41页 10.60MB

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的开启条件比

5、较苛刻,在实际运行中0-RTT率并不高,安全的提高0-RTT率是QUIC优化的重要手段要正确实现连接迁移并不容易,需要充分考虑的QUIC包的传输路径,即使在同一台机器下,正确处理多核下UDP数据包传递也不容易将非对称加密过程卸载到QAT加速卡中针对Nginx进行适配异步处理方式支持强大的压缩加速能力实现了对BoringSSL库的支持,支持Quic协议OPPO的安全网关基于Nginx进行自研定制化,继承了Nginx的异步设计特性。OPPO与英特尔联合开发基于Quic协议的SSL卸载方案,包括加解密库的QAT加速适配、Quic协议栈和QAT引擎的异步化等措施。通过这些优化,在一台web服务器中能够

6、并发进行TLS1.2/TLS1.3/Quic的加速,在QAT引擎库中实现了对Open SSL和Boring SSL的同时支持。TCP+TLS1.3 性能提升达4.05倍QUIC 性能提升达3倍通过设备ID信息作为补充IP地址的补充验证,提高0-RTT率实际过程中会产生的问题实际过程中会产生的问题:1.四层架构的影响:LVS、DPVS等四层负载均衡工具基于四元组进行转发,会转发到不同的后端服务上,导致无法连接迁移;2.多核的影响:由于多核的原因,连接迁移中源地址的改变可能会让接下来的数据包去到不同的进程,影响sock

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文主要介绍了OPPO在分布式系统架构中实践QUIC协议的经验。OPPO网络优化领域技术专家李龙彦分享了多年网络协议栈开发经验,他负责建设了OPPO特色的QUIC协议,并成功在OPPO各个业务上线,提升了网络传输效率和安全。OPPO与英特尔联合开发了基于Quic协议的SSL卸载方案,实现了TLS1.2/TLS1.3/Quic的加速。文章还提到了QUIC在实际运行中遇到的问题,如四层架构的影响、多核的影响、UDP限速或禁用等问题,并介绍了OPPO安全网关采用的多路竞速方式解决这些问题。此外,OPPO通过弱网实验测试,证明了QUIC在开启0-RTT时,其延迟要比HTTP降低20%,比HTTPS要降低50%以上。OPPO的QUIC实践在海外软件商店、小布助手等业务上线后,性能有显著提升:接口成功率提升3%~13%,秒开率提升2%~19%,平均延时提升27%~50%。
QUIC协议如何提升网络传输效率与安全性? OPPO如何实现QUIC协议在分布式系统中的应用? QUIC协议在实际运行中面临哪些挑战与解决方案?
客服
商务合作
小程序
服务号
折叠