带你读《2022技术人的百宝黑皮书》——淘宝自研标准化协议库XQUIC正式开源!(4)

简介: 带你读《2022技术人的百宝黑皮书》——淘宝自研标准化协议库XQUIC正式开源!(4)

带你读《2022技术人的百宝黑皮书》——淘宝自研标准化协议库XQUIC正式开源!(3) https://developer.aliyun.com/article/1242688?groupCode=taobaotech




TLS层设计


image.png


QUIC Transport层,对TLS模块有如下依赖:加密握手协商、数据加解密、密钥更新、session resumption、0-RTT、传输参数、ALPN协商。TLS层,则需要依赖底层SSL库,来支撑上述功能。因此,TLS模块存在数据的多样性,以及依赖的多样性,数据流程和代码结构会比较复杂。TLS层需要对这些数据流进行归类整理,从而来简化上下游的依赖关系,降低代码的复杂度。


XQUIC适配了babassl、boringssl两种底层的ssl库,向上提供统一的接口,从而消除了它们之间接口、流程的差异,并抽象为统一的内部数据流程,仅针对不同ssl库提供轻薄的适配层,减少重复适配的代码逻辑,达到降低代码复杂度、提升可维护性的效果。同时XQUIC也提供了编译选项,方便开发者根据自身应用的情况,选择适合自己的依赖库。


XQUIC开源历史


为什么要做XQUIC


image.png


我们从18年左右,开始探索从TCP转向UDP方向,最早是基于GQUIC,主要应用在手淘的图片和短视频等内容分发的场景。在18年底19年初,当时大家有一个共同的判断是要走标准化道路,一方面整个标准化协议的设计和安全性都有更完备的考量,另一方面是因为从网络加速产品角度,私有协议解决方案更难被用户认可。在决定选择标准化道路之后,当时市面上也没有特别成熟并适用于移动端的IETF QUIC协议栈实现,所以手淘就启动了自研XQUIC项目。经过1年半的研发和打磨,于20年的6月份开始全面上线,并在20年8月在手淘核心导购RPC请求场景进行规模化验证。在21年初与CDN IETF QUIC产品实现对接,并在短视频场景上开始逐步应用IETF QUIC技术。在去年的9月份我们实现了IETF QUIC整套协议栈在短视频场景下的规模化应用。之后,我们经历了2021年双十一的考验,XQUIC的性能和稳定性都有了很好的验证,因此在今年的1月7号,我们完成XQUIC的对外开源,后续也将持续更新迭代开源版本。



带你读《2022技术人的百宝黑皮书》——淘宝自研标准化协议库XQUIC正式开源!(5) https://developer.aliyun.com/article/1242683?groupCode=taobaotech

相关文章
|
中间件 开发工具 Android开发
带你读《2022技术人的百宝黑皮书》——跨全端SDK技术演进(2)
带你读《2022技术人的百宝黑皮书》——跨全端SDK技术演进(2)
113 0
|
开发工具 C++ 容器
带你读《2022技术人的百宝黑皮书》——跨全端SDK技术演进(1)
带你读《2022技术人的百宝黑皮书》——跨全端SDK技术演进(1)
118 0
|
IDE Java 开发工具
带你读《2022技术人的百宝黑皮书》——跨全端SDK技术演进(6)
带你读《2022技术人的百宝黑皮书》——跨全端SDK技术演进(6)
|
开发工具 Android开发 开发者
带你读《2022技术人的百宝黑皮书》——跨全端SDK技术演进(5)
带你读《2022技术人的百宝黑皮书》——跨全端SDK技术演进(5)
116 0
|
移动开发 安全 API
带你读《2022技术人的百宝黑皮书》——打造淘宝极简包的轻量化框架(4)
带你读《2022技术人的百宝黑皮书》——打造淘宝极简包的轻量化框架(4)
|
移动开发 缓存 前端开发
带你读《2022技术人的百宝黑皮书》——打造淘宝极简包的轻量化框架(1)
带你读《2022技术人的百宝黑皮书》——打造淘宝极简包的轻量化框架(1)
127 0
|
运维
带你读《2022技术人的百宝黑皮书》——打造淘宝极简包的轻量化框架(6)
带你读《2022技术人的百宝黑皮书》——打造淘宝极简包的轻量化框架(6)
|
安全
带你读《2022技术人的百宝黑皮书》——打造淘宝极简包的轻量化框架(5)
带你读《2022技术人的百宝黑皮书》——打造淘宝极简包的轻量化框架(5)
|
移动开发 开发工具 容器
带你读《2022技术人的百宝黑皮书》——打造淘宝极简包的轻量化框架(2)
带你读《2022技术人的百宝黑皮书》——打造淘宝极简包的轻量化框架(2)
|
数据采集 监控 安全
带你读《2022技术人的百宝黑皮书》——打造淘宝极简包的轻量化框架(3)
带你读《2022技术人的百宝黑皮书》——打造淘宝极简包的轻量化框架(3)
下一篇
无影云桌面