带你读《2022技术人的百宝黑皮书》——淘宝自研标准化协议库XQUIC正式开源!(1) https://developer.aliyun.com/article/1242694?groupCode=taobaotech
轻量性:
XQUIC在Android/iOS双端的编译产物均小于400KB
除TLS/1.3能力依赖SSL库之外,无其他外部依赖,可以方便地部署到移动设备和各种嵌入式设备中
适用于需要高性能但同时又对包大小敏感的移动端APP场景(为了减少新用户的安装成本,移动端APP希望能尽量减少APP包大小)
高性能传输:
XQUIC已经在手机淘宝实现核心导购、短视频链路大规模使用,并相对于内核态TCP+HTTP/2优化20%的网络请求耗时
支持0-RTT功能
支持多通道传输加速能力[5]
标准化:
XQUIC实现了整套IETF QUIC标准协议,包含传输层、加密层、应用层协议栈
协议版本支持QUIC version 1,以及draft-29
SSL库兼容适配BoringSSL或BabaSSL(可任意选择其中之一)
拥塞控制算法框架
易用性:
跨平台:支持Linux/Android/iOS/Mac等平台,后续也会支持Windows平台适配,客户端可以通过SDK方式很方便地接入并使用。
支持Wireshark解析、qlog事件日志标准,方便问题排查
完善的文档(中文/英文对照)、demo示例和单测
XQUIC核心介绍
模块设计
XQUIC是IETF QUIC草案版本的一个C协议库实现,端到端的整体链路架构设计如下图所示。XQUIC内部包含了QUIC-Transport(传输层)、QUIC-TLS(加密层、与TLS/1.3对接)和HTTP/3.0(应用层)的实现。除了每层的协议栈功能模块之外,在公共模块部分,XQUIC也支持了qlog[5]日志标准。
带你读《2022技术人的百宝黑皮书》——淘宝自研标准化协议库XQUIC正式开源!(3) https://developer.aliyun.com/article/1242688?groupCode=taobaotech