1. 首先tap是系统内核中的虚拟网络设备。(这个设备是linux的概念)
2. tap 是位于二层的。
3. linux所说的设备本质是一个类似于数据结构、内核模块或设备驱动的含义
4.tap的数据结构
struct tun_struct {
char name[8];//设备名
unsigned long flags;//区分tun和tap设备
struct fasync_struct *fastnc;//文件异步通知结构
wait_queue_had_t read_wait;//等待队列
struct net_device dev;//linux抽象网络设备结构
strcut sk_buff_head txq;//网络缓冲区队列
struct net_device_stats stats;//网络状态信息结构
}
5.tap 只与以太网( Ethernet )协议对应 所以, tap 有时也称为“虚拟以太设备”
6.tun模块支持tap
#如果敲击 Linux 命令行 modinfo tun 有如下输出 则说明具有 tun 模块
modinfo tun
filename :
alias :
alias :
/lib/modules/4 . 5.5 300.fc24 . x86_64/kernel/drivers/net/tun.ko.xz
devname :net/tun
char-major-10 200
7.Linux 版本具有阳 模块时,还得看看其是否已经加载,检查方法如下
lsmod | grep tun
tunctl help 确认其是否有工具没有的话install一下