上一節我們啟用了 Open vSwitch,本節將查看當前的網絡狀態並介紹 Open vSwitch 涉及的各種網絡設備
初始網絡狀態
查看一下當前的網絡狀態。
控制節點
ifconfig 顯示控制節點上有三個網橋 br-ex,br-int 和 br-tun。 從命名上看我們大致能猜出他們的用途:
br-ex
連接外部(external)網絡的網橋
br-int
集成(integration)網橋,所有 instance 的虛擬網卡和其他虛擬網絡設備都將連接到該網橋。
br-tun
隧道(tunnel)網橋,基於隧道技術的 VxLAN 和 GRE 網絡將使用該網橋進行通信。
這些網橋都是 Neutron 自動為我們創建的,但是通過 brctl show 命令卻看不到它們。 這是因為我們使用的是 Open vSwitch 而非 Linux Bridge,需要用 Open vSwitch 的命令 ovs-vsctl show 查看,如下圖所示:
輸出內容后面會詳細講解。
計算節點
計算節點上也有 br-int 和 br-tun,但沒有 br-ext。 這是合理的,因為發送到外網的流量是通過網絡節點上的虛擬路由器轉發出去的,所以 br-ext 只會放在網絡節點(devstack-controller)上。
了解 Open vSwitch 環境中的各種網絡設備
在 Open vSwitch 環境中,一個數據包從 instance 發送到物理網卡大致會經過下面幾個類型的設備:
-
tap interface 命名為 tapXXXX。
-
linux bridge 命名為 qbrXXXX。
-
veth pair 命名為 qvbXXXX, qvoXXXX。
-
OVS integration bridge 命名為 br-int。
-
OVS patch ports 命名為 int-br-ethX 和 phy-br-ethX(X 為 interface 的序號)。
-
OVS provider bridge 命名為 br-ethX(X 為 interface 的序號)。
-
物理 interface 命名為 ethX(X 為 interface 的序號)。
-
OVS tunnel bridge 命名為 br-tun。
OVS provider bridge 會在 flat 和 vlan 網絡中使用;OVS tunnel bridge 則會在 vxlan 和 gre 網絡中使用。 后面會通過實例詳細討論這些設備。
Open vSwitch 支持 local, flat, vlan, vxlan 和 gre 所有五種 network type。 vxlan 和 gre 非常類似,接下來我們將深入學習 Open vSwitch 是如何實現 local, flat, vlan 和 vlxan 的。
下一節將從 local network 開始。