sstap tun虚拟网卡没有安装_虚拟设备之TUN和TAP

前言

最近尝试了下 Zerotier,感觉还挺好用的, 比较好奇它的实现原理,查了下,遂有了下文。

TAP与TUN是什么

不同于硬件物理网卡,TAP/TUN 是在 Linux 内核 2.4.x 版本之后完全由软件实现的虚拟网络设备,在功能上 TAP/TUN 和物理网卡没有区别,它们同样都是网络设备,都可以设置 IP 地址,而且都属于 Linux 网络设备管理模块,由 Linux 网络设备管理模块统一来管理。

虚拟设备和物理设备的区别

在 Linux 内核里,有一个叫做网络设备管理层的东西,它处在网络设备驱动和协议栈之间,负责处理它们之间的数据交互细节。网络驱动不需要知道协议栈的处理细节,协议栈也不需要知道网络驱动的处理细节。这样可以很方便的将两层分隔开来,和 TCP/IP 类似,每一层只需要干好自己的工作就好了,简化了开发。

对于一个物理网卡来说,它的两端分别是内核协议栈和外面的物理网络,从内核协议栈接收到的数据会通过物理网络发送出去,通过物理网络接收到的数据会转发到内核协议栈进行处理。

对于一个虚拟网络设备来说,它的两端分别是内核协议栈和网络设备驱动,从网络驱动接收到的数据会发送到内核协议栈,应用程序从内核协议栈发送过来的数据会发送到网络驱动,至于网络驱动怎么处理它,那是驱动层面的事情,取决于网络驱动怎么实现。

TUN和TAP的区别

TUN 是一个虚拟网络设备,它模拟的是一个三层设备,通过它可以处理来自网络层的数据包,也就是 IP 数据包。由于它只模拟到了 IP 层,所以它无法与物理网卡做 bridge&

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值