我正在研究虚拟网络。
我看到了制作 Tap 接口并将其添加到开放虚拟交换机的 YouTube 视频。
从这里开始,我就不知道tap接口是什么了。
eth0等普通接口和tap接口有什么区别?
Tap接口只是虚拟L2接口以将其添加到OVS吗?
如果是正确的,tap 接口不连接到 OVS 的目的是什么?
答案1
OpenVSwitch 是一个虚拟交换机。它的工作原理是附加到几个以太网设备在原始数据包/以太网模式下。它通过从这些网络接口读取/写入原始以太网帧来在这些以太网设备之间交换以太网帧。
如果您想在真实的以太网设备之间切换,这非常有用。如果要将虚拟机连接到 Open V Switch 实例,您需要将 Open V Switch 连接到虚拟的代表您与此虚拟机的连接的以太网设备:将数据包写入此虚拟网络接口应将以太网帧发送到虚拟机,并且虚拟机发送的数据包应发送到此虚拟网络接口。
TAP 网络接口就是为此而设计的。它们代表虚拟以太网设备。 TAP 网络接口由某个用户进程管理:
当以太网帧发送到网络接口时,用户进程接收该以太网帧;
用户进程可以向该网络接口发送以太网帧。
这通常用于:
VPN(例如OpenVPN):当以太网帧发送到TAP网络接口时,VPN进程接收它并在隧道中转发它。相反,当用户进程从隧道接收到以太网帧时,它将它们转发到 TAP 接口;
虚拟机:当以太网帧发送到 TAP 接口时,虚拟机管理程序/仿真器接收它并将其转发到 VM。相反,当 VM 将数据包发送到其接口时,虚拟机管理程序/模拟器会将其转发到 TAP 接口。
对于 Openvswitch,您通常会创建一个 TAP 接口来表示与虚拟机的连接,然后可以将此网络接口连接到 OpenVSwitch。