共計 1858 個字符,預計需要花費 5 分鐘才能閱讀完成。
這期內容當中丸趣 TV 小編將會給大家帶來有關如何進行 OVS 實現 vlan 隔離的分析,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
今天詳細分析 OVS 如何實現 vlan100 和 vlan101 的隔離。
與 Linux Bridge driver 不同,Open vSwitch driver 并不通過 eth2.100, eth2.101 等 VLAN interface 來隔離不同的 VLAN。所有的 instance 都連接到同一個網橋 br-int,Open vSwitch 通過 flow rule(流規則)來指定如何對進出 br-int 的數據進行轉發,進而實現 vlan 之間的隔離。
具體來說:當數據進出 br-int 時,flow rule 可以修改、添加或者剝掉數據包的 VLAN tag,Neutron 負責創建這些 flow rule 并將它們配置到 br-int,br-eth2 等 Open vSwitch 上。
下面我們就來研究一下當前的 flow rule。
查看 flow rule 的命令是 ovs-ofctl dump-flow bridge
首先查看計算節點 br-eth2 的 flow rule
br-eth2 上配置了四條 rule,每條 rule 有不少屬性,其中比較重要的屬性有:
priority
rule 的優先級,值越大優先級越高。Open vSwitch 會按照優先級從高到低應用規則。
in_port
inbound 端口編號,每個 port 在 Open vSwitch 中會有一個內部的編號。
可以通過命令 ovs-ofctl show bridge 查看 port 編號。
比如 br-eth2:
eth2 編號為 1;phy-br-eth2 編號為 2。
dl_vlan
數據包原始的 VLAN ID。
actions
對數據包進行的操作。
br-eth2 跟 VLAN 相關的 flow rule 是前面兩條,下面我們來詳細分析。
清晰起見,我們只保留重要的信息,如下:
priority=4,in_port=2,dl_vlan=1 actions=mod_vlan_vid:100,NORMAL priority=4,in_port=2,dl_vlan=5 actions=mod_vlan_vid:101,NORMAL
第一條的含義是:
從 br-eth2 的端口 phy-br-eth2(in_port=2)接收進來的包,如果 VLAN ID 是 1(dl_vlan=1),那么需要將 VLAN ID 改為 100(actions=mod_vlan_vid:100)
從上面的網絡結構我們可知,phy-br-eth2 連接的是 br-int,phy-br-eth2 的 inbound 包實際上就是 instance 通過 br-int 發送給物理網卡的數據。
那么怎么理解將 VLAN ID 1 改為 VLAN ID 100 呢?
請看下面計算節點 ovs-vsctl show 的輸出:
br-int 通過 tag 隔離不同的 port,這個 tag 可以看成內部的 VLAN ID。
從 qvo4139d09b-30(對應 cirros-vm2,vlan100)進入的數據包會被打上 1 的 VLAN tag。
從 qvo98582dc9-db(對應 cirros-vm3,vlan101)進入的數據包會被打上 5 的 VLAN tag。
因為 br-int 中的 VLAN ID 跟物理網絡中的 VLAN ID 并不相同,所以當 br-eth2 接收到 br-int 發來的數據包時,需要對 VLAN 進行轉換。Neutron 負責維護 VLAN ID 的對應關系,并將轉換規則配置在 flow rule 中。
理解了 br-eth2 的 flow rule,我們再來分析 br-int 的 flow rule。
最關鍵的是下面兩條:
priority=3,inport=1,dl_vlan=100 actions=mod_vlan_vid:1,NORMAL priority=3,inport=1,dl_vlan=101 actions=mod_vlan_vid:5,NORMAL
port 1 為 int-br-eth2,那么這兩條規則的含義就應該是:
1. 從物理網卡接收進來的數據包,如果 VLAN 為 100,則改為內部 VLAN 1。
2. 從物理網卡接收進來的數據包,如果 VLAN 為 101,則將為內部 VLAN 5。
簡單的說,數據包在物理網絡中通過 VLAN 100 和 VLAN 101 隔離,在計算節點 OVS br-int 中則是通過內部 VLAN 1 和 VLAN 5 隔離。
上述就是丸趣 TV 小編為大家分享的如何進行 OVS 實現 vlan 隔離的分析了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注丸趣 TV 行業資訊頻道。