TUN 模式是一种网络通信协议,于在操作系统内核中创建虚拟网络设备。它允许数据包通过用户空间应用程序进行处理和转发,同时提供应用程序一个接口,让它们可以直接与网络层交互。
目录
- 概述 2 如何工作
- 为什么选择使用TUN模式
- 常见问题(FAQ)
1. 概述
TUN 是 “tunnel”(隧道的缩写,这个词表明了其作为一种在网络间建立隧道传输数据的功能。它最早出现在Unix-like系统中,后来也被移植到其他操作系统上。
TUN 设备实际上就是一个虚拟网卡设备。当启用TUN 设备时,在内核中会创建一个名为 tunX 的设备文件(其中 X 表示体的编号)。这个设备可以被用户空间的程序所使用和控制。
2. 如何工作
TUN 设备读写其对应的设备文件来实现数据传输。当有数据从物理网卡进入内核时,内核会将这些数据封装成 IP 数据包,并将其发送给 TUN 设备文件;反之亦然。用户空间程序则可以通过读写该设备文件来获取或发送 IP 数据包。
下图显示了 TAP 和 TUN 模拟拓扑图:
3. 为什么选择使用 TAP 模式
- 灵活性:由于用户空间应程序直接参与处理和转发 IP 数据包,因此具有大的灵活性。
- 安全性:可以根据需要定制加算法、认证机制
正文完