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 的全部功能。

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

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

责任编辑:未丽燕 来源: 开源中国
相关推荐

2021-03-19 10:23:45

网络安全内核文件

2021-07-27 16:01:29

高并发定时器高性能

2019-04-08 10:09:04

CPU缓存高性能

2024-07-31 08:31:13

2024-02-26 07:43:10

大语言模型LLM推理框架

2010-09-14 10:19:52

高性能计算HPCWindows

2015-06-01 07:02:12

云集群高性能计算

2023-09-22 11:48:37

2024-01-29 08:26:13

Span高性能数组数据结构

2024-07-05 09:41:42

2010-04-27 09:27:36

Linux文件系统Linux 2.6.3

2011-07-26 09:36:55

Sencha Touc

2020-11-10 07:46:09

服务器高并发高性能

2013-07-10 15:30:56

2011-09-23 13:07:32

Platform

2014-11-25 10:03:42

JavaScript

2012-12-17 13:51:22

Web前端JavaScriptJS

2019-10-17 09:23:49

Kafka高性能架构

2017-07-20 09:36:39

高性能存储Z-NAND

2021-08-13 09:06:52

Go高性能优化
点赞
收藏

51CTO技术栈公众号