×

Open vSwitch(OVS)基础

Falcon 2025-06-06 views:
自动摘要

正在生成中……

初学 Open vSwitch(OVS)时最常困惑的就是它的几个核心对象:BridgePortInterface。我下面清晰地解释它们的关系:


🧠 OVS 的基本结构关系图

Bridge(虚拟交换机)
 ├── Port(端口)
 │    └── Interface(接口)

解释

🔹 Bridge(桥)

  • 相当于一个虚拟交换机(Virtual Switch),用来连接多个端口。
  • 一个 Bridge 管理多个 Port,它们在这个桥里互相转发数据包。
  • 类似于传统 Linux 的 br0docker0 网桥。

在你这里的:

Bridge enp3s0-ovs

这是你创建的一个 OVS 桥,名为 enp3s0-ovs


🔹 Port(端口)

  • 一个 Bridge 上可以有多个 Port。
  • 每个 Port 是一个逻辑连接点,对应实际的网络设备(物理或虚拟)。
  • 可以把 Port 想象成交换机的“插槽”。

你这里看到的:

Port enp3s0
Port enp3s0-ovs
Port vnet3

表示这个 Bridge 有三个连接端口。


🔹 Interface(接口)

  • 每个 Port 通常对应一个 Interface

  • Interface 表示一个实际的网络设备(如物理网卡、veth、tap、vnet、内核设备等)。

  • Interface 可以是:

    • 物理网卡:如 enp3s0
    • 虚拟网卡:如 vnet3(KVM 虚拟机使用的)
    • internal 类型接口:如 enp3s0-ovs,用于宿主机访问此网桥

🧾 你的当前配置解释

Bridge enp3s0-ovs
    Port enp3s0
        Interface enp3s0
    Port enp3s0-ovs
        Interface enp3s0-ovs
            type: internal
    Port vnet3
        Interface vnet3

解释如下:

  • Bridge enp3s0-ovs:你创建的 OVS 网桥。

  • Port enp3s0:这个桥接入了物理网卡 enp3s0,说明你是做桥接物理网络。

  • Port enp3s0-ovs

    • 接口类型是 internal,即这是一块 虚拟网卡暴露在宿主机上,你可以给它分配 IP,让宿主机通过它通信。
  • Port vnet3:这是一块 KVM 虚拟机创建的虚拟网卡(如果你运行的是虚拟机),说明虚拟机通过这块卡接入了 OVS 桥。


✅ 总结

你可以用这些命令更深入查看:

  • 查看桥:

    ovs-vsctl list bridge
    
  • 查看端口:

    ovs-vsctl list port
    
  • 查看接口:

    ovs-vsctl list interface
    

如果你有其他虚拟机、容器、或者物理接口要桥接上来,都是以 Port 的形式添加到 Bridge 上。你可以用如下命令添加:

ovs-vsctl add-port enp3s0-ovs vethXXXX
本文收录于