微軟開源MsQuic QUIC 協議的跨平台實現
微軟在其技術社區官方博客宣布,已開源自己的內部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 上可用。