微软在其技术社区官方博客宣布,已开源自己的内部 QUIC 库,即 MsQuic。QUIC(Quick UDP Internet Connections,快速 UDP 网络连接)是一种实验性的网络传输协议,正在由 IETF 进行标准化。QUIC 最初由谷歌开发,在 2013 年实现。
谷歌希望使用这个协议来取代 HTTPS/HTTP 协议,使网页传输速度加快。2018 年,基于 QUIC 协议的 HTTP(HTTP over QUIC)成为即将到来的 HTTP/3,正式被确定为下一代网络规范。
微软的 MsQuic 是实现 QUIC 传输协议的跨平台通用库,主要用于支持其产品内部的 QUIC 数据连接。MsQuic 针对多种使用模式进行了优化,已经被多个微软产品和服务使用,包括但不限于:
- Windows 将在内核中附带 MsQuic,Windows HTTP/3 堆栈也是基于 MsQuic 构建的。
- Microsoft 365 正在使用 HTTP/3 测试 IIS 的预览版。
- .NET Core 已在 MsQuic 的基础上在 Kestrel 和 HttpClient 中构建了对 HTTP/3 的支持(在 .NET Core 5.0 预览版中可用)。
- Windows 中的 SMB 将 MsQuic 用法作为原型。
微软在博客文章中表示,“MsQuic 为许多重要的网络方案带来了性能和安全性的改进。”并称其在线服务从这些性能改进(例如减少尾部延迟和更快的连接设置)中受益最大,“我们的连接将能够无缝切换网络,因为它们可以承受 IP 地址/端口更改的影响。”
MsQuic 仍在开发中,当前处于预览状态,在 Windows 和 Linux 上可用。