虚拟网络设备

虚拟网络设备的作用是使多个虚拟机或容器之间可以实现通信,并与物理网络进行互连。

Linux 中有多种虚拟网络设备,以下是其中一些常见的设备类型:

  1. TUN/TAP: 用于在用户态和内核态之间传输 IP 数据包或模拟完整的以太网帧。

  2. VLAN: 用于实现虚拟局域网(Virtual Local Area Network),可以将单个物理接口划分成多个逻辑接口,在每个逻辑接口中实现不同的 VLAN 标识符以实现隔离。

  3. Bridge: 用于连接多个网络接口并在它们之间转发数据,类似于物理交换机。

  4. Bonding: 用于将多个物理接口绑定为一个逻辑接口以提高可靠性和带宽利用率。

  5. Dummy: 一种虚拟的未定义网络接口,通常用于测试或协议开发。

  6. VETH: 用于创建一对互相连接的虚拟网络接口,从而实现在两个网络命名空间之间进行通信。

  7. MACVLAN/MACVTAP: 用于创建基于物理接口的虚拟接口,从而实现更好的容器和虚拟机支持。

除了上述设备之外,还有很多其他类型的虚拟网络设备,例如 GRE、IPSec、WireGuard 等。这些设备通常用于实现 VPN 或隧道协议。