差值tun / tap,是处理协议或操作系统的接口吗?

时间:2014-09-12 20:04:59

标签: linux networking tap bridge tun

我很难理解tap和tun接口之间的区别。我知道这是一个经常被问到的问题,我为此道歉。

我在第2层读取了tap工作,tun在第3层工作。我还读到tap用于桥接,而tun用于路由。 我已经听过像" ROUTERS在第3层"或者" BRIDGES在第3层和第34层工作; :这对我有意义,因为路由器操纵第3层协议和桥接操纵第2层协议? 但是,因为tap和tun是"接口",它意味着像" INTERFACES这样的句子在第3层"有一种感觉,但我不明白它是什么:我的意思是接口不操作协议(操作系统那样做而不是接口)所以它听起来像tun interface == tap interface:

如果我在不同的网络(192.168.2.1/24和192.168.3.1/24)上创建两个带有两个ip的tap接口(带有tunctl),那么我将这些接口链接到两个kvm虚拟机(一个接口接口匹配到一个虚拟机)如果我在主机上启用路由,我的两个虚拟机可以进行通信。

因此,tap接口也可以用于路由:与tun有什么区别?也许tap是一个tun接口?

此外,我可以使用tunctl命令创建一个tap接口,但是如何使用相同的命令创建一个tun接口(该命令名为TUNctl而不是TAPctl ...)?

你能帮我澄清一下吗? 谢谢。

1 个答案:

答案 0 :(得分:-2)

@ user21992104:这可能会有所帮助...... https://www.kernel.org/doc/Documentation/networking/tuntap.txt