MsQuic——IETF QUIC协议的跨平台C实现

 

https://github.com/microsoft/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 地址/端口更改的影响。”

posted @ 2021-06-02 10:45  张同光  阅读(783)  评论(0编辑  收藏  举报