当前位置:首页 >综合 >wireguardNT:Windows 内核下的高性能 wireguard 实现 经过初步移植工作取得成功后

wireguardNT:Windows 内核下的高性能 wireguard 实现 经过初步移植工作取得成功后

2024-06-30 21:33:28 [百科] 来源:避面尹邢网

wireguardNT:Windows 内核下的内核能高性能 wireguard 实现

作者:局长 运维 系统运维 wireguard 作者 Jason Donenfeld 最近宣布了 wireguardNT 项目,这是高性面向 Windows 内核的 wireguard 原生移植。和其他版本一样,实现wireguardNT 的内核能小写为 "wireguard-nt",它一开始只是高性 Linux 版本代码库的端口。

[[417207]]

wireguard 作者 Jason Donenfeld 最近宣布了 wireguardNT 项目,实现这是内核能面向 Windows 内核的 wireguard 原生移植。和其他版本一样,高性wireguardNT 的实现小写为 "wireguard-nt",它一开始只是内核能 Linux 版本代码库的端口。经过初步移植工作取得成功后,高性NT 代码库迅速分化,实现以更好地适应原生 NTisms 和 NDIS(Windows 网络栈)API。内核能最后的高性结果是为 NT 内核实现了一个深度集成且高性能的 wireguard,它利用了 NT 内核和 NDIS 的实现全部功能。

wireguardNT:Windows 内核下的高性能 wireguard 实现 经过初步移植工作取得成功后

wireguardNT:Windows 内核下的高性能 wireguard 实现 经过初步移植工作取得成功后

相关项目和源代码:https://git.zx2c4.com/wireguard-nt/about/

wireguardNT:Windows 内核下的高性能 wireguard 实现 经过初步移植工作取得成功后

Jason 在公告中介绍了 wireguard 的背景,wireguard 在 Windows 下的早期实现是一个用 Go 开发的用户空间实现——wireguard-go,负责将数据包传入和传出 Wintun 接口。

当时使用 wireguard-go 需要关联一个虚拟网络设备,Jason 不满意 OpenVPN 项目提供的虚拟网络接口 tap-windows,因此从头实现了自己的 Wintun。Wintun 相对于 tap-windows 而言是一大改进,OpenVPN 项目之后自己也实现了对 Wintun 的支持。但 wireguard-go 仍然需要持续地在内核空间和用户空间之间进行上下文切换。为了移除这一性能瓶颈,虚拟网卡和加密等整个堆栈都需要移到内核。

wireguardNT 的出现显着减少了延迟并消除了 wireguard-go/Wintun 的上下文切换问题。测量显示,内核模式实现 wireguardNT 比用户空间实现 wireguard-go 要快 10-25%。Jason 还称,当使用 wireguardNT 时,wireguard-go/Wintun 对 WiFi 性能的影响已经消失,功耗和电池使用量也更低。

 

 

本文转自OSCHINA

本文标题:wireguardNT:Windows 内核下的高性能 wireguard 实现

本文地址:https://www.oschina.net/news/154780/wireguardnt-for-windows

责任编辑:未丽燕 来源: 开源中国 WireGuardWindows内核NT

(责任编辑:探索)

    推荐文章
    热点阅读